summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-05 15:13:53 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-08 04:56:03 +0000
commitd157b3e1e0aa652bb067165659fb01badacb5020 (patch)
tree24912b3b6e26e941dfb05413481cb77bdce186ab
parent14222d86785d89415c014dab294205fd186b7084 (diff)
downloadcoreboot-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>
-rw-r--r--src/soc/amd/picasso/ramtop.c2
-rw-r--r--src/soc/amd/stoneyridge/ramtop.c2
-rw-r--r--src/soc/intel/apollolake/memmap.c2
-rw-r--r--src/soc/intel/braswell/memmap.c2
-rw-r--r--src/soc/intel/cannonlake/memmap.c2
-rw-r--r--src/soc/intel/denverton_ns/memmap.c2
-rw-r--r--src/soc/intel/icelake/memmap.c2
-rw-r--r--src/soc/intel/skylake/memmap.c2
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;
}