[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between p
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev |
Date: |
Wed, 05 Nov 2014 14:16:22 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
"Michael S. Tsirkin" <address@hidden> writes:
> On Wed, Nov 05, 2014 at 07:11:51PM +0900, SeokYeon Hwang wrote:
>> pci_qdev_init() checks whether return value is 0 or not to figure
>> out pci device is initialized successfully. Otherwise,
>> device_realize() in qdev checks that return value is negative value
>> to figure out the device is realized successfully.
>> When pci device returns positive number, pci_qdev_init() thinks that
>> error is occured and makes the device unregistered. Nevertheless,
>> qdev thinks that device is realized.
>> Finally, crash is occured by commands like 'qtree' that traverse qdev list.
>>
>> So, pci_qdev_init() returns -1 when init function returns not 0.
>>
>> Signed-off-by: SeokYeon Hwang <address@hidden>
>
> Question: is there a simple way to trigger this error?
Next question: what's the contract of PCIDeviceClass method init()?
Positive return value feels like bug to me...
- [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, SeokYeon Hwang, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Paolo Bonzini, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Michael S. Tsirkin, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Paolo Bonzini, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Michael S. Tsirkin, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Paolo Bonzini, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, SeokYeon Hwang, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Markus Armbruster, 2014/11/06
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Michael S. Tsirkin, 2014/11/06
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, SeokYeon Hwang, 2014/11/06
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Michael S. Tsirkin, 2014/11/06
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, SeokYeon Hwang, 2014/11/06
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Markus Armbruster, 2014/11/07