From patchwork Tue Mar 25 11:49:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 14028418 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3D11AC35FFC for ; Tue, 25 Mar 2025 11:49:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B3238280004; Tue, 25 Mar 2025 07:49:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ABC82280001; Tue, 25 Mar 2025 07:49:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 95F75280004; Tue, 25 Mar 2025 07:49:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 75BF5280001 for ; Tue, 25 Mar 2025 07:49:49 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id DB5591CB715 for ; Tue, 25 Mar 2025 11:49:49 +0000 (UTC) X-FDA: 83259904098.09.B4107B3 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf14.hostedemail.com (Postfix) with ESMTP id 379A4100016 for ; Tue, 25 Mar 2025 11:49:48 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=LlmENNuW; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf14.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742903388; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=wWGcHm4s4kabqV5R0PqUtbvMZiGm74D5FQ9XOHP9+AU=; b=6Kb5cm9+QViyS8eFtU3RS+X8AyaiPLbkSKv1zgHCZrwK/momwTWgl1uoahZSV71EMLZSND Vx35R8Sk8TZK2S1QwluKPGan9J3ToFUFeGjIJNaOMDizSVC5qwZDXgu1nFsApq/ha16dmc 1PK36Dp1Gb0RnoC1cds0+qcBjlvPdqs= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=LlmENNuW; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf14.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742903388; a=rsa-sha256; cv=none; b=aTARq5/5k3x9s+r0HA8dMRjMWqssR2Wm9fEDzP/+Z3/3kyWDL93tSng13ufvtCssp1Es4o nHlTGP2WGkvnPjEMdUzJHuSPLtjGLon8DT/fUBOYYwMXnri1zFKMh7gCCnjv7APjN8bVN4 Y1sAEN5oTV/w3pVLTAEnliPkL9fc7do= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 729155C48BF; Tue, 25 Mar 2025 11:47:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B20B9C4CEE9; Tue, 25 Mar 2025 11:49:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742903387; bh=KjXVzwyQVPVG7ZDGogZ7pwFZUzgPV51utp1p2Si+3js=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LlmENNuWOSzOvGs96AushtPG9bBtDl6hM3+nqxlYmmYaE/ThuySmRGQjosM0AUOXR UdMsC0fDvyny1gFz0OogOT/19sg+tiajV7LTCrUIvnePjNqJPGgtDqwfq9VyFsFNYb UBWTyUVwiPNT7wsP63t3xozIA8yWGnfH+hzWYZVAACcabDM603Eo1kIoFMhYzvNFcg gHOAZv3QgU+0gv6cI60MYChaEeRDpKvwij//iW7o4L2MaWDz73Detuybq2YijYvUar 7NnKRw3BbGK45V7Kf/NURvWILQbRSsFkFGx3Y9Yo5bXzQhfAfNlbICxS57EgPPbQeV En3tNRx9fZGog== From: Mike Rapoport To: Andrew Morton Cc: Andy Lutomirski , Borislav Petkov , Dave Hansen , Ingo Molnar , Mike Rapoport , Nathan Chancellor , "H. Peter Anvin" , Peter Zijlstra , Thomas Bogendoerfer , Thomas Gleixner , Jiaxun Yang , kernel test robot , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org Subject: [PATCH 2/2] memblock: don't release high memory to page allocator when HIGHMEM is off Date: Tue, 25 Mar 2025 13:49:28 +0200 Message-ID: <20250325114928.1791109-3-rppt@kernel.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250325114928.1791109-1-rppt@kernel.org> References: <20250325114928.1791109-1-rppt@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 379A4100016 X-Stat-Signature: sd65ij711br38bidogg15k13tj1reio3 X-Rspam-User: X-HE-Tag: 1742903388-918810 X-HE-Meta: U2FsdGVkX196rOO7OiECWCK5KIQJro2VoWeDBpIbXSDQsPk4oeHeuNalJudMY15Kpbs9f9fsU1oQPuc/sUn2FR/Wcd0Eumt/IQzSdAXa5AUfolm99ML0OKFy1RdFZAbBFn45CF41S+DknIb1TyTx/DKG+ykybpOS5/GekjzjJXHrnNY3w9xrTGsR7tBTFqQDQOEsLXIUeQ7Lp2YOEzgPO51eqIfXVMq9bLb+A/DGzGc7UWoHr3fgn7Hj7mMUBMMzg+5EoJDVOBPfOa382VvCD3L7VxyXEHoXsGwxzM1rIU0fGaH2YuCCKb+CBcF4DiU6IWFzqZfg5jbggE6lYhbdZLzZmWVdnda7bCXlZm6T/5kgLtd2UqdLd/wJvrdurrPW+u36fEMdBHzkulo9WRu379vc9Fesu3gqPFwE4du3ZF1kfNcASaHK2ePyS1p1L/5rmFi1ER+d02O07Kac+ncuQxq0oefG6ApTT8Hqorfdc1Sjm9SneJdBRawjS5zXqr/WquxUPeuGaqNyNMY0pU3WZI7A7538BGTCwDSM+HaGVm9jtH5kd6zSove1rm+q7d8Y4gEsffdtrIHLrjv4mPaXDEoZj5GXa4j2/iO9nrqM9oLlHpW2PB6sPmvI08loGXK9lBLA5K79bcTLCiv8YpZQpBl0F+UIQtYcsp06g8LoTyLuldoK5ioQLlbB7DdMHA2Bl83se5/AowKRlXth271d4ImhySgJ9kvUb6OJLQnYeoI6AMBy+BOiuh3chZR5DpdnsVEKJxBeAKBgnWR29F8heKMJ0RR/gd52Bm/5h4GA4zs6ZJIemiRv1O/0dxH49qZYAczqOpEwE+En1Xn4zMCJFTaBkH7lSpAkToCzyBbOKCbUkm/KcM5L1NqtnNfpMcWOhkoKgZH/7vl8hlRIeXBVMpwK4heXs99kRKW71i8hfhCEoe28W84MpJWCmgXyDixI55LKorjf0Amgh51p35W RQdDFDJd EwVuwMOshHmWKKybWTLDMLE8GJgMBNYDmSHgrCo/t5iMPKLnhqUVpLFbyH+mIPpYU79Zd5dusnL80HsMznpL84UxvsBNfsuv+JTZOpi32GjXVbIneJ3SzFQL77NJKbB5mYEgCZ4HpH7/FGYrEYw9JmNvnqeNFQQ6UHmx+dKiR51bKM3Hs3XMh29wlAQy6E/9Fqve9Cw16nhEdCWNFyJtjCoJ0W1oBlFL5M8/73jGr4/642iA= 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: List-Subscribe: List-Unsubscribe: From: "Mike Rapoport (Microsoft)" Nathan Chancellor reports the following crash on a MIPS system with CONFIG_HIGHMEM=n: Linux version 6.14.0-rc6-00359-g6faea3422e3b (nathan@ax162) (mips-linux-gcc (GCC) 14.2.0, GNU ld (GNU Binutils) 2.42) #1 SMP Fri Mar 21 08:12:02 MST 2025 earlycon: uart8250 at I/O port 0x3f8 (options '38400n8') printk: legacy bootconsole [uart8250] enabled Config serial console: console=ttyS0,38400n8r CPU0 revision is: 00019300 (MIPS 24Kc) FPU revision is: 00739300 MIPS: machine is mti,malta Software DMA cache coherency enabled Initial ramdisk at: 0x8fad0000 (5360128 bytes) OF: reserved mem: Reserved memory: No reserved-memory node in the DT Primary instruction cache 2kB, VIPT, 2-way, linesize 16 bytes. Primary data cache 2kB, 2-way, VIPT, no aliases, linesize 16 bytes Zone ranges: DMA [mem 0x0000000000000000-0x0000000000ffffff] Normal [mem 0x0000000001000000-0x000000001fffffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000000000000-0x000000000fffffff] node 0: [mem 0x0000000090000000-0x000000009fffffff] Initmem setup node 0 [mem 0x0000000000000000-0x000000009fffffff] On node 0, zone Normal: 16384 pages in unavailable ranges random: crng init done percpu: Embedded 3 pages/cpu s18832 r8192 d22128 u49152 Kernel command line: rd_start=0xffffffff8fad0000 rd_size=5360128 console=ttyS0,38400n8r printk: log buffer data + meta data: 32768 + 102400 = 135168 bytes Dentry cache hash table entries: 65536 (order: 4, 262144 bytes, linear) Inode-cache hash table entries: 32768 (order: 3, 131072 bytes, linear) Writing ErrCtl register=00000000 Readback ErrCtl register=00000000 Built 1 zonelists, mobility grouping on. Total pages: 16384 mem auto-init: stack:all(zero), heap alloc:off, heap free:off Unhandled kernel unaligned access[#1]: CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.14.0-rc6-00359-g6faea3422e3b #1 Hardware name: mti,malta $ 0 : 00000000 00000001 81cb0880 00129027 $ 4 : 00000001 0000000a 00000002 00129026 $ 8 : ffffdfff 80101e00 00000002 00000000 $12 : 81c9c224 81c63e68 00000002 00000000 $16 : 805b1e00 00025800 81cb0880 00000002 $20 : 00000000 81c63e64 0000000a 81f10000 $24 : 81c63e64 81c63e60 $28 : 81c60000 81c63de0 00000001 81cc9d20 Hi : 00000000 Lo : 00000000 epc : 814a227c __free_pages_ok+0x144/0x3c0 ra : 81cc9d20 memblock_free_all+0x1d4/0x27c Status: 10000002 KERNEL EXL Cause : 00800410 (ExcCode 04) BadVA : 00129026 PrId : 00019300 (MIPS 24Kc) Modules linked in: Process swapper (pid: 0, threadinfo=(ptrval), task=(ptrval), tls=00000000) Stack : 81f10000 805a9e00 81c80000 00000000 00000002 814aa240 000003ff 00000400 00000000 81f10000 81c9c224 00003b1f 81c80000 81c63e60 81ca0000 81c63e64 81f10000 0000000a 0000001f 81cc9d20 81f10000 81cc96d8 00000000 81c80000 81c9c224 81c63e60 81c63e64 00000000 81f10000 00024000 00028000 00025c00 90000000 a0000000 00000002 00000017 00000000 00000000 81f10000 81f10000 ... Call Trace: [<814a227c>] __free_pages_ok+0x144/0x3c0 [<81cc9d20>] memblock_free_all+0x1d4/0x27c [<81cc6764>] mm_core_init+0x100/0x138 [<81cb4ba4>] start_kernel+0x4a0/0x6e4 Code: 1080ffd5 02003825 2467ffff <8ce30000> 7c630500 1060ffd4 00000000 8ce30000 7c630180 The crash happens because commit 6faea3422e3b ("arch, mm: streamline HIGHMEM freeing") too eagerly frees high memory to the page allocator even when HIGHMEM is disabled. Make sure that when CONFIG_HIGHMEM=n the high memory is not released to the page allocator. Link: https://lore.kernel.org/all/20250323190647.GA1009914@ax162 Reported-by: Nathan Chancellor Fixes: 6faea3422e3b ("arch, mm: streamline HIGHMEM freeing") Signed-off-by: Mike Rapoport (Microsoft) Tested-by: Nathan Chancellor --- mm/memblock.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/memblock.c b/mm/memblock.c index 64ae678cd1d1..d7ff8dfe5f88 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -2166,6 +2166,9 @@ static unsigned long __init __free_memory_core(phys_addr_t start, unsigned long start_pfn = PFN_UP(start); unsigned long end_pfn = PFN_DOWN(end); + if (!IS_ENABLED(CONFIG_HIGHMEM) && end_pfn > max_low_pfn) + end_pfn = max_low_pfn; + if (start_pfn >= end_pfn) return 0;