summaryrefslogtreecommitdiff
path: root/arch/sparc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-06-29 20:41:24 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2023-06-29 20:41:24 -0700
commit0b26eadbf200abf6c97c6d870286c73219cdac65 (patch)
treea9ae8f3812c436c73ad2ec835d16b60c4ab9e956 /arch/sparc
parent82a2a51055895f419a3aaba15ffad419063191f0 (diff)
sparc32: fix lock_mm_and_find_vma() conversion
The sparc32 conversion to lock_mm_and_find_vma() in commit a050ba1e7422 ("mm/fault: convert remaining simple cases to lock_mm_and_find_vma()") missed the fact that we didn't actually have a 'regs' pointer available in the 'force_user_fault()' case. It's there in the regular page fault path ("do_sparc_fault()"), but not the window underflow/overflow paths. Which is all fine - we can just pass in a NULL pointer. The register state is only used to avoid deadlock with kernel faults, which is not the case for any of these register window faults. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Fixes: a050ba1e7422 ("mm/fault: convert remaining simple cases to lock_mm_and_find_vma()") Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/mm/fault_32.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c
index a3ccc0267bc2..86a831ebd8c8 100644
--- a/arch/sparc/mm/fault_32.c
+++ b/arch/sparc/mm/fault_32.c
@@ -312,7 +312,7 @@ static void force_user_fault(unsigned long address, int write)
code = SEGV_MAPERR;
- vma = lock_mm_and_find_vma(mm, address, regs);
+ vma = lock_mm_and_find_vma(mm, address, NULL);
if (!vma)
goto bad_area_nosemaphore;
code = SEGV_ACCERR;