lkml.org 
[lkml]   [2012]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] uprobes: Kill write_opcode()->lock_page(new_page)
    Commit-ID:  089ba999dc881a7549d97c55ac9e0052d061867d
    Gitweb: http://git.kernel.org/tip/089ba999dc881a7549d97c55ac9e0052d061867d
    Author: Oleg Nesterov <oleg@redhat.com>
    AuthorDate: Sun, 29 Jul 2012 20:22:18 +0200
    Committer: Ingo Molnar <mingo@kernel.org>
    CommitDate: Mon, 30 Jul 2012 11:27:19 +0200

    uprobes: Kill write_opcode()->lock_page(new_page)

    write_opcode() does lock_page(new_page) for no reason. Nobody
    can see this page until __replace_page() exposes it under ptl
    lock, and we do nothing with this page after pte_unmap_unlock().

    If nothing else, the similar code in do_wp_page() doesn't lock
    the new page for page_add_new_anon_rmap/set_pte_at_notify.

    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Acked-by: Srikar Dronamraju <srikar.vnet.ibm.com>
    Cc: Anton Arapov <anton@redhat.com>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/20120729182218.GA20315@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    ---
    kernel/events/uprobes.c | 2 --
    1 files changed, 0 insertions(+), 2 deletions(-)

    diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
    index 6fda799..23c562b7 100644
    --- a/kernel/events/uprobes.c
    +++ b/kernel/events/uprobes.c
    @@ -239,9 +239,7 @@ retry:
    if (ret)
    goto unlock_out;

    - lock_page(new_page);
    ret = __replace_page(vma, vaddr, old_page, new_page);
    - unlock_page(new_page);

    unlock_out:
    unlock_page(old_page);

    \
     
     \ /
      Last update: 2012-07-30 16:41    [W:0.045 / U:62.152 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site