From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751987AbdJYH2G (ORCPT ); Wed, 25 Oct 2017 03:28:06 -0400 Received: from a.mx.secunet.com ([62.96.220.36]:39228 "EHLO a.mx.secunet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751628AbdJYH2E (ORCPT ); Wed, 25 Oct 2017 03:28:04 -0400 Date: Wed, 25 Oct 2017 09:28:00 +0200 From: Steffen Klassert To: David Miller CC: , , , Subject: Re: [PATCH] net: xfrm_user: use BUG_ON instead of if condition followed by BUG Message-ID: <20171025072800.GQ3323@secunet.com> References: <20171024035320.GA29795@gondor.apana.org.au> <20171024.174842.272234711073180328.davem@davemloft.net> <20171025040541.GA1999@gondor.apana.org.au> <20171025.132222.1438740282932861791.davem@davemloft.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20171025.132222.1438740282932861791.davem@davemloft.net> User-Agent: Mutt/1.5.24 (2015-08-30) X-G-Data-MailSecurity-for-Exchange-State: 0 X-G-Data-MailSecurity-for-Exchange-Error: 0 X-G-Data-MailSecurity-for-Exchange-Sender: 23 X-G-Data-MailSecurity-for-Exchange-Server: d65e63f7-5c15-413f-8f63-c0d707471c93 X-EXCLAIMER-MD-CONFIG: 2c86f778-e09b-4440-8b15-867914633a10 X-G-Data-MailSecurity-for-Exchange-Guid: E31A8232-6174-464B-8879-ED656A5DCEBE Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 25, 2017 at 01:22:22PM +0900, David Miller wrote: > From: Herbert Xu > Date: Wed, 25 Oct 2017 12:05:41 +0800 > > > On Tue, Oct 24, 2017 at 05:48:42PM +0900, David Miller wrote: > >> > >> This discussion has happened before. > >> > >> But I'll explain the conclusion here for your benefit. > >> > >> BUG_ON() is a statement and everything inside of it will > >> always execute. > >> > >> BUG_ON() is always preferred because it allows arch > >> specific code to pass the conditional result properly > >> into inline asm and builtins for optimal code generation. > > > > This is a good point. However, while a little bit more verbose you > > can still achieve the same assembly-level result by something like > > > > int err; > > > > err = ; > > BUG_ON(err); > > > > Having real code in BUG_ON may pose problems to people reading the > > code because some of us tend to ignore code in BUG_ON and similar > > macros such as BUILD_BUG_ON. > > I agree that this makes the code easier to read and audit. It seems that we have an agreement on the above version, Gustavo can you please update your patches to this? Thanks!