From e311f94279de87f31b94d47cc46c43f0dd7741ef Mon Sep 17 00:00:00 2001 From: Paul Wise Date: Thu, 4 May 2017 14:13:38 +0800 Subject: intelmetool: handle failures to mmap MEI memory Fixes crashes when there is an error mapping memory. Error mapping physical memory 0x0000004275159040 [0x4000] ERRNO=1 Segmentation fault (core dumped) Change-Id: I5becc0c2870dd97297c4e8d1b101b95b31792ca7 Signed-off-by: Paul Wise Reviewed-on: https://review.coreboot.org/19562 Tested-by: build bot (Jenkins) Reviewed-by: Philipp Deppenwiese Reviewed-by: Paul Menzel --- util/intelmetool/me.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'util/intelmetool/me.c') diff --git a/util/intelmetool/me.c b/util/intelmetool/me.c index da5fb71643..8c703a3465 100644 --- a/util/intelmetool/me.c +++ b/util/intelmetool/me.c @@ -581,6 +581,10 @@ uint32_t intel_mei_setup(struct pci_dev *dev) mei_base_address = dev->base_addr[0] & ~0xf; pagerounded = mei_base_address & ~0xfff; mei_mmap = map_physical(pagerounded, 0x2000) + mei_base_address - pagerounded; + if (mei_mmap == NULL) { + printf("Could not map ME setup memory\n"); + return 1; + } /* Ensure Memory and Bus Master bits are set */ reg32 = pci_read_long(dev, PCI_COMMAND); -- cgit v1.2.3