ipv6: fib6_info_destroy_rcu() cleanup
authorEric Dumazet <edumazet@google.com>
Tue, 23 Apr 2019 01:35:01 +0000 (18:35 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Apr 2019 00:19:48 +0000 (17:19 -0700)
We do not need to clear f6i->rt6i_exception_bucket right before
freeing f6i.

Note that f6i->rt6i_exception_bucket is properly protected by
f6i->exception_bucket_flushed being set to one in rt6_flush_exceptions()
under the protection of rt6_exception_lock.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Wei Wang <weiwan@google.com>
Acked-by: Wei Wang <weiwan@google.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_fib.c

index b47e15df9769ccb2919e6ec0de5edd93f2ae518f..55193859152969794dab3df02637217a7f21016f 100644 (file)
@@ -175,10 +175,7 @@ void fib6_info_destroy_rcu(struct rcu_head *head)
        WARN_ON(f6i->fib6_node);
 
        bucket = rcu_dereference_protected(f6i->rt6i_exception_bucket, 1);
-       if (bucket) {
-               f6i->rt6i_exception_bucket = NULL;
-               kfree(bucket);
-       }
+       kfree(bucket);
 
        if (f6i->rt6i_pcpu) {
                int cpu;