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:31:35 +0000 (15:31 -0800)
commitd6e4f9236bf279e92be402319d57060303d32cfa
treea3a4aa9ebfb493822be64720beabab40771b175d
parent3620cedf7a554744184afe5022fc9096f0977f31
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>
include/linux/skbuff.h
net/ipv4/ip_gre.c