lkml.org 
[lkml]   [2019]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.0 080/262] powerpc/xmon: Fix opcode being uninitialized in print_insn_powerpc
    Date
    From: Nathan Chancellor <natechancellor@gmail.com>

    [ Upstream commit e7140639b1de65bba435a6bd772d134901141f86 ]

    When building with -Wsometimes-uninitialized, Clang warns:

    arch/powerpc/xmon/ppc-dis.c:157:7: warning: variable 'opcode' is used
    uninitialized whenever 'if' condition is false
    [-Wsometimes-uninitialized]
    if (cpu_has_feature(CPU_FTRS_POWER9))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    arch/powerpc/xmon/ppc-dis.c:167:7: note: uninitialized use occurs here
    if (opcode == NULL)
    ^~~~~~
    arch/powerpc/xmon/ppc-dis.c:157:3: note: remove the 'if' if its
    condition is always true
    if (cpu_has_feature(CPU_FTRS_POWER9))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    arch/powerpc/xmon/ppc-dis.c:132:38: note: initialize the variable
    'opcode' to silence this warning
    const struct powerpc_opcode *opcode;
    ^
    = NULL
    1 warning generated.

    This warning seems to make no sense on the surface because opcode is set
    to NULL right below this statement. However, there is a comma instead of
    semicolon to end the dialect assignment, meaning that the opcode
    assignment only happens in the if statement. Properly terminate that
    line so that Clang no longer warns.

    Fixes: 5b102782c7f4 ("powerpc/xmon: Enable disassembly files (compilation changes)")
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/powerpc/xmon/ppc-dis.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/powerpc/xmon/ppc-dis.c b/arch/powerpc/xmon/ppc-dis.c
    index 9deea5ee13f6..27f1e6415036 100644
    --- a/arch/powerpc/xmon/ppc-dis.c
    +++ b/arch/powerpc/xmon/ppc-dis.c
    @@ -158,7 +158,7 @@ int print_insn_powerpc (unsigned long insn, unsigned long memaddr)
    dialect |= (PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7
    | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 | PPC_OPCODE_HTM
    | PPC_OPCODE_ALTIVEC | PPC_OPCODE_ALTIVEC2
    - | PPC_OPCODE_VSX | PPC_OPCODE_VSX3),
    + | PPC_OPCODE_VSX | PPC_OPCODE_VSX3);

    /* Get the major opcode of the insn. */
    opcode = NULL;
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-03-27 19:05    [W:3.216 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site