diff options
| author | Ilias Apalodimas <[email protected]> | 2025-03-14 12:57:02 +0200 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-03-24 11:12:33 -0600 |
| commit | 67be24906feb6efecce70cd5bfdc2ba8f06d3d5b (patch) | |
| tree | e56ec2da79f287a6568eae8a040046d6afa0be0a /fs | |
| parent | 244e61fbb7f5045e4e187024f7ae80434c952145 (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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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"); |
