summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorIlias Apalodimas <[email protected]>2025-03-14 12:57:02 +0200
committerTom Rini <[email protected]>2025-03-24 11:12:33 -0600
commit67be24906feb6efecce70cd5bfdc2ba8f06d3d5b (patch)
treee56ec2da79f287a6568eae8a040046d6afa0be0a /fs
parent244e61fbb7f5045e4e187024f7ae80434c952145 (diff)
lmb: change the return code on lmb_alloc_addr()
Ben reports a failure to boot the kernel on hardware that starts its physical memory from 0x0. The reason is that lmb_alloc_addr(), which is supposed to reserve a specific address, takes the address as the first argument, but then also returns the address for success or failure and treats 0 as a failure. Since we already know the address change the prototype to return an int. Reported-by: Ben Schneider <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Ben Schneider <[email protected]> Reviewed-by: Sughosh Ganu <[email protected]>
Diffstat (limited to 'fs')
-rw-r--r--fs/fs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 99ddcc5e37b..1ed7c0f2d2c 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -554,7 +554,7 @@ static int fs_read_lmb_check(const char *filename, ulong addr, loff_t offset,
lmb_dump_all();
- if (lmb_alloc_addr(addr, read_len, LMB_NONE) == addr)
+ if (!lmb_alloc_addr(addr, read_len, LMB_NONE))
return 0;
log_err("** Reading file would overwrite reserved memory **\n");