"Michael S. Tsirkin" <[email protected]> writes: > 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.
Isn't this solved by having an entry in MAINTAINERS? Its not like the device isn't useful to developers working on vhost-user daemons who have yet to acquire a stub. Indeed if the numbers are correct it should work for any daemon which takes full responsibility for the config space. > >> 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. Makes sense to me. >> >> 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 >> :| -- Alex Bennée Virtualisation Tech Lead @ Linaro
