| From: Li Wei <lw@cn.fujitsu.com> |
| Date: Thu, 21 Feb 2013 00:09:54 +0000 |
| Subject: ipv4: fix a bug in ping_err(). |
| |
| [ Upstream commit b531ed61a2a2a77eeb2f7c88b49aa5ec7d9880d8 ] |
| |
| We should get 'type' and 'code' from the outer ICMP header. |
| |
| Signed-off-by: Li Wei <lw@cn.fujitsu.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| net/ipv4/ping.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c |
| index 43d4c3b..294a380 100644 |
| --- a/net/ipv4/ping.c |
| +++ b/net/ipv4/ping.c |
| @@ -321,8 +321,8 @@ void ping_err(struct sk_buff *skb, u32 info) |
| struct iphdr *iph = (struct iphdr *)skb->data; |
| struct icmphdr *icmph = (struct icmphdr *)(skb->data+(iph->ihl<<2)); |
| struct inet_sock *inet_sock; |
| - int type = icmph->type; |
| - int code = icmph->code; |
| + int type = icmp_hdr(skb)->type; |
| + int code = icmp_hdr(skb)->code; |
| struct net *net = dev_net(skb->dev); |
| struct sock *sk; |
| int harderr; |