qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] fw_cfg_mem: add read memory region callback


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH] fw_cfg_mem: add read memory region callback
Date: Wed, 12 Sep 2018 11:16:06 +0400

Hi

On Wed, Sep 12, 2018 at 9:22 AM Li Qiang <address@hidden> wrote:
>
> The write/read should be paired, this can avoid the
> NULL-deref while the guest reads the fw_cfg port.
>
> Signed-off-by: Li Qiang <address@hidden>

Do you have a reproducer and/or a backtrace?
memory_region_dispatch_write() checks if ops->write != NULL.

> ---
>  hw/nvram/fw_cfg.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
> index d79a568f54..6de7809f1a 100644
> --- a/hw/nvram/fw_cfg.c
> +++ b/hw/nvram/fw_cfg.c
> @@ -434,6 +434,11 @@ static bool fw_cfg_data_mem_valid(void *opaque, hwaddr 
> addr,
>      return addr == 0;
>  }
>
> +static uint64_t fw_cfg_ctl_mem_read(void *opaque, hwaddr addr, unsigned size)
> +{
> +    return 0;
> +}
> +
>  static void fw_cfg_ctl_mem_write(void *opaque, hwaddr addr,
>                                   uint64_t value, unsigned size)
>  {
> @@ -468,6 +473,7 @@ static bool fw_cfg_comb_valid(void *opaque, hwaddr addr,
>  }
>
>  static const MemoryRegionOps fw_cfg_ctl_mem_ops = {
> +    .read = fw_cfg_ctl_mem_read,
>      .write = fw_cfg_ctl_mem_write,
>      .endianness = DEVICE_BIG_ENDIAN,
>      .valid.accepts = fw_cfg_ctl_mem_valid,
> --
> 2.11.0
>
>


-- 
Marc-André Lureau



reply via email to

[Prev in Thread] Current Thread [Next in Thread]