On Mon, Sep 22, 2025 at 04:14:55PM +0100, Alex Bennée wrote:
> "Michael S. Tsirkin" <[email protected]> writes:
> 
> > On Mon, Sep 22, 2025 at 03:26:23PM +0200, Christian Speich wrote:
> >> On Mon, Sep 22, 2025 at 09:08:47AM -0400, Michael S. Tsirkin wrote:
> >> > On Mon, Sep 22, 2025 at 01:49:55PM +0100, Daniel P. Berrangé wrote:
> >> > > On Mon, Sep 22, 2025 at 08:15:20AM -0400, Michael S. Tsirkin wrote:
> >> > > > On Mon, Sep 22, 2025 at 12:33:26PM +0100, Daniel P. Berrangé wrote:
> >> > > > > On Fri, Sep 19, 2025 at 04:07:19PM -0400, Michael S. Tsirkin wrote:
> >> > > > > > On Fri, Sep 19, 2025 at 04:30:53PM +0200, Christian Speich wrote:
> >> > > > > > > This removes the change introduced in [1] that prevents the 
> >> > > > > > > use of
> >> > > > > > > vhost-user-device and vhost-user-device-pci on unpatched QEMU 
> >> > > > > > > builds.
> >> > > > > > > 
> >> > > > > > > [1]: 6275989647efb708f126eb4f880e593792301ed4
> >> > > > > > > 
> >> > > > > > > Signed-off-by: Christian Speich <[email protected]>
> >> > > > > > > ---
> >> > > > > > > vhost-user-device and vhost-user-device-pci started out as user
> >> > > > > > > creatable devices. This was changed in [1] when the 
> >> > > > > > > vhost-user-base was
> >> > > > > > > introduced.
> >> > > > > > > 
> >> > > > > > > The reason given is to prevent user confusion. Searching 
> >> > > > > > > qemu-discuss or
> >> > > > > > > google for "vhost-user-device" I've seen no confused users.
> >> > > > > > > 
> >> > > > > > > Our use case is to provide wifi emulation using 
> >> > > > > > > "vhost-user-device-pci",
> >> > > > > > > which currently is working fine with the QEMU 9.0.2 present in 
> >> > > > > > > Ubuntu
> >> > > > > > > 24.04. With newer QEMU versions we now need to patch, 
> >> > > > > > > distribute and
> >> > > > > > > maintain our own QEMU packages, which is non-trivial.
> >> > > > > > > 
> >> > > > > > > So I want to propose lifting this restriction to make this 
> >> > > > > > > feature
> >> > > > > > > usable without a custom QEMU.
> >> > > > > > > 
> >> > > > > > > [1]: 6275989647efb708f126eb4f880e593792301ed4
> >> > > > > > 
> >> > > > > > The confusion is after someone reuses the ID you are claiming 
> >> > > > > > without
> >> > > > > > telling anyone and then linux guests will start binding that 
> >> > > > > > driver to
> >> > > > > > your device.
> >> > > > > > 
> >> > > > > > 
> >> > > > > > We want people doing this kind of thing to *at a minimum*
> >> > > > > > go ahead and register a device id with the virtio TC,
> >> > > > > > but really to write and publish a spec.
> >> > > > > 
> >> > > > > Wanting people to register a device ID is a social problem and
> >> > > > > we're trying to apply a technical hammer to it, which is rarely
> >> > > > > an productive approach.
> >> > > > > 
> >> > > > > If we want to demonstrate that vhost-user-device is "risky", then
> >> > > > > how about we rename it to have an 'x-' prefix and thus disclaim
> >> > > > > any support for it, but none the less allow its use. Document it
> >> > > > > as an experimental device, and if it breaks, users get to keep
> >> > > > > both pieces.
> >> > > > 
> >> > > > Maybe with the insecure tag you are working on?
> >> > > 
> >> > > Sure.
> >> > > 
> >> > > > And disable in the default config?
> >> > > 
> >> > > Disabling in default config would retain the very problem that 
> >> > > Christian
> >> > > is trying to solve - that no distro would have the functionality 
> >> > > available
> >> > > for users.
> >> > 
> >> > I think his problem is that he has to patch qemu.
> >> 
> >> Yes I'm trying to avoid that. Patching qemu also involes providing updates
> >> (and security patches!) for it. This is a very high burden to turn this
> >> simple flag on.
> >> 
> >> > 
> >> > As described, this is a developer option not an end user one.
> >> 
> >> I don't really get the distintion between developer and end user here.
> >> 
> >> As a developer I'm an end user too, I'm concerned with the linux kernel
> >> and the additional host tooling for mac80211_hwsim support but QEMU
> >> I'm just using as an user.
> >> 
> > Are you ok with building qemu with an extra config flag?
> 
> In my patch I gated the feature on:
> 
>   VHOST_USER_TEST
> 
> so it's easy to patch out of the default config.

FWIW, we have multiple other test devices that we don't gate behind KConfig
build flags - hyperv-testdev, pc-testdev, pci-testdev & edu.  IMHO the
vhost user device is more compelling to have enabled by default as it can
actually be used todo something useful.

IMHO the rationale for disabling it is more fitting to downstreams like
RHEL.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to