summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/fault.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2018-01-21 23:21:14 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2018-01-21 23:21:14 +1100
commitebf0b6a8b1e445d2be66087732aafcda12ab9f59 (patch)
treef00716a1dbde6b54dea5469ef209baac01883ec3 /arch/powerpc/mm/fault.c
parent5400fc229e6078a6964b15fb98e9a994df3d642a (diff)
parent1b689a95ce7427075f9ac9fb4aea1af530742b7f (diff)
downloadlinux-ebf0b6a8b1e445d2be66087732aafcda12ab9f59.tar.bz2
Merge branch 'fixes' into next
Merge our fixes branch from the 4.15 cycle. Unusually the fixes branch saw some significant features merged, notably the RFI flush patches, so we want the code in next to be tested against that, to avoid any surprises when the two are merged. There's also some other work on the panic handling that was reverted in fixes and we now want to do properly in next, which would conflict. And we also fix a few other minor merge conflicts.
Diffstat (limited to 'arch/powerpc/mm/fault.c')
-rw-r--r--arch/powerpc/mm/fault.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index d3a6e0395eaa..866446cf2d9a 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -153,6 +153,11 @@ static int bad_key_fault_exception(struct pt_regs *regs, unsigned long address,
return __bad_area_nosemaphore(regs, address, SEGV_PKUERR, pkey);
}
+static noinline int bad_access(struct pt_regs *regs, unsigned long address)
+{
+ return __bad_area(regs, address, SEGV_ACCERR, 0);
+}
+
static int do_sigbus(struct pt_regs *regs, unsigned long address,
unsigned int fault)
{
@@ -502,7 +507,7 @@ retry:
good_area:
if (unlikely(access_error(is_write, is_exec, vma)))
- return bad_area(regs, address);
+ return bad_access(regs, address);
/*
* If for any reason at all we couldn't handle the fault,