On Tue, Oct 15, 2024 at 02:05:47PM +0800, Cindy Lu wrote:
On Tue, 15 Oct 2024 at 05:06, Mike Christie <[email protected]> wrote:On 10/3/24 8:58 PM, Cindy Lu wrote: > +static void vhost_workers_free(struct vhost_dev *dev) > +{ > + if (enforce_inherit_owner) > + vhost_workers_free_task(dev); > + else > + vhost_workers_free_kthread(dev); > +} With patch 7, userspace could change enforce_inherit_owner after we created thread and we would call the wrong function above.enforce_inherit_owner will only change before the owner was set.
As I pointed out in patch 7, enforce_inherit_owner seems to be shared among all vhost devices, so what happens if for example a user sets it to /dev/vhost-net, while /dev/vhost-vsock is already initialized and therefore already has an owner?
Thanks, Stefano
the process is like set enforce_inherit_owner---->set owner-> thread/task creating in in patch 7's code I have add the check for vhost's owner, if the owner was set, the ioctl to set enforce_inherit_owner will fail Thanks Cindy

