From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752420AbbCaTLg (ORCPT ); Tue, 31 Mar 2015 15:11:36 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:51587 "EHLO mail2-relais-roc.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750980AbbCaTLe (ORCPT ); Tue, 31 Mar 2015 15:11:34 -0400 X-IronPort-AV: E=Sophos;i="5.11,502,1422918000"; d="scan'208";a="130958181" Date: Tue, 31 Mar 2015 21:11:31 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@localhost6.localdomain6 To: Fabian Frederick cc: "J. Bruce Fields" , Trond Myklebust , linux-nfs@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "David S. Miller" , Anna Schumaker , Julia Lawall Subject: Re: [PATCH 7/9 net-next] sunrpc: replace if/BUG by BUG_ON In-Reply-To: <256862218.214616.1427828441666.open-xchange@webmail.nmp.proximus.be> Message-ID: References: <1427749998-28464-1-git-send-email-fabf@skynet.be> <1427749998-28464-7-git-send-email-fabf@skynet.be> <20150330212520.GF6901@fieldses.org> <256862218.214616.1427828441666.open-xchange@webmail.nmp.proximus.be> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-2138293838-1427829092=:2115" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-2138293838-1427829092=:2115 Content-Type: TEXT/PLAIN; charset=UTF-8 Content-Transfer-Encoding: 8BIT On Tue, 31 Mar 2015, Fabian Frederick wrote: > > > > On 30 March 2015 at 23:25 "J. Bruce Fields" wrote: > > > > > > Huh, I thought this wasn't recommended: > > > >       http://lkml.kernel.org/r/20040828125816.206ef7fa.akpm@osdl.org > > > >       "I'd prefer that we not move code which has side-effects into > >       BUG_ONs" > > Thanks for the link, I wasn't aware of that problem. Maybe we should add some > documentation and fix coccinelle detection then ? Maybe the comment in the Coccinelle rule could just be made more clear? The only practical choices are to ignore all function calls and to allow all fuction calls, since Coccinelle doesn't know which ones have side effects. julia > Regards, > Fabian > > > > > --b. > > > > On Mon, Mar 30, 2015 at 11:13:15PM +0200, Fabian Frederick wrote: > > > Signed-off-by: Fabian Frederick > > > --- > > >  net/sunrpc/auth_gss/svcauth_gss.c | 9 +++------ > > >  net/sunrpc/svc_xprt.c             | 3 +-- > > >  2 files changed, 4 insertions(+), 8 deletions(-) > > > > > > diff --git a/net/sunrpc/auth_gss/svcauth_gss.c > > > b/net/sunrpc/auth_gss/svcauth_gss.c > > > index 1095be9..09f8a1c6 100644 > > > --- a/net/sunrpc/auth_gss/svcauth_gss.c > > > +++ b/net/sunrpc/auth_gss/svcauth_gss.c > > > @@ -840,11 +840,9 @@ unwrap_integ_data(struct svc_rqst *rqstp, struct > > > xdr_buf *buf, u32 seq, struct g > > >             return stat; > > >     if (integ_len > buf->len) > > >             return stat; > > > -   if (xdr_buf_subsegment(buf, &integ_buf, 0, integ_len)) > > > -           BUG(); > > > +   BUG_ON(xdr_buf_subsegment(buf, &integ_buf, 0, integ_len)); > > >     /* copy out mic... */ > > > -   if (read_u32_from_xdr_buf(buf, integ_len, &mic.len)) > > > -           BUG(); > > > +   BUG_ON(read_u32_from_xdr_buf(buf, integ_len, &mic.len)); > > >     if (mic.len > RPC_MAX_AUTH_SIZE) > > >             return stat; > > >     mic.data = kmalloc(mic.len, GFP_KERNEL); > > > @@ -1595,8 +1593,7 @@ svcauth_gss_wrap_resp_integ(struct svc_rqst *rqstp) > > >     BUG_ON(integ_len % 4); > > >     *p++ = htonl(integ_len); > > >     *p++ = htonl(gc->gc_seq); > > > -   if (xdr_buf_subsegment(resbuf, &integ_buf, integ_offset, integ_len)) > > > -           BUG(); > > > +   BUG_ON(xdr_buf_subsegment(resbuf, &integ_buf, integ_offset, integ_len)); > > >     if (resbuf->tail[0].iov_base == NULL) { > > >             if (resbuf->head[0].iov_len + RPC_MAX_AUTH_SIZE > PAGE_SIZE) > > >                     goto out_err; > > > diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c > > > index 163ac45..2f82e8b 100644 > > > --- a/net/sunrpc/svc_xprt.c > > > +++ b/net/sunrpc/svc_xprt.c > > > @@ -960,8 +960,7 @@ static void svc_delete_xprt(struct svc_xprt *xprt) > > >     struct svc_deferred_req *dr; > > >  > > >     /* Only do this once */ > > > -   if (test_and_set_bit(XPT_DEAD, &xprt->xpt_flags)) > > > -           BUG(); > > > +   BUG_ON(test_and_set_bit(XPT_DEAD, &xprt->xpt_flags)); > > >  > > >     dprintk("svc: svc_delete_xprt(%p)\n", xprt); > > >     xprt->xpt_ops->xpo_detach(xprt); > > > -- > > > 1.9.1 > --8323328-2138293838-1427829092=:2115--