linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: proc-v7: fix out-of-range adr instruction
@ 2023-02-02 10:25 Arnd Bergmann
  0 siblings, 0 replies; only message in thread
From: Arnd Bergmann @ 2023-02-02 10:25 UTC (permalink / raw)
  To: Russell King, Arnd Bergmann
  Cc: Ard Biesheuvel, linux-arm-kernel, linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

Before the change to CONFIG_ARCH_MULTIPLATFORM, some CONFIG_ARM_ERRATA_*
options were always hidden, but now they are user visible in expert
configurations, which caused a compile-time failure in randconfig
builds with all of the errata enabled.

arch/arm/mm/proc-v7.S:545: Error: invalid constant (fffffffffffffbf4) after fixup
/tmp/proc-v7-5b364b.s:1611:2: error: out of range pc-relative fixup value
 adr r3, v7_crval

The problem is that the extra code size puts the v7_crval definition just
outside of the range of the 'adr' instruction. Use the adr_l macro instead
to allow longer offsets.

Fixes: 84fc86360623 ("ARM: make ARCH_MULTIPLATFORM user-visible")
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mm/proc-v7.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index 6b4ef9539b68..fe1469aa5be5 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -544,7 +544,7 @@ __errata_finish:
 	mcr	p14, 6, r0, c0, c0, 0		@ stop userspace TEEHBR access
 1:
 #endif
-	adr	r3, v7_crval
+	adr_l	r3, v7_crval
 	ldmia	r3, {r3, r6}
  ARM_BE8(orr	r6, r6, #1 << 25)		@ big-endian page tables
 #ifdef CONFIG_SWP_EMULATE
-- 
2.39.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-02-02 10:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-02 10:25 [PATCH] ARM: proc-v7: fix out-of-range adr instruction Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).