From patchwork Tue Feb 4 17:33:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maciej Wieczor-Retman X-Patchwork-Id: 13959491 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 43972C02194 for ; Tue, 4 Feb 2025 17:36:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D00EC280003; Tue, 4 Feb 2025 12:36:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CB1C3280001; Tue, 4 Feb 2025 12:36:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B51F1280003; Tue, 4 Feb 2025 12:36:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 7A7B0280001 for ; Tue, 4 Feb 2025 12:36:20 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id ED1E5120B5C for ; Tue, 4 Feb 2025 17:36:19 +0000 (UTC) X-FDA: 83082966078.28.1C5AFA4 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by imf04.hostedemail.com (Postfix) with ESMTP id 51AB240006 for ; Tue, 4 Feb 2025 17:36:17 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GxkhQful; spf=pass (imf04.hostedemail.com: domain of maciej.wieczor-retman@intel.com designates 198.175.65.20 as permitted sender) smtp.mailfrom=maciej.wieczor-retman@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738690578; 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=lQ5v1NnA6R05ztWWI7B+8ia+Rd5WZ3/fmwVsOhBY4uI=; b=Smx0HUW4zCCqFAar26dfcAKJohXuNs8KFqaD9PXvj6mfFsHbxkTWfFpT/uKH+66D+6dqrq 6V2chbUpKCKktJ/DYZL1abCPWRoBWRrY+VNtB1tZPR9NlvbThQLl02jwwxfb2T+KJTiH/Z Y5ERnSdASvnYRJRArFIR0TscxtVAWt8= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GxkhQful; spf=pass (imf04.hostedemail.com: domain of maciej.wieczor-retman@intel.com designates 198.175.65.20 as permitted sender) smtp.mailfrom=maciej.wieczor-retman@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738690578; a=rsa-sha256; cv=none; b=3sOj5hYcg3v+D3iOCTWdpTm+PRnikJR8q3kp9DNcCEubgnvyRAfdgAO8nUYyaJc8bH2oHE CSjIrhgUB8iisNDiXfDS9RlPpd+NVli7UnucVlQ08iIZZRFERBZlIeQB7fcmyLLaVe3S0S u8wC+SpKGI5Va2enaCJhj1Oncc4k22E= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738690577; x=1770226577; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/9iE/zrVNGKs+zQWoSO6YvnUY6c4YJpTItZxJ7K+vOY=; b=GxkhQfulD/0iU4cGPGTGSdLKpPmOKHJW7U1SjUmMrvJGYu+R1v935cCL 0/uqriI/+72lOdcOpQZMzCmd9iI7XR/yMrDsKM50JUHBwvBB8xSaf7kGc EoT4QrvwzyNszJ4evZcNR0P2HOoZWvRQKIZCIxnAaRREjb9wjK7iKWV1B SpNScrmmueFpAv2cvBTX8R+QAZZc9SDsq6Vf5OCUwRn8czuAk5k/av4S/ gttzQ/UnN6037RLDJeFFYsKsJJvkzi+3ttv0GiZu/GsFzTP7IX3m6UbVh FjQSG6zVEOhRqX1vgaXY69fY7GqwmiPDCo3MvJEeXTJm37j95FFvraDGR g==; X-CSE-ConnectionGUID: dWVxfCbISSa4/s1JebvhoQ== X-CSE-MsgGUID: ndcAsNdhQmGTey+SpuRpYg== X-IronPort-AV: E=McAfee;i="6700,10204,11336"; a="38930755" X-IronPort-AV: E=Sophos;i="6.13,259,1732608000"; d="scan'208";a="38930755" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2025 09:36:14 -0800 X-CSE-ConnectionGUID: +qvwGRPBT+u0hTrJ0ps4gQ== X-CSE-MsgGUID: gKQBPywxQQq2MfdmEZxhgA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="147866742" Received: from mjarzebo-mobl1.ger.corp.intel.com (HELO wieczorr-mobl1.intel.com) ([10.245.244.61]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2025 09:36:02 -0800 From: Maciej Wieczor-Retman To: luto@kernel.org, xin@zytor.com, kirill.shutemov@linux.intel.com, palmer@dabbelt.com, tj@kernel.org, andreyknvl@gmail.com, brgerst@gmail.com, ardb@kernel.org, dave.hansen@linux.intel.com, jgross@suse.com, will@kernel.org, akpm@linux-foundation.org, arnd@arndb.de, corbet@lwn.net, maciej.wieczor-retman@intel.com, dvyukov@google.com, richard.weiyang@gmail.com, ytcoode@gmail.com, tglx@linutronix.de, hpa@zytor.com, seanjc@google.com, paul.walmsley@sifive.com, aou@eecs.berkeley.edu, justinstitt@google.com, jason.andryuk@amd.com, glider@google.com, ubizjak@gmail.com, jannh@google.com, bhe@redhat.com, vincenzo.frascino@arm.com, rafael.j.wysocki@intel.com, ndesaulniers@google.com, mingo@redhat.com, catalin.marinas@arm.com, junichi.nomura@nec.com, nathan@kernel.org, ryabinin.a.a@gmail.com, dennis@kernel.org, bp@alien8.de, kevinloughlin@google.com, morbo@google.com, dan.j.williams@intel.com, julian.stecklina@cyberus-technology.de, peterz@infradead.org, cl@linux.com, kees@kernel.org Cc: kasan-dev@googlegroups.com, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, llvm@lists.linux.dev, linux-doc@vger.kernel.org Subject: [PATCH 08/15] x86: Physical address comparisons in fill_p*d/pte Date: Tue, 4 Feb 2025 18:33:49 +0100 Message-ID: <2c2a71ec844db597f30754dd79faf87c9de0b21f.1738686764.git.maciej.wieczor-retman@intel.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: References: MIME-Version: 1.0 X-Rspamd-Queue-Id: 51AB240006 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: rrgx84hq7tm3odeftk7jam8oo9xkdxnw X-HE-Tag: 1738690577-869045 X-HE-Meta: U2FsdGVkX18/2DgtcK2n5RIh0MhC6DmjnuF/GsodIVBTmxt+Rp8KmprJ2DXPuDwW8SKBXkZh9G7wPiLWTVmHemMek11sU77Q5B5ChIwfrqLPI71DBLUnAIfIyncDnJOvTEJCM0lFQX3p8KhZObYXlp7zzsx/snD5YmIaA+0coBVIT/1khF1YieTCuI09sqKjzpzX8GU5DWC7wl3UBkJzIhWXskwwpd1geesTp4SjtpADJnL7l6x4j4SzaRajXt1JCKrVZlBPyVOiapu0Rg/J6w6ZR93BOYBMPMWdiS9GChIPJQiWXxGyTV67UDA2EEoZay5sX/HYED+LtwnaPL8D7/oaT8DwWvU8d2iq3p7J5TBOYfjV0ANQZ3aQwz5FOeEY+eSCKlf7l3mnq9oyfS5hUNKOC8Hf1Q58znCart4elb9cJEjShgnYZkVRu5uWaRkXvCBp6ca/mrtfsSRC0TFEIOCh86svGcxrHjoaIfLBlkTlOg0aDInAi9n3Suk13nMXI6PNQ8vQRmdAj9oYogUiP+uz9zvM8WhUfgYmyncBwKk3kV8ee+IgbF//LLs7xRphTAPFjxvOlcbyJzz/wFTb8lbxnRRyV55f2ZcZAhLTXO6sk8TtnAchq1281buXS5aLshzrJKpHhZHG+3QO7NnhPL9kOfsydwEJhdPTtBCNaa5BbApYI5i3MS9Mn09ig083vCO3CWQz3r7cVxyfo77bDGCHYN0nd86AimN4QzjklVdEV6RmeRI2nhibRz7dLa8/vvHZwZRDBZ5JgzzuTqRrl0L5Bnz8eb5cgqzDa4FEaSc6WwJauLwVEbfY4rqEKHq0Wtm+NMeauaeZRl+SeQFZg65DTqrE3LXDzSSyh0sh0GGg/gVJ392h6a+K/mtVwJyHJpuRehsBSo+D1OVMcUR4VZ/x5jh8RZIrU9Q+1/ZvdDc66V+yVmKqK8pd3bsqGDFYfn4BEDeUH9ByimgJu7A PueULIu+ WWvOCtfWi3I/Cxky7GWOL+r7jbUQ2q8G90rEASNdpciRimpKtKc1zAFcpS+C2xVTrsqEFmxO38z51hAoleoCybOOyZVXInrE2sdPW4bv/t3V1C3TJBxJZ36CcpdFLRo767lVoa3MQyuoWpCdLHdMD9OvPVEThkMkv9e6lYJIwZY70nyVYY3KwzbNm6JiM6TU76dRscH3x9P52nmT2vU2xCASQHyaYA4nI+NVHMF6DCB5Y9s3PbDPRFbY4Wx07HYYOLOWkcp7KbPM89nkQQaQ/cdTe57x/FjsP6S4rI8UrQh4FR7Y= 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: Calculating page offset returns a pointer without a tag. When comparing the calculated offset to a tagged page pointer an error is raised because they are not equal. Change pointer comparisons to physical address comparisons as to avoid issues in KASAN that pointer arithmetic would create. Signed-off-by: Maciej Wieczor-Retman --- arch/x86/mm/init_64.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index ff253648706f..bb101412424a 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -251,7 +251,7 @@ static p4d_t *fill_p4d(pgd_t *pgd, unsigned long vaddr) if (pgd_none(*pgd)) { p4d_t *p4d = (p4d_t *)spp_getpage(); pgd_populate(&init_mm, pgd, p4d); - if (p4d != p4d_offset(pgd, 0)) + if (__pa(p4d) != __pa(p4d_offset(pgd, 0))) printk(KERN_ERR "PAGETABLE BUG #00! %p <-> %p\n", p4d, p4d_offset(pgd, 0)); } @@ -263,7 +263,7 @@ static pud_t *fill_pud(p4d_t *p4d, unsigned long vaddr) if (p4d_none(*p4d)) { pud_t *pud = (pud_t *)spp_getpage(); p4d_populate(&init_mm, p4d, pud); - if (pud != pud_offset(p4d, 0)) + if (__pa(pud) != __pa(pud_offset(p4d, 0))) printk(KERN_ERR "PAGETABLE BUG #01! %p <-> %p\n", pud, pud_offset(p4d, 0)); } @@ -275,7 +275,7 @@ static pmd_t *fill_pmd(pud_t *pud, unsigned long vaddr) if (pud_none(*pud)) { pmd_t *pmd = (pmd_t *) spp_getpage(); pud_populate(&init_mm, pud, pmd); - if (pmd != pmd_offset(pud, 0)) + if (__pa(pmd) != __pa(pmd_offset(pud, 0))) printk(KERN_ERR "PAGETABLE BUG #02! %p <-> %p\n", pmd, pmd_offset(pud, 0)); } @@ -287,7 +287,7 @@ static pte_t *fill_pte(pmd_t *pmd, unsigned long vaddr) if (pmd_none(*pmd)) { pte_t *pte = (pte_t *) spp_getpage(); pmd_populate_kernel(&init_mm, pmd, pte); - if (pte != pte_offset_kernel(pmd, 0)) + if (__pa(pte) != __pa(pte_offset_kernel(pmd, 0))) printk(KERN_ERR "PAGETABLE BUG #03!\n"); } return pte_offset_kernel(pmd, vaddr);