diff options
author | John Zhao <john.zhao@intel.com> | 2018-08-13 09:45:37 -0700 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2018-08-20 07:04:12 +0000 |
commit | eac84ca35c9b8052d198a7ab3593ae8f5bbb1aa8 (patch) | |
tree | d8569e40e4ffc62fcbb7e4919d9029b9f29c2a9d /src/soc/intel/common | |
parent | ddcf5a05e3168fbb4565a2a52c14c246822454b2 (diff) |
intel/common/block: Fix issues found by klockwork
src/soc/intel/common/block/cpu/mp_init.c
Function init_cpus: Pointer dev checked for NULL may be
dereferenced.
src/soc/intel/common/block/graphics/graphics.c
Function graphics_get_bar: Pointer dev returned from
call may be NULL and will be dereferenced.
BRANCH=None
TEST=Built & booted Yorp board.
Change-Id: I5e7caa15a3911e05ff346d338493673af5318a51
Signed-off-by: John Zhao <john.zhao@intel.com>
Reviewed-on: https://review.coreboot.org/28060
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/soc/intel/common')
-rw-r--r-- | src/soc/intel/common/block/cpu/mp_init.c | 3 | ||||
-rw-r--r-- | src/soc/intel/common/block/graphics/graphics.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/soc/intel/common/block/cpu/mp_init.c b/src/soc/intel/common/block/cpu/mp_init.c index f52709dfce..dd5cc44845 100644 --- a/src/soc/intel/common/block/cpu/mp_init.c +++ b/src/soc/intel/common/block/cpu/mp_init.c @@ -134,7 +134,8 @@ static void init_cpus(void *unused) microcode_patch = intel_microcode_find(); intel_microcode_load_unlocked(microcode_patch); - soc_init_cpus(dev->link_list); + if (dev && dev->link_list) + soc_init_cpus(dev->link_list); } static void wrapper_x86_setup_mtrrs(void *unused) diff --git a/src/soc/intel/common/block/graphics/graphics.c b/src/soc/intel/common/block/graphics/graphics.c index c6ea7e2dca..74a5cae4bb 100644 --- a/src/soc/intel/common/block/graphics/graphics.c +++ b/src/soc/intel/common/block/graphics/graphics.c @@ -15,6 +15,7 @@ */ #include <compiler.h> +#include <assert.h> #include <console/console.h> #include <device/pci.h> #include <device/pci_ids.h> @@ -36,9 +37,10 @@ static uintptr_t graphics_get_bar(unsigned long index) { struct device *dev = SA_DEV_IGD; struct resource *gm_res; + assert(dev != NULL); /* Check if Graphics PCI device is disabled */ - if (!dev->enabled) + if (!dev || !dev->enabled) return 0; gm_res = find_resource(dev, index); |