[PATCH 06] do not use engine->data
Oleg Nesterov
oleg at redhat.com
Thu Aug 13 17:12:26 UTC 2009
Do not use engine->data. It should point to struct ptrace_context (or,
perhaps, struct utrace_ptrace ?)
Indeed! now "make check" does not crash the kernel. Of course, I see
a lot of FAIL's but not too much: 8. Upstream kernel reports 4/39
tests failed (under KVM).
---
--- PU/kernel/ptrace.c~06_DONT_USE_DATA 2009-08-13 18:23:43.000000000 +0200
+++ PU/kernel/ptrace.c 2009-08-13 18:41:46.000000000 +0200
@@ -259,7 +259,7 @@ static u32 ptrace_report_clone(enum utra
UTRACE_ATTACH_EXCLUSIVE |
UTRACE_ATTACH_MATCH_OPS,
&ptrace_utrace_ops,
- parent->parent);
+ NULL);
if (unlikely(IS_ERR(child_engine))) {
WARN_ON(1); /* XXX */
} else {
@@ -476,9 +476,8 @@ static int finish_ptrace_attach(struct t
if (retval) {
int error = utrace_control(task, engine, UTRACE_DETACH);
WARN_ON(error && error != -ESRCH && error != -EALREADY);
- } else {
- engine->data = task->parent;
}
+
utrace_engine_put(engine);
return retval;
}
@@ -495,7 +494,7 @@ static struct utrace_engine *prepare_ptr
engine = utrace_attach_task(child, UTRACE_ATTACH_CREATE |
UTRACE_ATTACH_EXCLUSIVE |
UTRACE_ATTACH_MATCH_OPS,
- &ptrace_utrace_ops, parent);
+ &ptrace_utrace_ops, NULL);
if (IS_ERR(engine)) {
if (engine != ERR_PTR(-ESRCH) &&
More information about the utrace-devel
mailing list