[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Bug in usbdevices option handling when BusID=8



On Mon, Aug 05, 2013 at 08:20:08PM +0100, Gordan Bobic wrote:
> On 08/05/2013 02:22 PM, George Dunlap wrote:
> >On Mon, Aug 5, 2013 at 8:29 AM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> >>On Sun, 2013-08-04 at 12:08 +0100, Gordan Bobic wrote:
> >>>At a glance, this looks like something buggy happens when BusID=8. It
> >>>sees that the device is host:008.002, but then goes and tries to open
> >>>/dev/bus/usb/000/002 instead of /dev/bus/usb/008/002.
> >>
> >>Smells like a bitmask gone wrong somewhere, or something like that.
> >>
> >>xl/libxl doesn't really do much with the string which you passed in so
> >>it should be going straight to qemu unmodified. You ought to be able to
> >>see this in the logs I think.
> >
> >Or using ps -ax -- what does that show the command-line to be?
> 
> It looks like a qemu-traditional (qemu-dm) issue:
> 
> # grep usb /var/log/xen/qemu-dm-edi.log
> husb: open device 0.2
> /dev/bus/usb/000/002: No such file or directory
> 
> # ps auxw | grep qemu
> root      8364  4.4  0.0 239132  8880 ?        SLsl 20:16   0:07
> /usr/lib/xen/bin/qemu-dm -d 1 -domain-name edi -vnc 127.0.0.1:0 -vncunused
> -k en-gb -serial pty -videoram 8 -std-vga -boot c -usb -usbdevice
> host:008.002 -acpi -vcpus 8 -vcpu_avail 0xff -net
> nic,vlan=0,macaddr=00:16:3e:4e:c5:0c,model=e1000 -net
> tap,vlan=0,ifname=vif1.0-emu,bridge=br0,script=no,downscript=no -M xenfv

I've just look into this bug. The problem is the way the convertion of
the string is done. And it is just a:
strtoul(devname, NULL, 0);

Here, strtoul while try to guess the base of the string, and a string
that begin by zero while be interpreted to be base 8, or octal. The
character '8' those not belong to this base, so the conversion stop
before '8' and the value return is 0.

We could force the base to be 10, but that mean that anyone who whould
have something like "host:0x4.0x2" while have a configuration that those
not work anymore.

In your case, you can have:
usbdevice="host:8.2" which will fix the issue.

Regards,

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.