arm64: mm: don't treat user cache maintenance faults as writes
authorWill Deacon <will.deacon@arm.com>
Fri, 19 Jul 2013 14:37:12 +0000 (15:37 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 19 Jul 2013 14:49:44 +0000 (15:49 +0100)
commitdb6f41063cbdb58b14846e600e6bc3f4e4c2e888
treea52308073355a4662387324a0f998c871ad584fe
parentc783c2815e13bbb0c0b99997cc240bd7e91b6bb8
arm64: mm: don't treat user cache maintenance faults as writes

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>
Cc: <stable@vger.kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/fault.c