On Mon, Apr 22, 2019 at 6:35 PM Eric Dumazet <eduma...@google.com> wrote: > > 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 <eduma...@google.com> > Cc: Wei Wang <wei...@google.com> > ---
Acked-by: Wei Wang <wei...@google.com> > net/ipv6/ip6_fib.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c > index > b47e15df9769ccb2919e6ec0de5edd93f2ae518f..55193859152969794dab3df02637217a7f21016f > 100644 > --- a/net/ipv6/ip6_fib.c > +++ b/net/ipv6/ip6_fib.c > @@ -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; > -- > 2.21.0.593.g511ec345e18-goog >