RE: WARNING: CPU: 0 PID: 0 at ./include/linux/netfilter.h:233 arp_rcv
From: Andy Duan
Date: Mon Jan 08 2018 - 01:32:25 EST
From: Marco Franchi <marcofrk@xxxxxxxxx> Sent: Friday, January 05, 2018 11:03 PM
>Hi,
>
>I am getting the following warning on a imx6ul-evk board running linux-next
>20180105:
>
>[ 9.233290] ------------[ cut here ]------------
>[ 9.242068] WARNING: CPU: 0 PID: 0 at
>./include/linux/netfilter.h:233 arp_rcv+0x1f8/0x228
>[ 9.250381] Modules linked in:
>[ 9.253633] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
>4.15.0-rc6-next-20180104-dirty #2
>[ 9.261764] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
>[ 9.268065] Backtrace:
>[ 9.270719] [<c010d188>] (dump_backtrace) from [<c010d448>]
>(show_stack+0x18/0x1c)
>[ 9.278438] r7:00000000 r6:60000153 r5:00000000 r4:c1079878
>[ 9.284258] [<c010d430>] (show_stack) from [<c0a32468>]
>(dump_stack+0xb4/0xe8)
>[ 9.291641] [<c0a323b4>] (dump_stack) from [<c01260ac>]
>(__warn+0xf0/0x11c)
>[ 9.298763] r9:d8053000 r8:000000e9 r7:00000009 r6:c0da3bdc
>r5:00000000 r4:00000000
>[ 9.306662] [<c0125fbc>] (__warn) from [<c01261f0>]
>(warn_slowpath_null+0x44/0x50)
>[ 9.314383] r8:d8053000 r7:00000608 r6:c08873f8 r5:000000e9 r4:c0da3bdc
>[ 9.321243] [<c01261ac>] (warn_slowpath_null) from [<c08873f8>]
>(arp_rcv+0x1f8/0x228)
>[ 9.329215] r6:c0887200 r5:c107ac58 r4:d899b240
>[ 9.333999] [<c0887200>] (arp_rcv) from [<c07fe680>]
>(__netif_receive_skb_core+0x878/0xbd4)
>[ 9.342491] r6:c0887200 r5:c100ac8c r4:d899b240
>[ 9.347265] [<c07fde08>] (__netif_receive_skb_core) from
>[<c0800fe0>] (__netif_receive_skb+0x2c/0x8c)
>[ 9.356643] r10:00000080 r9:d8053000 r8:e0a26000 r7:c107ab0d
>r6:c1008908 r5:d899b240
>[ 9.364598] r4:c10099c4
>[ 9.367288] [<c0800fb4>] (__netif_receive_skb) from [<c0804c00>]
>(netif_receive_skb_internal+0x7c/0x354)
>[ 9.376904] r5:d899b240 r4:c10099c4
>[ 9.380635] [<c0804b84>] (netif_receive_skb_internal) from
>[<c0805d5c>] (napi_gro_receive+0x88/0xa4)
>[ 9.389918] r8:e0a26000 r7:00000001 r6:d899b240 r5:d899b240 r4:00000003
>[ 9.396784] [<c0805cd4>] (napi_gro_receive) from [<c064609c>]
>(fec_enet_rx_napi+0x3a8/0x9b8)
>[ 9.405357] r5:d8054000 r4:00000000
>[ 9.409093] [<c0645cf4>] (fec_enet_rx_napi) from [<c080552c>]
>(net_rx_action+0x220/0x334)
>[ 9.417431] r10:dbbdfa00 r9:c1001d94 r8:00000040 r7:0000012c
>r6:ffff8e6b r5:00000001
>[ 9.425384] r4:d8053710
>[ 9.428075] [<c080530c>] (net_rx_action) from [<c01022d0>]
>(__do_softirq+0x128/0x2a0)
>[ 9.436063] r10:40000003 r9:c1003080 r8:00000100 r7:c100308c
>r6:c1000000 r5:00000003
>[ 9.444018] r4:00000000
>[ 9.446708] [<c01021a8>] (__do_softirq) from [<c012c16c>]
>(irq_exit+0x14c/0x1a8)
>[ 9.454262] r10:e080a000 r9:d8004400 r8:00000001 r7:00000000
>r6:c1008a98 r5:00000000
>[ 9.462218] r4:ffffe000
>[ 9.464911] [<c012c020>] (irq_exit) from [<c0180464>]
>(__handle_domain_irq+0x74/0xe8)
>[ 9.472879] r5:00000000 r4:c0f7cc24
>[ 9.476614] [<c01803f0>] (__handle_domain_irq) from [<c0467ebc>]
>(gic_handle_irq+0x64/0xc4)
>[ 9.485121] r9:c1028344 r8:c1001e98 r7:00000000 r6:000003ff
>r5:000003eb r4:e080a00c
>[ 9.493016] [<c0467e58>] (gic_handle_irq) from [<c01019f0>]
>(__irq_svc+0x70/0x98)
>[ 9.500632] Exception stack(0xc1001e98 to 0xc1001ee0)
>[ 9.505822] 1e80:
> 00000001 00000001
>[ 9.514157] 1ea0: 00000000 c100bf80 25963796 00000002 00000002
>dbbde5c8 26545294 00000002
>[ 9.522491] 1ec0: 00000000 c1001f14 c1001eb8 c1001ee8 c01724fc
>c0724464 20000153 ffffffff
>[ 9.530824] r10:00000000 r9:c1000000 r8:26545294 r7:c1001ecc
>r6:ffffffff r5:20000153
>[ 9.538778] r4:c0724464
>[ 9.541470] [<c07242f4>] (cpuidle_enter_state) from [<c0724630>]
>(cpuidle_enter+0x1c/0x20)
>[ 9.549893] r10:c100f6a8 r9:dbbde5c8 r8:c0f7c5c0 r7:c1008978
>r6:00000001 r5:c100892c
>[ 9.557857] r4:c1000000 r3:dbbde5c8
>[ 9.561589] [<c0724614>] (cpuidle_enter) from [<c0169dd4>]
>(call_cpuidle+0x28/0x44)
>[ 9.569399] [<c0169dac>] (call_cpuidle) from [<c016a0bc>]
>(do_idle+0x1bc/0x230)
>[ 9.576861] [<c0169f00>] (do_idle) from [<c016a4e0>]
>(cpu_startup_entry+0x20/0x24)
>[ 9.584587] r10:c0f63a50 r9:c1008908 r8:c107b480 r7:c1008900
>r6:c107b480 r5:00000002
>[ 9.592546] r4:000000c4 r3:c0f75354
>[ 9.596283] [<c016a4c0>] (cpu_startup_entry) from [<c0a47720>]
>(rest_init+0x210/0x25c)
>[ 9.604372] [<c0a47510>] (rest_init) from [<c0f00d60>]
>(start_kernel+0x390/0x418)
>[ 9.611998] r5:ffffffff r4:c107b4cc
>[ 9.615723] [<c0f009d0>] (start_kernel) from [<00000000>] ( (null))
>[ 9.622235] r10:10c5387d r9:410fc075 r8:83000000 r7:00000000
>r6:10c0387d r5:00000051
>[ 9.630191] r4:c0f0032c
>[ 9.632851] ---[ end trace 2d5d5f79c0c8da59 ]---
>
>Does anyone know how to fix it?
>
>Thanks
If you enable kernel config "CONFIG_NETFILTER_FAMILY_ARP" can fix the warning.
It is introduced by below commit.
commit 8de98f058360722a1a9febe3970de6dcd4d91513
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Thu Dec 7 16:28:26 2017 +0100
netfilter: don't allocate space for arp/bridge hooks unless needed
no need to define hook points if the family isn't supported.
Because we need these hooks for either nftables, arp/ebtables
or the 'call-iptables' hack we have in the bridge layer add two
new dependencies, NETFILTER_FAMILY_{ARP,BRIDGE}, and have the
users select them.
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
index ce4e91df..0e46cb4 100644
--- a/include/linux/netfilter.h
+++ b/include/linux/netfilter.h
@@ -213,12 +213,16 @@ static inline int nf_hook(u_int8_t pf, unsigned int hook, struct net *net,
case NFPROTO_IPV6:
hook_head = rcu_dereference(net->nf.hooks_ipv6[hook]);
break;
+#ifdef CONFIG_NETFILTER_FAMILY_ARP
case NFPROTO_ARP:
hook_head = rcu_dereference(net->nf.hooks_arp[hook]);
break;
+#endif
+#ifdef CONFIG_NETFILTER_FAMILY_BRIDGE
case NFPROTO_BRIDGE:
hook_head = rcu_dereference(net->nf.hooks_bridge[hook]);
break;
+#endif
#if IS_ENABLED(CONFIG_DECNET)
case NFPROTO_DECNET:
hook_head = rcu_dereference(net->nf.hooks_decnet[hook]);