]> 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)
commitfe1ce1c02be074cd0560ae7efcd810d0472495eb
treee5d6e802db09f7302eb101ce0a12970d0861fa51
parent805de626c7cdfa47ec825bbc9af42410188d39de
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