Message ID | 20220830151256.1473169-1-nathan@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register() | expand |
On Tue, 30 Aug 2022 08:12:56 -0700, Nathan Chancellor wrote: > Clang warns: > > arch/powerpc/platforms/pseries/papr_scm.c:492:6: warning: variable 'rc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] > if (!p->stat_buffer_len) > ^~~~~~~~~~~~~~~~~~~ > arch/powerpc/platforms/pseries/papr_scm.c:523:64: note: uninitialized use occurs here > dev_info(&p->pdev->dev, "nvdimm pmu didn't register rc=%d\n", rc); > ^~ > include/linux/dev_printk.h:150:67: note: expanded from macro 'dev_info' > dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__) > ^~~~~~~~~~~ > include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' > _p_func(dev, fmt, ##__VA_ARGS__); \ > ^~~~~~~~~~~ > arch/powerpc/platforms/pseries/papr_scm.c:492:2: note: remove the 'if' if its condition is always false > if (!p->stat_buffer_len) > ^~~~~~~~~~~~~~~~~~~~~~~~ > arch/powerpc/platforms/pseries/papr_scm.c:484:8: note: initialize the variable 'rc' to silence this warning > int rc, nodeid; > ^ > = 0 > 1 warning generated. > > [...] Applied to powerpc/fixes. [1/1] powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register() https://git.kernel.org/powerpc/c/6cf07810e9ef8535d60160d13bf0fd05f2af38e7 cheers
diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c index 54740af21557..2f8385523a13 100644 --- a/arch/powerpc/platforms/pseries/papr_scm.c +++ b/arch/powerpc/platforms/pseries/papr_scm.c @@ -489,8 +489,10 @@ static void papr_scm_pmu_register(struct papr_scm_priv *p) goto pmu_err_print; } - if (!p->stat_buffer_len) + if (!p->stat_buffer_len) { + rc = -ENOENT; goto pmu_check_events_err; + } nd_pmu->pmu.task_ctx_nr = perf_invalid_context; nd_pmu->pmu.name = nvdimm_name(p->nvdimm);
Clang warns: arch/powerpc/platforms/pseries/papr_scm.c:492:6: warning: variable 'rc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!p->stat_buffer_len) ^~~~~~~~~~~~~~~~~~~ arch/powerpc/platforms/pseries/papr_scm.c:523:64: note: uninitialized use occurs here dev_info(&p->pdev->dev, "nvdimm pmu didn't register rc=%d\n", rc); ^~ include/linux/dev_printk.h:150:67: note: expanded from macro 'dev_info' dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' _p_func(dev, fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ arch/powerpc/platforms/pseries/papr_scm.c:492:2: note: remove the 'if' if its condition is always false if (!p->stat_buffer_len) ^~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/platforms/pseries/papr_scm.c:484:8: note: initialize the variable 'rc' to silence this warning int rc, nodeid; ^ = 0 1 warning generated. The call to papr_scm_pmu_check_events() was eliminated but a return code was not added to the if statement. Add the same return code from papr_scm_pmu_check_events() for this condition so there is no more warning. Fixes: 9b1ac04698a4 ("powerpc/papr_scm: Fix nvdimm event mappings") Link: https://github.com/ClangBuiltLinux/linux/issues/1701 Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- arch/powerpc/platforms/pseries/papr_scm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) base-commit: 91926d8b7e71aaf5f84f0cf208fc5a8b7a761050