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

Stefano Garzarella
2025-04-01T13:59:39Z

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

>
>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
>