diff mbox series

lmb: add a check to prevent memory overrun

Message ID 20241021171820.625003-1-sughosh.ganu@linaro.org
State Accepted
Commit c3cf0dc64f1c39bc10530ef649fd7bf147e70720
Headers show
Series lmb: add a check to prevent memory overrun | expand

Commit Message

Sughosh Ganu Oct. 21, 2024, 5:18 p.m. UTC
When printing the LMB flags for a memory region, there is a need to
check that the array index that is computed is a sane value. Put a
noisy assert in case this check fails, as that implies something with
the LMB code is not working as expected.

Reported-by: Coverity (CID 510463)
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
---
 lib/lmb.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Tom Rini Oct. 29, 2024, 10:28 p.m. UTC | #1
On Mon, 21 Oct 2024 22:48:20 +0530, Sughosh Ganu wrote:

> When printing the LMB flags for a memory region, there is a need to
> check that the array index that is computed is a sane value. Put a
> noisy assert in case this check fails, as that implies something with
> the LMB code is not working as expected.
> 
> 

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/lib/lmb.c b/lib/lmb.c
index 7e90f178763..a7298dfd673 100644
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -76,6 +76,7 @@  static void lmb_print_region_flags(enum lmb_flags flags)
 
 	do {
 		bitpos = flags ? fls(flags) - 1 : 0;
+		assert_noisy(bitpos < ARRAY_SIZE(flag_str));
 		printf("%s", flag_str[bitpos]);
 		flags &= ~(1ull << bitpos);
 		puts(flags ? ", " : "\n");