On Tue, Aug 11, 2026 at 11:51:46AM +0530, Sourabh Jain wrote:
> On 09/08/26 21:54, Thorsten Blum wrote:
> > add_usable_mem() adds usable memory ranges for the kdump kernel.
> >
> > The ranges are inclusive, but the partial overlap check uses exclusive
> > comparisons. This skips ranges with base == loc_end or end == loc_base.
> > Use inclusive comparisons instead.
> >
> > Fixes: 7c64e21a1c5a ("powerpc/kexec_file: Restrict memory usage of kdump
> > kernel")
> > Signed-off-by: Thorsten Blum <[email protected]>
> > ---
> > arch/powerpc/kexec/file_load_64.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/powerpc/kexec/file_load_64.c
> > b/arch/powerpc/kexec/file_load_64.c
> > index 8c72e12ea44e..f9e872693ca7 100644
> > --- a/arch/powerpc/kexec/file_load_64.c
> > +++ b/arch/powerpc/kexec/file_load_64.c
> > @@ -113,7 +113,7 @@ static int add_usable_mem(struct umem_info *um_info,
> > u64 base, u64 end)
> > loc_end = um_info->ranges[i].end;
> > if (loc_base >= base && loc_end <= end)
> > add = true;
> > - else if (base < loc_end && end > loc_base) {
> > + else if (base <= loc_end && end >= loc_base) {
>
> This is interesting. The updated condition basically handles exactly a
> one-byte overlap on either side of the usable memory ranges. In practice,
> it is very unlikely that we would have such usable memory and LMB ranges.
>
> Thorsten, have you encountered any problem that led you to propose this fix?
Found by inspection only and I agree that this is unlikely in practice,
which is why I didn't cc stable. Same for the other patch [1].
Thanks for the review.
[1] https://lore.kernel.org/r/[email protected]/