lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 14 Feb 2019 23:17:03 +0100 From: Alexandre Belloni <alexandre.belloni@...tlin.com> To: "Gustavo A. R. Silva" <gustavo@...eddedor.com> Cc: Nicolas.Ferre@...rochip.com, wg@...ndegger.com, mkl@...gutronix.de, davem@...emloft.net, Ludovic.Desroches@...rochip.com, linux-can@...r.kernel.org, netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH] can: mark expected switch fall-throughs Hi, On 14/02/2019 15:37:26-0600, Gustavo A. R. Silva wrote: > > > On 1/30/19 2:11 AM, Nicolas.Ferre@...rochip.com wrote: > > On 29/01/2019 at 19:06, Gustavo A. R. Silva wrote: > >> In preparation to enabling -Wimplicit-fallthrough, mark switch cases > >> where we are expecting to fall through. > >> > >> This patch fixes the following warnings: > >> > >> drivers/net/can/peak_canfd/peak_pciefd_main.c:668:3: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> drivers/net/can/spi/mcp251x.c:875:7: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> drivers/net/can/usb/peak_usb/pcan_usb.c:422:6: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> drivers/net/can/at91_can.c:895:6: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> drivers/net/can/at91_can.c:953:15: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> drivers/net/can/usb/peak_usb/pcan_usb.c: In function ‘pcan_usb_decode_error’: > >> drivers/net/can/usb/peak_usb/pcan_usb.c:422:6: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> if (n & PCAN_USB_ERROR_BUS_LIGHT) { > >> ^ > >> drivers/net/can/usb/peak_usb/pcan_usb.c:428:2: note: here > >> case CAN_STATE_ERROR_WARNING: > >> ^~~~ > >> > >> Warning level 3 was used: -Wimplicit-fallthrough=3 > >> > >> This patch is part of the ongoing efforts to enabling > >> -Wimplicit-fallthrough. > >> > >> Notice that in some cases spelling mistakes were fixed. > >> In other cases, the /* fall through */ comment is placed > >> at the bottom of the case statement, which is what GCC > >> is expecting to find. > >> > >> Signed-off-by: Gustavo A. R. Silva <gustavo@...eddedor.com> > >> --- > >> drivers/net/can/at91_can.c | 6 ++++-- > > > > For this one: > > Acked-by: Nicolas Ferre <nicolas.ferre@...rochip.com> > > > > Thanks, Nicolas. > I though I had a déjà vu but you actually sent the at91 part twice. > Dave: > > I wonder if you can take this patch. > > Thanks > -- > Gustavo > > >> drivers/net/can/peak_canfd/peak_pciefd_main.c | 2 +- > >> drivers/net/can/spi/mcp251x.c | 3 ++- > >> drivers/net/can/usb/peak_usb/pcan_usb.c | 2 +- > >> 4 files changed, 8 insertions(+), 5 deletions(-) > >> > >> diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c > >> index d98c69045b17..1718c20f9c99 100644 > >> --- a/drivers/net/can/at91_can.c > >> +++ b/drivers/net/can/at91_can.c > >> @@ -902,7 +902,8 @@ static void at91_irq_err_state(struct net_device *dev, > >> CAN_ERR_CRTL_TX_WARNING : > >> CAN_ERR_CRTL_RX_WARNING; > >> } > >> - case CAN_STATE_ERROR_WARNING: /* fallthrough */ > >> + /* fall through */ > >> + case CAN_STATE_ERROR_WARNING: > >> /* > >> * from: ERROR_ACTIVE, ERROR_WARNING > >> * to : ERROR_PASSIVE, BUS_OFF > >> @@ -951,7 +952,8 @@ static void at91_irq_err_state(struct net_device *dev, > >> netdev_dbg(dev, "Error Active\n"); > >> cf->can_id |= CAN_ERR_PROT; > >> cf->data[2] = CAN_ERR_PROT_ACTIVE; > >> - case CAN_STATE_ERROR_WARNING: /* fallthrough */ Seriously, for that one, you should fix the compiler. The fall through is not implicit, it is actually quite explicit and the warning is simply wrong. Also, the gcc documentation says that -Wimplicit-fallthrough=3 recognizes /* fallthrough */ as a proper fall through comment (and I tested with gcc 8.2). The matching regex is [ \t.!]*([Ee]lse,? |[Ii]ntentional(ly)? )? fall(s | |-)?thr(ough|u)[ \t.!]*(-[^\n\r]*)? -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
Powered by blists - more mailing lists