All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Navid Emamdoost <navid.emamdoost@gmail.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH AUTOSEL 5.4 20/48] drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
Date: Fri, 21 Aug 2020 12:16:36 -0400	[thread overview]
Message-ID: <20200821161704.348164-20-sashal@kernel.org> (raw)
In-Reply-To: <20200821161704.348164-1-sashal@kernel.org>

From: Navid Emamdoost <navid.emamdoost@gmail.com>

[ Upstream commit e008fa6fb41544b63973a529b704ef342f47cc65 ]

in amdgpu_display_crtc_set_config, the call to pm_runtime_get_sync
increments the counter even in case of failure, leading to incorrect
ref count. In case of failure, decrement the ref count before returning.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 82efc1e22e611..e0aed42d9cbda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -282,7 +282,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 
 	ret = pm_runtime_get_sync(dev->dev);
 	if (ret < 0)
-		return ret;
+		goto out;
 
 	ret = drm_crtc_helper_set_config(set, ctx);
 
@@ -297,7 +297,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 	   take the current one */
 	if (active && !adev->have_disp_power_ref) {
 		adev->have_disp_power_ref = true;
-		return ret;
+		goto out;
 	}
 	/* if we have no active crtcs, then drop the power ref
 	   we got before */
@@ -306,6 +306,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 		adev->have_disp_power_ref = false;
 	}
 
+out:
 	/* drop the power reference we got coming in here */
 	pm_runtime_put_autosuspend(dev->dev);
 	return ret;
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	Navid Emamdoost <navid.emamdoost@gmail.com>
Subject: [PATCH AUTOSEL 5.4 20/48] drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
Date: Fri, 21 Aug 2020 12:16:36 -0400	[thread overview]
Message-ID: <20200821161704.348164-20-sashal@kernel.org> (raw)
In-Reply-To: <20200821161704.348164-1-sashal@kernel.org>

From: Navid Emamdoost <navid.emamdoost@gmail.com>

[ Upstream commit e008fa6fb41544b63973a529b704ef342f47cc65 ]

in amdgpu_display_crtc_set_config, the call to pm_runtime_get_sync
increments the counter even in case of failure, leading to incorrect
ref count. In case of failure, decrement the ref count before returning.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 82efc1e22e611..e0aed42d9cbda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -282,7 +282,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 
 	ret = pm_runtime_get_sync(dev->dev);
 	if (ret < 0)
-		return ret;
+		goto out;
 
 	ret = drm_crtc_helper_set_config(set, ctx);
 
@@ -297,7 +297,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 	   take the current one */
 	if (active && !adev->have_disp_power_ref) {
 		adev->have_disp_power_ref = true;
-		return ret;
+		goto out;
 	}
 	/* if we have no active crtcs, then drop the power ref
 	   we got before */
@@ -306,6 +306,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 		adev->have_disp_power_ref = false;
 	}
 
+out:
 	/* drop the power reference we got coming in here */
 	pm_runtime_put_autosuspend(dev->dev);
 	return ret;
-- 
2.25.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	Navid Emamdoost <navid.emamdoost@gmail.com>
Subject: [PATCH AUTOSEL 5.4 20/48] drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
Date: Fri, 21 Aug 2020 12:16:36 -0400	[thread overview]
Message-ID: <20200821161704.348164-20-sashal@kernel.org> (raw)
In-Reply-To: <20200821161704.348164-1-sashal@kernel.org>

From: Navid Emamdoost <navid.emamdoost@gmail.com>

[ Upstream commit e008fa6fb41544b63973a529b704ef342f47cc65 ]

in amdgpu_display_crtc_set_config, the call to pm_runtime_get_sync
increments the counter even in case of failure, leading to incorrect
ref count. In case of failure, decrement the ref count before returning.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 82efc1e22e611..e0aed42d9cbda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -282,7 +282,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 
 	ret = pm_runtime_get_sync(dev->dev);
 	if (ret < 0)
-		return ret;
+		goto out;
 
 	ret = drm_crtc_helper_set_config(set, ctx);
 
@@ -297,7 +297,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 	   take the current one */
 	if (active && !adev->have_disp_power_ref) {
 		adev->have_disp_power_ref = true;
-		return ret;
+		goto out;
 	}
 	/* if we have no active crtcs, then drop the power ref
 	   we got before */
@@ -306,6 +306,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
 		adev->have_disp_power_ref = false;
 	}
 
+out:
 	/* drop the power reference we got coming in here */
 	pm_runtime_put_autosuspend(dev->dev);
 	return ret;
-- 
2.25.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2020-08-21 17:10 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-21 16:16 [PATCH AUTOSEL 5.4 01/48] ALSA: hda/hdmi: Add quirk to force connectivity Sasha Levin
2020-08-21 16:16 ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 02/48] ALSA: pci: delete repeated words in comments Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 03/48] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 04/48] ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 05/48] ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 06/48] ASoC: img-parallel-out: Fix a reference count leak Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 07/48] ASoC: tegra: Fix reference count leaks Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 08/48] mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 09/48] arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 10/48] powerpc/xive: Ignore kmemleak false positives Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 11/48] media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq() Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 12/48] blktrace: ensure our debugfs dir exists Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 13/48] scsi: target: tcmu: Fix crash on ARM during cmd completion Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 14/48] mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 15/48] iommu/iova: Don't BUG on invalid PFNs Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 16/48] drm/amdkfd: Fix reference count leaks Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 17/48] drm/radeon: fix multiple reference count leak Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 18/48] drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 19/48] drm/amd/display: fix ref count leak in amdgpu_drm_ioctl Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` Sasha Levin [this message]
2020-08-21 16:16   ` [PATCH AUTOSEL 5.4 20/48] drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 21/48] drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 22/48] scsi: lpfc: Fix shost refcount mismatch when deleting vport Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 23/48] xfs: Don't allow logging of XFS_ISTALE inodes Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 24/48] scsi: target: Fix xcopy sess release leak Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 25/48] selftests/powerpc: Purge extra count_pmc() calls of ebb selftests Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 26/48] f2fs: fix error path in do_recover_data() Sasha Levin
2020-08-21 16:16   ` [f2fs-dev] " Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 27/48] omapfb: fix multiple reference count leaks due to pm_runtime_get_sync Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 28/48] PCI: Fix pci_create_slot() reference count leak Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 29/48] ARM: dts: ls1021a: output PPS signal on FIPER2 Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 30/48] rtlwifi: rtl8192cu: Prevent leaking urb Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 31/48] mips/vdso: Fix resource leaks in genvdso.c Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 32/48] ALSA: hda: Add support for Loongson 7A1000 controller Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 33/48] cec-api: prevent leaking memory through hole in structure Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 34/48] HID: quirks: add NOGET quirk for Logitech GROUP Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 35/48] f2fs: fix use-after-free issue Sasha Levin
2020-08-21 16:16   ` [f2fs-dev] " Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 36/48] drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 37/48] drm/nouveau: fix reference count leak in nv50_disp_atomic_commit Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 38/48] drm/nouveau: Fix reference count leak in nouveau_connector_detect Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16   ` Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 39/48] locking/lockdep: Fix overflow in presentation of average lock-time Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 40/48] btrfs: file: reserve qgroup space after the hole punch range is locked Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 41/48] btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 42/48] scsi: iscsi: Do not put host in iscsi_set_flashnode_param() Sasha Levin
2020-08-21 16:16 ` [PATCH AUTOSEL 5.4 43/48] RDMA/efa: Add EFA 0xefa1 PCI ID Sasha Levin
2020-08-21 16:17 ` [PATCH AUTOSEL 5.4 44/48] ceph: fix potential mdsc use-after-free crash Sasha Levin
2020-08-21 16:17 ` [PATCH AUTOSEL 5.4 45/48] ceph: do not access the kiocb after aio requests Sasha Levin
2020-08-21 16:17 ` [PATCH AUTOSEL 5.4 46/48] scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() Sasha Levin
2020-08-21 16:17 ` [PATCH AUTOSEL 5.4 47/48] EDAC/ie31200: Fallback if host bridge device is already initialized Sasha Levin
2020-08-21 16:17 ` [PATCH AUTOSEL 5.4 48/48] hugetlbfs: prevent filesystem stacking of hugetlbfs Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200821161704.348164-20-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=navid.emamdoost@gmail.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.