[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/8] Add missed read callback for some memory re
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH 0/8] Add missed read callback for some memory region |
Date: |
Wed, 12 Sep 2018 18:13:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 |
Hi Li,
On 9/12/18 6:01 PM, Li Qiang wrote:
> From: Li Qiang <address@hidden>
>
> This patch set try to add the missed read callback for memory region.
> Without this patchset, when the guest reads the IO port/memory, it will
> cause an NULL-dereference issue. For example, add
> "-device isa-debug-exit" to command, then read the 0x501 port, it causes a
> SIGSEGV.
>
> The only exception is 'readonly_mem_ops' as its read is directly
> access the underlying host ram as the comments says.
>
> These missed read callback is mostly pointed by Laszlo Ersek.
>
>
>
> Li Qiang (8):
> fw_cfg_mem: add read memory region callback
> hw: debugexit: add read callback
> hw: hyperv_testdev: add read callback
> hw: pc-testdev: add read memory region callback
> hw: designware: add read memory region callback
> hw: pvrdma: add read memory region callback
> hw: sun4c: add read memory region callback
> exec: add read callback for notdirty memory region
Why not rather simply add a check in
memory_region_oldmmio_read_accessor() instead?
Eventually:
{
uint64_t tmp;
int idx = ctz32(size);
if (unlikely(mr->ops->old_mmio.write[idx]
&& !mr->ops->old_mmio.read[idx])) {
tmp = 0; /* XXX is 0 the expected value??? */
} else {
tmp = mr->ops->old_mmio.read[idx](mr->opaque, addr);
}
...
- [Qemu-devel] [PATCH 2/8] hw: debugexit: add read callback, (continued)
- [Qemu-devel] [PATCH 2/8] hw: debugexit: add read callback, Li Qiang, 2018/09/12
- [Qemu-devel] [PATCH 1/8] fw_cfg_mem: add read memory region callback, Li Qiang, 2018/09/12
- [Qemu-devel] [PATCH 4/8] hw: pc-testdev: add read memory region callback, Li Qiang, 2018/09/12
- [Qemu-devel] [PATCH 3/8] hw: hyperv_testdev: add read callback, Li Qiang, 2018/09/12
- [Qemu-devel] [PATCH 5/8] hw: designware: add read memory region callback, Li Qiang, 2018/09/12
- [Qemu-devel] [PATCH 6/8] hw: pvrdma: add read memory region callback, Li Qiang, 2018/09/12
- [Qemu-devel] [PATCH 8/8] exec: add read callback for notdirty memory region, Li Qiang, 2018/09/12
- [Qemu-devel] [PATCH 7/8] hw: sun4c: add read memory region callback, Li Qiang, 2018/09/12
- Re: [Qemu-devel] [PATCH 0/8] Add missed read callback for some memory region,
Philippe Mathieu-Daudé <=