]> git.ipfire.org Git - thirdparty/linux.git/commit
arm64: Unconditionally select CONFIG_JUMP_LABEL
authorMarc Zyngier <maz@kernel.org>
Fri, 13 Jun 2025 14:19:36 +0000 (15:19 +0100)
committerWill Deacon <will@kernel.org>
Fri, 4 Jul 2025 13:47:51 +0000 (14:47 +0100)
commit727c2a53cf959f599493c50a80fe2a356b8b1df6
tree9e03e35cd9347e2b6018c10a053acf93a01388f3
parentef8923e6c051a98164c2889db943df9695a39888
arm64: Unconditionally select CONFIG_JUMP_LABEL

Aneesh reports that his kernel fails to boot in nVHE mode with
KVM's protected mode enabled. Further investigation by Mostafa
reveals that this fails because CONFIG_JUMP_LABEL=n and that
we have static keys shared between EL1 and EL2.

While this can be worked around, it is obvious that we have long
relied on having CONFIG_JUMP_LABEL enabled at all times, as all
supported compilers now have 'asm goto' (which is the basic block
for jump labels).

Let's simplify our lives once and for all by mandating jump labels.
It's not like anyone else is testing anything without them, and
we already rely on them for other things (kfence, xfs, preempt).

Link: https://lore.kernel.org/r/yq5ah60pkq03.fsf@kernel.org
Reported-by: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
Reported-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20250613141936.2219895-1-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/Kconfig
arch/arm64/kernel/Makefile