lib: sbi: Ensure domidx_to_domain_table is null-terminated
authorAndrew Jones <ajones@ventanamicro.com>
Mon, 30 Jan 2023 16:42:24 +0000 (17:42 +0100)
committerAnup Patel <anup@brainfault.org>
Wed, 8 Feb 2023 08:12:45 +0000 (13:42 +0530)
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>
lib/sbi/sbi_domain.c

index 3ab1fbe0b7de0a0bc28e86dfdf7f2ac3f70e90dc..3813f1b2e97dd81d66279bced6aeb4fccb894bd6 100644 (file)
 #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;