Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754107AbdF0XuD (ORCPT ); Tue, 27 Jun 2017 19:50:03 -0400 Received: from mail-it0-f42.google.com ([209.85.214.42]:33258 "EHLO mail-it0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753982AbdF0Xty (ORCPT ); Tue, 27 Jun 2017 19:49:54 -0400 MIME-Version: 1.0 In-Reply-To: <20170505071945.GB6818@rck.sh> References: <1493928654-18768-1-git-send-email-Julia.Lawall@lip6.fr> <1493928654-18768-4-git-send-email-Julia.Lawall@lip6.fr> <20170505071945.GB6818@rck.sh> From: Kees Cook Date: Tue, 27 Jun 2017 16:49:52 -0700 X-Google-Sender-Auth: 4Hz8D5SgtL6jd2oVIB3NO7LpnSk Message-ID: Subject: Re: [PATCH 3/9] drbd: Drop unnecessary static To: Roland Kammerer , Jens Axboe Cc: Julia Lawall , Philipp Reisner , kernel-janitors@vger.kernel.org, Lars Ellenberg , drbd-dev@lists.linbit.com, LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2095 Lines: 81 On Fri, May 5, 2017 at 12:19 AM, Roland Kammerer wrote: > On Thu, May 04, 2017 at 10:10:48PM +0200, Julia Lawall wrote: >> Drop static on a local variable, when the variable is initialized before >> any use, on every possible execution path through the function. The static >> has no benefit, and dropping it reduces the code size. >> >> The semantic patch that fixes this problem is as follows: >> (http://coccinelle.lip6.fr/) >> >> // >> @bad exists@ >> position p; >> identifier x; >> type T; >> @@ >> >> static T x@p; >> ... >> x = <+...x...+> >> >> @@ >> identifier x; >> expression e; >> type T; >> position p != bad.p; >> @@ >> >> -static >> T x@p; >> ... when != x >> when strict >> ?x = e; >> // >> >> The change in code size is indicates by the following output from the size >> command. >> >> before: >> text data bss dec hex filename >> 67299 2291 1056 70646 113f6 drivers/block/drbd/drbd_nl.o >> >> after: >> text data bss dec hex filename >> 67283 2291 1056 70630 113e6 drivers/block/drbd/drbd_nl.o >> >> Signed-off-by: Julia Lawall >> >> --- >> drivers/block/drbd/drbd_nl.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c >> index 02255a0..ad0fcb4 100644 >> --- a/drivers/block/drbd/drbd_nl.c >> +++ b/drivers/block/drbd/drbd_nl.c >> @@ -2294,7 +2294,7 @@ static bool conn_ov_running(struct drbd_connection *connection) >> static enum drbd_ret_code >> check_net_options(struct drbd_connection *connection, struct net_conf *new_net_conf) >> { >> - static enum drbd_ret_code rv; >> + enum drbd_ret_code rv; >> struct drbd_peer_device *peer_device; >> int i; > > Yes, that already got dropped for drbd9 and is obviously correct for > in-tree drbd8. > > Signed-off-by: Roland Kammerer > > Regards, rck Which tree should this go through? Jens, I think yours? Thanks! -Kees -- Kees Cook Pixel Security