lkml.org 
[lkml]   [2018]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 028/118] arm64: percpu: Initialize ret in the default case
    Date
    4.19-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit b5bb425871186303e6936fa2581521bdd1964a58 ]

    Clang warns that if the default case is taken, ret will be
    uninitialized.

    ./arch/arm64/include/asm/percpu.h:196:2: warning: variable 'ret' is used
    uninitialized whenever switch default is taken
    [-Wsometimes-uninitialized]
    default:
    ^~~~~~~
    ./arch/arm64/include/asm/percpu.h:200:9: note: uninitialized use occurs
    here
    return ret;
    ^~~
    ./arch/arm64/include/asm/percpu.h:157:19: note: initialize the variable
    'ret' to silence this warning
    unsigned long ret, loop;
    ^
    = 0

    This warning appears several times while building the erofs filesystem.
    While it's not strictly wrong, the BUILD_BUG will prevent this from
    becoming a true problem. Initialize ret to 0 in the default case right
    before the BUILD_BUG to silence all of these warnings.

    Reported-by: Prasad Sodagudi <psodagud@codeaurora.org>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Dennis Zhou <dennis@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/include/asm/percpu.h | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/arch/arm64/include/asm/percpu.h b/arch/arm64/include/asm/percpu.h
    index 9234013e759e..21a81b59a0cc 100644
    --- a/arch/arm64/include/asm/percpu.h
    +++ b/arch/arm64/include/asm/percpu.h
    @@ -96,6 +96,7 @@ static inline unsigned long __percpu_##op(void *ptr, \
    : [val] "Ir" (val)); \
    break; \
    default: \
    + ret = 0; \
    BUILD_BUG(); \
    } \
    \
    @@ -125,6 +126,7 @@ static inline unsigned long __percpu_read(void *ptr, int size)
    ret = READ_ONCE(*(u64 *)ptr);
    break;
    default:
    + ret = 0;
    BUILD_BUG();
    }

    @@ -194,6 +196,7 @@ static inline unsigned long __percpu_xchg(void *ptr, unsigned long val,
    : [val] "r" (val));
    break;
    default:
    + ret = 0;
    BUILD_BUG();
    }

    --
    2.17.1


    \
     
     \ /
      Last update: 2018-11-26 12:12    [W:4.023 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site