Commit 20df28fb authored by Breno Leitao's avatar Breno Leitao Committed by Jakub Kicinski

net/ipv6: resolve warning in ip6_fib.c

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.

[1] Link: https://lore.kernel.org/all/ZZwSEJv2HgI0cD4J@gmail.com/Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20240122181955.2391676-2-leitao@debian.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a6348a71
...@@ -30,12 +30,6 @@ ...@@ -30,12 +30,6 @@
#define RT6_DEBUG 2 #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 rt6_info;
struct fib6_info; struct fib6_info;
......
...@@ -1801,7 +1801,7 @@ static struct fib6_node *fib6_repair_tree(struct net *net, ...@@ -1801,7 +1801,7 @@ static struct fib6_node *fib6_repair_tree(struct net *net,
lockdep_is_held(&table->tb6_lock)); lockdep_is_held(&table->tb6_lock));
struct fib6_info *new_fn_leaf; 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++; iter++;
WARN_ON(fn->fn_flags & RTN_RTINFO); WARN_ON(fn->fn_flags & RTN_RTINFO);
...@@ -1864,7 +1864,8 @@ static struct fib6_node *fib6_repair_tree(struct net *net, ...@@ -1864,7 +1864,8 @@ static struct fib6_node *fib6_repair_tree(struct net *net,
FOR_WALKERS(net, w) { FOR_WALKERS(net, w) {
if (!child) { if (!child) {
if (w->node == fn) { 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->node = pn;
w->state = nstate; w->state = nstate;
} }
...@@ -1872,10 +1873,12 @@ static struct fib6_node *fib6_repair_tree(struct net *net, ...@@ -1872,10 +1873,12 @@ static struct fib6_node *fib6_repair_tree(struct net *net,
if (w->node == fn) { if (w->node == fn) {
w->node = child; w->node = child;
if (children&2) { 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; w->state = w->state >= FWS_R ? FWS_U : FWS_INIT;
} else { } 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; 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, ...@@ -1951,7 +1954,7 @@ static void fib6_del_route(struct fib6_table *table, struct fib6_node *fn,
read_lock(&net->ipv6.fib6_walker_lock); read_lock(&net->ipv6.fib6_walker_lock);
FOR_WALKERS(net, w) { FOR_WALKERS(net, w) {
if (w->state == FWS_C && w->leaf == rt) { 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, w->leaf = rcu_dereference_protected(rt->fib6_next,
lockdep_is_held(&table->tb6_lock)); lockdep_is_held(&table->tb6_lock));
if (!w->leaf) if (!w->leaf)
...@@ -2289,7 +2292,7 @@ static int fib6_age(struct fib6_info *rt, void *arg) ...@@ -2289,7 +2292,7 @@ static int fib6_age(struct fib6_info *rt, void *arg)
if (rt->fib6_flags & RTF_EXPIRES && rt->expires) { if (rt->fib6_flags & RTF_EXPIRES && rt->expires) {
if (time_after(now, rt->expires)) { if (time_after(now, rt->expires)) {
RT6_TRACE("expiring %p\n", rt); pr_debug("expiring %p\n", rt);
return -1; return -1;
} }
gc_args->more++; gc_args->more++;
......
...@@ -2085,12 +2085,12 @@ static void rt6_age_examine_exception(struct rt6_exception_bucket *bucket, ...@@ -2085,12 +2085,12 @@ static void rt6_age_examine_exception(struct rt6_exception_bucket *bucket,
*/ */
if (!(rt->rt6i_flags & RTF_EXPIRES)) { if (!(rt->rt6i_flags & RTF_EXPIRES)) {
if (time_after_eq(now, rt->dst.lastuse + gc_args->timeout)) { 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); rt6_remove_exception(bucket, rt6_ex);
return; return;
} }
} else if (time_after(jiffies, rt->dst.expires)) { } 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); rt6_remove_exception(bucket, rt6_ex);
return; return;
} }
...@@ -2101,8 +2101,8 @@ static void rt6_age_examine_exception(struct rt6_exception_bucket *bucket, ...@@ -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); neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway);
if (!(neigh && (neigh->flags & NTF_ROUTER))) { if (!(neigh && (neigh->flags & NTF_ROUTER))) {
RT6_TRACE("purging route %p via non-router but gateway\n", pr_debug("purging route %p via non-router but gateway\n",
rt); rt);
rt6_remove_exception(bucket, rt6_ex); rt6_remove_exception(bucket, rt6_ex);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment