Re: [PATCH] netfilter: turn NF_HOOK into an inline function
From: Eric W. Biederman <hidden>
Date: 2015-10-09 18:30:37
Also in:
lkml, netfilter-devel
Arnd Bergmann [off-list ref] writes:
On Friday 09 October 2015 21:03:57 kbuild test robot wrote:quoted
^1da177e Linus Torvalds 2005-04-16 818 cb->rt_flags &= ~DN_RT_F_IE; ^1da177e Linus Torvalds 2005-04-16 819 if (rt->rt_flags & RTCF_DOREDIRECT) ^1da177e Linus Torvalds 2005-04-16 820 cb->rt_flags |= DN_RT_F_IE; ^1da177e Linus Torvalds 2005-04-16 821 29a26a56 Eric W. Biederman 2015-09-15 822 return NF_HOOK(NFPROTO_DECNET, NF_DN_FORWARD, 29a26a56 Eric W. Biederman 2015-09-15 @823 &init_net, NULL, skb, dev, skb->dev, 8f40b161 David S. Miller 2011-07-17 824 dn_to_neigh_output); ^1da177e Linus Torvalds 2005-04-16 825 ^1da177e Linus Torvalds 2005-04-16 826 drop:Ah, right. The 'dev' variable here is declared as #ifdef CONFIG_NETFILTER struct net_device *dev = skb->dev; #endif Apparently because the code produced the same warning as the ipv6 code. Removing the #ifdef here would make that code nicer and let us use my patch. Alternatively we could put the same #ifdef into IPV6 and not use the inline function.
Compilers are good at removing unused variabes (SSA should guarantee this will always happen), and #ifdefs sucks. I vote for your inline. Especially as the case that is actively used and tested (CONFIG_NETFILTER) has these two functions as inline functions. Eric