]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/mm: Update PROTFAULT handling in the page fault path
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Mon, 30 Jan 2017 16:12:59 +0000 (21:42 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 15 Feb 2017 09:02:39 +0000 (20:02 +1100)
commit22875032d55e410c5a9fb1ef09b26037fd5dfe46
treee5d6e802db09f7302eb101ce0a12970d0861fa51
parentc8219bf265d2a5d910a678346f2f3bd1c5ae887e
powerpc/mm: Update PROTFAULT handling in the page fault path

With radix, we can get page fault with DSISR_PROTFAULT value set in case of
PROT_NONE or autonuma mapping. The PROT_NONE case in handled by the vma check
where we consider the access bad. For autonuma we should fall through and fixup
the access mask correctly.

Without this patch we trigger the WARN_ON() on radix. This code moves that
WARN_ON() within a radix_enabled() check. I also moved the WARN_ON() outside
the if condition making it apply for all type of faults (exec/write/read). It
is also conditionalized for book3s, because BOOK3E can also get a PROTFAULT to
handle the D/I cache sync.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/copro_fault.c
arch/powerpc/mm/fault.c