aboutsummaryrefslogtreecommitdiff
path: root/util/intelmetool
diff options
context:
space:
mode:
Diffstat (limited to 'util/intelmetool')
-rw-r--r--util/intelmetool/intelmetool.c10
-rw-r--r--util/intelmetool/me.c4
2 files changed, 14 insertions, 0 deletions
diff --git a/util/intelmetool/intelmetool.c b/util/intelmetool/intelmetool.c
index 62dc4d92c4..11c2120c16 100644
--- a/util/intelmetool/intelmetool.c
+++ b/util/intelmetool/intelmetool.c
@@ -83,6 +83,10 @@ static void dump_me_memory() {
uint8_t *dump;
dump = map_physical_exact((off_t)me_clone, (void *)me_clone, 0x2000000);
+ if (dump == NULL) {
+ printf("Could not map ME memory\n");
+ return;
+ }
zeroit(dump, 0x2000000);
printf("Send magic command for memory clone\n");
@@ -210,6 +214,12 @@ static int activate_me() {
rcba_phys = pci_read_long(sb, 0xf0) & 0xfffffffe;
rcba = map_physical((off_t)rcba_phys, size);
+ if (rcba == NULL) {
+ printf("Could not map MEI PCI device memory\n");
+ pci_free_dev(sb);
+ pci_cleanup(pacc);
+ return 1;
+ }
//printf("RCBA at 0x%08" PRIx32 "\n", (uint32_t)rcba_phys);
fd2 = *(uint32_t *)(rcba + FD2);
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);