arch/arm64/mm/proc.S | 1 - 1 file changed, 1 deletion(-)
Register X0 contains PIE_E1_ASM and should not be written into REG_TCR2_EL1
which could have an adverse impact otherwise. This has remained undetected
till now probably because current value for PIE_E1_ASM (0xcc880e0ac0800000)
clears TCR2_EL1 which again gets set subsequently with 'tcr' after checking
for FEAT_TCRX.
Drop this unwarranted 'msr' which is a stray change from an earlier commit.
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Fixes: 7052e808c446 ("arm64/sysreg: Get rid of the TCR2_EL1x SysregFields")
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
This patch applies on v6.16-rc4 and tested with and without FEAT_S1PIE
enabled.
arch/arm64/mm/proc.S | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S
index 80d470aa469d..54dccfd6aa11 100644
--- a/arch/arm64/mm/proc.S
+++ b/arch/arm64/mm/proc.S
@@ -518,7 +518,6 @@ alternative_else_nop_endif
msr REG_PIR_EL1, x0
orr tcr2, tcr2, TCR2_EL1_PIE
- msr REG_TCR2_EL1, x0
.Lskip_indirection:
--
2.25.1
On Thu, 03 Jul 2025 06:04:53 +0100, Anshuman Khandual <anshuman.khandual@arm.com> wrote: > > Register X0 contains PIE_E1_ASM and should not be written into REG_TCR2_EL1 > which could have an adverse impact otherwise. This has remained undetected > till now probably because current value for PIE_E1_ASM (0xcc880e0ac0800000) > clears TCR2_EL1 which again gets set subsequently with 'tcr' after checking > for FEAT_TCRX. > > Drop this unwarranted 'msr' which is a stray change from an earlier commit. Looks like I re-introduced this when rebasing on top of 926b66e2ebc8c ("arm64: setup: name 'tcr2' register"), which did remove this line. Might be worth capturing in the commit message. > > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: Ryan Roberts <ryan.roberts@arm.com> > Cc: Marc Zyngier <maz@kernel.org> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Fixes: 7052e808c446 ("arm64/sysreg: Get rid of the TCR2_EL1x SysregFields") > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> > --- > This patch applies on v6.16-rc4 and tested with and without FEAT_S1PIE > enabled. > > arch/arm64/mm/proc.S | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S > index 80d470aa469d..54dccfd6aa11 100644 > --- a/arch/arm64/mm/proc.S > +++ b/arch/arm64/mm/proc.S > @@ -518,7 +518,6 @@ alternative_else_nop_endif > msr REG_PIR_EL1, x0 > > orr tcr2, tcr2, TCR2_EL1_PIE > - msr REG_TCR2_EL1, x0 > > .Lskip_indirection: > Acked-by: Marc Zyngier <maz@kernel.org> M. -- Without deviation from the norm, progress is not possible.
© 2016 - 2025 Red Hat, Inc.