[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170820.195954.75794556487638223.davem@davemloft.net>
Date: Sun, 20 Aug 2017 19:59:54 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: weiwan@...gle.com
Cc: netdev@...r.kernel.org, edumazet@...gle.com, kafai@...com
Subject: Re: [PATCH net v2] ipv6: add rcu grace period before freeing
fib6_node
From: Wei Wang <weiwan@...gle.com>
Date: Sat, 19 Aug 2017 17:34:08 -0700
> From: Wei Wang <weiwan@...gle.com>
>
> We currently keep rt->rt6i_node pointing to the fib6_node for the route.
> And some functions make use of this pointer to dereference the fib6_node
> from rt structure, e.g. rt6_check(). However, as there is neither
> refcount nor rcu taken when dereferencing rt->rt6i_node, it could
> potentially cause crashes as rt->rt6i_node could be set to NULL by other
> CPUs when doing a route deletion.
> This patch introduces an rcu grace period before freeing fib6_node and
> makes sure the functions that dereference it takes rcu_read_lock().
>
> Note: there is no "Fixes" tag because this bug was there in a very
> early stage.
>
> Signed-off-by: Wei Wang <weiwan@...gle.com>
> Acked-by: Eric Dumazet <edumazet@...gle.com>
> ---
> v2: removed one extra empty line
Goodness.... where to start.
If this bug has been around forever, why did you make this patch
against net-next instead of net? (I can tell just by looking at
the patch because rt6_free_pcpu() is static in 'net' yet it is
not static in the diff hunk which matches net-next)
And if you made it against net-next, why are you saying "net" in
your subject line instead of "[PATCH net-next v2]"?
Please sort this out properly, and resubmit.
Thank you.
Powered by blists - more mailing lists