[PATCH] arm64/mm: Drop wrong writes into TCR2_EL1
Marc Zyngier
maz at kernel.org
Thu Jul 3 01:44:02 PDT 2025
On Thu, 03 Jul 2025 06:04:53 +0100,
Anshuman Khandual <anshuman.khandual at 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 at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Ryan Roberts <ryan.roberts at arm.com>
> Cc: Marc Zyngier <maz at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
> Fixes: 7052e808c446 ("arm64/sysreg: Get rid of the TCR2_EL1x SysregFields")
> Signed-off-by: Anshuman Khandual <anshuman.khandual at 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 at kernel.org>
M.
--
Without deviation from the norm, progress is not possible.
More information about the linux-arm-kernel
mailing list