|
@@ -246,7 +246,7 @@ static int __fdt_parse_region(void *fdt, int domain_offset,
|
|
|
|
|
|
/* Read "base" DT property */
|
|
|
val = fdt_getprop(fdt, region_offset, "base", &len);
|
|
|
- if (!val && len >= 8)
|
|
|
+ if (!val || len != 8)
|
|
|
return SBI_EINVAL;
|
|
|
val64 = fdt32_to_cpu(val[0]);
|
|
|
val64 = (val64 << 32) | fdt32_to_cpu(val[1]);
|
|
@@ -254,7 +254,7 @@ static int __fdt_parse_region(void *fdt, int domain_offset,
|
|
|
|
|
|
/* Read "order" DT property */
|
|
|
val = fdt_getprop(fdt, region_offset, "order", &len);
|
|
|
- if (!val && len >= 4)
|
|
|
+ if (!val || len != 4)
|
|
|
return SBI_EINVAL;
|
|
|
val32 = fdt32_to_cpu(*val);
|
|
|
if (val32 < 3 || __riscv_xlen < val32)
|