Commit 089ba999 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Ingo Molnar

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: default avatarOleg 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.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent c517ee74
...@@ -239,9 +239,7 @@ static int write_opcode(struct arch_uprobe *auprobe, struct mm_struct *mm, ...@@ -239,9 +239,7 @@ static int write_opcode(struct arch_uprobe *auprobe, struct mm_struct *mm,
if (ret) if (ret)
goto unlock_out; goto unlock_out;
lock_page(new_page);
ret = __replace_page(vma, vaddr, old_page, new_page); ret = __replace_page(vma, vaddr, old_page, new_page);
unlock_page(new_page);
unlock_out: unlock_out:
unlock_page(old_page); unlock_page(old_page);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment