Re: [PATCH v7 15/15] arm64: mm: Unmap kernel data/bss entirely from the linear map
Geert Uytterhoeven <[email protected]> Tue, 9 Jun 2026 11:55:13 +0200
| Newsgroups | org.kernel.vger.linux-sh,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-hardening,org.kernel.vger.linux-kernel,org.kernel.vger.linux-renesas-soc,org.kvack.linux-mm,org.ozlabs.lists.linuxppc-dev |
|---|---|
| Message-ID | <CAMuHMdV-rH7s6GD4FtiKP9++3c2ojwZKm=YGLM_S_+nkj+EBtw@mail.gmail.com> |
On Tue, 9 Jun 2026 at 08:28, Marek Szyprowski <[email protected]> wrote: > On 09.06.2026 08:22, Marek Szyprowski wrote: > > On 29.05.2026 17:02, Ard Biesheuvel wrote: > >> From: Ard Biesheuvel <[email protected]> > >> > >> The linear aliases of the kernel text and rodata are also mapped > >> read-only in the linear map. Given that the contents of these regions > >> are mostly identical to the version in the loadable image, mapping them > >> read-only and leaving their contents visible is a reasonable hardening > >> measure. > >> > >> Data and bss, however, are now also mapped read-only but the contents of > >> these regions are more likely to contain data that we'd rather not leak. > >> So let's unmap these entirely in the linear map when the kernel is > >> running normally. > >> > >> When going into hibernation or waking up from it, these regions need to > >> be mapped, so map the region initially, and toggle the valid bit so > >> map/unmap the region as needed. > >> > >> Doing so is required because pages covering the kernel image are marked > >> as PageReserved, and therefore disregarded for snapshotting by the > >> hibernate logic unless they are mapped. > >> > >> Signed-off-by: Ard Biesheuvel <[email protected]> > > This commit landed in yesterday's linux-next as commit 63e0b6a5b693 > > ("arm64: mm: Unmap kernel data/bss entirely from the linear map"). > > In my tests I found that it breaks booting of RaspberryPi3 and > > RaspberryPi4 boards with the following kernel panic: Seeing the same panic on R-Car H3 ES2.0 (Cortex A57/A53), but not on R-Car V4M (Cortex A76). > One more comment - reverting 63e0b6a5b693 and 53205d56212c (dependent > change) on top of next-20260608 fixes this issue. Confirmed, too. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds