[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