summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2025-07-21 16:13:13 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-28 16:31:00 +0200
commit98e2b6af0238ed64c6ec28d3225bd564965175d3 (patch)
tree93e43d911a423469391d9a34853e76c7553638d1
parentbc0a24c24ceebabb5ba65900e332233d79e625e6 (diff)
parisc: Try to fixup kernel exception in bad_area_nosemaphore path of do_page_fault()
commit f92a5e36b0c45cd12ac0d1bc44680c0dfae34543 upstream. Signed-off-by: John David Anglin <dave.anglin@bell.net> Signed-off-by: Helge Deller <deller@gmx.de> Cc: stable@vger.kernel.org # v5.12+ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/parisc/mm/fault.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c
index c39de84e98b0..f1785640b049 100644
--- a/arch/parisc/mm/fault.c
+++ b/arch/parisc/mm/fault.c
@@ -363,6 +363,10 @@ bad_area:
mmap_read_unlock(mm);
bad_area_nosemaphore:
+ if (!user_mode(regs) && fixup_exception(regs)) {
+ return;
+ }
+
if (user_mode(regs)) {
int signo, si_code;