Skip to contentSkip to conversation

net/ipv4/route.c:1283:9: warning: unused variable 'saddr'

PATCH In review Fengguang Wu 3 participants 4 messages Jul 12, 2012

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 90/102 net/ipv4/route.c:1283:9: warning: unused variable 'saddr'

Hi David,

There are new compile warnings show up in

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head:   3ec5a261aef55a32664bffd335e5c32aeadf3215
commit: e47a185b31dd2acd424fac7dc0efb96fc5b31a33 [90/102] ipv4: Generalize ip_do_redirect() and hook into new dst_ops->redirect.

All warnings:

net/ipv4/route.c: In function 'ip_do_redirect':
net/ipv4/route.c:1283:9: warning: unused variable 'saddr' [-Wunused-variable] net/ipv4/route.c:1282:9: warning: unused variable 'daddr' [-Wunused-variable]

vim +1283 net/ipv4/route.c
1280 __be32 old_gw = ip_hdr(skb)->saddr;
1281 struct net_device *dev = skb->dev;
1282 __be32 daddr = iph->daddr;

Quoted 1 line

1283 __be32 saddr = iph->saddr;

1284 struct in_device *in_dev;
1285 struct neighbour *n;
1286 struct rtable *rt;

..because the saddr/daddr variables are used inside

#ifdef CONFIG_IP_ROUTE_VERBOSE
        if (IN_DEV_LOG_MARTIANS(in_dev))
                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

---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu <[email protected]> Intel Corporation

maintainer
#1 lore raw

There's not need to report these to kernel-janitors if it's a net-next specific issue and I'm going to fix it up 5 minutes after you report it.

==========
[PATCH] ipv4: Fix warnings in ip_do_redirect() for some configurations.

---
 net/ipv4/route.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
net/ipv4/route.c +6 -4
index 23bbe29..9319bf1 100644
@@ -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
 	;
 }
Signature · 1 line
1.7.10.4
#2 lore raw

OK!

Quoted 51 lines · David Miller

There's not need to report these to kernel-janitors if it's a net-next specific issue and I'm going to fix it up 5 minutes after you report it.

==========
[PATCH] ipv4: Fix warnings in ip_do_redirect() for some configurations.

---
 net/ipv4/route.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
net/ipv4/route.c +6 -4
index 23bbe29..9319bf1 100644
@@ -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
 	;
 }
Signature · 1 line
1.7.10.4
#3 lore raw
In reply to David Miller
Quoted 4 lines · David Miller

There's not need to report these to kernel-janitors if it's a net-next specific issue and I'm going to fix it up 5 minutes after you report it.

The kernel-janitors list is CC'd to prevent people from sending duplicate messages. This has happened in the past and it's annoying for everyone.

regards,
dan carpenter