Commit 70d7f987 authored by Oleg Nesterov's avatar Oleg Nesterov

uprobes: Fix the wrong usage of current->utask in uprobe_copy_process()

Commit aa59c53f "uprobes: Change uprobe_copy_process() to dup
xol_area" has a stupid typo, we need to setup t->utask->vaddr but
the code wrongly uses current->utask.

Even with this bug dup_xol_work() works "in practice", but only
because get_unmapped_area(NULL, TASK_SIZE - PAGE_SIZE) likely
returns the same address every time.
Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
parent f72d41fa
...@@ -1447,7 +1447,7 @@ void uprobe_copy_process(struct task_struct *t, unsigned long flags) ...@@ -1447,7 +1447,7 @@ void uprobe_copy_process(struct task_struct *t, unsigned long flags)
if (!work) if (!work)
return uprobe_warn(t, "dup xol area"); return uprobe_warn(t, "dup xol area");
utask->vaddr = area->vaddr; t->utask->vaddr = area->vaddr;
init_task_work(work, dup_xol_work); init_task_work(work, dup_xol_work);
task_work_add(t, work, true); task_work_add(t, work, true);
} }
......
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