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

From: Jet Chen
Date: Thu May 22 2014 - 03:35:54 EST


On 05/22/2014 02:12 PM, Cong Wang wrote:
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 */

Your patch fixes that issue.

Tested-by: Jet Chen <jet.chen@xxxxxxxxx>

Thanks,
Jet
--
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/