LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Rob Herring <robh+dt@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Russell King <linux@armlinux.org.uk>,
	Nicolas Pitre <nico@fluxnic.net>,
	Ard Biesheuvel <ardb@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nick Kossifidis <mick@ics.forth.gr>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Frank Rowand <frowand.list@gmail.com>,
	Dave Young <dyoung@redhat.com>, Baoquan He <bhe@redhat.com>,
	Vivek Goyal <vgoyal@redhat.com>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	"open list:BROADCOM NVRAM DRIVER" <linux-mips@vger.kernel.org>,
	linux-riscv <linux-riscv@lists.infradead.org>,
	kexec@lists.infradead.org,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 1/9] MIPS: Avoid future duplicate elf core header reservation
Date: Mon, 23 Aug 2021 18:20:20 +0300	[thread overview]
Message-ID: <YSO8tJxbuADEeL7I@kernel.org> (raw)
In-Reply-To: <CAL_JsqLMv4fKebJEOv=7UXvy_qqut0N42psS-PSgRMU-qhiFLQ@mail.gmail.com>

On Mon, Aug 23, 2021 at 09:44:55AM -0500, Rob Herring wrote:
> On Mon, Aug 23, 2021 at 8:10 AM Mike Rapoport <rppt@kernel.org> wrote:
> >
> > On Mon, Aug 23, 2021 at 12:17:50PM +0200, Geert Uytterhoeven wrote:
> > > Hi Mike,
> > >
> > > On Mon, Aug 16, 2021 at 7:52 AM Mike Rapoport <rppt@kernel.org> wrote:
> > > > On Wed, Aug 11, 2021 at 10:50:59AM +0200, Geert Uytterhoeven wrote:
> > > > > Prepare for early_init_fdt_scan_reserved_mem() reserving the memory
> > > > > occupied by an elf core header described in the device tree.
> > > > > As arch_mem_init() calls early_init_fdt_scan_reserved_mem() before
> > > > > mips_reserve_vmcore(), the latter needs to check if the memory has
> > > > > already been reserved before.
> > > >
> > > > Doing memblock_reserve() for the same region is usually fine, did you
> > > > encounter any issues without this patch?
> > >
> > > Does it also work if the same region is part of an earlier larger
> > > reservation?  I am no memblock expert, so I don't know.
> > > I didn't run into any issues, as my MIPS platform is non-DT, but I
> > > assume arch/arm64/mm/init.c:reserve_elfcorehdr() had the check for
> > > a reason.
> >
> > The memory will be reserved regardless of the earlier reservation, the
> > issue may appear when the reservations are made for different purpose. E.g.
> > if there was crash kernel allocation before the reservation of elfcorehdr.
> >
> > The check in such case will prevent the second reservation, but, at least
> > in arch/arm64/mm/init.c:reserve_elfcorehdr() it does not seem to prevent
> > different users of the overlapping regions to step on each others toes.
> 
> If the kernel has been passed in overlapping regions, is there
> anything you can do other than hope to get a message out?

Nothing really. I've been thinking about adding flags to memblock.reserved
to at least distinguish firmware regions from the kernel allocations, but I
never got to that.
 
> > Moreover, arm64::reserve_elfcorehdr() seems buggy to me, because of there
> > is only a partial overlap of the elfcorehdr with the previous reservation,
> > the non-overlapping part of elfcorehdr won't get reserved at all.
> 
> What do you suggest as the arm64 version is not the common version?

I'm not really familiar with crash dump internals, so I don't know if
resetting elfcorehdr_addr to ELFCORE_ADDR_ERR is a good idea. I think at
least arm64::reserve_elfcorehdr() should reserve the entire elfcorehdr area
regardless of the overlap. Otherwise it might get overwritten by a random
memblock_alloc().

> Rob

-- 
Sincerely yours,
Mike.

  reply	other threads:[~2021-08-23 15:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-11  8:50 [PATCH v5 0/9] Add generic support for kdump DT properties Geert Uytterhoeven
2021-08-11  8:50 ` [PATCH v5 1/9] MIPS: Avoid future duplicate elf core header reservation Geert Uytterhoeven
2021-08-11 15:35   ` Geert Uytterhoeven
2021-08-16  5:52   ` Mike Rapoport
2021-08-23 10:17     ` Geert Uytterhoeven
2021-08-23 13:09       ` Mike Rapoport
2021-08-23 14:44         ` Rob Herring
2021-08-23 15:20           ` Mike Rapoport [this message]
2021-08-11  8:51 ` [PATCH v5 2/9] crash_dump: Make elfcorehdr address/size symbols always visible Geert Uytterhoeven
2021-08-11  8:51 ` [PATCH v5 3/9] of: fdt: Add generic support for handling elf core headers property Geert Uytterhoeven
2021-08-11  8:51 ` [PATCH v5 4/9] of: fdt: Add generic support for handling usable memory range property Geert Uytterhoeven
2021-08-11  8:51 ` [PATCH v5 5/9] of: fdt: Use IS_ENABLED(CONFIG_BLK_DEV_INITRD) instead of #ifdef Geert Uytterhoeven
2021-08-11  8:51 ` [PATCH v5 6/9] riscv: Remove non-standard linux,elfcorehdr handling Geert Uytterhoeven
2021-08-11  8:51 ` [PATCH v5 7/9] arm64: kdump: Remove custom " Geert Uytterhoeven
2021-08-23 12:55   ` Catalin Marinas
2021-08-11  8:51 ` [PATCH v5 8/9] arm64: kdump: Remove custom linux,usable-memory-range handling Geert Uytterhoeven
2021-08-23 12:55   ` Catalin Marinas
2021-08-11  8:51 ` [PATCH v5 9/9] ARM: uncompress: Parse "linux,usable-memory-range" DT property Geert Uytterhoeven
2021-08-15 15:25 ` [PATCH v5 0/9] Add generic support for kdump DT properties Rob Herring
2021-08-23 10:13   ` Geert Uytterhoeven
2021-08-23 14:52     ` Rob Herring
2021-08-24 11:55       ` Geert Uytterhoeven
2021-08-24 22:43         ` Rob Herring

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=YSO8tJxbuADEeL7I@kernel.org \
    --to=rppt@kernel.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=ardb@kernel.org \
    --cc=bhe@redhat.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dyoung@redhat.com \
    --cc=frowand.list@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=kexec@lists.infradead.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=mick@ics.forth.gr \
    --cc=nico@fluxnic.net \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh+dt@kernel.org \
    --cc=tsbogend@alpha.franken.de \
    --cc=vgoyal@redhat.com \
    --cc=will@kernel.org \
    --subject='Re: [PATCH v5 1/9] MIPS: Avoid future duplicate elf core header reservation' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).