>-----Original Message-----
>From: Dan Carpenter <dan.carpen...@oracle.com>
>Sent: Wednesday, May 20, 2020 11:26 AM
>To: Alex Deucher <alexander.deuc...@amd.com>; Kevin Wang
><kevin1.w...@amd.com>; Ruhl, Michael J <michael.j.r...@intel.com>
>Cc: Christian König <christian.koe...@amd.com>; David Airlie
><airl...@linux.ie>; Daniel Vetter <dan...@ffwll.ch>; Evan Quan
><evan.q...@amd.com>; Rui Huang <ray.hu...@amd.com>; Kenneth Feng
><kenneth.f...@amd.com>; Yintian Tao <yt...@amd.com>; Hawking Zhang
><hawking.zh...@amd.com>; amd-...@lists.freedesktop.org; dri-
>de...@lists.freedesktop.org; linux-kernel@vger.kernel.org; kernel-
>janit...@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.carpen...@oracle.com>
>---
>v2: style change
>v3: Fix embarrassing typo in the subject

😊

Acked-by: Michael J. Ruhl <michael.j.r...@intel.com>

m
> 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
>b/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;
> }

Reply via email to