The magic macro change_nexthops introduces a variable nh which overlaps
previous declaration of nh.

Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>


--- a/net/ipv4/fib_semantics.c  2008-01-23 11:03:55.000000000 -0800
+++ b/net/ipv4/fib_semantics.c  2008-01-23 11:05:12.000000000 -0800
@@ -1059,14 +1059,14 @@ int fib_sync_down(__be32 local, struct n
                unsigned int hash = fib_devindex_hashfn(dev->ifindex);
                struct hlist_head *head = &fib_info_devhash[hash];
                struct hlist_node *node;
-               struct fib_nh *nh;
+               struct fib_nh *nh1;
 
-               hlist_for_each_entry(nh, node, head, nh_hash) {
-                       struct fib_info *fi = nh->nh_parent;
+               hlist_for_each_entry(nh1, node, head, nh_hash) {
+                       struct fib_info *fi = nh1->nh_parent;
                        int dead;
 
                        BUG_ON(!fi->fib_nhs);
-                       if (nh->nh_dev != dev || fi == prev_fi)
+                       if (nh1->nh_dev != dev || fi == prev_fi)
                                continue;
                        prev_fi = fi;
                        dead = 0;
@@ -1091,6 +1091,7 @@ int fib_sync_down(__be32 local, struct n
                                }
 #endif
                        } endfor_nexthops(fi)
+
                        if (dead == fi->fib_nhs) {
                                fi->fib_flags |= RTNH_F_DEAD;
                                ret++;
@@ -1114,7 +1115,7 @@ int fib_sync_up(struct net_device *dev)
        unsigned int hash;
        struct hlist_head *head;
        struct hlist_node *node;
-       struct fib_nh *nh;
+       struct fib_nh *nh1;
        int ret;
 
        if (!(dev->flags&IFF_UP))
@@ -1125,12 +1126,12 @@ int fib_sync_up(struct net_device *dev)
        head = &fib_info_devhash[hash];
        ret = 0;
 
-       hlist_for_each_entry(nh, node, head, nh_hash) {
-               struct fib_info *fi = nh->nh_parent;
+       hlist_for_each_entry(nh1, node, head, nh_hash) {
+               struct fib_info *fi = nh1->nh_parent;
                int alive;
 
                BUG_ON(!fi->fib_nhs);
-               if (nh->nh_dev != dev || fi == prev_fi)
+               if (nh1->nh_dev != dev || fi == prev_fi)
                        continue;
 
                prev_fi = fi;

-- 
Stephen Hemminger <[EMAIL PROTECTED]>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to