Messages in this thread Patch in this message | | | Date | Fri, 8 Nov 2013 16:57:35 +0100 | From | Oleg Nesterov <> | Subject | [PATCH 1/1] uprobes: Fix the wrong usage of current->utask in uprobe_copy_process() |
| |
Commit aa59c53fd459 "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: Oleg Nesterov <oleg@redhat.com> --- kernel/events/uprobes.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 26fdd65..847201f 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -1446,7 +1446,7 @@ void uprobe_copy_process(struct task_struct *t, unsigned long flags) if (!work) return uprobe_warn(t, "dup xol area"); - utask->vaddr = area->vaddr; + t->utask->vaddr = area->vaddr; init_task_work(work, dup_xol_work); task_work_add(t, work, true); } -- 1.5.5.1
| |