Re: [PATCH] drm/amd/pm/swsmu: Avoid using structure_size uninitialized in smu_cmn_init_soft_gpu_metrics
From: Sedat Dilek
Date: Wed Feb 24 2021 - 12:41:07 EST
On Thu, Feb 18, 2021 at 11:49 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>
>
Clang warns:
>
>
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu_cmn.c:764:2: warning:
>
variable 'structure_size' is used uninitialized whenever switch default
>
is taken [-Wsometimes-uninitialized]
>
default:
>
^~~~~~~
>
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu_cmn.c:770:23: note:
>
uninitialized use occurs here
>
memset(header, 0xFF, structure_size);
>
^~~~~~~~~~~~~~
>
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu_cmn.c:753:25: note:
>
initialize the variable 'structure_size' to silence this warning
>
uint16_t structure_size;
>
^
>
= 0
>
1 warning generated.
>
>
Return in the default case, as the size of the header will not be known.
>
>
Fixes: de4b7cd8cb87 ("drm/amd/pm/swsmu: unify the init soft gpu metrics function")
>
Link: https://github.com/ClangBuiltLinux/linux/issues/1304
>
Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
I fell over this today with Linux v5.11-10201-gc03c21ba6f4e.
Tested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> # LLVM/Clang v13-git
- Sedat -
>
---
>
drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 2 +-
>
1 file changed, 1 insertion(+), 1 deletion(-)
>
>
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
>
index bb620fdd4cd2..bcedd4d92e35 100644
>
--- a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
>
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
>
@@ -762,7 +762,7 @@ void smu_cmn_init_soft_gpu_metrics(void *table, uint8_t frev, uint8_t crev)
>
structure_size = sizeof(struct gpu_metrics_v2_0);
>
break;
>
default:
>
- break;
>
+ return;
>
}
>
>
#undef METRICS_VERSION
>
--
>
2.30.1
>
>
--
>
You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
>
To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxx.
>
To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20210218224849.5591-1-nathan%40kernel.org.