lkml.org 
[lkml]   [2020]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRE: [PATCH v3] drm/amdgpu: off by one in amdgpu_device_attr_create_groups() error handling
Date
>-----Original Message-----
>From: Dan Carpenter <dan.carpenter@oracle.com>
>Sent: Wednesday, May 20, 2020 11:26 AM
>To: Alex Deucher <alexander.deucher@amd.com>; Kevin Wang
><kevin1.wang@amd.com>; Ruhl, Michael J <michael.j.ruhl@intel.com>
>Cc: Christian König <christian.koenig@amd.com>; David Airlie
><airlied@linux.ie>; Daniel Vetter <daniel@ffwll.ch>; Evan Quan
><evan.quan@amd.com>; Rui Huang <ray.huang@amd.com>; Kenneth Feng
><kenneth.feng@amd.com>; Yintian Tao <yttao@amd.com>; Hawking Zhang
><Hawking.Zhang@amd.com>; amd-gfx@lists.freedesktop.org; dri-
>devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; kernel-
>janitors@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@oracle.com>
>---
>v2: style change
>v3: Fix embarrassing typo in the subject

😊

Acked-by: Michael J. Ruhl <michael.j.ruhl@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;
> }
\
 
 \ /
  Last update: 2020-05-20 17:33    [W:0.189 / U:0.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site