summaryrefslogtreecommitdiffstats
path: root/sys/x86
diff options
context:
space:
mode:
authorroyger <royger@FreeBSD.org>2015-08-21 15:57:57 +0000
committerroyger <royger@FreeBSD.org>2015-08-21 15:57:57 +0000
commit5b319fbe382986b00628820aa31667027bd25a84 (patch)
tree408fe746aea9ea0be100e3fa8b22d9fe7a4ac635 /sys/x86
parentef7f753c0456a32eb1092ed1a5ee0affd7659c57 (diff)
downloadFreeBSD-src-5b319fbe382986b00628820aa31667027bd25a84.zip
FreeBSD-src-5b319fbe382986b00628820aa31667027bd25a84.tar.gz
preload_search_info: make sure mod is set
Add a check to preload_search_info to make sure mod is set. Most of the callers of preload_search_info don't check that the mod parameter is set, which can cause page faults. While at it, remove some now unnecessary checks before calling preload_search_info. Sponsored by: Citrix Systems R&D Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D3440
Diffstat (limited to 'sys/x86')
-rw-r--r--sys/x86/x86/fdt_machdep.c2
-rw-r--r--sys/x86/x86/nexus.c7
2 files changed, 3 insertions, 6 deletions
diff --git a/sys/x86/x86/fdt_machdep.c b/sys/x86/x86/fdt_machdep.c
index 62cf4ef..84255df 100644
--- a/sys/x86/x86/fdt_machdep.c
+++ b/sys/x86/x86/fdt_machdep.c
@@ -54,7 +54,7 @@ x86_init_fdt(void)
mdp = preload_search_by_type("elf kernel");
if (mdp == NULL)
mdp = preload_search_by_type("elf32 kernel");
- dtbp = (mdp != NULL) ? MD_FETCH(mdp, MODINFOMD_DTBP, void *) : NULL;
+ dtbp = MD_FETCH(mdp, MODINFOMD_DTBP, void *);
#if defined(FDT_DTB_STATIC)
/*
diff --git a/sys/x86/x86/nexus.c b/sys/x86/x86/nexus.c
index 0663602..fb32c9b 100644
--- a/sys/x86/x86/nexus.c
+++ b/sys/x86/x86/nexus.c
@@ -690,11 +690,8 @@ ram_attach(device_t dev)
kmdp = preload_search_by_type("elf kernel");
if (kmdp == NULL)
kmdp = preload_search_by_type(ELF_KERN_STR);
- if (kmdp != NULL)
- smapbase = (struct bios_smap *)preload_search_info(kmdp,
- MODINFO_METADATA | MODINFOMD_SMAP);
- else
- smapbase = NULL;
+ smapbase = (struct bios_smap *)preload_search_info(kmdp,
+ MODINFO_METADATA | MODINFOMD_SMAP);
if (smapbase != NULL) {
smapsize = *((u_int32_t *)smapbase - 1);
smapend = (struct bios_smap *)((uintptr_t)smapbase + smapsize);
OpenPOWER on IntegriCloud