[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH for-2.7 1/1] ide: fix halted IO seg
From: |
John Snow |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH for-2.7 1/1] ide: fix halted IO segfault at reset |
Date: |
Wed, 27 Jul 2016 10:30:25 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 07/27/2016 09:04 AM, Laszlo Ersek wrote:
> On 07/27/16 00:07, John Snow wrote:
>> If one attempts to perform a system_reset after a failed IO request
>> that causes the VM to enter a paused state, QEMU will segfault trying
>> to free up the pending IO requests.
>>
>> These requests have already been completed and freed, though, so all
>> we need to do is free them before we enter the paused state.
>>
s|free them|null them| ... will fix on commit.
>> Existing AHCI tests verify that halted requests are still resumed
>> successfully after a STOP event.
>>
>> Signed-off-by: John Snow <address@hidden>
>> ---
>> hw/ide/core.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/ide/core.c b/hw/ide/core.c
>> index 081c9eb..d117b7c 100644
>> --- a/hw/ide/core.c
>> +++ b/hw/ide/core.c
>> @@ -823,6 +823,7 @@ static void ide_dma_cb(void *opaque, int ret)
>> }
>> if (ret < 0) {
>> if (ide_handle_rw_error(s, -ret, ide_dma_cmd_to_retry(s->dma_cmd)))
>> {
>> + s->bus->dma->aiocb = NULL;
>> return;
>> }
>> }
>>
>
> Reviewed-by: Laszlo Ersek <address@hidden>
>
> Should this be a candidate for 2.6 stable?
>
> Thanks
> Laszlo
>
You're right. I'll do a [RESEND] to -stable, thanks.
And since I neglected to mention it in the commit message, thanks to
Laszlo Ersek here for an excellent diagnostic on the cause of the segfault.
--js