On 2025-08-26 07:03:33 [-0700], Sean Christopherson wrote:
> And the call from __vhost_worker_flush() is done while holding a 
> vhost_worker.mutex.
> That's probably ok?  But there are many paths that lead to 
> __vhost_worker_flush(),
> which makes it difficult to audit all flows.  So even if there is an easy 
> change
> for the RCU conflict, I wouldn't be comfortable adding a mutex_lock() to so 
> many
> flows in a patch that needs to go to stable@.

If I may throw something else into the mix: If you do "early"
get_task_struct() on the thread (within the thread), then you could wake
it even after its do_exit() since the task_struct would remain valid.
Once you remove it from all structs where it can be found, you would do
the final put_task_struct().

Sebastian

Reply via email to