diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2019-08-05 15:13:53 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2019-08-08 04:56:03 +0000 |
commit | d157b3e1e0aa652bb067165659fb01badacb5020 (patch) | |
tree | 24912b3b6e26e941dfb05413481cb77bdce186ab /src | |
parent | 14222d86785d89415c014dab294205fd186b7084 (diff) | |
download | coreboot-d157b3e1e0aa652bb067165659fb01badacb5020.tar.xz |
arch/x86: Handle smm_subregion() failure
The callers don't necessarily check return value of
function. Make sure the parameters are not left
uninitialised in that case.
Change-Id: Ic02db2d35b2ec88506320e7df609940de4aef005
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34708
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/amd/picasso/ramtop.c | 2 | ||||
-rw-r--r-- | src/soc/amd/stoneyridge/ramtop.c | 2 | ||||
-rw-r--r-- | src/soc/intel/apollolake/memmap.c | 2 | ||||
-rw-r--r-- | src/soc/intel/braswell/memmap.c | 2 | ||||
-rw-r--r-- | src/soc/intel/cannonlake/memmap.c | 2 | ||||
-rw-r--r-- | src/soc/intel/denverton_ns/memmap.c | 2 | ||||
-rw-r--r-- | src/soc/intel/icelake/memmap.c | 2 | ||||
-rw-r--r-- | src/soc/intel/skylake/memmap.c | 2 |
8 files changed, 16 insertions, 0 deletions
diff --git a/src/soc/amd/picasso/ramtop.c b/src/soc/amd/picasso/ramtop.c index 344b7f7cc5..6b28ec7dd6 100644 --- a/src/soc/amd/picasso/ramtop.c +++ b/src/soc/amd/picasso/ramtop.c @@ -130,6 +130,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) clear_tvalid(); break; default: + *start = 0; + *size = 0; return -1; } diff --git a/src/soc/amd/stoneyridge/ramtop.c b/src/soc/amd/stoneyridge/ramtop.c index 3a23df6c1a..26d84cef12 100644 --- a/src/soc/amd/stoneyridge/ramtop.c +++ b/src/soc/amd/stoneyridge/ramtop.c @@ -130,6 +130,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) clear_tvalid(); break; default: + *start = 0; + *size = 0; return -1; } diff --git a/src/soc/intel/apollolake/memmap.c b/src/soc/intel/apollolake/memmap.c index 7494481fa5..17dfb3f545 100644 --- a/src/soc/intel/apollolake/memmap.c +++ b/src/soc/intel/apollolake/memmap.c @@ -68,6 +68,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) sub_size = cache_size; break; default: + *start = 0; + *size = 0; return -1; } diff --git a/src/soc/intel/braswell/memmap.c b/src/soc/intel/braswell/memmap.c index 01594eabb0..51b7b36db4 100644 --- a/src/soc/intel/braswell/memmap.c +++ b/src/soc/intel/braswell/memmap.c @@ -62,6 +62,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) sub_size = cache_size; break; default: + *start = 0; + *size = 0; return -1; } diff --git a/src/soc/intel/cannonlake/memmap.c b/src/soc/intel/cannonlake/memmap.c index b5b538c1ec..004e35c98c 100644 --- a/src/soc/intel/cannonlake/memmap.c +++ b/src/soc/intel/cannonlake/memmap.c @@ -72,6 +72,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) sub_size = ied_size; break; default: + *start = 0; + *size = 0; return -1; } diff --git a/src/soc/intel/denverton_ns/memmap.c b/src/soc/intel/denverton_ns/memmap.c index d4265e994e..9507d7f238 100644 --- a/src/soc/intel/denverton_ns/memmap.c +++ b/src/soc/intel/denverton_ns/memmap.c @@ -96,6 +96,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) sub_size = cache_size; break; default: + *start = 0; + *size = 0; return -1; } diff --git a/src/soc/intel/icelake/memmap.c b/src/soc/intel/icelake/memmap.c index 046774f0c6..13eb947935 100644 --- a/src/soc/intel/icelake/memmap.c +++ b/src/soc/intel/icelake/memmap.c @@ -70,6 +70,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) sub_size = ied_size; break; default: + *start = 0; + *size = 0; return -1; } diff --git a/src/soc/intel/skylake/memmap.c b/src/soc/intel/skylake/memmap.c index d6ab908c37..963a5003e8 100644 --- a/src/soc/intel/skylake/memmap.c +++ b/src/soc/intel/skylake/memmap.c @@ -74,6 +74,8 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size) sub_size = ied_size; break; default: + *start = 0; + *size = 0; return -1; } |