Message ID | 20200520152556.GQ3041@kadam (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] drm/amdgpu: off by one in amdgpu_device_attr_create_groups() error handling | expand |
>-----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
Am 20.05.20 um 17:31 schrieb Ruhl, Michael J: >> -----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 >
Applied. Thanks! Alex On Wed, May 20, 2020 at 11:33 AM Christian König <christian.koenig@amd.com> wrote: > Am 20.05.20 um 17:31 schrieb Ruhl, Michael J: > >> -----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 > >
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; }
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 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)