Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp1849672pxb; Mon, 23 Aug 2021 06:14:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwL98xmXHVLJguKD89ujZAlqCJ7uJ26oAh+deinRwJ79AvvJXxEicbT4mOlGXPQRf77Rtn6 X-Received: by 2002:a17:906:4e11:: with SMTP id z17mr5631433eju.483.1629724494890; Mon, 23 Aug 2021 06:14:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629724494; cv=none; d=google.com; s=arc-20160816; b=H302jnzMBVsZ/QIOdpjhIXuPGc+mgh+D1wclCk7AV7uaa2hP7zCA+ocaoXbRepPgn1 Mpo/fn4cgBB+6FC2rO/BTeMhxPcDDyVtqdBFE12awFAEf/7ePiALzaLhsa8zZq/YwwQi EuXyqkQU18fsn9NGZLURELOOi5CerumIipE0fyKQZC2A4WiLFFNby+0BqWDjb5vgF6bn KfVcTX444IoKEOJtxSFjMUqrNTrxrLBGdNsZutEhx6iDZJ3zk2jPMD5BRncZEITLllVK 5s4a+Y74k4EG9dOimEqJpPVk5McNfiO2pnz+QTlzH3M32hGzGRuvDn331o9s7IhlKv35 +bDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=kyX+5aP0c9Pwg6PiSn6eXMx3EPWxuojA/3Nh46NNnf8=; b=q/T1TzUmjH4YdBSj3tGKQh685BHmE89HTYQ4MUTU61bj/wlk3C6QBbmVeVTlctUiCs na5XwFsnotGUSrpU7VJbPZwBVfn6eMT2TQFRjSsMl6kAr+BzYLqC7r83SsOliVdqxaZz QDCfStk5AwGdjmt7WX1GTx3t9ywv5uSNoEeToZgBc96vhq6huKLjKTs8ecjO3eHG1RfI bE3C3aNCCnP16jDCGk9MTJonjB1hErMQGcP9fPXOXvg4SMaAzT4HQF4mnOWUcMSwvbp1 HNnNB/k7QBoxyV8iiLg35dd3pQ87JIHKTWHO+tgxlmOeDkE6v214TIKt6IR2sfYtH4hP bEjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Zr/Om5YQ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i18si13136185edc.336.2021.08.23.06.14.27; Mon, 23 Aug 2021 06:14:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Zr/Om5YQ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237266AbhHWNKn (ORCPT + 99 others); Mon, 23 Aug 2021 09:10:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:59230 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236025AbhHWNKn (ORCPT ); Mon, 23 Aug 2021 09:10:43 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 780CB6124B; Mon, 23 Aug 2021 13:09:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1629724200; bh=18IORdqVvusrH0Fj0VVDXtKaaRMxUkPef6MJrsmm2qg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Zr/Om5YQvfTbx5iZSQxSvUT2T4TP0mok/H3UYcEwfBFV4uY7Wkhaa91+Q3D7RnEJr Q6q7RTdllb5TzFks6JcP2UE0M+/ejY3Qg+bxzd/ZOSxsfJnZ3VNzlKaTpW+rmufNLE D+ELrwjJX6EgXuse3vsn4/6mIUzwGzZ5UQR26icKafYCEyYmti8/9zcdo/pBzLhuT+ /Wa/AbHAnL34jRH/QzcoCyu72OfTvH8ky4A5Lrpk+M63+F6UUnTVIsu3XqLRGB2zoC NVQ7i1fp4Z2AC15e5q3E2MyAF+qjJSrq6CfOnw15O2cm+S7DTPyA7fzDAEO4FGIbQv 44kKLojONqI8Q== Date: Mon, 23 Aug 2021 16:09:47 +0300 From: Mike Rapoport To: Geert Uytterhoeven Cc: Rob Herring , Russell King , Nicolas Pitre , Ard Biesheuvel , Linus Walleij , Catalin Marinas , Will Deacon , Thomas Bogendoerfer , Nick Kossifidis , Paul Walmsley , Palmer Dabbelt , Albert Ou , Frank Rowand , Dave Young , Baoquan He , Vivek Goyal , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Linux ARM , "open list:BROADCOM NVRAM DRIVER" , linux-riscv , kexec@lists.infradead.org, Linux-Renesas , Linux Kernel Mailing List Subject: Re: [PATCH v5 1/9] MIPS: Avoid future duplicate elf core header reservation Message-ID: References: <92b6718f5618d5469f67b48fbea189cca0c12f4b.1628670468.git.geert+renesas@glider.be> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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. 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. > Thanks! > > > > > > Note that mips_reserve_vmcore() cannot just be removed, as not all MIPS > > > systems use DT. > > > > > > Signed-off-by: Geert Uytterhoeven > > > --- > > > v5: > > > - New. > > > --- > > > arch/mips/kernel/setup.c | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c > > > index 23a140327a0bac1b..4693add05743d78b 100644 > > > --- a/arch/mips/kernel/setup.c > > > +++ b/arch/mips/kernel/setup.c > > > @@ -429,7 +429,8 @@ static void __init mips_reserve_vmcore(void) > > > pr_info("Reserving %ldKB of memory at %ldKB for kdump\n", > > > (unsigned long)elfcorehdr_size >> 10, (unsigned long)elfcorehdr_addr >> 10); > > > > > > - memblock_reserve(elfcorehdr_addr, elfcorehdr_size); > > > + if (!memblock_is_region_reserved(elfcorehdr_addr, elfcorehdr_size) > > > + memblock_reserve(elfcorehdr_addr, elfcorehdr_size); > > > #endif > > > } > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds -- Sincerely yours, Mike.