[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] hw/net/vmxnet3: Log guest-triggerable errors using LOG_GUEST
From: |
Jason Wang |
Subject: |
Re: [PATCH] hw/net/vmxnet3: Log guest-triggerable errors using LOG_GUEST_ERROR |
Date: |
Thu, 16 Dec 2021 11:27:00 +0800 |
On Wed, Dec 15, 2021 at 10:47 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> The "Interrupt Cause" register (VMXNET3_REG_ICR) is read-only.
> Write accesses are ignored. Log them with as LOG_GUEST_ERROR
> instead of aborting:
>
> [R +0.239743] writeq 0xe0002031 0x46291a5a55460800
> ERROR:hw/net/vmxnet3.c:1819:vmxnet3_io_bar1_write: code should not be
> reached
> Thread 1 "qemu-system-i38" received signal SIGABRT, Aborted.
> (gdb) bt
> #3 0x74c397d3 in __GI_abort () at abort.c:79
> #4 0x76d3cd4c in g_assertion_message (domain=<optimized out>,
> file=<optimized out>, line=<optimized out>, func=<optimized out>,
> message=<optimized out>) at ../glib/gtestutils.c:3223
> #5 0x76d9d45f in g_assertion_message_expr
> (domain=0x0, file=0x59fc2e53 "hw/net/vmxnet3.c", line=1819,
> func=0x59fc11e0 <__func__.vmxnet3_io_bar1_write> "vmxnet3_io_bar1_write",
> expr=<optimized out>)
> at ../glib/gtestutils.c:3249
> #6 0x57e80a3a in vmxnet3_io_bar1_write (opaque=0x62814100, addr=56,
> val=70, size=4) at hw/net/vmxnet3.c:1819
> #7 0x58c2d894 in memory_region_write_accessor (mr=0x62816b90, addr=56,
> value=0x7fff9450, size=4, shift=0, mask=4294967295, attrs=...) at
> softmmu/memory.c:492
> #8 0x58c2d1d2 in access_with_adjusted_size (addr=56, value=0x7fff9450,
> size=1, access_size_min=4, access_size_max=4, access_fn=
> 0x58c2d290 <memory_region_write_accessor>, mr=0x62816b90, attrs=...) at
> softmmu/memory.c:554
> #9 0x58c2bae7 in memory_region_dispatch_write (mr=0x62816b90, addr=56,
> data=70, op=MO_8, attrs=...) at softmmu/memory.c:1504
> #10 0x58bfd034 in flatview_write_continue (fv=0x606000181700,
> addr=0xe0002038, attrs=..., ptr=0x7fffb9e0, len=1, addr1=56, l=1,
> mr=0x62816b90)
> at softmmu/physmem.c:2782
> #11 0x58beba00 in flatview_write (fv=0x606000181700, addr=0xe0002031,
> attrs=..., buf=0x7fffb9e0, len=8) at softmmu/physmem.c:2822
> #12 0x58beb589 in address_space_write (as=0x608000015f20, addr=0xe0002031,
> attrs=..., buf=0x7fffb9e0, len=8) at softmmu/physmem.c:2914
>
> Reported-by: Dike <dike199774@qq.com>
> Reported-by: Duhao <504224090@qq.com>
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2032932
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Applied.
Thanks
> ---
> hw/net/vmxnet3.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
> index f65af4e9ef2..0b7acf7f895 100644
> --- a/hw/net/vmxnet3.c
> +++ b/hw/net/vmxnet3.c
> @@ -1816,7 +1816,9 @@ vmxnet3_io_bar1_write(void *opaque,
> case VMXNET3_REG_ICR:
> VMW_CBPRN("Write BAR1 [VMXNET3_REG_ICR] = %" PRIx64 ", size %d",
> val, size);
> - g_assert_not_reached();
> + qemu_log_mask(LOG_GUEST_ERROR,
> + "%s: write to read-only register VMXNET3_REG_ICR\n",
> + TYPE_VMXNET3);
> break;
>
> /* Event Cause Register */
> --
> 2.33.1
>