This is a note to let you know that I've just added the patch titled sparc32: fix lock_mm_and_find_vma() conversion to the 6.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: sparc32-fix-lock_mm_and_find_vma-conversion.patch and it can be found in the queue-6.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 0b26eadbf200abf6c97c6d870286c73219cdac65 Mon Sep 17 00:00:00 2001 From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu, 29 Jun 2023 20:41:24 -0700 Subject: sparc32: fix lock_mm_and_find_vma() conversion From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0b26eadbf200abf6c97c6d870286c73219cdac65 upstream. 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@xxxxxxxxxxxxxxxx> Fixes: a050ba1e7422 ("mm/fault: convert remaining simple cases to lock_mm_and_find_vma()") Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/sparc/mm/fault_32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/sparc/mm/fault_32.c +++ b/arch/sparc/mm/fault_32.c @@ -312,7 +312,7 @@ static void force_user_fault(unsigned lo 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; Patches currently in stable-queue which might be from torvalds@xxxxxxxxxxxxxxxxxxxx are queue-6.4/mm-always-expand-the-stack-with-the-mmap-write-lock-held.patch queue-6.4/arm-mm-convert-to-using-lock_mm_and_find_vma.patch queue-6.4/mm-fault-convert-remaining-simple-cases-to-lock_mm_and_find_vma.patch queue-6.4/sparc32-fix-lock_mm_and_find_vma-conversion.patch queue-6.4/mm-make-the-page-fault-mmap-locking-killable.patch queue-6.4/powerpc-mm-convert-to-using-lock_mm_and_find_vma.patch queue-6.4/mm-khugepaged-fix-regression-in-collapse_file.patch queue-6.4/powerpc-mm-convert-coprocessor-fault-to-lock_mm_and_find_vma.patch queue-6.4/gup-add-warning-if-some-caller-would-seem-to-want-stack-expansion.patch queue-6.4/arm64-mm-convert-to-using-lock_mm_and_find_vma.patch queue-6.4/mm-introduce-new-lock_mm_and_find_vma-page-fault-helper.patch queue-6.4/mm-make-find_extend_vma-fail-if-write-lock-not-held.patch queue-6.4/riscv-mm-convert-to-using-lock_mm_and_find_vma.patch queue-6.4/execve-expand-new-process-stack-manually-ahead-of-time.patch queue-6.4/mips-mm-convert-to-using-lock_mm_and_find_vma.patch