ip_gre: fix msg_name parsing for recvfrom/recvmsg
authorTimo Teräs <timo.teras@iki.fi>
Mon, 16 Dec 2013 09:02:09 +0000 (11:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Jan 2014 23:28:48 +0000 (15:28 -0800)
commit85e963b89ad0727eca17bf0ac65a1cbf110b1bb6
treeab6954624a8027abe7709c8b10a2cbf69d5e49d0
parent57bc52eb25cff3ddd096598bf40e9be7673eb83a
ip_gre: fix msg_name parsing for recvfrom/recvmsg

[ Upstream commit 0e3da5bb8da45890b1dc413404e0f978ab71173e ]

ipgre_header_parse() needs to parse the tunnel's ip header and it
uses mac_header to locate the iphdr. This got broken when gre tunneling
was refactored as mac_header is no longer updated to point to iphdr.
Introduce skb_pop_mac_header() helper to do the mac_header assignment
and use it in ipgre_rcv() to fix msg_name parsing.

Bug introduced in commit c54419321455 (GRE: Refactor GRE tunneling code.)

Cc: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/ip_gre.c