** Description changed: - Libvirt-aa-helper seems to have a bug when adding usb passthrough - devices statically. + [Impact] + + * USB Host devices fail to add statically + + * The reason is that libvirt has not yet initialized usb devices + + * Fix by back-porting small upstream change + + [Test Case] + + * Create a VM Guest (e.g. via uvtool) + * Shut down the guest + * virsh edit <guestname> + * Add a usb hostdev from your System (check lsusb for IDs) + * See the original description below for XML examples + * Starting the guest will create a wrong rule + "/dev/bus/usb/000/000" rw, + And due to that fails to start. + + [Regression Potential] + + * The change is small and only makes certain values available to + libvirt + + * The only thing I could think of regressing is if that + virHostdevFindUSBDevice would crash on some systems, but then it would + fail later on in the lifecycle even without the patch - so we should be + safe IMHO. + + [Other Info] + + * I waited to be accepted upstream to be more confident which is + partially why this took so long but provides some extra confidence. + + + --- + + + Libvirt-aa-helper seems to have a bug when adding usb passthrough devices statically. On hotplug with: $ cat sandisk-usb.xml <hostdev mode='subsystem' type='usb' managed='yes'> - <source> - <!-- - idVendor 0x0781 SanDisk Corp. - idProduct 0x5580 SDCZ80 Flash Drive - --> - <vendor id='0x0781'/> - <product id='0x5580'/> - </source> + <source> + <!-- + idVendor 0x0781 SanDisk Corp. + idProduct 0x5580 SDCZ80 Flash Drive + --> + <vendor id='0x0781'/> + <product id='0x5580'/> + </source> </hostdev> $ virsh attach-device z-test1 sandisk-usb.xml It generates correctly: "/dev/bus/usb/003/003" rw, But if adding the same XML part to the guest xml itself it generates: "/dev/bus/usb/000/000" rw, And as a follow on issue the guest start fails with: libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003: Permission denied Due to: apparmor="DENIED" operation="open" profile="libvirt-adc578cb-905f-41fc-9be2-9fb81f6a6073" name="/dev/bus/usb/003/003" pid=22879 comm="qemu-system-x86" requested_mask="wr" denied_mask="wr" fsuid=123 ouid=123
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1686324 Title: usb hostdev passthrough generates the wrong apparmor rules To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1686324/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
