[PATCH v3] drm/amdgpu: off by one in amdgpu_device_attr_create_groups() error handling

Ruhl, Michael J michael.j.ruhl at intel.com
Wed May 20 15:31:11 UTC 2020

>-----Original Message-----
>From: Dan Carpenter <dan.carpenter at oracle.com>
>Sent: Wednesday, May 20, 2020 11:26 AM
>To: Alex Deucher <alexander.deucher at amd.com>; Kevin Wang
><kevin1.wang at amd.com>; Ruhl, Michael J <michael.j.ruhl at intel.com>
>Cc: Christian König <christian.koenig at amd.com>; David Airlie
><airlied at linux.ie>; Daniel Vetter <daniel at ffwll.ch>; Evan Quan
><evan.quan at amd.com>; Rui Huang <ray.huang at amd.com>; Kenneth Feng
><kenneth.feng at amd.com>; Yintian Tao <yttao at amd.com>; Hawking Zhang
><Hawking.Zhang at amd.com>; amd-gfx at lists.freedesktop.org; dri-
>devel at lists.freedesktop.org; linux-kernel at vger.kernel.org; kernel-
>janitors at vger.kernel.org
>Subject: [PATCH v3] drm/amdgpu: off by one in
>amdgpu_device_attr_create_groups() error handling
>This loop in the error handling code should start a "i - 1" and end at
>"i == 0".  Currently it starts a "i" and ends at "i == 1".  The result
>is that it removes one attribute that wasn't created yet, and leaks the
>zeroeth attribute.
>Fixes: 4e01847c38f7 ("drm/amdgpu: optimize amdgpu device attribute code")
>Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
>v2: style change
>v3: Fix embarrassing typo in the subject


Acked-by: Michael J. Ruhl <michael.j.ruhl at intel.com>

> drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c           | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
>index b75362bf0742..e809534fabd4 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
>@@ -1942,9 +1942,8 @@ static int amdgpu_device_attr_create_groups(struct
>amdgpu_device *adev,
> 	return 0;
> failed:
>-	for (; i > 0; i--) {
>+	while (i--)
> 		amdgpu_device_attr_remove(adev, &attrs[i]);
>-	}
> 	return ret;
> }

More information about the dri-devel mailing list