Message ID | 20181212114726.24060-3-ppandit@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | rdma: various issues in rdma/pvrdma backend | expand |
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 = {
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; +} + 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 = {