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
>

Reply via email to