diff options
author | Andrew Jones <ajones@ventanamicro.com> | 2023-01-30 19:42:24 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2023-02-08 11:12:45 +0300 |
commit | 66b0e23a0cecb863b8fbb24c337be5710f31da62 (patch) | |
tree | 4bffffc0634a1ee09f9f09f522f68fbddbb1b97f /lib/sbi | |
parent | 199189bd1c172aab5a9733c0ffaaa14bbebb3323 (diff) | |
download | opensbi-66b0e23a0cecb863b8fbb24c337be5710f31da62.tar.xz |
lib: sbi: Ensure domidx_to_domain_table is null-terminated
sbi_domain_for_each() requires domidx_to_domain_table[] to be
null-terminated. Allocate one extra element which will always
be null.
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'lib/sbi')
-rw-r--r-- | lib/sbi/sbi_domain.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c index 3ab1fbe..3813f1b 100644 --- a/lib/sbi/sbi_domain.c +++ b/lib/sbi/sbi_domain.c @@ -17,8 +17,12 @@ #include <sbi/sbi_scratch.h> #include <sbi/sbi_string.h> +/* + * We allocate an extra element because sbi_domain_for_each() expects + * the array to be null-terminated. + */ +struct sbi_domain *domidx_to_domain_table[SBI_DOMAIN_MAX_INDEX + 1] = { 0 }; struct sbi_domain *hartid_to_domain_table[SBI_HARTMASK_MAX_BITS] = { 0 }; -struct sbi_domain *domidx_to_domain_table[SBI_DOMAIN_MAX_INDEX] = { 0 }; static u32 domain_count = 0; static bool domain_finalized = false; |