arm64: Force KPTI to be disabled on Cavium ThunderX
authorMarc Zyngier <marc.zyngier@arm.com>
Mon, 29 Jan 2018 11:59:56 +0000 (11:59 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Feb 2018 19:22:50 +0000 (20:22 +0100)
commite39247ca17146e8baae3b0703fe5f27298a60189
treee26cf778a3583251912a000dcb0e9742adbea86b
parent2feb36ebe4503551927d9c798cd454b7f01bd442
arm64: Force KPTI to be disabled on Cavium ThunderX

Commit 6dc52b15c4a4 upstream.

Cavium ThunderX's erratum 27456 results in a corruption of icache
entries that are loaded from memory that is mapped as non-global
(i.e. ASID-tagged).

As KPTI is based on memory being mapped non-global, let's prevent
it from kicking in if this erratum is detected.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
[will: Update comment]
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/kernel/cpufeature.c