net/ipv6: resolve warning in ip6_fib.c
authorBreno Leitao <leitao@debian.org>
Mon, 22 Jan 2024 18:19:55 +0000 (10:19 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 24 Jan 2024 01:22:23 +0000 (17:22 -0800)
In some configurations, the 'iter' variable in function
fib6_repair_tree() is unused, resulting the following warning when
compiled with W=1.

    net/ipv6/ip6_fib.c:1781:6: warning: variable 'iter' set but not used [-Wunused-but-set-variable]
     1781 |         int iter = 0;
  |             ^

It is unclear what is the advantage of this RT6_TRACE() macro[1], since
users can control pr_debug() in runtime, which is better than at
compilation time. pr_debug() has no overhead when disabled.

Remove the RT6_TRACE() in favor of simple pr_debug() helpers.

Link: https://lore.kernel.org/all/ZZwSEJv2HgI0cD4J@gmail.com/
Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20240122181955.2391676-2-leitao@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/ip6_fib.h
net/ipv6/ip6_fib.c
net/ipv6/route.c

index 9ba6413fd2e3ea166a516181115a1658c6d5ad03..360b12e61850735f1b2e5bbf7302320298b712b1 100644 (file)
 
 #define RT6_DEBUG 2
 
-#if RT6_DEBUG >= 3
-#define RT6_TRACE(x...) pr_debug(x)
-#else
-#define RT6_TRACE(x...) do { ; } while (0)
-#endif
-
 struct rt6_info;
 struct fib6_info;
 
index fb41bec6b4b5da3cf9da27c0a3ee6f42b024d05f..38a0348b1d17803772264389865b503b929e8c95 100644 (file)
@@ -1801,7 +1801,7 @@ static struct fib6_node *fib6_repair_tree(struct net *net,
                                            lockdep_is_held(&table->tb6_lock));
                struct fib6_info *new_fn_leaf;
 
-               RT6_TRACE("fixing tree: plen=%d iter=%d\n", fn->fn_bit, iter);
+               pr_debug("fixing tree: plen=%d iter=%d\n", fn->fn_bit, iter);
                iter++;
 
                WARN_ON(fn->fn_flags & RTN_RTINFO);
@@ -1864,7 +1864,8 @@ static struct fib6_node *fib6_repair_tree(struct net *net,
                FOR_WALKERS(net, w) {
                        if (!child) {
                                if (w->node == fn) {
-                                       RT6_TRACE("W %p adjusted by delnode 1, s=%d/%d\n", w, w->state, nstate);
+                                       pr_debug("W %p adjusted by delnode 1, s=%d/%d\n",
+                                                w, w->state, nstate);
                                        w->node = pn;
                                        w->state = nstate;
                                }
@@ -1872,10 +1873,12 @@ static struct fib6_node *fib6_repair_tree(struct net *net,
                                if (w->node == fn) {
                                        w->node = child;
                                        if (children&2) {
-                                               RT6_TRACE("W %p adjusted by delnode 2, s=%d\n", w, w->state);
+                                               pr_debug("W %p adjusted by delnode 2, s=%d\n",
+                                                        w, w->state);
                                                w->state = w->state >= FWS_R ? FWS_U : FWS_INIT;
                                        } else {
-                                               RT6_TRACE("W %p adjusted by delnode 2, s=%d\n", w, w->state);
+                                               pr_debug("W %p adjusted by delnode 2, s=%d\n",
+                                                        w, w->state);
                                                w->state = w->state >= FWS_C ? FWS_U : FWS_INIT;
                                        }
                                }
@@ -1951,7 +1954,7 @@ static void fib6_del_route(struct fib6_table *table, struct fib6_node *fn,
        read_lock(&net->ipv6.fib6_walker_lock);
        FOR_WALKERS(net, w) {
                if (w->state == FWS_C && w->leaf == rt) {
-                       RT6_TRACE("walker %p adjusted by delroute\n", w);
+                       pr_debug("walker %p adjusted by delroute\n", w);
                        w->leaf = rcu_dereference_protected(rt->fib6_next,
                                            lockdep_is_held(&table->tb6_lock));
                        if (!w->leaf)
@@ -2289,7 +2292,7 @@ static int fib6_age(struct fib6_info *rt, void *arg)
 
        if (rt->fib6_flags & RTF_EXPIRES && rt->expires) {
                if (time_after(now, rt->expires)) {
-                       RT6_TRACE("expiring %p\n", rt);
+                       pr_debug("expiring %p\n", rt);
                        return -1;
                }
                gc_args->more++;
index ea1dec8448fce8ccf29be650301e937cfce6bd7a..63b4c60565820c712a9f1b1f43c14785e932f803 100644 (file)
@@ -2085,12 +2085,12 @@ static void rt6_age_examine_exception(struct rt6_exception_bucket *bucket,
         */
        if (!(rt->rt6i_flags & RTF_EXPIRES)) {
                if (time_after_eq(now, rt->dst.lastuse + gc_args->timeout)) {
-                       RT6_TRACE("aging clone %p\n", rt);
+                       pr_debug("aging clone %p\n", rt);
                        rt6_remove_exception(bucket, rt6_ex);
                        return;
                }
        } else if (time_after(jiffies, rt->dst.expires)) {
-               RT6_TRACE("purging expired route %p\n", rt);
+               pr_debug("purging expired route %p\n", rt);
                rt6_remove_exception(bucket, rt6_ex);
                return;
        }
@@ -2101,8 +2101,8 @@ static void rt6_age_examine_exception(struct rt6_exception_bucket *bucket,
                neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway);
 
                if (!(neigh && (neigh->flags & NTF_ROUTER))) {
-                       RT6_TRACE("purging route %p via non-router but gateway\n",
-                                 rt);
+                       pr_debug("purging route %p via non-router but gateway\n",
+                                rt);
                        rt6_remove_exception(bucket, rt6_ex);
                        return;
                }