Message ID | 20190728231920.GA22247@embeddedor (mailing list archive) |
---|---|
State | Mainlined |
Commit | e7c0c9f6028dfa09ea9f20c5f1d387e5858afede |
Headers | show |
Series | ARM: alignment: Mark expected switch fall-throughs | expand |
On Sun, Jul 28, 2019 at 06:19:20PM -0500, Gustavo A. R. Silva wrote: > Mark switch cases where we are expecting to fall through. > > This patch fixes the following warnings: > > arch/arm/mm/alignment.c: In function 'thumb2arm': > arch/arm/mm/alignment.c:688:6: warning: this statement may fall through [-Wimplicit-fallthrough=] > if ((tinstr & (3 << 9)) == 0x0400) { > ^ > arch/arm/mm/alignment.c:700:2: note: here > default: > ^~~~~~~ > arch/arm/mm/alignment.c: In function 'do_alignment_t32_to_handler': > arch/arm/mm/alignment.c:753:15: warning: this statement may fall through [-Wimplicit-fallthrough=] > poffset->un = (tinst2 & 0xff) << 2; > ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ > arch/arm/mm/alignment.c:754:2: note: here > case 0xe940: > ^~~~ > > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Reviewed-by: Kees Cook <keescook@chromium.org> -Kees > --- > arch/arm/mm/alignment.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c > index 8cdb78642e93..04b36436cbc0 100644 > --- a/arch/arm/mm/alignment.c > +++ b/arch/arm/mm/alignment.c > @@ -695,7 +695,7 @@ thumb2arm(u16 tinstr) > return subset[(L<<1) | ((tinstr & (1<<8)) >> 8)] | > (tinstr & 255); /* register_list */ > } > - /* Else fall through for illegal instruction case */ > + /* Else, fall through - for illegal instruction case */ > > default: > return BAD_INSTR; > @@ -751,6 +751,8 @@ do_alignment_t32_to_handler(unsigned long *pinstr, struct pt_regs *regs, > case 0xe8e0: > case 0xe9e0: > poffset->un = (tinst2 & 0xff) << 2; > + /* Fall through */ > + > case 0xe940: > case 0xe9c0: > return do_alignment_ldrdstrd; > -- > 2.22.0 >
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c index 8cdb78642e93..04b36436cbc0 100644 --- a/arch/arm/mm/alignment.c +++ b/arch/arm/mm/alignment.c @@ -695,7 +695,7 @@ thumb2arm(u16 tinstr) return subset[(L<<1) | ((tinstr & (1<<8)) >> 8)] | (tinstr & 255); /* register_list */ } - /* Else fall through for illegal instruction case */ + /* Else, fall through - for illegal instruction case */ default: return BAD_INSTR; @@ -751,6 +751,8 @@ do_alignment_t32_to_handler(unsigned long *pinstr, struct pt_regs *regs, case 0xe8e0: case 0xe9e0: poffset->un = (tinst2 & 0xff) << 2; + /* Fall through */ + case 0xe940: case 0xe9c0: return do_alignment_ldrdstrd;
Mark switch cases where we are expecting to fall through. This patch fixes the following warnings: arch/arm/mm/alignment.c: In function 'thumb2arm': arch/arm/mm/alignment.c:688:6: warning: this statement may fall through [-Wimplicit-fallthrough=] if ((tinstr & (3 << 9)) == 0x0400) { ^ arch/arm/mm/alignment.c:700:2: note: here default: ^~~~~~~ arch/arm/mm/alignment.c: In function 'do_alignment_t32_to_handler': arch/arm/mm/alignment.c:753:15: warning: this statement may fall through [-Wimplicit-fallthrough=] poffset->un = (tinst2 & 0xff) << 2; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ arch/arm/mm/alignment.c:754:2: note: here case 0xe940: ^~~~ Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> --- arch/arm/mm/alignment.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)