mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Jianpeng Chang <jianpeng.chang.cn@windriver.com>
Cc: saravanak@google.com, quic_obabatun@quicinc.com,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] arm64: kdump: Fix elfcorehdr overlap caused by reserved memory processing reorder
Date: Mon, 8 Dec 2025 11:08:25 -0600	[thread overview]
Message-ID: <20251208170825.GA2056564-robh@kernel.org> (raw)
In-Reply-To: <20251205015934.700016-1-jianpeng.chang.cn@windriver.com>

On Fri, Dec 05, 2025 at 09:59:34AM +0800, 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 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 <jianpeng.chang.cn@windriver.com>
> ---
> This BUG is manifested on NXP LS1043 platforms, while other
> platforms don't trigger this issue, it represents a general problem,
> and it's more safer to follow original reservation order.
> 
>  drivers/of/fdt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

Rob

      reply	other threads:[~2025-12-08 17:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-05  1:59 Jianpeng Chang
2025-12-08 17:08 ` Rob Herring [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251208170825.GA2056564-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jianpeng.chang.cn@windriver.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_obabatun@quicinc.com \
    --cc=saravanak@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®