]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
vrf: make sure skb->data contains ip header to make routing
authorPeter Kosyh <p.kosyh@gmail.com>
Fri, 19 Jul 2019 08:11:47 +0000 (11:11 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Jul 2019 06:28:33 +0000 (08:28 +0200)
commit98ecf34e6b82d9c04bff5cb39e9ff964f505bb79
treecc75502ef2fb5311b26bd5b6a6ce41ef5918f4a4
parent2527ea8f115cdd0b1e8fc5cb161ff7d1a7a99351
vrf: make sure skb->data contains ip header to make routing

[ Upstream commit 107e47cc80ec37cb332bd41b22b1c7779e22e018 ]

vrf_process_v4_outbound() and vrf_process_v6_outbound() do routing
using ip/ipv6 addresses, but don't make sure the header is available
in skb->data[] (skb_headlen() is less then header size).

Case:

1) igb driver from intel.
2) Packet size is greater then 255.
3) MPLS forwards to VRF device.

So, patch adds pskb_may_pull() calls in vrf_process_v4/v6_outbound()
functions.

Signed-off-by: Peter Kosyh <p.kosyh@gmail.com>
Reviewed-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/vrf.c