[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180925203527.GB61443@dennisz-mbp.dhcp.thefacebook.com>
Date: Tue, 25 Sep 2018 16:35:27 -0400
From: Dennis Zhou <dennis@...nel.org>
To: Nick Desaulniers <ndesaulniers@...gle.com>
Cc: Nathan Chancellor <natechancellor@...il.com>, tj@...nel.org,
Christoph Lameter <cl@...ux.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>, psodagud@...eaurora.org
Subject: Re: [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@...il.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@...gle.com>
>
Thanks for the explanation!
Dennis
Powered by blists - more mailing lists