lib: sbi: change sbi_hart_features.extensions as an array

In the future there may be a lot of ISA extensions, a 'long' may not
be able to accommodate, changed to an array for the future.

Addresses-Coverity-ID: 1568357 Out-of-bounds access
Fixes: 6259b2ec2d ("lib: utils/fdt: Fix fdt_parse_isa_extensions()
implementation")
Signed-off-by: Xiang W <wxjstz@126.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Xiang W
2023-10-31 00:39:40 +08:00
committed by Anup Patel
parent 6e5b0cfb45
commit 6602e11de3
3 changed files with 15 additions and 22 deletions

View File

@@ -11,6 +11,7 @@
#define __SBI_HART_H__
#include <sbi/sbi_types.h>
#include <sbi/sbi_bitops.h>
/** Possible privileged specification versions of a hart */
enum sbi_hart_priv_versions {
@@ -67,7 +68,7 @@ enum sbi_hart_extensions {
struct sbi_hart_features {
bool detected;
int priv_version;
unsigned long extensions;
unsigned long extensions[BITS_TO_LONGS(SBI_HART_EXT_MAX)];
unsigned int pmp_count;
unsigned int pmp_addr_bits;
unsigned long pmp_gran;