[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 5/9] nvram: add nrf51_soc flash read method
From: |
P J P |
Subject: |
[PATCH v2 5/9] nvram: add nrf51_soc flash read method |
Date: |
Thu, 25 Jun 2020 00:25:19 +0530 |
From: Prasad J Pandit <pjp@fedoraproject.org>
Add nrf51_soc mmio read method to avoid NULL pointer dereference
issue.
Reported-by: Lei Sun <slei.casper@gmail.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
hw/nvram/nrf51_nvm.c | 8 ++++++++
1 file changed, 8 insertions(+)
Update v2: return ldl_le_p()
-> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg04972.html
diff --git a/hw/nvram/nrf51_nvm.c b/hw/nvram/nrf51_nvm.c
index f2283c1a8d..8000ed530a 100644
--- a/hw/nvram/nrf51_nvm.c
+++ b/hw/nvram/nrf51_nvm.c
@@ -273,6 +273,13 @@ static const MemoryRegionOps io_ops = {
.endianness = DEVICE_LITTLE_ENDIAN,
};
+static uint64_t flash_read(void *opaque, hwaddr offset, unsigned size)
+{
+ NRF51NVMState *s = NRF51_NVM(opaque);
+
+ assert(offset + size <= s->flash_size);
+ return ldl_le_p(s->storage + offset);
+}
static void flash_write(void *opaque, hwaddr offset, uint64_t value,
unsigned int size)
@@ -300,6 +307,7 @@ static void flash_write(void *opaque, hwaddr offset,
uint64_t value,
static const MemoryRegionOps flash_ops = {
+ .read = flash_read,
.write = flash_write,
.valid.min_access_size = 4,
.valid.max_access_size = 4,
--
2.26.2
[PATCH v2 4/9] prep: add ppc-parity write method, P J P, 2020/06/24
[PATCH v2 5/9] nvram: add nrf51_soc flash read method,
P J P <=
Re: [PATCH v2 5/9] nvram: add nrf51_soc flash read method, Paolo Bonzini, 2020/06/29
[PATCH v2 6/9] spapr_pci: add spapr msi read method, P J P, 2020/06/24
[PATCH v2 8/9] imx7-ccm: add digprog mmio write method, P J P, 2020/06/24