From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=103.168.172.137 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793713348; b=Jz2EzFtkZDxrjTTsJu9REgToSxWr6RZO21N435nVGT+2WY00ck6iLj3TGlC17LRTQS+8 Se5iprS9y3n5tKzIM7EVjccV2UZrFSZoKIHBiVksAaVu3zGSM/lC4pPf5eiIw+k3F9qTf qwhHy1MOGh64A/PETm3SzP5RhN6oLss5eGViaoXgC95rCI+jCYxdi2jMVJyYX4rAO/1ne AWPUdwtLnwoj6kdQ6FHi4KV6V+HdPSQL+HZ0MlLNzOd6+GxNRjyr5StqXuUH7Lx4Or4S2 jIO65mS3M48eF7eKTUtY8bD3y5XwRpuiOEoSDhuDXMVR/11bbem/lNpavErxj2ttp1w== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793713348; h=DMARC-Filter:Received:Received:DKIM-Signature:DKIM-Signature: X-DKIM2-Info:DKIM2-Signature:X-DKIM2-Info:Message-Instance: X-ME-Sender:X-ME-Proxy-Cause:X-ME-Proxy:Feedback-ID:Received:X-Mailer: MIME-Version:X-ThreadId:Date:From:To:Cc:Message-Id:In-Reply-To: References:Subject:Content-Type:Content-Transfer-Encoding; bh=C6BsRfaEgIRLQQWK6sElJj2ULb7RxiZTRv6a00pf8q4=; b=oLZ6oOesvUUh+nxra3tl541lH9NPrVGLaolpJ+Sc9oqFHLw8SGkJhEz3yo3AfWBCVBSi VrbfxgQgcUv2dMSiEp+5ATV5ZLqpEfh7EW2hpHGtKU74fEdLq+JWOmWXCiyBSO3FKJANh lqXQ1ta4f3ITH8oodVWGpbxdwDLDlOQ7igUWav44GnsanodH2EWjscm1BnSX+hNUaY/MM ZYCUSE9XRgyF+tDLSAj/X+5cs8tnz6hQ+FUbQF7ALLL2N3bYkKmPy2viT1l1I7JG+oQ4w ICUmOTyo0K4RfufnaC0TGvvSO8nlMlupofE8MBRVnIJHJ7U0pxPe5lRHAgeZh9CpoMg== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=arndb.de; spf=pass smtp.mailfrom=arndb.de; dkim=pass header.d=arndb.de header.i=@arndb.de header.a=rsa-sha256 header.s=fm2 header.b="KkN/+8PM"; dkim=pass header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm3 header.b=gsz0dw+7; arc=none smtp.remote-ip=103.168.172.137 Received: from flow-a2-smtp.messagingengine.com (flow-a2-smtp.messagingengine.com [103.168.172.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A728606A326 for ; Tue, 3 Nov 2026 13:42:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 2A728606A326 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arndb.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=arndb.de header.i=@arndb.de header.a=rsa-sha256 header.s=fm2 header.b=KkN/+8PM; dkim=pass (2048-bit key, unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm3 header.b=gsz0dw+7 Received: from ams-compute-02.internal (ams-compute-02.internal [10.64.2.62]) by mailflow.phl.internal (Postfix) with ESMTP id 2828B13807C4 for ; Tue, 3 Nov 2026 08:42:27 -0500 (EST) Received: from ams-imap-03 ([10.64.2.23]) by ams-compute-02.internal (MEProxy); Tue, 03 Nov 2026 08:42:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1793713327; x=1793720527; bh=C6BsRfaEgIRLQQWK6sElJj2ULb7RxiZTRv6a00pf8q4=; b= KkN/+8PMCJmN9+oJDv1PT2v8YZWiIx0HgEHZi/kgNA/HhDba5WP1BuWQNOZOURbV Hrj/ZLB5gspp7ptXLCWd2/lcTCZvqc/UiLbYblYrtfSBf+oSCoLS9Yt3LCf1ulBj lg1TYfpqS16gvfgfu4EHr85s4ixt1DDrbKFtPydgVIzB9cPvJ5BmeNYM3yNu9Z0n FAXefH0FFZUkBX8NR+6WOj4j3rloPScdno3dG1HXBGsIv/fnPE3Kz/SGuwq3NtTI dudCN7ANM/SRMQf6LVw2OntByOGKb8K3+NWBsyIZjE0fc1ImLBgPxjPKGQopgLDz ruitXt5rpbx7Tq5bSgwmUw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1793713327; x= 1793720527; bh=C6BsRfaEgIRLQQWK6sElJj2ULb7RxiZTRv6a00pf8q4=; b=g sz0dw+77oExHBK39kaNw32WrtTlwOJhqphNMVRGuWcrVG3KBO7SUns78QvkvuR1U ovHSscfd8k54mBoeP2/T1l1J0pfxstu/JooCt1G1kXyu6s6J5TU8AxiTdQ3pztNo 1i83BBorBn5uaYx5ieRd3kmTsaIIqEDwSBmqZCXK479b2CQBdsSEVgAuXEhtj06g f2xYXuraOvh+cMnFS+sOgVd8XZ+DN493zKM1YLf2pr4N61dfphFj15e8MHu2eCcD er7TAc1AvgPhPTdWRzFFJc6ya0hvsc8C5ZOySQBplVAwy7Mlf3/XoaT+Yax0/SSF OB5b7Wc9BHM4pI2uH/4+g== X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08; repo=github.com/dkim2wg/interop; date=2026-10-28; sw=lmtpprox; action=sign d=arndb.de a=rsa-sha256; DKIM2-Signature: i=1; m=1; t=1793713327; d=arndb.de; mf=PGFybmRAYXJuZGIuZGU+; rt=PGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+; s=fm2:rsa-sha256:fysYV3+zyw4B+YAezIzAT/QmDLYWJDiWmC7MDSz/vsvBHf6 ZjaWXCx1yLPr6okMlCG3Dk2HOb1PygSJJXa/tpabSW8jS1czf1K3ABRvi40HNGfn fXYLQhIV+6CzjVt59xmTpum+DNc2UHAu0/9cIlA8zKYnHYoQG9cZD9DiRUgpFc+S vlroLmxEhLFTfgXHSsUXaako9WR390khsTnz7nAbJ3H+SeF/L8YZHn6HVuzmDPK2 UVe4I2YGcY8n9DZHAkZV0MjnjdDzdxd0RqtiBbvW2Ql98Pjp87QK0MPZzt4Ba64H Eu6G8PCpz7+jFS47q2+hkDHQDYKczIaacT+SA0g==; X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08; repo=github.com/dkim2wg/interop; date=2026-10-28; sw=lmtpprox; action=mi-m=1; hc=12; hn=cc,content-transfer-encoding,content-type,date,feedback-id, from,in-reply-to,message-id,mime-version,references,subject,to; Message-Instance: m=1; h=sha256:6lfwly49jdk/TRQzQzohVpgwjHD/wkTSstU+gGerY1o=:h/NM9bjvMaJEdmp3okr+dW8dFy0qHLVaOWeZgTL04zo=; X-ME-Sender: X-ME-Proxy-Cause: dmFkZTEA4KzNuwOsua5pffRMjkBOk8wzkxvQ/2CpeYBWTRKldBKNhQCsSJE8Uh9dEQ0Ef0 GZHbXMgWrOiuBvBaWlxEbzf5C4JmAB81c5UxCXTIHaP/8pbXByeVsb/te6GpmqZXZlblAg cKGjztPo3uHjg+8wCId1LCLEttpHXAcoPDOOz/66xY7x28JRQSuiF2Kqea58r7ttfq13S3 vy/rynGbxesfWoFi0HCPVVWm9XxX9JVLVWEhx/hoN7T4hNR+A0wUjV33nFR6E5KwtUgHee 5HY5ePjyfCf2olwovw2KYth+I2fo+vLeN24GLXo3DbsdCMBSrrFPTbK5R3zN8lQ3nGBVRD 7A4WcGepoqTPXzuv6+agcCPg7oTJe9F+HWtlF7Z4ISIU5FI04YMIQrBBNBu3NmBVQwwxeh kJlxgwLuCEvccGYTJOZI3KhHXSQfZ7r4qm8sFi73x/cP4J5H5gKnM2iNKfhWsNh3IDTvxP YKkWDuvUXsg9aFQEUPRjj6Ks8b1xBqLIr2L56C3vMDoJ3IEwEtMX5enoas8JQFqZDr+yL4 yPtrobI2V9uesTkvFL1E3x0YPCUwvluj3uzHDLrERF0ZNYro2piN6RGU0NvkoUFSPSftdN rB8URlSfV0C2tKh9aRLdepIKneucn81ERHwkoQmItOqAMOOnShSiRfl/ESBQ X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.ams.internal (Postfix, from userid 501) id 31DC432A0097; Tue, 3 Nov 2026 08:41:53 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 X-ThreadId: AHCvEt5753PB Date: Tue, 03 Nov 2026 14:41:32 +0100 From: "Arnd Bergmann" To: "Sasha Levin" , "Peter Zijlstra" Cc: "kernel test robot" , oe-lkp@lists.linux.dev, "kernel test robot" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, "Andrew Morton" , "David Hildenbrand (Red Hat)" , "Liam R. Howlett" , "Kirill A. Shutemov" , "Finn Thain" , "Geert Uytterhoeven" , "Thomas Gleixner" , "Ingo Molnar" , "Borislav Petkov" , "Dave Hansen" , "Ard Biesheuvel" , "H. Peter Anvin" , "Alexei Starovoitov" , "Andrii Nakryiko" , "Boqun Feng" , "Daniel Borkmann" , "Dinh Nguyen" , "Eduard Zingerman" , "Gary Guo" , guoren , "Hao Luo" , "Jiri Olsa" , "John Fastabend" , "John Paul Adrian Glaubitz" , "Jonas Bonn" , "KP Singh" , "Mark Rutland" , "Martin KaFai Lau" , "Rich Felker" , "Song Liu" , "Stafford Horne" , "Stanislav Fomichev" , "Stefan Kristiansson" , "Will Deacon" , "Yonghong Song" , "Yoshinori Sato" Message-Id: <846703eb-111c-4376-a0ba-36bd3e13f632@app.fastmail.com> In-Reply-To: References: <202611022259.def3e086-lkp@intel.com> <20261103122647.GL1813469@noisy.programming.kicks-ass.net> <20261103123508.3910990-1-sashal@kernel.org> Subject: Re: [linus:master] [atomic] 80047d84ee: WARNING:at_include/linux/instrumented.h:#__split_huge_pmd_locked Content-Type: text/plain Content-Transfer-Encoding: 7bit On Tue, Nov 3, 2026, at 14:13, Arnd Bergmann wrote: > On Tue, Nov 3, 2026, at 13:35, Sasha Levin wrote: >> >> I tried the typedef change. It works, but gcc ends up realigning the >> stack in a lot of pte/pmd code (126 more functions with Arnd's version >> in a small config, 204 with yours), including handle_mm_fault(). Just >> aligning the two locals seems simpler: > > The question is how many of the other functions may be affected by the > same bug. I see a variation of the same code in vmemmap_split_pmd(), > and aligning the types is clearly the safer option here, especially > given that most 32-bit architectures already align u64 all the time > the same way that 64-bit ones do. FWIW, I checked the other architectures that may be affected: - 32-bit arm has transparent hugepages and a 64-bit pmd_t with lpae, but that type has natural alignment, and pmd_populate is a simple assignment. - arc has transparent hugepages and a 32-bit pmd_t but a 64-bit pte_t that is not naturally aligned. It probably should be aligned, even though I don't see any actual bugs - sh has a 64-bit pmd_t on sh4a CPUs that is not naturally aligned and probably should be, but there are no transparent hugepages. All other 32-bit targets don't use transparent hugepages or 64-bit pmd_t. We probably only need to align p?d_t though, not p?dval_t. How about the version below? Arnd diff --git a/arch/arc/include/asm/page.h b/arch/arc/include/asm/page.h index 9720fe6b2c24..af5303459d56 100644 --- a/arch/arc/include/asm/page.h +++ b/arch/arc/include/asm/page.h @@ -65,7 +65,7 @@ typedef struct { typedef struct { #ifdef CONFIG_ARC_HAS_PAE40 - unsigned long long pte; + unsigned long long pte __aligned(8); #else unsigned long pte; #endif diff --git a/arch/sh/include/asm/pgtable-3level.h b/arch/sh/include/asm/pgtable-3level.h index d1ce73f3bd85..6d5e2e3248f2 100644 --- a/arch/sh/include/asm/pgtable-3level.h +++ b/arch/sh/include/asm/pgtable-3level.h @@ -33,7 +33,7 @@ typedef union { unsigned long pmd_low; unsigned long pmd_high; }; - unsigned long long pmd; + unsigned long long pmd __aligned(8); } pmd_t; #define pmd_val(x) ((x).pmd) #define __pmd(x) ((pmd_t) { .pmd = (x) } ) diff --git a/arch/x86/include/asm/pgtable-3level_types.h b/arch/x86/include/asm/pgtable-3level_types.h index 580b09bf6a45..061283293341 100644 --- a/arch/x86/include/asm/pgtable-3level_types.h +++ b/arch/x86/include/asm/pgtable-3level_types.h @@ -16,14 +16,14 @@ typedef union { struct { unsigned long pte_low, pte_high; }; - pteval_t pte; + pteval_t pte __aligned(8); } pte_t; typedef union { struct { unsigned long pmd_low, pmd_high; }; - pmdval_t pmd; + pmdval_t pmd __aligned(8); } pmd_t; #endif /* !__ASSEMBLER__ */ diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h index 2ec250ba467e..5c028b3f59c4 100644 --- a/arch/x86/include/asm/pgtable_types.h +++ b/arch/x86/include/asm/pgtable_types.h @@ -292,7 +292,7 @@ enum page_cache_mode { typedef struct pgprot { pgprotval_t pgprot; } pgprot_t; -typedef struct { pgdval_t pgd; } pgd_t; +typedef struct { pgdval_t pgd __aligned(sizeof(pgdval_t)); } pgd_t; static inline pgprot_t pgprot_nx(pgprot_t prot) {