From patchwork Thu Jan 28 10:57:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 12053367 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 35B45C433DB for ; Thu, 28 Jan 2021 10:57:46 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B77C064DCC for ; Thu, 28 Jan 2021 10:57:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B77C064DCC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 3C0B96B006C; Thu, 28 Jan 2021 05:57:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 370AF6B0070; Thu, 28 Jan 2021 05:57:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 287266B0071; Thu, 28 Jan 2021 05:57:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0197.hostedemail.com [216.40.44.197]) by kanga.kvack.org (Postfix) with ESMTP id 128736B006C for ; Thu, 28 Jan 2021 05:57:45 -0500 (EST) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id D0A003631 for ; Thu, 28 Jan 2021 10:57:44 +0000 (UTC) X-FDA: 77754883248.27.brick20_5b125b32759f Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin27.hostedemail.com (Postfix) with ESMTP id CE0A23D66D for ; Thu, 28 Jan 2021 10:57:43 +0000 (UTC) X-HE-Tag: brick20_5b125b32759f X-Filterd-Recvd-Size: 4230 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf45.hostedemail.com (Postfix) with ESMTP for ; Thu, 28 Jan 2021 10:57:43 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id D006364DDE; Thu, 28 Jan 2021 10:57:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1611831462; bh=5Sw4HTwjI2sdnT2rdgUGy47J/eSb+BY4hM6CzexHw0k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CUrpTULtXjISGGuNLkaWh0nyyzZTs9ivBnwvmEUajVOVy7MPcr4Q/xpz7PolcSOe3 jqvC7zsMVzYIpbYOD+jVkZzBawXWFJzSMeWk3AllXmiBbp6ouGo+sEkeBhy7QZ2Oie WshwKwijExbs5ruO/r+CwGxVC9g7roLLAdP1Ddy8vBM2I7BhCa/S1QGpLyimd8o294 tf4QED1f0++AjJxWmganQ0ultc8Rt6YUcmfqx6N0pXOXplv/yI4raNAjABC8RL8v0s iufvLT80AvYfodt5kYUFKRef3EhEF/zmcIea3wZABPlKWPk+XPq93X0tT5VjeNzEbT g1DZaRo+kBUAA== From: Mike Rapoport To: Andrew Morton Cc: Andrea Arcangeli , Baoquan He , Borislav Petkov , David Hildenbrand , "H. Peter Anvin" , Ingo Molnar , Mel Gorman , Michal Hocko , Mike Rapoport , Mike Rapoport , Qian Cai , Thomas Gleixner , Vlastimil Babka , linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, Borislav Petkov Subject: [PATCH v2 2/2] x86/setup: merge several reservations of start of the memory Date: Thu, 28 Jan 2021 12:57:11 +0200 Message-Id: <20210128105711.10428-3-rppt@kernel.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20210128105711.10428-1-rppt@kernel.org> References: <20210128105711.10428-1-rppt@kernel.org> MIME-Version: 1.0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Mike Rapoport Currently the first several pages are reserved both to avoid leaking their contents on systems with L1TF and to avoid corrupting BIOS memory. Merge the two memory reservations. Signed-off-by: Mike Rapoport Reviewed-by: David Hildenbrand Acked-by: Borislav Petkov --- arch/x86/kernel/setup.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 3b582406363a..b36624e3dc9e 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -703,20 +703,6 @@ static int __init parse_reservelow(char *p) early_param("reservelow", parse_reservelow); -static void __init trim_low_memory_range(void) -{ - /* - * A special case is the first 4Kb of memory; - * This is a BIOS owned area, not kernel ram, but generally - * not listed as such in the E820 table. - * - * This typically reserves additional memory (64KiB by default) - * since some BIOSes are known to corrupt low memory. See the - * Kconfig help text for X86_RESERVE_LOW. - */ - memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE)); -} - static void __init early_reserve_memory(void) { /* @@ -729,10 +715,17 @@ static void __init early_reserve_memory(void) (unsigned long)__end_of_kernel_reserve - (unsigned long)_text); /* - * Make sure page 0 is always reserved because on systems with - * L1TF its contents can be leaked to user processes. + * The first 4Kb of memory is a BIOS owned area, but generally it is + * not listed as such in the E820 table. + * + * Reserve the first memory page and typically some additional + * memory (64KiB by default) since some BIOSes are known to corrupt + * low memory. See the Kconfig help text for X86_RESERVE_LOW. + * + * In addition, make sure page 0 is always reserved because on + * systems with L1TF its contents can be leaked to user processes. */ - memblock_reserve(0, PAGE_SIZE); + memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE)); early_reserve_initrd(); @@ -745,7 +738,6 @@ static void __init early_reserve_memory(void) reserve_bios_regions(); trim_snb_memory(); - trim_low_memory_range(); } /*