Message ID | 1313685345-2417-1-git-send-email-jpirko@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, Aug 18, 2011 at 06:35:45PM +0200, Jiri Pirko wrote: > 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 <formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read Documentation/stable_kernel_rules.txt for how to do this properly. </formletter> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Jiri Pirko <jpirko@redhat.com> Date: Thu, 18 Aug 2011 18:35:45 +0200 > 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> Applied and queued up for -stable, thanks Jiri! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index 5f27f8e..f1f2f7b 100644 --- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c @@ -167,6 +167,8 @@ struct sk_buff *vlan_untag(struct sk_buff *skb) if (unlikely(!skb)) goto err_free; + skb_reset_network_header(skb); + skb_reset_transport_header(skb); return skb; err_free:
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> --- net/8021q/vlan_core.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)