• Srinivasan Shanmugam's avatar
    drm/amdgpu: Fix variable 'mca_funcs' dereferenced before NULL check in... · 4f32504a
    Srinivasan Shanmugam authored
    drm/amdgpu: Fix variable 'mca_funcs' dereferenced before NULL check in 'amdgpu_mca_smu_get_mca_entry()'
    
    Fixes the below:
    
    drivers/gpu/drm/amd/amdgpu/amdgpu_mca.c:377 amdgpu_mca_smu_get_mca_entry() warn: variable dereferenced before check 'mca_funcs' (see line 368)
    
    357 int amdgpu_mca_smu_get_mca_entry(struct amdgpu_device *adev,
    				     enum amdgpu_mca_error_type type,
    358                                  int idx, struct mca_bank_entry *entry)
    359 {
    360         const struct amdgpu_mca_smu_funcs *mca_funcs =
    						adev->mca.mca_funcs;
    361         int count;
    362
    363         switch (type) {
    364         case AMDGPU_MCA_ERROR_TYPE_UE:
    365                 count = mca_funcs->max_ue_count;
    
    mca_funcs is dereferenced here.
    
    366                 break;
    367         case AMDGPU_MCA_ERROR_TYPE_CE:
    368                 count = mca_funcs->max_ce_count;
    
    mca_funcs is dereferenced here.
    
    369                 break;
    370         default:
    371                 return -EINVAL;
    372         }
    373
    374         if (idx >= count)
    375                 return -EINVAL;
    376
    377         if (mca_funcs && mca_funcs->mca_get_mca_entry)
    	        ^^^^^^^^^
    
    Checked too late!
    
    Cc: Yang Wang <kevinyang.wang@amd.com>
    Cc: Hawking Zhang <Hawking.Zhang@amd.com>
    Cc: Christian König <christian.koenig@amd.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: default avatarSrinivasan Shanmugam <srinivasan.shanmugam@amd.com>
    Reviewed-by: default avatarYang Wang <kevinyang.wang@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    4f32504a
amdgpu_mca.c 13.8 KB