[ovs-dev] [PATCH v2] ovs rcu: update rcu pointer first
Yanqin.Wei at arm.com
Tue Jun 2 23:22:57 UTC 2020
If my understanding is correct, the writer could not be a rcu thread because it does not need report holding or not holding pointers.
So old memory will be freed after all rcu thread report quiesce.
> -----Original Message-----
> From: Ben Pfaff <blp at ovn.org>
> Sent: Wednesday, June 3, 2020 1:28 AM
> To: Linhaifeng <haifeng.lin at huawei.com>
> Cc: Yanqin Wei <Yanqin.Wei at arm.com>; dev at openvswitch.org; nd
> <nd at arm.com>; Lilijun (Jerry) <jerry.lilijun at huawei.com>; chenchanghu
> <chenchanghu at huawei.com>; Lichunhe <lichunhe at huawei.com>
> Subject: Re: [ovs-dev] [PATCH v2] ovs rcu: update rcu pointer first
> On Tue, Jun 02, 2020 at 07:27:59AM +0000, Linhaifeng wrote:
> > We should update rcu pointer first then use ovsrcu_postpone to free
> > otherwise maybe cause use-after-free.
> > e.g.,reader indicates momentary quiescent and access old pointer after
> > writer postpone free old pointer and before setting new pointer.
> > Signed-off-by: Linhaifeng <haifeng.lin at huawei.com>
> I don't see how that's possible, since the writer hasn't quiesced.
More information about the dev