On 06/15/2016 09:38 AM, Eric Blake wrote:
> On 06/15/2016 09:17 AM, Max Reitz wrote:
>> On 15.06.2016 11:58, Kashyap Chamarthy wrote:
>>> Seems like supplying "qcow2" file BlockdevDriver option to QMP
>>> `blockdev-add` results in a SIGSEGV:
>>>
>>> [...]
>>> Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
>>> 0x0000555555a0121f in visit_type_BlockdevRef ()
>>> [...]
>>>
>>> Reproducer
>>> ----------
>>
>> Even simpler reproducer:
>>
>> {'execute':'blockdev-add','arguments':{'options':{'driver':'raw'}}}
>>
>> Seems like a QAPI problem to me, and bisecting yields
>> dbf11922622685934bfb41e7cf2be9bd4a0405c0 as the culprit.
>
> I'm looking into it. Thanks for the testcase.Okay, the problem is based on error handling - you have a missing 'file' argument. That patch consolidated things to do two things at once instead of two calls where the second was skipped if the first failed; and now ends up dereferencing NULL. I didn't notice or test it at the time, so I get to enhance the testsuite as part of my patch. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
