2014-01-31 02:17:45

by Dave Jones

[permalink] [raw]
Subject: drm/radeon/dpm: fix uninitialized read from stack in kv_dpm_late_enable

If we take the false branch of the if quoted in the diff below, we
end up doing a return ret, without ever having initialized it.

Picked up by coverity.

Signed-off-by: Dave Jones <[email protected]>

diff --git a/drivers/gpu/drm/radeon/kv_dpm.c b/drivers/gpu/drm/radeon/kv_dpm.c
index b6e01d5d2cce..351db361239d 100644
--- a/drivers/gpu/drm/radeon/kv_dpm.c
+++ b/drivers/gpu/drm/radeon/kv_dpm.c
@@ -1223,7 +1223,7 @@ int kv_dpm_enable(struct radeon_device *rdev)

int kv_dpm_late_enable(struct radeon_device *rdev)
{
- int ret;
+ int ret = 0;

if (rdev->irq.installed &&
r600_is_internal_thermal_sensor(rdev->pm.int_thermal_type)) {


2014-01-31 14:22:07

by Deucher, Alexander

[permalink] [raw]
Subject: RE: drm/radeon/dpm: fix uninitialized read from stack in kv_dpm_late_enable

> -----Original Message-----
> From: Dave Jones [mailto:[email protected]]
> Sent: Thursday, January 30, 2014 9:18 PM
> To: Linux Kernel Mailing List
> Cc: Deucher, Alexander
> Subject: drm/radeon/dpm: fix uninitialized read from stack in
> kv_dpm_late_enable
>
> If we take the false branch of the if quoted in the diff below, we
> end up doing a return ret, without ever having initialized it.
>
> Picked up by coverity.
>
> Signed-off-by: Dave Jones <[email protected]>

Applied. Thanks!

Alex

>
> diff --git a/drivers/gpu/drm/radeon/kv_dpm.c
> b/drivers/gpu/drm/radeon/kv_dpm.c
> index b6e01d5d2cce..351db361239d 100644
> --- a/drivers/gpu/drm/radeon/kv_dpm.c
> +++ b/drivers/gpu/drm/radeon/kv_dpm.c
> @@ -1223,7 +1223,7 @@ int kv_dpm_enable(struct radeon_device *rdev)
>
> int kv_dpm_late_enable(struct radeon_device *rdev)
> {
> - int ret;
> + int ret = 0;
>
> if (rdev->irq.installed &&
> r600_is_internal_thermal_sensor(rdev->pm.int_thermal_type)) {