From: Davidlohr Bueso <dave@stgolabs.net>
To: Laurent Dufour <laurent.du4@free.fr>
Cc: benh@kernel.crashing.org, mpe@ellerman.id.au,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] powerpc/mm: Fix missing mmap_sem release
Date: Thu, 7 Sep 2017 13:51:46 -0700 [thread overview]
Message-ID: <20170907205146.GG17982@linux-80c1.suse> (raw)
In-Reply-To: <1504801529-15113-1-git-send-email-laurent.du4@free.fr>
On Thu, 07 Sep 2017, Laurent Dufour wrote:
>The commit b5c8f0fd595d ("powerpc/mm: Rework mm_fault_error()") reviewed
>the way the error path is managed in __do_page_fault() but it was a bit too
>agressive when handling a case by returning without releasing the mmap_sem.
>
>By the way, replacing current->mm->mmap_sem by mm->mmap_sem as mm is set to
>current->mm.
>
>Fixes: b5c8f0fd595d ("powerpc/mm: Rework mm_fault_error()")
>Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>Signed-off-by: Laurent Dufour <laurent.du4@free.fr>
>---
> arch/powerpc/mm/fault.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
>index 4797d08581ce..f799ccf37d27 100644
>--- a/arch/powerpc/mm/fault.c
>+++ b/arch/powerpc/mm/fault.c
But... here:
/*
* If we need to retry the mmap_sem has already been released,
* and if there is a fatal signal pending there is no guarantee
* that we made any progress. Handle this case first.
*/
>@@ -521,10 +521,11 @@ static int __do_page_fault(struct pt_regs *regs, unsigned long address,
> * User mode? Just return to handle the fatal exception otherwise
> * return to bad_page_fault
> */
>+ up_read(&mm->mmap_sem);
> return is_user ? 0 : SIGBUS;
> }
Per the above comment, for that case handle_mm_fault()
has already released mmap_sem. The same occurs in x86,
for example.
Thanks,
Davidlohr
next prev parent reply other threads:[~2017-09-07 20:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-07 16:25 [PATCH] powerpc/mm: Fix missing mmap_sem release Laurent Dufour
2017-09-07 20:51 ` Davidlohr Bueso [this message]
2017-09-08 7:08 ` Laurent Dufour
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170907205146.GG17982@linux-80c1.suse \
--to=dave@stgolabs.net \
--cc=benh@kernel.crashing.org \
--cc=laurent.du4@free.fr \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.