From: Oleg Nesterov Date: Fri, 8 Nov 2013 15:35:55 +0000 (+0100) Subject: uprobes: Fix the wrong usage of current->utask in uprobe_copy_process() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=70d7f98722a7a1df1a55d6a92d0ce959c7aba9fd;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git 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 --- diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 0ac346ae5edb..5e5695038d2d 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -1447,7 +1447,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); }