Hi Prasad,
On 12/12/18 1:47 PM, P J P wrote:
> From: Prasad J Pandit <pjp@fedoraproject.org>
>
> Define skeleton 'uar_read' routine. Avoid NULL dereference.
>
> Reported-by: Li Qiang <liq3ea@163.com>
> Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
> ---
> hw/rdma/vmw/pvrdma_main.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c
> index 23dc9926e3..8a03ab4669 100644
> --- a/hw/rdma/vmw/pvrdma_main.c
> +++ b/hw/rdma/vmw/pvrdma_main.c
> @@ -448,6 +448,11 @@ static const MemoryRegionOps regs_ops = {
> },
> };
>
> +static uint64_t uar_read(void *opaque, hwaddr addr, unsigned size)
> +{
> + return 0;
The PCI read operation should fail if the read op is not implemented.
Please use "return 0xffffffff" to emulate the PCI read failure.
(0 is a successfully read)
Thanks,
Marcel
> +}
> +
> static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size)
> {
> PVRDMADev *dev = opaque;
> @@ -489,6 +494,7 @@ static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size)
> }
>
> static const MemoryRegionOps uar_ops = {
> + .read = uar_read,
> .write = uar_write,
> .endianness = DEVICE_LITTLE_ENDIAN,
> .impl = {