Re: [net] WARNING: CPU: 1 PID: 1 at net/batman-adv/hard-interface.c:92 batadv_is_on_batman_iface()

From: Cong Wang
Date: Thu May 22 2014 - 02:13:08 EST


On Wed, May 21, 2014 at 9:42 PM, Jet Chen <jet.chen@xxxxxxxxx> wrote:
> Hi Steffen,
>
> 0day kernel testing robot got the below dmesg and the first bad commit is
>
> git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git master
> commit 78ff4be45a4c51d8fb21ad92e4fabb467c6c3eeb
> Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
> AuthorDate: Mon May 19 11:36:56 2014 +0200
> Commit: David S. Miller <davem@xxxxxxxxxxxxx>
> CommitDate: Wed May 21 02:08:32 2014 -0400
>
> ip_tunnel: Initialize the fallback device properly
> We need to initialize the fallback device to have a correct mtu
> set on this device. Otherwise the mtu is set to null and the device
> is unusable.
> Fixes: fd58156e456d ("IPIP: Use ip-tunneling code.")
> Cc: Pravin B Shelar <pshelar@xxxxxxxxxx>
> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
>
> +--------------------------------------------------------------------------------+------------+------------+
> |
> | d8d33c3b8a | 78ff4be45a |
> +--------------------------------------------------------------------------------+------------+------------+
> | boot_successes
> | 60 | 0 |
> | boot_failures
> | 0 | 20 |
> |
> WARNING:CPU:PID:at_net/batman-adv/hard-interface.c:batadv_is_on_batman_iface()
> | 0 | 20 |
> | backtrace:register_netdevice_notifier
> | 0 | 20 |
> | backtrace:batadv_init
> | 0 | 20 |
> | backtrace:kernel_init_freeable
> | 0 | 20 |
> +--------------------------------------------------------------------------------+------------+------------+
>

batman needs to fix:

diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c
index b851cc5..fbda6b5 100644
--- a/net/batman-adv/hard-interface.c
+++ b/net/batman-adv/hard-interface.c
@@ -83,7 +83,7 @@ static bool batadv_is_on_batman_iface(const struct
net_device *net_dev)
return true;

/* no more parents..stop recursion */
- if (net_dev->iflink == net_dev->ifindex)
+ if (net_dev->iflink == 0 || net_dev->iflink == net_dev->ifindex)
return false;

/* recurse over the parent device */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/