[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Fix Guest VM crash due to iSCSI Sense Key error
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [PATCH] Fix Guest VM crash due to iSCSI Sense Key error |
Date: |
Tue, 13 Aug 2019 18:51:23 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 7/7/19 10:55 PM, address@hidden wrote:
> From: Shaju Abraham <address@hidden>
>
> During the IDE DMA transfer for a ISCSI target,when libiscsi encounters
> a SENSE KEY error, it sets the task->sense to the value "COMMAND ABORTED".
> The function iscsi_translate_sense() later translaters this error to
> -ECANCELED
> and this value is passed to the callback function. In the case of IDE DMA
> read
> or write, the callback function returns immediately if the value of the ret
> argument is -ECANCELED.
> Later when ide_cancel_dma_sync() function is invoked the assertion
> "s->bus->dma->aiocb == ((void *)0)" fails and the qemu process gets
> terminated.
> Fix the issue by making the value of s->bus->dma->aiocb = NULL when
> -ECANCELED is passed to the callback.
>
> Signed-off-by: Shaju Abraham <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 6afadf8..78ea357 100644
> --- a/hw/ide/core.c
> +++ b/hw/ide/core.c
> @@ -841,6 +841,7 @@ static void ide_dma_cb(void *opaque, int ret)
> bool stay_active = false;
>
> if (ret == -ECANCELED) {
> + s->bus->dma->aiocb = NULL;
> return;
> }
>
>
Hopefully just as adequately addressed by the patches in
https://github.com/jnsnow/qemu/commits/ide
but if you wanted to give it a test and confirm for me, I wouldn't be
upset by that.
--js
- Re: [Qemu-devel] [PATCH] Fix Guest VM crash due to iSCSI Sense Key error,
John Snow <=