lkml.org 
[lkml]   [2018]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 44/64] arch/score: use mm locking wrappers
    Date
    From: Davidlohr Bueso <dave@stgolabs.net>

    This becomes quite straightforward with the mmrange in place.

    Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
    ---
    arch/score/mm/fault.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    diff --git a/arch/score/mm/fault.c b/arch/score/mm/fault.c
    index 07a8637ad142..535df3b377a5 100644
    --- a/arch/score/mm/fault.c
    +++ b/arch/score/mm/fault.c
    @@ -81,7 +81,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
    if (user_mode(regs))
    flags |= FAULT_FLAG_USER;

    - down_read(&mm->mmap_sem);
    + mm_read_lock(mm, &mmrange);
    vma = find_vma(mm, address);
    if (!vma)
    goto bad_area;
    @@ -127,7 +127,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
    else
    tsk->min_flt++;

    - up_read(&mm->mmap_sem);
    + mm_read_unlock(mm, &mmrange);
    return;

    /*
    @@ -135,7 +135,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
    * Fix it, but check if it's kernel or user first..
    */
    bad_area:
    - up_read(&mm->mmap_sem);
    + mm_read_unlock(mm, &mmrange);

    bad_area_nosemaphore:
    /* User mode accesses just cause a SIGSEGV */
    @@ -174,14 +174,14 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
    * us unable to handle the page fault gracefully.
    */
    out_of_memory:
    - up_read(&mm->mmap_sem);
    + mm_read_unlock(mm, &mmrange);
    if (!user_mode(regs))
    goto no_context;
    pagefault_out_of_memory();
    return;

    do_sigbus:
    - up_read(&mm->mmap_sem);
    + mm_read_unlock(mm, &mmrange);
    /* Kernel mode? Handle exceptions or die */
    if (!user_mode(regs))
    goto no_context;
    --
    2.13.6
    \
     
     \ /
      Last update: 2018-02-05 02:36    [W:4.374 / U:0.308 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site