[PATCH 5/8] bios: pciirq: add safe memory read check on mmap'd pci irq region

Colin King colin.king at canonical.com
Fri Jul 14 09:52:22 UTC 2017


From: Colin Ian King <colin.king at canonical.com>

Ensure we can read the mmap'd memory.

Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
 src/bios/pciirq/pciirq.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/bios/pciirq/pciirq.c b/src/bios/pciirq/pciirq.c
index f9c16c8d..5b57df4f 100644
--- a/src/bios/pciirq/pciirq.c
+++ b/src/bios/pciirq/pciirq.c
@@ -116,6 +116,11 @@ static int pciirq_test1(fwts_framework *fw)
 		fwts_log_error(fw, "Cannot mmap firmware region.");
 		return FWTS_ERROR;
 	}
+	if (fwts_safe_memread(mem, PCIIRQ_REGION_SIZE) != FWTS_OK) {
+		fwts_log_error(fw, "Cannot read firmware region.");
+		(void)fwts_munmap(mem, PCIIRQ_REGION_SIZE);
+		return FWTS_ERROR;
+	}
 
 	for (i = 0; i < PCIIRQ_REGION_SIZE; i+= 16) {
 		pci_irq_routing_table *pciirq = (pci_irq_routing_table*)(mem+i);
-- 
2.11.0




More information about the fwts-devel mailing list