Re: [PATCH v3 0/3] arm64: Fixes for __READ_ONCE() with CONFIG_LTO=y
From: Will Deacon <will@kernel.org>
Date: 2026-02-02 19:13:51
Also in:
lkml, llvm
From: Will Deacon <will@kernel.org>
Date: 2026-02-02 19:13:51
Also in:
lkml, llvm
On Fri, 30 Jan 2026 14:28:23 +0100, Marco Elver wrote:
While investigating a Clang Context Analysis [1] false positive [2], I started to dig deeper into arm64's __READ_ONCE() implementation with LTO. That rabbit hole led me to find one critical bug with the current implementation (patch 1), and subtle improvements that then enabled me to fix the original false positive. Patch 1 fixes a bug where READ_ONCE() on types larger than 8 bytes (non-atomic fallback) incorrectly qualified the pointer rather than the pointee as volatile. This resulted in a lack of "once" semantics for large struct loads. [...]
Applied first patch only to arm64 (for-next/core), thanks!
[1/3] arm64: Fix non-atomic __READ_ONCE() with CONFIG_LTO=y
https://git.kernel.org/arm64/c/bb0c99e08ab9
Cheers,
--
Will
https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev