From: David S. Miller Date: Thu, 12 Jul 2012 14:40:05 +0000 (-0700) Subject: ipv4: Fix warnings in ip_do_redirect() for some configurations. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=99ee038d41ebbb442921b6d388d08e907b037dac;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git ipv4: Fix warnings in ip_do_redirect() for some configurations. Reported-by: Fengguang Wu Signed-off-by: David S. Miller --- diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 23bbe29b3bba..9319bf1f8354 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1275,12 +1275,9 @@ static void rt_del(unsigned int hash, struct rtable *rt) static void ip_do_redirect(struct dst_entry *dst, struct sk_buff *skb) { - const struct iphdr *iph = (const struct iphdr *) skb->data; __be32 new_gw = icmp_hdr(skb)->un.gateway; __be32 old_gw = ip_hdr(skb)->saddr; struct net_device *dev = skb->dev; - __be32 daddr = iph->daddr; - __be32 saddr = iph->saddr; struct in_device *in_dev; struct neighbour *n; struct rtable *rt; @@ -1336,11 +1333,16 @@ static void ip_do_redirect(struct dst_entry *dst, struct sk_buff *skb) reject_redirect: #ifdef CONFIG_IP_ROUTE_VERBOSE - if (IN_DEV_LOG_MARTIANS(in_dev)) + if (IN_DEV_LOG_MARTIANS(in_dev)) { + const struct iphdr *iph = (const struct iphdr *) skb->data; + __be32 daddr = iph->daddr; + __be32 saddr = iph->saddr; + net_info_ratelimited("Redirect from %pI4 on %s about %pI4 ignored\n" " Advised path = %pI4 -> %pI4\n", &old_gw, dev->name, &new_gw, &saddr, &daddr); + } #endif ; }