RE: [PATCH v2] drm/amdgpu: off by on in amdgpu_device_attr_create_groups() error handling

From: Ruhl, Michael J
Date: Wed May 20 2020 - 11:23:56 EST


"off by on"

or

"off by one"

?

M

>-----Original Message-----
>From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Dan
>Carpenter
>Sent: Wednesday, May 20, 2020 9:08 AM
>To: Alex Deucher <alexander.deucher@xxxxxxx>; Kevin Wang
><kevin1.wang@xxxxxxx>
>Cc: David Airlie <airlied@xxxxxxxx>; kernel-janitors@xxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Hawking Zhang
><Hawking.Zhang@xxxxxxx>; Rui Huang <ray.huang@xxxxxxx>; dri-
>devel@xxxxxxxxxxxxxxxxxxxxx; Evan Quan <evan.quan@xxxxxxx>; Kenneth
>Feng <kenneth.feng@xxxxxxx>; Christian König
><christian.koenig@xxxxxxx>; Yintian Tao <yttao@xxxxxxx>
>Subject: [PATCH v2] drm/amdgpu: off by on 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@xxxxxxxxxx>
>---
>v2: style change
>
> 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;
> }
>_______________________________________________
>dri-devel mailing list
>dri-devel@xxxxxxxxxxxxxxxxxxxxx
>https://lists.freedesktop.org/mailman/listinfo/dri-devel