From mboxrd@z Thu Jan 1 00:00:00 1970 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 6AC9FC3ABDA for ; Tue, 20 May 2025 05:45:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D35366B0083; Tue, 20 May 2025 01:45:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CE61E6B0085; Tue, 20 May 2025 01:45:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BFB446B0088; Tue, 20 May 2025 01:45:29 -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 A47136B0083 for ; Tue, 20 May 2025 01:45:29 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 46AF3B8ACD for ; Tue, 20 May 2025 05:45:29 +0000 (UTC) X-FDA: 83462198778.02.12C44B6 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf18.hostedemail.com (Postfix) with ESMTP id 82E611C0011 for ; Tue, 20 May 2025 05:45:27 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=b3rxvZE0; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf18.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=1747719927; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=V/nU8cUW81vz45rw+SU09POzhsGh6PPIIFi6Sqp+ScQ=; b=7EWQxq9CwBZB8tmXPNSpkHSoPI3WDkGqhBli2FVJs74sPq5LMtIiEifchqxuvtI5Xgun8K qMLu03WMZs+TAXLvF/Dgadx/pa34tzUpI+UvBkj0Zd9ICFtoiFUUJdpST39SMgiHVU3c6A ywOXOYsPVTD5+A6nAiJ0RePC2NBAewQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747719927; a=rsa-sha256; cv=none; b=ILgyuP6RzvzLRhK/xgCbC44bltjSIrEKJ5fnTYUZYlL8bI+2rDCjlD1y0gizENlo6Wo3YE JpiDaMlb6wvYq8iCb/7I8blHl4h5AEcTD5nNE6dK/UE4ghS3G2ulJUNdhydYiYqo3DpgLQ Nyn5n014X4YPHI128FVTLJKP+7dKIfw= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=b3rxvZE0; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf18.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 4FE665C0E7D; Tue, 20 May 2025 05:43:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BECDCC4CEE9; Tue, 20 May 2025 05:45:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747719926; bh=+bJKdW5iBH+ghni1OE0QBKQkJ9VoNQpI4KmFBCX+PHE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=b3rxvZE0IfpB1gNNoJPdeJGOMTQDaGtK413qkRrEa5anz0fH9bwcteqlRFt0iqvHn qne8O4ZZ3YptqI/eUjOKCAF8PpL42vf+nao/d1L75vuhtXC4GZCYFMlz5pMKffL6vi U3k52lu8N5GSqbonKUiAH9FVcxzA6KQGdHD4m4DJfAhATy5QTA/3Kr7z2748LInkMc Qz2ZBbbkykgJD63A9mW5pWyLl2BVssGfXm3xYJ8XDD2Yu2SMny/P27ssijcyNhsSkI 3c6EmZlXd3WH8nF36ZteE1tV3pdzAStoubOwaY5F8Y1EXRFPbuxR19Kp8qRR7MPYAA 3PWsHSMP+hwNg== Date: Tue, 20 May 2025 08:45:19 +0300 From: Mike Rapoport To: Pratyush Yadav Cc: Andrew Morton , Alexandre Ghiti , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH] mm/cma: make detection of highmem_start more robust Message-ID: References: <20250519171805.1288393-1-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Stat-Signature: ww696k4godh54t17tahdc476yqzpyfqq X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 82E611C0011 X-HE-Tag: 1747719927-718283 X-HE-Meta: U2FsdGVkX19qfjRw+akEvPOhK5QfesAx0YfOxigvUB9X/7W/WYuU0iBvTVKHsNCMgDxFZVagJz78GWGqucF9BeHPZaqqr0yaX6XCP0ncIaFZknQezl5OkDALCeMzOGjcFPN+5o6wRGir6K7uHL2ceVUtDiWKCiJZm/gKkfVh7e2EDkXNWp6pynyHQqW58UhEcxmIUgQYipP95RRzmyRcXjbtyPp3EUK+vRIEuPg+9jkxgMIbRGjF7FkxpxWzNsFVK6Hn6UQsATkv9+S5TvrQonOBJQzQCJuTsEIk76tjXnWEFJMB1gfcCtZtlOfObehwwUTD+DlvjWD7lgV4srdv2HH5VfvR3AY8Je3kA/LeRm1cgDE4m9NSHxSETewwqICGnkmwXdUnsOWRDObj/sk8+aLe6s4ytovejCl8KM+VIz4iiE+egr21hjbRmtpYejFQnF4nX5jpnmGEfA+67H3b6kplXrtmJaxrXHZh6GlpGcmywhjdTbNjl7KWmv1wPxCobz8NA1j1F2MW5e32M3wpoKIpkdtJdDYbBD/uE6FEeO78nfFLrnzrQatzT2ka6CS2PSq67ZFzwY12S5JJzkX9WmQ8AV43F9fJnpwmrifZPUfY6OPIOFbdvpYBK30t1hW2LOSOVyjsX5oVJxygz0TvB5r2rcer8kyZbPhOqQATtUwXRrR2xItRhVNo85g3+MbqtaX+iPq9lJOndhAZ+qJ3mEhBp5dGZdqRtQbCYOql9mbQZdngltcL5HCQ5uzuqmA3ME87vPObUWcX5V9gRKGC83n2CVSNb7ssbJNF+D+xJR9fp7sXF42/ZDMCHB+yO4TX/II35OHN4/xBdjKzKKLws5aPjf9wLz9EBbIriiGeuklyXboPPaZsrQ4daWrZqfQlXq9vm8hSqPeLC1fUgNWYvaXnYECUuTkJ2Z1JaLeC/iN0YiOERlPEbIMZYzKrGzuXEHWrCYqVkGQ/AG3QHmm SOJzvfFZ jXJiddGGY1FnygnYCSepsmDRO5yjwbh+2L0PLsMHrTV+0x3k0ZfXjEKj1Oxksl/vNSo6Atp+dr/mqlXSlkTaMDNjDu03G8CXeuWmCI/tECJf8SRD/RS3vq9EgF7gUaqPtGdwpYVo/SvuodoDLyJimSw5Jd3k/Dahj/zQ7OkA8LVkmRNCUQO+bGKyCSql/wyE6jaSbwV6gvbk3fTiivh5slGQFsxD83sjUF+L+yNMqy2+BjEh0JMs8aUJlX7RM55fW+l0EtubFrjsaUQGgEejH1S2uDE1g9Doq7eHU4t6VSS005K6U1JIlkR4fupFKKui0KZyd 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: On Mon, May 19, 2025 at 11:55:05PM +0200, Pratyush Yadav wrote: > Hi Mike, > > On Mon, May 19 2025, Mike Rapoport wrote: > > > From: "Mike Rapoport (Microsoft)" > > > > Pratyush Yadav reports the following crash: > > > > ------------[ cut here ]------------ > > kernel BUG at arch/x86/mm/physaddr.c:23! > > ception 0x06 IP 10:ffffffff812ebbf8 error 0 cr2 0xffff88903ffff000 > > CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.15.0-rc6+ #231 PREEMPT(undef) > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014 > > RIP: 0010:__phys_addr+0x58/0x60 > > Code: 01 48 89 c2 48 d3 ea 48 85 d2 75 05 e9 91 52 cf 00 0f 0b 48 3d ff ff ff 1f 77 0f 48 8b 05 20 54 55 01 48 01 d0 e9 78 52 cf 00 <0f> 0b 90 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 > > RSP: 0000:ffffffff82803dd8 EFLAGS: 00010006 ORIG_RAX: 0000000000000000 > > RAX: 000000007fffffff RBX: 00000000ffffffff RCX: 0000000000000000 > > RDX: 000000007fffffff RSI: 0000000280000000 RDI: ffffffffffffffff > > RBP: ffffffff82803e68 R08: 0000000000000000 R09: 0000000000000000 > > R10: ffffffff83153180 R11: ffffffff82803e48 R12: ffffffff83c9aed0 > > R13: 0000000000000000 R14: 0000001040000000 R15: 0000000000000000 > > FS: 0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000 > > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > CR2: ffff88903ffff000 CR3: 0000000002838000 CR4: 00000000000000b0 > > Call Trace: > > > > ? __cma_declare_contiguous_nid+0x6e/0x340 > > ? cma_declare_contiguous_nid+0x33/0x70 > > ? dma_contiguous_reserve_area+0x2f/0x70 > > ? setup_arch+0x6f1/0x870 > > ? start_kernel+0x52/0x4b0 > > ? x86_64_start_reservations+0x29/0x30 > > ? x86_64_start_kernel+0x7c/0x80 > > ? common_startup_64+0x13e/0x141 > > > > The reason is that __cma_declare_contiguous_nid() does: > > > > highmem_start = __pa(high_memory - 1) + 1; > > > > If dma_contiguous_reserve_area() (or any other CMA declaration) is > > called before free_area_init(), high_memory is uninitialized. Without > > CONFIG_DEBUG_VIRTUAL, it will likely work but use the wrong value for > > highmem_start. > > > > The issue occurs because commit e120d1bc12da ("arch, mm: set high_memory in > > free_area_init()") moved initialization of high_memory after the call to > > dma_contiguous_reserve() -> __cma_declare_contiguous_nid() on several > > architectures. > > > > In the case CONFIG_HIGHMEM is enabled, some architectures that actually > > support HIGHMEM (arm, powerpc and x86) have initialization of high_memory > > before a possible call to __cma_declare_contiguous_nid() and some > > initialized high_memory late anyway (arc, csky, microblase, mips, sparc, > > xtensa) even before the commit e120d1bc12da so they are fine with using > > uninitialized value of high_memory. > > I don't know if they are fine or they haven't realized this is a bug > yet. For those that initialized high_memory in their mem_init() it would have been a bug quite some time. > Either way, this patch fixes the crash for me on x86_64, restores how it > should behave, and doesn't seem to make anything worse, so: > > Tested-by: Pratyush Yadav Thanks! > Thanks for fixing this! > > -- > Regards, > Pratyush Yadav -- Sincerely yours, Mike.