lkml.org 
[lkml]   [2022]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 099/155] powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register()
    Date
    From: Nathan Chancellor <nathan@kernel.org>

    [ Upstream commit 6cf07810e9ef8535d60160d13bf0fd05f2af38e7 ]

    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")
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://github.com/ClangBuiltLinux/linux/issues/1701
    Link: https://lore.kernel.org/r/20220830151256.1473169-1-nathan@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/powerpc/platforms/pseries/papr_scm.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
    index 16bac4e0d7a21..92074a6c49d43 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);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-09-06 16:19    [W:4.569 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site