netfilter: conntrack: Force inlining of build check to prevent build failure
authorGeert Uytterhoeven <geert@linux-m68k.org>
Wed, 3 May 2017 12:18:43 +0000 (14:18 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 May 2017 13:51:26 +0000 (09:51 -0400)
If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the
build will fail with:

    net/built-in.o: In function `nf_conntrack_init_start':
    (.text+0x9baf6): undefined reference to `__compiletime_assert_1893'

or

    ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] undefined!

Fix this by forcing inlining of total_extension_size().

Fixes: b3a5db109e0670d6 ("netfilter: conntrack: use u8 for extension sizes again")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netfilter/nf_conntrack_core.c

index f9245dbfe4356da65cd9f4e0aaf7fb07ea32b14a..3c8f1ed2f5558fe0fcf0d230d5d8553ba84c68fe 100644 (file)
@@ -1853,7 +1853,7 @@ EXPORT_SYMBOL_GPL(nf_conntrack_set_hashsize);
 module_param_call(hashsize, nf_conntrack_set_hashsize, param_get_uint,
                  &nf_conntrack_htable_size, 0600);
 
-static unsigned int total_extension_size(void)
+static __always_inline unsigned int total_extension_size(void)
 {
        /* remember to add new extensions below */
        BUILD_BUG_ON(NF_CT_EXT_NUM > 9);