arm64: mm: don't treat user cache maintenance faults as writes
commit
db6f41063cbdb58b14846e600e6bc3f4e4c2e888 upstream.
On arm64, cache maintenance faults appear as data aborts with the CM
bit set in the ESR. The WnR bit, usually used to distinguish between
faulting loads and stores, always reads as 1 and (slightly confusingly)
the instructions are treated as reads by the architecture.
This patch fixes our fault handling code to treat cache maintenance
faults in the same way as loads.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
88c0a794e5d9bcc29926e636cd1d6eb5c9dcb235)
Signed-off-by: Mark Brown <broonie@linaro.org>