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 18:29:45 -0600 From: "Gustavo A. R. Silva" <gustavo@...eddedor.com> To: Jens Axboe <axboe@...nel.dk>, Philipp Reisner <philipp.reisner@...bit.com>, Lars Ellenberg <lars.ellenberg@...bit.com> Cc: drbd-dev@...ts.linbit.com, linux-block@...r.kernel.org, linux-kernel@...r.kernel.org, Kees Cook <keescook@...omium.org> Subject: Re: [PATCH] drbd_receiver: mark expected switch fall-throughs On 2/12/19 3:36 PM, Jens Axboe wrote: > On 2/12/19 2:28 PM, 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/block/drbd/drbd_receiver.c: In function ‘drbd_asb_recover_0p’: >> drivers/block/drbd/drbd_receiver.c:3093:6: warning: this statement may fall through [-Wimplicit-fallthrough=] >> if (self == 1 && peer == 0) { >> ^ >> drivers/block/drbd/drbd_receiver.c:3098:2: note: here >> case ASB_DISCARD_OLDER_PRI: >> ^~~~ >> drivers/block/drbd/drbd_receiver.c:3120:6: warning: this statement may fall through [-Wimplicit-fallthrough=] >> if (after_sb_0p == ASB_DISCARD_ZERO_CHG) >> ^ >> drivers/block/drbd/drbd_receiver.c:3123:2: note: here >> case ASB_DISCARD_LEAST_CHG: >> ^~~~ >> >> Warning level 3 was used: -Wimplicit-fallthrough=3 >> >> Notice that in some cases, the code comment is modified in >> accordance with what GCC is expecting to find. >> >> This patch is part of the ongoing efforts to enable >> -Wimplicit-fallthrough. >> >> Signed-off-by: Gustavo A. R. Silva <gustavo@...eddedor.com> >> --- >> drivers/block/drbd/drbd_receiver.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c >> index c7ad88d91a09..78bb763a367d 100644 >> --- a/drivers/block/drbd/drbd_receiver.c >> +++ b/drivers/block/drbd/drbd_receiver.c >> @@ -3094,7 +3094,7 @@ static int drbd_asb_recover_0p(struct drbd_peer_device *peer_device) __must_hold >> rv = 1; >> break; >> } >> - /* Else fall through to one of the other strategies... */ >> + /* Else fall through - to one of the other strategies... */ >> case ASB_DISCARD_OLDER_PRI: >> if (self == 0 && peer == 1) { >> rv = 1; >> @@ -3119,7 +3119,7 @@ static int drbd_asb_recover_0p(struct drbd_peer_device *peer_device) __must_hold >> } >> if (after_sb_0p == ASB_DISCARD_ZERO_CHG) >> break; >> - /* else: fall through */ >> + /* Else fall through */ > > This is getting really silly, as these two hunks both aptly demonstrate. Can > we please inject some sanity into this fall through witch hunt? > No witch hunt here. This work has proved to be very valuable. I've fixed years-old bugs thanks to this effort. > The last hunk is updating ANOTHER patch that also attempted to silence this > stuff. > Yeah. Sorry about that. Previously, I was using level 2: -Wimplicit-fallthrough=2, but this time I'm using level 3: -Wimplicit-fallthrough=3, which is stricter and maps to -Wextra. Thanks -- Gustavo
Powered by blists - more mailing lists