From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: Cindy Lu <lulu@redhat.com>,
michael.christie@oracle.com, sgarzare@redhat.com,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org
Subject: Re: [PATCH v7 8/8] vhost: Add a KConfig knob to enable IOCTL VHOST_FORK_FROM_OWNER
Date: Mon, 3 Mar 2025 12:33:10 -0500 [thread overview]
Message-ID: <20250303122619-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CACGkMEv7WdOds0D+QtfMSW86TNMAbjcdKvO1x623sLANkE5jig@mail.gmail.com>
On Mon, Mar 03, 2025 at 01:52:06PM +0800, Jason Wang wrote:
> On Sun, Mar 2, 2025 at 10:34 PM Cindy Lu <lulu@redhat.com> wrote:
> >
> > Introduce a new config knob `CONFIG_VHOST_ENABLE_FORK_OWNER_IOCTL`,
> > to control the availability of the `VHOST_FORK_FROM_OWNER` ioctl.
> > When CONFIG_VHOST_ENABLE_FORK_OWNER_IOCTL is set to n, the ioctl
> > is disabled, and any attempt to use it will result in failure.
> >
> > Signed-off-by: Cindy Lu <lulu@redhat.com>
> > ---
> > drivers/vhost/Kconfig | 15 +++++++++++++++
> > drivers/vhost/vhost.c | 11 +++++++++++
> > 2 files changed, 26 insertions(+)
> >
> > diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> > index b455d9ab6f3d..e5b9dcbf31b6 100644
> > --- a/drivers/vhost/Kconfig
> > +++ b/drivers/vhost/Kconfig
> > @@ -95,3 +95,18 @@ config VHOST_CROSS_ENDIAN_LEGACY
> > If unsure, say "N".
> >
> > endif
> > +
> > +config VHOST_ENABLE_FORK_OWNER_IOCTL
> > + bool "Enable IOCTL VHOST_FORK_FROM_OWNER"
> > + default n
> > + help
> > + This option enables the IOCTL VHOST_FORK_FROM_OWNER, which allows
> > + userspace applications to modify the thread mode for vhost devices.
> > +
> > + By default, `CONFIG_VHOST_ENABLE_FORK_OWNER_IOCTL` is set to `n`,
> > + meaning the ioctl is disabled and any operation using this ioctl
> > + will fail.
> > + When the configuration is enabled (y), the ioctl becomes
> > + available, allowing users to set the mode if needed.
> > +
> > + If unsure, say "N".
> > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
> > index fb0c7fb43f78..09e5e44dc516 100644
> > --- a/drivers/vhost/vhost.c
> > +++ b/drivers/vhost/vhost.c
> > @@ -2294,6 +2294,8 @@ long vhost_dev_ioctl(struct vhost_dev *d, unsigned int ioctl, void __user *argp)
> > r = vhost_dev_set_owner(d);
> > goto done;
> > }
> > +
> > +#ifdef CONFIG_VHOST_ENABLE_FORK_OWNER_IOCTL
> > if (ioctl == VHOST_FORK_FROM_OWNER) {
> > u8 inherit_owner;
> > /*inherit_owner can only be modified before owner is set*/
> > @@ -2313,6 +2315,15 @@ long vhost_dev_ioctl(struct vhost_dev *d, unsigned int ioctl, void __user *argp)
> > r = 0;
> > goto done;
> > }
> > +
> > +#else
> > + if (ioctl == VHOST_FORK_FROM_OWNER) {
> > + /* When CONFIG_VHOST_ENABLE_FORK_OWNER_IOCTL is 'n', return error */
> > + r = -ENOTTY;
> > + goto done;
> > + }
why do we need this? won't it fail as any other unsupported ioctl?
> > +#endif
> > +
> > /* You must be the owner to do anything else */
> > r = vhost_dev_check_owner(d);
> > if (r)
> > --
> > 2.45.0
>
> Do we need to change the default value of the inhert_owner? For example:
>
> #ifdef CONFIG_VHOST_ENABLE_FORK_OWNER_IOCTL
> inherit_owner = false;
> #else
> inherit_onwer = true;
> #endif
>
> ?
I feel it is best to keep the default consistent.
All the kconfig should do, is block the ioctl.
> Other patches look good to me.
>
> Thanks
>
> >
next prev parent reply other threads:[~2025-03-03 17:33 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-02 14:32 [PATCH v7 0/8] vhost: Add support of kthread API Cindy Lu
2025-03-02 14:32 ` [PATCH v7 1/8] vhost: Add a new parameter in vhost_dev to allow user select kthread Cindy Lu
2025-03-02 14:32 ` [PATCH v7 2/8] vhost: Reintroduce vhost_worker to support kthread Cindy Lu
2025-03-02 14:32 ` [PATCH v7 3/8] vhost: Add the cgroup related function Cindy Lu
2025-03-02 14:32 ` [PATCH v7 4/8] vhost: Introduce vhost_worker_ops in vhost_worker Cindy Lu
2025-03-02 14:32 ` [PATCH v7 5/8] vhost: Reintroduce kthread mode support in vhost Cindy Lu
2025-03-02 14:32 ` [PATCH v7 6/8] vhost: uapi to control task mode (owner vs kthread) Cindy Lu
2025-03-03 8:58 ` Stefano Garzarella
2025-03-28 5:43 ` Cindy Lu
2025-03-02 14:32 ` [PATCH v7 7/8] vhost: Add check for inherit_owner status Cindy Lu
2025-03-02 14:32 ` [PATCH v7 8/8] vhost: Add a KConfig knob to enable IOCTL VHOST_FORK_FROM_OWNER Cindy Lu
2025-03-03 5:52 ` Jason Wang
2025-03-03 9:12 ` Stefano Garzarella
2025-03-28 5:47 ` Cindy Lu
2025-03-03 17:33 ` Michael S. Tsirkin [this message]
2025-03-10 4:54 ` Jason Wang
2025-03-20 9:38 ` Cindy Lu
2025-03-28 8:24 ` Cindy Lu
2025-03-21 19:39 ` Michael S. Tsirkin
2025-03-03 4:25 ` [PATCH v7 0/8] vhost: Add support of kthread API Lei Yang
2025-03-21 19:36 ` Michael S. Tsirkin
2025-03-28 5:43 ` Cindy Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250303122619-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lulu@redhat.com \
--cc=michael.christie@oracle.com \
--cc=netdev@vger.kernel.org \
--cc=sgarzare@redhat.com \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.