From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2128A322C6D for ; Thu, 4 Jun 2026 15:12:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780585940; cv=none; b=qJcO6qHQ1xXsfAyC7PpPPk8I65BFaKr7DdxIsEYXhQBQpgGlCuYP5HCz32KpjirKp1cIupYsrG+qSae+GGdrgL0aD1gEBznVcCKZJzNk08BJZb4QDMHx4tzsvuYvGRI0nZ5FUISXZVHi9oXUh1r/rQAJktoVhtmvDUZltTiRRcg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780585940; c=relaxed/simple; bh=qALO0pyHR8x1cwg8ZIwf9I3aH0bCMgr3LZFTac+4hRg=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Qw5ty82JXmSARXbMihB7v2006VAJGuXzgfh76SHlUPxhy9ZTpeI8tkEiq6s2CDcRZhNlsr0XyHjoYZ8M45qramEGtU18KWSVuBocD4oa4ZcUIveU2dCt21jEtVFnNBHv1dK8+i3K00Egwqg+p2qcw6UrN7ahGdA9VM/c3yUKDmw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=USiWOX5i; arc=none smtp.client-ip=209.85.128.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="USiWOX5i" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-490b37e1ebfso4262525e9.0 for ; Thu, 04 Jun 2026 08:12:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1780585937; x=1781190737; darn=vger.kernel.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=1vft77YELPmjJ4ZOMQRn5jvDbuRX5+oDiBLjSUaVIbM=; b=USiWOX5iA3xNEA5JZj8KX24PgG3VwOgybyaWxUa5AKl/TLfXGxqfcntRpxTKUzKf8P mTY8qQLw36rpH284OtIDJGChWAdNwFZ5SXqXHCSsQUAdh6a8YSJWTcRhP24QkTjbh8t5 C25XIi5elM3tUKzq8XkK6KhrtsqcWe4f5dMQxQwOBB8r/HoViyKnZ+GeWPsmP6IGb1gD a5JZLlbwHMvZ86FV8gljK09QebYXMT3Kf9aXN3saVqYDbwArKPIDNV3S3+Py+udB1r0F 3SFgHu5DTk9yFl8EtLaJQTfil4oopIWPH6ISca23Lq4pCFNUojpKlXRhaukZ63M8t8Pz mS4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780585937; x=1781190737; 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=1vft77YELPmjJ4ZOMQRn5jvDbuRX5+oDiBLjSUaVIbM=; b=pWWqmHldOZN6fAyU3LYTLFV3R4q9FYm0RwZexvG6yWyIiiWMAvMXSl+6Jbo2WGmusf kG3VeS800SK6/gEjQOk71EQ/nPjlPdVS83kQUpxM2LWLaY3g47jBmCk5vCRWOtjrfZii J3hw4fJ91V/JwXAZIpGTPQ7uZ/5+0NLao0ewnJdf3i6sMt/QpWKxq6frRQaPFr80InSu bz/EcLo9Ukfejru2wsSfIjrepV7izIDvG54MUTvS3msSaLlA91fg537WmvbyG9QL5DUy LXRkaQYjs1EANDZBKHRzpDF1Xo2/1cq7fzI0Kxt6r5EZvzXz6B3ILKA4swlc7Symf71g il2g== X-Gm-Message-State: AOJu0YzrSN829KplUQlSK17h3I/dHjwJMc1Xh+SyhWGSd03TBwmrUIYR NIKyvcOfbAbJ0Jf56b80jGHRMiHqN/P/64ui9RKoWEOOcjrfdWMXBYVON6cwOv99LPqkZBBQmA= = X-Received: from wrbfi7.prod.google.com ([2002:a05:6000:4407:b0:45e:e6b0:3979]) (user=ardb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:8b01:b0:490:6237:5200 with SMTP id 5b1f17b1804b1-490b5d36863mr138738705e9.10.1780585937520; Thu, 04 Jun 2026 08:12:17 -0700 (PDT) Date: Thu, 4 Jun 2026 17:11:53 +0200 In-Reply-To: <20260604151151.150377-7-ardb+git@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260604151151.150377-7-ardb+git@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=3698; i=ardb@kernel.org; h=from:subject; bh=evI3lVeMOyNIXHC2cUpGPRX/cshmKemdx+fpRfwf0/A=; b=owGbwMvMwCVmkMcZplerG8N4Wi2JIUtx6q6G5VHLWGY3VFw34+IQ3qEXUnKc4ZZBKBvbzNkrD p/ZN2FmRykLgxgXg6yYIovA7L/vdp6eKFXrPEsWZg4rE8gQBi5OAZiIyHuG/55z5G491F67/dKX M2zJqSlrH13o3vVvk3rTlv8siw7Hlsxm+Gd77uWt5Jrk549dry/TLf15NfRb/8ySPecfMnDc6u/ PWMAFAA== X-Mailer: git-send-email 2.54.0.1032.g2f8565e1d1-goog Message-ID: <20260604151151.150377-8-ardb+git@google.com> Subject: [PATCH v2 1/5] arm64: Rename page table BSS section to .bss..pgtbl From: Ard Biesheuvel To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, will@kernel.org, catalin.marinas@arm.com, Ard Biesheuvel , Kevin Brodsky , Mark Brown , Marc Zyngier Content-Type: text/plain; charset="UTF-8" From: Ard Biesheuvel Rename the .pgdir.bss section to .bss..pgtbl so that the compiler will notice the leading ".bss" and mark it as NOBITS by default (rather than PROGBITS, which would take up space in Image binary, forcing all of the preceding BSS to be emitted into the image as well). This supersedes the NOLOAD linker directive, which achieves the same thing, and can be therefore be dropped. Also, rename .pgdir to .pgtbl to be more generic, as page tables of various levels will reside here. Signed-off-by: Ard Biesheuvel --- arch/arm64/include/asm/linkage.h | 2 ++ arch/arm64/include/asm/mmu.h | 2 -- arch/arm64/kernel/vmlinux.lds.S | 8 ++++---- arch/arm64/mm/fixmap.c | 6 +++--- arch/arm64/mm/kasan_init.c | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/arm64/include/asm/linkage.h b/arch/arm64/include/asm/linkage.h index 40bd17add539..8637f667667c 100644 --- a/arch/arm64/include/asm/linkage.h +++ b/arch/arm64/include/asm/linkage.h @@ -43,4 +43,6 @@ SYM_TYPED_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) \ bti c ; +#define __bss_pgtbl __section(".bss..pgtbl") __aligned(PAGE_SIZE) + #endif diff --git a/arch/arm64/include/asm/mmu.h b/arch/arm64/include/asm/mmu.h index fb95754f2876..5e1211c540ab 100644 --- a/arch/arm64/include/asm/mmu.h +++ b/arch/arm64/include/asm/mmu.h @@ -13,8 +13,6 @@ #ifndef __ASSEMBLER__ -#define __pgtbl_bss __section(".pgdir.bss") __aligned(PAGE_SIZE) - #include #include diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S index 2b0ebfb30c63..d3ed59abab38 100644 --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S @@ -352,11 +352,11 @@ SECTIONS BSS_SECTION(SBSS_ALIGN, 0, PAGE_SIZE) __pi___bss_start = __bss_start; - /* fixmap BSS starts here - preceding data/BSS is omitted from the linear map */ - .pgdir.bss (NOLOAD) : ALIGN(PAGE_SIZE) { - *(.pgdir.bss) + /* page table BSS starts here - preceding data/BSS is omitted from the linear map */ + .pgtbl : ALIGN(PAGE_SIZE) { + *(.bss..pgtbl) } - ASSERT(ADDR(.pgdir.bss) == __bss_stop, ".pgdir.bss must follow BSS") + ASSERT(ADDR(.pgtbl) == __bss_stop, ".pgtbl must follow BSS") . = ALIGN(PAGE_SIZE); __pi_init_pg_dir = .; diff --git a/arch/arm64/mm/fixmap.c b/arch/arm64/mm/fixmap.c index 1a3bbd67dd76..f66a0016dd02 100644 --- a/arch/arm64/mm/fixmap.c +++ b/arch/arm64/mm/fixmap.c @@ -31,9 +31,9 @@ static_assert(NR_BM_PMD_TABLES == 1); #define BM_PTE_TABLE_IDX(addr) __BM_TABLE_IDX(addr, PMD_SHIFT) -static pte_t bm_pte[NR_BM_PTE_TABLES][PTRS_PER_PTE] __pgtbl_bss; -static pmd_t bm_pmd[PTRS_PER_PMD] __pgtbl_bss __maybe_unused; -static pud_t bm_pud[PTRS_PER_PUD] __pgtbl_bss __maybe_unused; +static pte_t bm_pte[NR_BM_PTE_TABLES][PTRS_PER_PTE] __bss_pgtbl; +static pmd_t bm_pmd[PTRS_PER_PMD] __bss_pgtbl __maybe_unused; +static pud_t bm_pud[PTRS_PER_PUD] __bss_pgtbl __maybe_unused; static inline pte_t *fixmap_pte(unsigned long addr) { diff --git a/arch/arm64/mm/kasan_init.c b/arch/arm64/mm/kasan_init.c index dbf22cae82ee..3fcad956fdf7 100644 --- a/arch/arm64/mm/kasan_init.c +++ b/arch/arm64/mm/kasan_init.c @@ -214,7 +214,7 @@ asmlinkage void __init kasan_early_init(void) * shadow pud_t[]/p4d_t[], which could end up getting corrupted * when the linear region is mapped. */ - static pte_t tbl[PTRS_PER_PTE] __pgtbl_bss; + static pte_t tbl[PTRS_PER_PTE] __bss_pgtbl; pgd_t *pgdp = pgd_offset_k(KASAN_SHADOW_START); set_pgd(pgdp, __pgd(__pa_symbol(tbl) | PGD_TYPE_TABLE)); -- 2.54.0.1032.g2f8565e1d1-goog