On Tue, Apr 1, 2025 at 9:59 PM Stefano Garzarella <sgarzare@xxxxxxxxxx> 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@xxxxxxxxxx> > >--- > > 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 > > >