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)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Dec 2013 22:44:33 +0000 (17:44 -0500)
commit0e3da5bb8da45890b1dc413404e0f978ab71173e
tree2d3bd7a6e9c9c38520ac3bbe132e0f8940a9a18a
parenta81d8762d71396f69d27187a909fcc69f1a7be75
ip_gre: fix msg_name parsing for recvfrom/recvmsg

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>
include/linux/skbuff.h
net/ipv4/ip_gre.c