lkml.org 
[lkml]   [2018]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] arm64: percpu: Initialize ret in the default case
Hi Nick,

On Tue, Sep 25, 2018 at 01:24:06PM -0700, Nick Desaulniers wrote:
> On Tue, Sep 25, 2018 at 12:45 PM Nathan Chancellor
> <natechancellor@gmail.com> wrote:
> >
> > 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.
>
> Clang does semantic analysis BEFORE inlining/optimizations, so I can't
> determine that default is never reachable. Nathan, thanks for this
> patch.
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
>

Thanks for the explanation!
Dennis

\
 
 \ /
  Last update: 2018-09-25 22:36    [W:0.074 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site