Re: [PATCH v8 7/8] vhost: Add check for inherit_owner status

Cindy Lu
2025-04-07T03:16:13Z

On Tue, Apr 1, 2025 at 9:59 PM Stefano Garzarella <sgarzare@redhat.com> wrote:
>
> On Fri, Mar 28, 2025 at 06:02:51PM +0800, Cindy Lu wrote:
> >The VHOST_NEW_WORKER requires the inherit_owner
> >setting to be true. So we need to add a check for this.
> >
> >Signed-off-by: Cindy Lu <lulu@redhat.com>
> >---
> > drivers/vhost/vhost.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
>
> IMHO we should squash this patch also with the previous one, or do this
> before allowing the user to change inherit_owner, otherwise bisection
> can be broken.
>
> Thanks,
> Stefano
>
Sure, will do
Thanks
Cindy
> >
> >diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
> >index ff930c2e5b78..fb0c7fb43f78 100644
> >--- a/drivers/vhost/vhost.c
> >+++ b/drivers/vhost/vhost.c
> >@@ -1018,6 +1018,13 @@ long vhost_worker_ioctl(struct vhost_dev *dev, unsigned int ioctl,
> > switch (ioctl) {
> > /* dev worker ioctls */
> > case VHOST_NEW_WORKER:
> >+ /*
> >+ * vhost_tasks will account for worker threads under the parent's
> >+ * NPROC value but kthreads do not. To avoid userspace overflowing
> >+ * the system with worker threads inherit_owner must be true.
> >+ */
> >+ if (!dev->inherit_owner)
> >+ return -EFAULT;
> > ret = vhost_new_worker(dev, &state);
> > if (!ret && copy_to_user(argp, &state, sizeof(state)))
> > ret = -EFAULT;
> >--
> >2.45.0
> >
>