lkml.org 
[lkml]   [2012]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 039/120] 8021q: fix mac_len recomputation in vlan_untag()
    Date
    3.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------


    From: Antonio Quartulli <ordex@autistici.org>

    [ Upstream commit 5316cf9a5197eb80b2800e1acadde287924ca975 ]

    skb_reset_mac_len() relies on the value of the skb->network_header pointer,
    therefore we must wait for such pointer to be recalculated before computing
    the new mac_len value.

    Signed-off-by: Antonio Quartulli <ordex@autistici.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/8021q/vlan_core.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/net/8021q/vlan_core.c
    +++ b/net/8021q/vlan_core.c
    @@ -106,7 +106,6 @@ static struct sk_buff *vlan_reorder_head
    return NULL;
    memmove(skb->data - ETH_HLEN, skb->data - VLAN_ETH_HLEN, 2 * ETH_ALEN);
    skb->mac_header += VLAN_HLEN;
    - skb_reset_mac_len(skb);
    return skb;
    }

    @@ -140,6 +139,8 @@ struct sk_buff *vlan_untag(struct sk_buf

    skb_reset_network_header(skb);
    skb_reset_transport_header(skb);
    + skb_reset_mac_len(skb);
    +
    return skb;

    err_free:



    \
     
     \ /
      Last update: 2012-10-11 04:01    [W:4.186 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site