Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp1791921ybn; Thu, 26 Sep 2019 02:14:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqyTHS9KyKMOAge0cMEUB1vDoRkmca1kXzzqggAva25zFM36eKhnDfkwOwiH6gu3cBzmpJUt X-Received: by 2002:aa7:d750:: with SMTP id a16mr2376848eds.27.1569489247086; Thu, 26 Sep 2019 02:14:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569489247; cv=none; d=google.com; s=arc-20160816; b=E0p0yW2jnWcOqZ9wI1HK5y/Pofbp7JLzH9G8GmH7pFZELq/qcQGK+PTwbeM9wVGIlp WMjheun0Hg6cdAVsckkEXVjWIfEomhnrixztkIg1K0iEzHlUBT6fD16i7FTfKPrddXwJ NNX5jI33jr0ORrgiObITn7avfJcyboj5j3kV4c+QRU07/GFGVCRR1iXj8aVd3ycu7wER CB/tInWqOo3+k0B/efGv9tOTTLBUNpWX1lyincdDgEOtAAlkOf8LyYh45pAvXk4ljyK/ hdGBFw0yNSZZd6qM6Zu+WobCM4a/j5sQ1nScAk4p0Aiyq22SHH+zxDChtZmWS/O2Byns gnDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:message-id:date:subject:cc:from :dkim-signature; bh=MS2fxSO5B4fdSwTSr588JEm97CHbkHnZPXYIa8kugGg=; b=WVbO7iiCiVu7j9H2MWQLF/jg9FICv6CYe5XnnUPXhC6QYCzD5SIuc6fogox6Gskcgb eOpWS3I/zuQXznzZb+Ijb81l96KBoRGRNcROExkJEOgLXhRSR8hoo3VqnmDovKtdIls2 qUJykvMFHi882w85j2NStkTFrqMeQgYdbviMZNfg045Jn6XXHu0YcGLlChAilQcaUXSa 7EgvZb5kGT1fjoGcvYloKQj63zaYmK9EtQUNPVSkRVC3e+UT5CtgYCsZQaNcsRzRo0so xV3Sph/tlKpG3P42uHqw+H+VCXcv04Na5g7b5UXq3VFoDeyNieSz57ThTK+/XvwamCdW 48fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=MVgKQ7C0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i13si848398edv.182.2019.09.26.02.13.43; Thu, 26 Sep 2019 02:14:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=MVgKQ7C0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405888AbfIYEYV (ORCPT + 99 others); Wed, 25 Sep 2019 00:24:21 -0400 Received: from mail-io1-f65.google.com ([209.85.166.65]:44505 "EHLO mail-io1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2392142AbfIYEYV (ORCPT ); Wed, 25 Sep 2019 00:24:21 -0400 Received: by mail-io1-f65.google.com with SMTP id j4so10099710iog.11 for ; Tue, 24 Sep 2019 21:24:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=MS2fxSO5B4fdSwTSr588JEm97CHbkHnZPXYIa8kugGg=; b=MVgKQ7C0XNYOr+wZQ7k0LZDFFkkfMarqBz67S1MUs1pNITYkcaGTG+R6ELtapPUAsH h8RkjQkLp5vca+bpvQGYkPVfrlMqMjrguUMBoMlhYmV+hjreJhY9Zl5kuVMICZwvka4A ppbdTu1xJNUpA2lZQa6N4k7h5+a+5QazXKuGx0zIPCtcLb5myxiBt2X1Fgo6Nnv2iZJ1 hzSVi6+h2FmPUMyE+ffZNnHEJ0UtPw9wa54tygJOopMCqDy8Sf5vufMNOQ4RW2Sp1xjC NUlF4Tsg+Ud4bq/yim6m675DEibvGPgFjVXSUJa2q3BN2b1EnA/OtWIVNKexac2kA2s2 6QoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=MS2fxSO5B4fdSwTSr588JEm97CHbkHnZPXYIa8kugGg=; b=EQjI71Y9KZb+5o8gwUX7qE/a1QeYSguOKkEYDuRzLUtv2b1MP7OWY90giHUOFqCwSN juFHPnLc1yITDku3CcYDWfLngxODUgiy9ktWSYxJ43oed4LLx0Q+N0mlKPfGWnyn5dee bQynakeCAkAsJgLgmh8q8nGibctauLXQ0ZwUpI0olwEp3Ud6FAEasXMXtslZnKIjaAwJ 2vtcbgEQhDv6SdEYHIG/UFfufiiVe+K1GBuWBqTd6IztgdMDiGzvZVuExhH02TTAUTf6 X+cv0vuMhsUXpKQE9ZwS95qvRtd76hneqm4HEoHImSekOnpjo4lip3bnf8yBXiSMzw9e dQ7w== X-Gm-Message-State: APjAAAVNANWI0ot/ucC51n1q54TMWWz5EptaHWFVEFPqw80mX15csSCH Uu8TVFs5prnbm2SvrrzJfcFOubuhFRU= X-Received: by 2002:a6b:6110:: with SMTP id v16mr8052275iob.199.1569385458891; Tue, 24 Sep 2019 21:24:18 -0700 (PDT) Received: from cs-dulles.cs.umn.edu (cs-dulles.cs.umn.edu. [128.101.35.54]) by smtp.googlemail.com with ESMTPSA id r12sm33707ilq.70.2019.09.24.21.24.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Sep 2019 21:24:18 -0700 (PDT) From: Navid Emamdoost Cc: emamd001@umn.edu, smccaman@umn.edu, kjlu@umn.edu, Navid Emamdoost , Harry Wentland , Leo Li , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , "David (ChunMing) Zhou" , David Airlie , Daniel Vetter , Bhawanpreet Lakha , Tony Cheng , Dmytro Laktyushkin , Eric Yang , Jun Lei , Wesley Chalmers , David Francis , Nicholas Kazlauskas , Aidan Wood , Ken Chalmers , Eric Bernstein , hersen wu , Sam Ravnborg , Roman Li , Wang Hai , Thomas Lim , Su Sung Chung , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/amd/display: prevent memory leak Date: Tue, 24 Sep 2019 23:23:56 -0500 Message-Id: <20190925042407.31383-1-navid.emamdoost@gmail.com> X-Mailer: git-send-email 2.17.1 To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In dcn*_create_resource_pool the allocated memory should be released if construct pool fails. Signed-off-by: Navid Emamdoost --- drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c | 1 + drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 1 + drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 1 + drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 1 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 1 + 5 files changed, 5 insertions(+) diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c index afc61055eca1..1787b9bf800a 100644 --- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c @@ -1091,6 +1091,7 @@ struct resource_pool *dce100_create_resource_pool( if (construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c index c66fe170e1e8..318e9c2e2ca8 100644 --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c @@ -1462,6 +1462,7 @@ struct resource_pool *dce110_create_resource_pool( if (construct(num_virtual_links, dc, pool, asic_id)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c index 3ac4c7e73050..3199d493d13b 100644 --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c @@ -1338,6 +1338,7 @@ struct resource_pool *dce112_create_resource_pool( if (construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c index 7d08154e9662..bb497f43f6eb 100644 --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c @@ -1203,6 +1203,7 @@ struct resource_pool *dce120_create_resource_pool( if (construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c index 5a89e462e7cc..59305e411a66 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c @@ -1570,6 +1570,7 @@ struct resource_pool *dcn10_create_resource_pool( if (construct(init_data->num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } -- 2.17.1