drm/amdgpu/powerplay/smu7: fix unintialized data usage
authorArnd Bergmann <arnd@arndb.de>
Tue, 8 Nov 2016 13:52:18 +0000 (14:52 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 8 Nov 2016 15:34:29 +0000 (10:34 -0500)
A recent bugfix replaced an out-of-bounds access with direct
use of unintialized data:

drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c: In function 'smu7_patch_limits_vddc':
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c:2033:6: error: 'vddc' may be used uninitialized in this function [-Werror=maybe-uninitialized]
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c:2146:11: note: 'vddc' was declared here
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c:2033:6: error: 'vddci' may be used uninitialized in this function [-Werror=maybe-uninitialized]
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c:2146:17: note: 'vddci' was declared here
  uint32_t vddc, vddci;

This initializes the data as before using the correct type.

Fixes: 77f7f71f5be1 ("drm/amdgpu/powerplay/smu7: fix static checker warning")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c

index 7585402..51fb86f 100644 (file)
@@ -2133,9 +2133,11 @@ static int smu7_patch_limits_vddc(struct pp_hwmgr *hwmgr,
        struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend);
 
        if (tab) {
+               vddc = tab->vddc;
                smu7_patch_ppt_v0_with_vdd_leakage(hwmgr, &vddc,
                                                   &data->vddc_leakage);
                tab->vddc = vddc;
+               vddci = tab->vddci;
                smu7_patch_ppt_v0_with_vdd_leakage(hwmgr, &vddci,
                                                   &data->vddci_leakage);
                tab->vddci = vddci;