| Date | Wed, 28 Sep 2011 15:02:31 -0700 | From | Greg KH <> | Subject | [187/244] vlan: reset headers on accel emulation path |
| |
3.0-stable review patch. If anyone has any objections, please let us know.
------------------
From: Jiri Pirko <jpirko@redhat.com>
[ Upstream commit c5114cd59d2664f258b0d021d79b1532d94bdc2b ]
It's after all necessary to do reset headers here. The reason is we cannot depend that it gets reseted in __netif_receive_skb once skb is reinjected. For incoming vlanids without vlan_dev, vlan_do_receive() returns false with skb != NULL and __netif_reveive_skb continues, skb is not reinjected.
This might be good material for 3.0-stable as well
Reported-by: Mike Auty <mike.auty@gmail.com> Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- net/8021q/vlan_core.c | 2 ++ 1 file changed, 2 insertions(+)
--- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c @@ -171,6 +171,8 @@ struct sk_buff *vlan_untag(struct sk_buf if (unlikely(!skb)) goto err_free; + skb_reset_network_header(skb); + skb_reset_transport_header(skb); return skb; err_free:
|