Skip to contentSkip to conversation

arm64: entry: drop the unused tmp2 argument of mte_set_kernel_gcr()

PATCH RESEND In review Bradley Morgan 2 participants 3 messages Oct 7 – Oct 9 arm64

lore
Share & tools
lore
#0 lore raw

PATCH RESEND 1/1 arm64: entry: drop the unused tmp2 argument of mte_set_kernel_gcr()

mte_set_kernel_gcr() takes a tmp2 argument the macro never uses. It used to, the body passed \tmp and \tmp2 to mte_set_gcr, then commit 82868247897b ("arm64: kasan: mte: use a constant kernel GCR_EL1 value") swapped that for

mov \tmp, KERNEL_GCR_EL1

and tmp2 stayed in the declaration and in the one caller, which passes x23 for it.

Drop it, both places.

---
Resending, the first send's body got mangled.

 arch/arm64/kernel/entry.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/kernel/entry.S +2 -2
index f63049ac32dc..c3106dee61e1 100644
@@ -171,7 +171,7 @@ alternative_else_nop_endif
 #endif
 	.endm
 
-	.macro mte_set_kernel_gcr, tmp, tmp2
+	.macro mte_set_kernel_gcr, tmp
 #ifdef CONFIG_KASAN_HW_TAGS
 alternative_cb	ARM64_ALWAYS_SYSTEM, kasan_hw_tags_enable
 	b	1f
@@ -258,7 +258,7 @@ alternative_else_nop_endif
 
 	apply_ssbd 1, x22, x23
 
-	mte_set_kernel_gcr x22, x23
+	mte_set_kernel_gcr x22
 
 	/*
 	 * Any non-self-synchronizing system register updates required for
Signature · 1 line
2.53.0
Reviewed-by on v1 1/1
#1 lore raw
Quoted 34 lines · Bradley Morgan

mte_set_kernel_gcr() takes a tmp2 argument the macro never uses. It used to, the body passed \tmp and \tmp2 to mte_set_gcr, then commit 82868247897b ("arm64: kasan: mte: use a constant kernel GCR_EL1 value") swapped that for

mov \tmp, KERNEL_GCR_EL1

and tmp2 stayed in the declaration and in the one caller, which passes x23 for it.

Drop it, both places.

---
Resending, the first send's body got mangled.

 arch/arm64/kernel/entry.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/kernel/entry.S +1 -1
index f63049ac32dc..c3106dee61e1 100644
@@ -171,7 +171,7 @@ alternative_else_nop_endif
 #endif
 	.endm
 
-	.macro mte_set_kernel_gcr, tmp, tmp2
+	.macro mte_set_kernel_gcr, tmp
 #ifdef CONFIG_KASAN_HW_TAGS
 alternative_cb	ARM64_ALWAYS_SYSTEM, kasan_hw_tags_enable
 	b	1f

arch/arm64/kernel/entry.S alternative_else_nop_endif

Quoted 9 lines
arch/arm64/kernel/entry.S +1 -2
@@ -258,7 +258,7 @@ alternative_else_nop_endif
 
 	apply_ssbd 1, x22, x23
 
-	mte_set_kernel_gcr x22, x23
+	mte_set_kernel_gcr x22
 
 	/*
 	 * Any non-self-synchronizing system register updates required for
-- 2.53.0
#2 lore raw
Quoted 40 lines · Vladimir Murzin
Quoted 39 lines · Bradley Morgan

mte_set_kernel_gcr() takes a tmp2 argument the macro never uses. It used to, the body passed \tmp and \tmp2 to mte_set_gcr, then commit 82868247897b ("arm64: kasan: mte: use a constant kernel GCR_EL1 value") swapped that for

mov \tmp, KERNEL_GCR_EL1

and tmp2 stayed in the declaration and in the one caller, which passes x23 for it.

Drop it, both places.

---
Resending, the first send's body got mangled.

 arch/arm64/kernel/entry.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/kernel/entry.S +2 -2
index f63049ac32dc..c3106dee61e1 100644
@@ -171,7 +171,7 @@ alternative_else_nop_endif
 #endif
 	.endm
 
-	.macro mte_set_kernel_gcr, tmp, tmp2
+	.macro mte_set_kernel_gcr, tmp
 #ifdef CONFIG_KASAN_HW_TAGS
 alternative_cb	ARM64_ALWAYS_SYSTEM, kasan_hw_tags_enable
 	b	1f
@@ -258,7 +258,7 @@ alternative_else_nop_endif
 
 	apply_ssbd 1, x22, x23
 
-	mte_set_kernel_gcr x22, x23
+	mte_set_kernel_gcr x22
 
Quoted 6 lines

arch/arm64/kernel/entry.S alternative_else_nop_endif

Quoted 4 lines
arch/arm64/kernel/entry.S +0 -1
 	/*
 	 * Any non-self-synchronizing system register updates required for
-- 2.53.0

cheers, sorry for the oopsie on 1/1

--- Thanks!
"I'm not a very positive person" - Linus torvalds