Re: [PATCH] workqueue: Fix UAF report by KASAN in pwq_release_workfn()
From: Z qiang
Date: Wed Sep 06 2023 - 22:13:39 EST
>
> On Wed, Sep 06, 2023 at 10:12:34AM +0800, Z qiang wrote:
> > Flush the pwq_release_worker is insufficient, the call_rcu() is
> > invoked to release wq
> > in pwq_release_workfn(), this is also asynchronous.
>
> But rcu_free_pwq() doesn't access wq or anything. The last access is from
> the work function.
The rcu_free_wq() will access wq->cpu_pwq or unbound_attrs,
but at this time, the kfree(wq) may have been called in alloc_workqueue().
Thanks
Zqiang
>
> Thanks.
>
> --
> tejun