[qcom-next] lib: lmb: return -EFAULT for partial bank-boundary overlap - #137
Open
balajiselvanathan wants to merge 1 commit into
Open
balajiselvanathan wants to merge 1 commit into
balajiselvanathan wants to merge 1 commit into
Conversation
_lmb_alloc_addr() currently returns -EINVAL when a reservation overlaps an available memory bank but extends beyond the bank boundary. It returns -EFAULT when the reservation does not overlap any available memory bank. From LMB's perspective, neither request can be satisfied because the requested reservation is not fully contained within an available region. Callers therefore cannot make practical use of the distinction. boot_fdt_handle_region() treats -EFAULT as a non-fatal condition and silently skips the reservation, while -EINVAL causes a boot-time error message to be printed. For bank-boundary overlap cases this message is misleading because no internal LMB error has occurred; the reservation simply does not fit within available memory. Return -EFAULT for the partial-overlap case as well and update the corresponding unit tests. Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
balajiselvanathan
force-pushed
the
lmb-correct
branch
from
September 11, 2026 16:12
d96cda4 to
51b5739
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
_lmb_alloc_addr() currently returns -EINVAL when a reservation overlaps
an available memory bank but extends beyond the bank boundary. It
returns -EFAULT when the reservation does not overlap any available
memory bank.
From LMB's perspective, neither request can be satisfied because the
requested reservation is not fully contained within an available region.
Callers therefore cannot make practical use of the distinction.
boot_fdt_handle_region() treats -EFAULT as a non-fatal condition and
silently skips the reservation, while -EINVAL causes a boot-time error
message to be printed. For bank-boundary overlap cases this message is
misleading because no internal LMB error has occurred; the reservation
simply does not fit within available memory.
Return -EFAULT for the partial-overlap case as well and update the
corresponding unit tests.
Upstream link: https://lore.kernel.org/u-boot/20260912-lmb-alloc-addr-efault-v2-1-0a796adfd99d@oss.qualcomm.com/