From patchwork Fri Nov 24 10:18:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 13467443 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7F28AC61DF4 for ; Fri, 24 Nov 2023 10:21:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=ZtVPOHZAkMsHLKLcLSOImxTswlPrpXMruBrrWjWInNw=; b=JDExdvYE/rd8DuoJc5jkz9XHnW QLDyYU32gUqJ1du7J/M+QWuYB+PFs9jt3HwiItvO9trYJLQzPDiqRCmPZ/oVk/yLMsu1m5xbt+Zy2 gSzRtec9B3Hejz17aNA6cIkrQFj1lZemCWJyN01EVw3NV8BxpAXy0PBpq5HpIceXeX9Lhob4ZsL6N nZxVppYahf5gUQvjI9iyJG3xDXlqf9RhisHwS8Vqx62sV2J2J2ERRQb+e7eTp5yiRoopB+bZTv98R AJ10BwpfqzB1NCz1ArCqcokitegaS6B4ifCv4C+cOA83KEpkkggoHrS96znU8HqEVBWW5T9ihqzJG 5KJb9nTw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r6TIj-006ofQ-30; Fri, 24 Nov 2023 10:20:45 +0000 Received: from mail-wm1-x34a.google.com ([2a00:1450:4864:20::34a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r6TIV-006oYs-0E for linux-arm-kernel@lists.infradead.org; Fri, 24 Nov 2023 10:20:32 +0000 Received: by mail-wm1-x34a.google.com with SMTP id 5b1f17b1804b1-40b38501d82so5660425e9.3 for ; Fri, 24 Nov 2023 02:20:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1700821229; x=1701426029; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=5U8g5+sbQRRfUFlv0vh5r16aYK6GyXSTv5pkFBJ/hu0=; b=JKpqPh2LQPEihZac9xbjdvcnFQ7SyFTf3tLnrdDhma1W45uTlExGW7vNcVN4jb++Hq 4U6Emm0SIOJU0Jc5qji+bR7BQi0EKCH2cf7fA+vtix36ikZi1Osls3aNMvw4wPk+fFS5 6S0XM6tfqpIDqSd3jGS/PjI2fBbPjls5ypxkCcD/BMazF7/hMzzczU/aFrkumo74nA5D 0N8EfUS5V1u5nCAv8WZhsc6nWr9OKI2zFd0RW5aAM+YKlY7b6WBNmjKmJ2qZp2wjTNga uE8kGjfDH7ZBl5kXKWbcH5VDZ8625eZ8+ppnMAURnBxijX5oRtcbbrZS9/p/2yQoH9cB SNiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700821229; x=1701426029; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5U8g5+sbQRRfUFlv0vh5r16aYK6GyXSTv5pkFBJ/hu0=; b=gQq4hPrTU4rakoySrwzdur8NbeUwaA5EBgzKpIjH+hSIxYRb3p8CdSG03ryY1fGjqM Exbgj5inwaKpWSYbnVQQ9XuMy4nU2oIJQTUjnXffuORk0CVhHpUmMrZBdogPc27DBcAy MwmSVuePv6MQ/I2Z6pIGfxhzbUwBr5oi2hD+IuAMzoUroqHfSwUWfL5y3zumonKjINGr qpSf3o0LWf9eFZlZpKPv27b8sCKUyhRTpk7Spi/xTucLopSF51mRvHvQ5u5u0s5acsPo e1mKW74qTJWAd9/D2/Wb7Ob5AXXC2d20TjGHApysKYyShHvM6fGc6oejq0hg9fMJV8j4 vtVg== X-Gm-Message-State: AOJu0YwDEIDGYtREoOt5HMlmKzZo4KjZMFrbfJi+kFhevVPk4zNHch0y /Pd6qn60xwjrZZoTJ+7bzt/ORemsdLhMYdWRHUXJ4EBfQ0TNdZhtv5t8WyR6dzcg0klL3omGB1A cdzm4Jtdr71PIAOmntgWXPsIO3bR9yi+ded2gXClzi7JukC/8YFLeH0165dHSejiujqqHJvenGM c= X-Google-Smtp-Source: AGHT+IE9ZUHJ5zQ21IXaeWuxsY77WCfQ/q1sob5EH4NQW5qqhefRyeeKiGj6MLf569nq97YeK1i2J7/m X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:118a]) (user=ardb job=sendgmr) by 2002:a05:600c:5403:b0:408:3692:3d10 with SMTP id he3-20020a05600c540300b0040836923d10mr44984wmb.5.1700821229333; Fri, 24 Nov 2023 02:20:29 -0800 (PST) Date: Fri, 24 Nov 2023 11:18:47 +0100 In-Reply-To: <20231124101840.944737-41-ardb@google.com> Mime-Version: 1.0 References: <20231124101840.944737-41-ardb@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=1395; i=ardb@kernel.org; h=from:subject; bh=QidaWV6xZDE4CF28OiUCmJHc8xL0G7mC+yBlF4AG0+o=; b=owGbwMvMwCFmkMcZplerG8N4Wi2JITWhomNSko3b7pTbJ+9H8pXaMN7dqSDp6n/uYv1K23Oc+ 7YnvWvqKGVhEONgkBVTZBGY/ffdztMTpWqdZ8nCzGFlAhnCwMUpABOR8WNk+CwWaGNzw+HSPLXN 3M8P5pQc36UrGx5p7cXwpHb5qb3C0owM74qYD0TXzDmZ/7v9mSzrjV/vdxzZ/PjN1udRvte5Dy4 6wwAA X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Message-ID: <20231124101840.944737-48-ardb@google.com> Subject: [PATCH v5 07/39] arm64: ptdump: Discover start of vmemmap region at runtime From: Ard Biesheuvel To: linux-arm-kernel@lists.infradead.org Cc: Ard Biesheuvel , Catalin Marinas , Will Deacon , Marc Zyngier , Mark Rutland , Ryan Roberts , Anshuman Khandual , Kees Cook X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231124_022031_121012_E2CD76CB X-CRM114-Status: GOOD ( 13.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Ard Biesheuvel We will soon reclaim the part of the vmemmap region that covers VA space that is not addressable by the hardware. To avoid confusion, ensure that the 'vmemmap start' marker points at the start of the region that is actually being used for the struct page array, rather than the start of the region we set aside for it at build time. Signed-off-by: Ard Biesheuvel --- arch/arm64/mm/ptdump.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm64/mm/ptdump.c b/arch/arm64/mm/ptdump.c index bfc307890344..f3fdbf3bb6ad 100644 --- a/arch/arm64/mm/ptdump.c +++ b/arch/arm64/mm/ptdump.c @@ -346,6 +346,8 @@ void ptdump_check_wx(void) static int __init ptdump_init(void) { + u64 page_offset = _PAGE_OFFSET(vabits_actual); + u64 vmemmap_start = (u64)virt_to_page((void *)page_offset); struct addr_marker m[] = { { PAGE_OFFSET, "Linear Mapping start" }, { PAGE_END, "Linear Mapping end" }, @@ -357,7 +359,7 @@ static int __init ptdump_init(void) { MODULES_END, "Modules end" }, { VMALLOC_START, "vmalloc() area" }, { VMALLOC_END, "vmalloc() end" }, - { VMEMMAP_START, "vmemmap start" }, + { vmemmap_start, "vmemmap start" }, { VMEMMAP_START + VMEMMAP_SIZE, "vmemmap end" }, { PCI_IO_START, "PCI I/O start" }, { PCI_IO_END, "PCI I/O end" },