[tip:perf/core] uprobes: Fix the wrong usage of current-> utask in uprobe_copy_process()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit-ID:  70d7f98722a7a1df1a55d6a92d0ce959c7aba9fd
Gitweb:     http://git.kernel.org/tip/70d7f98722a7a1df1a55d6a92d0ce959c7aba9fd
Author:     Oleg Nesterov <oleg@xxxxxxxxxx>
AuthorDate: Fri, 8 Nov 2013 16:35:55 +0100
Committer:  Oleg Nesterov <oleg@xxxxxxxxxx>
CommitDate: Sat, 9 Nov 2013 17:05:41 +0100

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@xxxxxxxxxx>
---
 kernel/events/uprobes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index 0ac346a..5e56950 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);
 }
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux