[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1346788334.13121.82.camel@edumazet-glaptop>
Date: Tue, 04 Sep 2012 21:52:14 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Stephen Hemminger <shemminger@...tta.com>
Cc: netdev@...r.kernel.org, a1bert@...as.cz
Subject: Re: Fw: [Bug 47021] New: kernel panic with l2tpv3 & mtu > 1500
From: Eric Dumazet <edumazet@...gle.com>
On Tue, 2012-09-04 at 09:07 -0700, Stephen Hemminger wrote:
>
> Begin forwarded message:
>
> Date: Tue, 4 Sep 2012 16:06:06 +0000 (UTC)
> From: bugzilla-daemon@...zilla.kernel.org
> To: shemminger@...ux-foundation.org
> Subject: [Bug 47021] New: kernel panic with l2tpv3 & mtu > 1500
>
>
> https://bugzilla.kernel.org/show_bug.cgi?id=47021
>
> Summary: kernel panic with l2tpv3 & mtu > 1500
> Product: Networking
> Version: 2.5
> Kernel Version: 3.2.28
> Platform: All
> OS/Version: Linux
> Tree: Mainline
> Status: NEW
> Severity: normal
> Priority: P1
> Component: Other
> AssignedTo: shemminger@...ux-foundation.org
> ReportedBy: a1bert@...as.cz
> Regression: No
>
>
> first l2tpv3 packet that enters physical device with MTU > 1500 causes kernel
> panic
>
> tunel created using:
>
> l2tpv3tun add tunnel tunnel_id 1 peer_tunnel_id 1 encap udp udp_sport 5001
> udp_dport 5001 local 192.168.1.1 remote 192.168.1.2
>
> l2tpv3tun add session tunnel_id 1 session_id 1 peer_session_id 1 dev l2tpeth1
>
>
> reproducible: always
>
Seems following patch is needed, not sure if it helps
[PATCH] l2tp: fix a typo in l2tp_eth_dev_recv()
While investigating l2tp bug, I hit a bug in eth_type_trans(),
because not enough bytes were pulled in skb head.
Signed-off-by: Eric Dumazet <edumazet@...gle.com>
---
net/l2tp/l2tp_eth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/l2tp/l2tp_eth.c b/net/l2tp/l2tp_eth.c
index f9ee74d..3bfb34a 100644
--- a/net/l2tp/l2tp_eth.c
+++ b/net/l2tp/l2tp_eth.c
@@ -153,7 +153,7 @@ static void l2tp_eth_dev_recv(struct l2tp_session *session, struct sk_buff *skb,
print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, skb->data, length);
}
- if (!pskb_may_pull(skb, sizeof(ETH_HLEN)))
+ if (!pskb_may_pull(skb, ETH_HLEN))
goto error;
secpath_reset(skb);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists