Hi Bruce,

Just a update for this patch that hasn't been merged yet.

This patch has now been accepted into the linux-stable 6.12 queue:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-6.12/arm64-kdump-fix-elfcorehdr-overlap-caused-by-reserve.patch


Since you'll be on vacation next week and it's a long timeline for
linux-stable integration, could you please review and merge the patch at
your earliest convenience?

If the timing doesn't work out, I will include it in BSP layer to meet
our release schedule.


Best regards,

Jianpeng

On 12/9/25 10:16 AM, Jianpeng Chang wrote:
> Commit 8a6e02d0c00e ("of: reserved_mem: Restructure how the reserved
> memory regions are processed") changed the processing order of reserved
> memory regions, causing elfcorehdr to overlap with dynamically allocated
> reserved memory regions during kdump kernel boot.
>
> The issue occurs because:
> 1. kexec-tools allocates elfcorehdr in the last crashkernel reserved
>    memory region and passes the it to the second kernel
> 2. The problematic commit moved dynamic reserved memory allocation
>    (like bman-fbpr) to occur during fdt_scan_reserved_mem(), before
>    elfcorehdr reservation in fdt_reserve_elfcorehdr()
> 3. bman-fbpr with 16MB alignment requirement can get allocated at
>    addresses that overlap with the elfcorehdr location
> 4. When fdt_reserve_elfcorehdr() tries to reserve elfcorehdr memory,
>    overlap detection identifies the conflict and skips reservation
> 5. kdump kernel fails with "Unable to handle kernel paging request"
>    because elfcorehdr memory is not properly reserved
>
> The boot log:
> Before 8a6e02d0c00e:
>   OF: fdt: Reserving 1 KiB of memory at 0xf4fff000 for elfcorehdr
>   OF: reserved mem: 0xf3000000..0xf3ffffff bman-fbpr
>
> After 8a6e02d0c00e:
>   OF: reserved mem: 0xf4000000..0xf4ffffff bman-fbpr
>   OF: fdt: elfcorehdr is overlapped
>
> Fix this by ensuring elfcorehdr reservation occurs before dynamic
> reserved memory allocation.
>
> Fixes: 8a6e02d0c00e ("of: reserved_mem: Restructure how the reserved memory 
> regions are processed")
> Signed-off-by: Jianpeng Chang <[email protected]>
> ---
> Hi Bruce,
>
> Would you please merge this patch to v6.12/base? It has been applied by
> upstream. 
> Link: 
> https://lore.kernel.org/all/[email protected]/
>
> Regards,
> Jianpeng
>
>  drivers/of/fdt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 8c80f4dc8b3f..0940955d3701 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -501,8 +501,8 @@ void __init early_init_fdt_scan_reserved_mem(void)
>       if (!initial_boot_params)
>               return;
>  
> -     fdt_scan_reserved_mem();
>       fdt_reserve_elfcorehdr();
> +     fdt_scan_reserved_mem();
>  
>       /* Process header /memreserve/ fields */
>       for (n = 0; ; n++) {
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16082): 
https://lists.yoctoproject.org/g/linux-yocto/message/16082
Mute This Topic: https://lists.yoctoproject.org/mt/116688391/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to