[PATCH -stable] arm64: mm: don't write garbage into TTBR1_EL1 register

Nicolas Dechesne nicolas.dechesne at linaro.org
Fri Feb 23 12:33:20 PST 2018


hi Ard,

many thanks for your help and the debug session ;-)

On Fri, Feb 23, 2018 at 7:29 PM, Ard Biesheuvel
<ard.biesheuvel at linaro.org> wrote:
> Stable backport commit 173358a49173 ("arm64: kpti: Add ->enable callback
> to remap swapper using nG mappings") of upstream commit f992b4dfd58b did
> not survive the backporting process unscathed, and ends up writing garbage
> into the TTBR1_EL1 register, rather than pointing it to the zero page to
> disable translations. Fix that.
>
> Cc: <stable at vger.kernel.org> #v4.14
> Reported-by: Nicolas Dechesne <nicolas.dechesne at linaro.org>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>

I have tested this patch on Qualcomm Dragonboard 410c where the issue
was found initially.

Tested-by: Nicolas Dechesne <nicolas.dechesne at linaro.org>

This patch is also needed on 4.15-stable.

> ---
>  arch/arm64/mm/proc.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S
> index 08572f95bd8a..2b473ddeb7a3 100644
> --- a/arch/arm64/mm/proc.S
> +++ b/arch/arm64/mm/proc.S
> @@ -155,7 +155,7 @@ ENDPROC(cpu_do_switch_mm)
>
>  .macro __idmap_cpu_set_reserved_ttbr1, tmp1, tmp2
>         adrp    \tmp1, empty_zero_page
> -       msr     ttbr1_el1, \tmp2
> +       msr     ttbr1_el1, \tmp1
>         isb
>         tlbi    vmalle1
>         dsb     nsh
> --
> 2.11.0
>



More information about the linux-arm-kernel mailing list