linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 05/12 v3] ptrace: kill the now unneeded args from tracehook_finish_clone() path
@ 2009-05-30 22:38 Oleg Nesterov
  0 siblings, 0 replies; only message in thread
From: Oleg Nesterov @ 2009-05-30 22:38 UTC (permalink / raw)
  To: Roland McGrath; +Cc: Christoph Hellwig, Ingo Molnar, linux-kernel

With the previous change tracehook_finish_clone() and ptrace_init_task()
do not need any arguments except "child", remove them.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
---

 include/linux/ptrace.h    |    7 +++----
 include/linux/tracehook.h |   10 +++-------
 kernel/fork.c             |    2 +-
 3 files changed, 7 insertions(+), 12 deletions(-)

--- PTRACE/include/linux/ptrace.h~05_FORK_TRACE	2009-05-30 22:48:10.000000000 +0200
+++ PTRACE/include/linux/ptrace.h	2009-05-30 23:14:03.000000000 +0200
@@ -162,20 +162,19 @@ static inline int ptrace_event(int mask,
 /**
  * ptrace_init_task - initialize ptrace state for a new child
  * @child:		new child task
- * @ptrace:		true if child should be ptrace'd by parent's tracer
  *
  * This is called immediately after adding @child to its parent's children
- * list.  @ptrace is false in the normal case, and true to ptrace @child.
+ * list. @child->ptrace_ctx != NULL was allocated by tracehook_init_task().
  *
  * Called with current's siglock and write_lock_irq(&tasklist_lock) held.
  */
-static inline void ptrace_init_task(struct task_struct *child, bool ptrace)
+static inline void ptrace_init_task(struct task_struct *child)
 {
 	INIT_LIST_HEAD(&child->ptrace_entry);
 	INIT_LIST_HEAD(&child->ptraced);
 	child->parent = child->real_parent;
 	child->ptrace = 0;
-	if (unlikely(ptrace)) {
+	if (unlikely(child->ptrace_ctx)) {
 		child->ptrace = current->ptrace;
 		ptrace_link(child, current->parent);
 	}
--- PTRACE/include/linux/tracehook.h~05_FORK_TRACE	2009-05-30 22:48:10.000000000 +0200
+++ PTRACE/include/linux/tracehook.h	2009-05-30 23:05:12.000000000 +0200
@@ -219,7 +219,7 @@ static inline void tracehook_report_exit
  * @clone_flags:	%CLONE_* flags from clone/fork/vfork system call
  *
  * This is called before a new user task is to be cloned.
- * Its return value will be passed to tracehook_finish_clone().
+ * Its return value will be passed to tracehook_init_task().
  *
  * Called with no locks held.
  */
@@ -279,18 +279,14 @@ static inline void tracehook_free_task(s
 /**
  * tracehook_finish_clone - new child created and being attached
  * @child:		new child task
- * @clone_flags:	%CLONE_* flags from clone/fork/vfork system call
- * @trace:		return value from tracehook_prepare_clone()
  *
  * This is called immediately after adding @child to its parent's children list.
- * The @trace value is that returned by tracehook_prepare_clone().
  *
  * Called with current's siglock and write_lock_irq(&tasklist_lock) held.
  */
-static inline void tracehook_finish_clone(struct task_struct *child,
-					  unsigned long clone_flags, int trace)
+static inline void tracehook_finish_clone(struct task_struct *child)
 {
-	ptrace_init_task(child, (clone_flags & CLONE_PTRACE) || trace);
+	ptrace_init_task(child);
 }
 
 /**
--- PTRACE/kernel/fork.c~05_FORK_TRACE	2009-05-30 22:48:10.000000000 +0200
+++ PTRACE/kernel/fork.c	2009-05-30 23:05:12.000000000 +0200
@@ -1247,7 +1247,7 @@ static struct task_struct *copy_process(
 
 	if (likely(p->pid)) {
 		list_add_tail(&p->sibling, &p->real_parent->children);
-		tracehook_finish_clone(p, clone_flags, trace);
+		tracehook_finish_clone(p);
 
 		if (thread_group_leader(p)) {
 			if (clone_flags & CLONE_NEWPID)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-30 22:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-30 22:38 [RFC PATCH 05/12 v3] ptrace: kill the now unneeded args from tracehook_finish_clone() path Oleg Nesterov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).