From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753679AbdK1SR5 (ORCPT ); Tue, 28 Nov 2017 13:17:57 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:35017 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751932AbdK1SRx (ORCPT ); Tue, 28 Nov 2017 13:17:53 -0500 Date: Tue, 28 Nov 2017 19:17:37 +0100 (CET) From: Thomas Gleixner To: "Gustavo A. R. Silva" cc: Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, Kees Cook Subject: Re: [PATCH] x86/syscalls: Mark expected switch fall-throughs In-Reply-To: Message-ID: References: <20171127235253.GA20384@embeddedor.com> <20171128120512.Horde.1mz61Up1PsNtyHbrjWmK8L7@gator4166.hostgator.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 28 Nov 2017, Thomas Gleixner wrote: > On Tue, 28 Nov 2017, Gustavo A. R. Silva wrote: > > Quoting Thomas Gleixner : > > > > > On Mon, 27 Nov 2017, Gustavo A. R. Silva wrote: > > > > > > > In preparation to enabling -Wimplicit-fallthrough, mark switch cases > > > > where we are expecting to fall through. > > > > > > > case 0: > > > > if (!n--) break; > > > > *args++ = regs->bx; > > > > + /* fall through */ > > > > > > And these gazillions of pointless comments help enabling of > > > -Wimplicit-fallthrough in which way? > > > > > > > The -Wimplicit-fallthrough option was added to GCC 7. We want to add that > > option to the top-level Makefile so we can have the compiler help us not make > > mistakes as missing "break"s or "continue"s. This also documents the intention > > for humans and provides a way for analyzers to report issues or ignore False > > Positives. > > > > So prior to adding such option to the Makefile, we have to properly add a code > > comment wherever the code is intended to fall through. > > > > During the process of placing these comments I have identified actual bugs > > (missing "break"s/"continue"s) in a variety of components in the kernel, so I > > think this effort is valuable. Lastly, such a simple comment in the code can > > save a person plenty of time during a code review. > > To be honest, such comments annoy me during a code review especially when > the fallthrough is so obvious as in this case. There might be cases where > its worth to document because it's non obvious, but documenting the obvious > just for the sake of documenting it is just wrong. And _IF_ at all then you want a fixed macro for this and not a comment which will be formatted as people see it fit. GCC supports: __attribute__ ((fallthrough)) which we can wrap into a macro, e.g. falltrough() That'd be useful, but adding all these comments and then having to chase a gazillion of warning instances to figure out whether there is a comment or not is just backwards. Sure, but slapping a comment everywhere is just simpler than reading the documentation and make something useful and understandable. Thanks, tglx