On Fri, May 5, 2017 at 12:19 AM, Roland Kammerer <roland.kammerer@xxxxxxxxxx> 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/) >> >> // <smpl> >> @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; >> // </smpl> >> >> 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 <Julia.Lawall@xxxxxxx> >> >> --- >> 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 <roland.kammerer@xxxxxxxxxx> > > Regards, rck Which tree should this go through? Jens, I think yours? Thanks! -Kees -- Kees Cook Pixel Security -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html