Messages in this thread Patch in this message | | | Subject | Re: 2.6.35 -> 2.6.36 panic when vlan and promisc with tg3 | From | Eric Dumazet <> | Date | Tue, 30 Nov 2010 10:20:09 +0100 |
| |
Le mardi 30 novembre 2010 à 09:59 +0100, Michael Leun a écrit : > On Mon, 29 Nov 2010 16:19:06 -0800 > Ben Greear <greearb@candelatech.com> wrote: > > > On 11/29/2010 11:17 AM, Michael Leun wrote: > > > UG: unable to handle kernel paging request at 01cc921c > > > IP: [<c034bfce>] vlan_hwaccel_do_receive+0x59/0xd0 > > > *pdpt = 0000000036a2a001 *pde = 0000000000000000 > > > Oops: 0002 [#1] SMP > > > last sysfs > > > > > > Then machine dead. > > > > > > In 2.6.35.x this did not happen (but vlans broken - cannot see vlan > > > tags with tcpdump), > > > > Try this patch: > > > > http://permalink.gmane.org/gmane.linux.network/176566 > > > > It looks like this hasn't made it into stable yet? > > > > To reproduce: > > > > > > ip link set eth0 up > > > vconfig add eth0 2 > > > ip link set eth0 promisc on > > It makes it better - it does not crash anymore on this commands - but > if you add an "tcpdump -i eth0 -n" at the end it does. So, > unfortunately no real solution. > > I guess, "dropping packet no one is interested in" (as noted in the > patch) does not work very well if tcpdump is actually interested? >
Could you try with following patch instead, for net/core/dev.c
(and keep the net/8021q/vlan_core.c part)
--- net/core/dev.c.orig +++ net/core/dev.c @@ -2891,6 +2891,9 @@ ncls: #endif + if (unlikely(vlan_tx_tag_present(skb))) + goto bypass; + /* Handle special case of bridge or macvlan */ rx_handler = rcu_dereference(skb->dev->rx_handler); if (rx_handler) { @@ -2927,6 +2930,7 @@ } } +bypass: if (pt_prev) { ret = pt_prev->func(skb, skb->dev, pt_prev, orig_dev); } else {
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |