From: Duan Jiong Date: Tue, 28 Jan 2014 03:49:43 +0000 (+0800) Subject: net: gre: use icmp_hdr() to get inner ip header X-Git-Tag: v3.14-rc1~59^2~10 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0c0c50ff7c3e331c90bab316d21f724fb9e1994;p=pandora-kernel.git net: gre: use icmp_hdr() to get inner ip header When dealing with icmp messages, the skb->data points the ip header that triggered the sending of the icmp message. In gre_cisco_err(), the parse_gre_header() is called, and the iptunnel_pull_header() is called to pull the skb at the end of the parse_gre_header(), so the skb->data doesn't point the inner ip header. Unfortunately, the ipgre_err still needs those ip addresses in inner ip header to look up tunnel by ip_tunnel_lookup(). So just use icmp_hdr() to get inner ip header instead of skb->data. Signed-off-by: Duan Jiong Signed-off-by: David S. Miller --- Reading git-diff-tree failed