arm64: Ignore the 'write' ESR flag on cache maintenance faults
authorCatalin Marinas <catalin.marinas@arm.com>
Tue, 7 May 2013 15:57:06 +0000 (16:57 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 8 May 2013 09:33:16 +0000 (10:33 +0100)
commit0e7f7bcc3fc87489cda5aa6aff8ce40eed912279
tree42256e2678fc1c4a53686cb6f701560c3d86781b
parented1f23637a4916112800df2779c160be520d1525
arm64: Ignore the 'write' ESR flag on cache maintenance faults

ESR.WnR bit is always set on data cache maintenance faults even though
the page is not required to have write permission. If a translation
fault (page not yet mapped) happens for read-only user address range,
Linux incorrectly assumes a permission fault. This patch adds the check
of the ESR.CM bit during the page fault handling to ignore the 'write'
flag.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Tim Northover <Tim.Northover@arm.com>
Cc: stable@vger.kernel.org
arch/arm64/mm/fault.c