Re: [Bug #12805] QinQ vlan trunking regression

From: David Miller
Date: Sat Mar 14 2009 - 18:04:48 EST


From: "Rafael J. Wysocki" <rjw@xxxxxxx>
Date: Sat, 14 Mar 2009 20:05:33 +0100 (CET)

> This message has been generated automatically as a part of a report
> of recent regressions.
>
> The following bug entry is on the current list of known regressions
> from 2.6.28. Please verify if it still should be listed and let me know
> (either way).
>
>
> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12805
> Subject : QinQ vlan trunking regression
> Submitter : Bart Trojanowski <bart@xxxxxxxxx>
> Date : 2009-02-28 18:05 (15 days old)
> References : http://marc.info/?l=linux-kernel&m=123584439115868&w=4

Fixed by:

commit 9d40bbda599def1e1d155d7f7dca14fe8744bd2b
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Mar 4 23:46:25 2009 -0800

vlan: Fix vlan-in-vlan crashes.

As analyzed by Patrick McHardy, vlan needs to reset it's
netdev_ops pointer in it's ->init() function but this
leaves the compat method pointers stale.

Add a netdev_resync_ops() and call it from the vlan code.

Any other driver which changes ->netdev_ops after register_netdevice()
will need to call this new function after doing so too.

With help from Patrick McHardy.

Tested-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

--
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/