[libvirt] [PATCH] Initialization error of qemuCgroupData in Qemu host usb hotplug

Wen Congyang wencongyang at gmail.com
Wed Mar 23 14:13:27 UTC 2011


At 2011-3-23 20:25, Eric Blake Write:
> On 03/22/2011 08:02 PM, Wen Congyang wrote:
>> Steps to reproduce this bug:
>> # cat usb.xml
>> <hostdev mode='subsystem' type='usb'>
>>    <source>
>>      <address bus='0x001' device='0x003'/>
>>    </source>
>> </hostdev>
>> # virsh attach-device vm1 usb.xml
>> error: Failed to attach device from usb.xml
>> error: server closed connection:
>>
>> The reason of this bug is that we set data.cgroup to NULL, and this will cause
>> libvirtd crashed.
>>
>
>>           usbDevice *usb;
>> -        qemuCgroupData data = { vm, cgroup };
>> +        qemuCgroupData data;
>>
>>           if (virCgroupForDomain(driver->cgroup, vm->def->name,&cgroup, 0) !=0 ) {
>>               qemuReportError(VIR_ERR_INTERNAL_ERROR,
>> @@ -873,6 +873,8 @@ int qemuDomainAttachHostUsbDevice(struct qemud_driver *driver,
>>                                   hostdev->source.subsys.u.usb.device)) == NULL)
>>               goto error;
>>
>> +        data.vm = vm;
>> +        data.cgroup = cgroup;
>
> ACK. Latent bug introduced in commit b4d3434f, exposed by commit
> f2512684.  (That explains why I didn't see it - when I tested b4d3434f,
> nothing dereferenced the NULL, and my testing of f2512684 wasn't as
> thorough).

Thanks. Pushed.

>
>
>
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list