On Mon, Sep 29, 2025 at 04:24:44AM -0400, Michael S. Tsirkin wrote:
> On Mon, Sep 29, 2025 at 09:22:02AM +0100, Daniel P. Berrangé wrote:
> > 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.
> 
> Well that's because e.g. kvmtest actually depends on pci-testdev.
> IOW it's actually supported.

This again just sounds like a downstream 'support' rationalization.
I'm still not seeing a compelling reason why the vhost user generic
device should be disabled by default in upstream, especially if we
mark it as an experimental device with an x- prefix. 

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