[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20150301.003000.2087464960859465969.davem@davemloft.net>
Date: Sun, 01 Mar 2015 00:30:00 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: brak@...tr.com, netdev@...r.kernel.org
Subject: Re: [PATCH net] macvtap: make sure neighbour code can push
ethernet header
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Fri, 27 Feb 2015 18:35:35 -0800
> From: Eric Dumazet <edumazet@...gle.com>
>
> Brian reported crashes using IPv6 traffic with macvtap/veth combo.
>
> I tracked the crashes in neigh_hh_output()
>
> -> memcpy(skb->data - HH_DATA_MOD, hh->hh_data, HH_DATA_MOD);
>
> Neighbour code assumes headroom to push Ethernet header is
> at least 16 bytes.
>
> It appears macvtap has only 14 bytes available on arches
> where NET_IP_ALIGN is 0 (like x86)
>
> Effect is a corruption of 2 bytes right before skb->head,
> and possible crashes if accessing non existing memory.
>
> This fix should also increase IPv4 performance, as paranoid code
> in ip_finish_output2() wont have to call skb_realloc_headroom()
>
> Reported-by: Brian Rak <brak@...tr.com>
> Tested-by: Brian Rak <brak@...tr.com>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Applied and queued up for -stable, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists