rpms/kernel/devel kernel.spec, 1.834, 1.835 linux-2.6-utrace.patch, 1.86, 1.87

Roland McGrath (roland) fedora-extras-commits at redhat.com
Fri Aug 1 23:04:12 UTC 2008


Author: roland

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3383

Modified Files:
	kernel.spec linux-2.6-utrace.patch 
Log Message:
utrace update


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.834
retrieving revision 1.835
diff -u -r1.834 -r1.835
--- kernel.spec	1 Aug 2008 22:10:55 -0000	1.834
+++ kernel.spec	1 Aug 2008 23:03:42 -0000	1.835
@@ -1714,6 +1714,9 @@
 * Sat Aug 02 2008 Dave Airlie <airlied at redhat.com>
 - Fix locking in drm patches
 
+* Fri Aug 01 2008 Roland McGrath <roland at redhat.com>
+- utrace update
+
 * Fri Aug 01 2008 Dave Jones <davej at redhat.com>
 - 2.6.27-rc1-git3
 

linux-2.6-utrace.patch:

Index: linux-2.6-utrace.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-utrace.patch,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- linux-2.6-utrace.patch	28 Jul 2008 20:12:06 -0000	1.86
+++ linux-2.6-utrace.patch	1 Aug 2008 23:03:42 -0000	1.87
@@ -9,8 +9,8 @@
  kernel/Makefile                   |    1 +
  kernel/ptrace.c                   |  578 +++++++++-
  kernel/signal.c                   |   14 +-
- kernel/utrace.c                   | 2325 +++++++++++++++++++++++++++++++++++++
- 12 files changed, 4123 insertions(+), 7 deletions(-)
+ kernel/utrace.c                   | 2324 +++++++++++++++++++++++++++++++++++++
+ 12 files changed, 4122 insertions(+), 7 deletions(-)
 
 diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
 index 0eb0d02..49a78b7 100644  
@@ -591,7 +591,7 @@
  extern void force_sig_specific(int, struct task_struct *);
  extern int send_sig(int, struct task_struct *, int);
 diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
-index b187558..60eca32 100644  
+index 1253283..3ded045 100644  
 --- a/include/linux/tracehook.h
 +++ b/include/linux/tracehook.h
 @@ -49,6 +49,7 @@
@@ -777,16 +777,16 @@
  	return notify || (current->ptrace & PT_PTRACED);
  }
  
-@@ -501,6 +554,8 @@ static inline int tracehook_notify_jctl(
+@@ -506,6 +559,8 @@ static inline int tracehook_notify_jctl(
  static inline int tracehook_notify_death(struct task_struct *task,
  					 void **death_cookie, int group_dead)
  {
 +	*death_cookie = task_utrace_struct(task);
 +
  	if (task->exit_signal == -1)
- 		return task->ptrace ? SIGCHLD : -1;
+ 		return task->ptrace ? SIGCHLD : DEATH_REAP;
  
-@@ -537,6 +592,10 @@ static inline void tracehook_report_deat
+@@ -542,6 +597,10 @@ static inline void tracehook_report_deat
  					  int signal, void *death_cookie,
  					  int group_dead)
  {
@@ -797,7 +797,7 @@
  }
  
  #ifdef TIF_NOTIFY_RESUME
-@@ -570,6 +629,9 @@ static inline void set_notify_resume(str
+@@ -575,6 +634,9 @@ static inline void set_notify_resume(str
   */
  static inline void tracehook_notify_resume(struct pt_regs *regs)
  {
@@ -1430,10 +1430,10 @@
 +
 +#endif	/* linux/utrace.h */
 diff --git a/init/Kconfig b/init/Kconfig
-index 43d6989..8ae50eb 100644  
+index 7e6dae1..5b6bf77 100644  
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -906,6 +906,33 @@ config STOP_MACHINE
+@@ -910,6 +910,33 @@ config STOP_MACHINE
  	help
  	  Need stop_machine() primitive.
  
@@ -1468,7 +1468,7 @@
  
  config PREEMPT_NOTIFIERS
 diff --git a/kernel/Makefile b/kernel/Makefile
-index 54f6983..ff15d4d 100644  
+index 4e1d7df..eca21ef 100644  
 --- a/kernel/Makefile
 +++ b/kernel/Makefile
 @@ -64,6 +64,7 @@ obj-$(CONFIG_IKCONFIG) += configs.o
@@ -1480,7 +1480,7 @@
  obj-$(CONFIG_AUDITSYSCALL) += auditsc.o
  obj-$(CONFIG_AUDIT_TREE) += audit_tree.o
 diff --git a/kernel/ptrace.c b/kernel/ptrace.c
-index 082b3fc..a7a5e65 100644  
+index 082b3fc..f6dacfd 100644  
 --- a/kernel/ptrace.c
 +++ b/kernel/ptrace.c
 @@ -16,6 +16,7 @@
@@ -1982,7 +1982,7 @@
 +	if (IS_ERR(engine))
 +		return engine;
 +	if (likely(!ptrace_update_utrace(child, engine)))
-+		return 0;
++		return engine;
 +	ptrace_detach_utrace(child, engine);
 +	return ERR_PTR(-ESRCH);
 +}
@@ -2216,10 +2216,10 @@
  			  struct pt_regs *regs, void *cookie)
 diff --git a/kernel/utrace.c b/kernel/utrace.c
 new file mode 100644
-index ...0555597 100644  
+index ...688a18e 100644  
 --- /dev/null
 +++ b/kernel/utrace.c
-@@ -0,0 +1,2325 @@
+@@ -0,0 +1,2324 @@
 +/*
 + * utrace infrastructure interface for debugging user processes
 + *
@@ -2749,16 +2749,15 @@
 + * (e.g. engine->data), to be sure it hasn't been freed by utrace_reap
 + * asynchronously--unless he has synchronized with his report_reap
 + * callback, which would have happened before then.  A simultaneous
-+ * utrace_detach call or UTRACE_ACTION_DETACH return from a callback can
-+ * also free the engine if rcu_read_lock is not held, but that is in the
-+ * tracing engine's power to avoid.
++ * UTRACE_DETACH also free the engine if rcu_read_lock is not held, but
++ * that is in the tracing engine's power to avoid.
 + *
 + * Get the utrace lock for the target task.
 + * Returns the struct if locked, or ERR_PTR(-errno).
 + *
 + * This has to be robust against races with:
-+ *	utrace_detach calls
-+ *	UTRACE_ACTION_DETACH after reports
++ *	utrace_control(target, UTRACE_DETACH) calls
++ *	UTRACE_DETACH after reports
 + *	utrace_report_death
 + *	utrace_release_task
 + */
@@ -3804,7 +3803,7 @@
 +}
 +
 +/*
-+ * Called iff UTRACE_EVENT(DEATH) or UTRACE_ACTION_QUIESCE flag is set.
++ * Called iff UTRACE_EVENT(DEATH) or UTRACE_EVENT(QUIESCE) flag is set.
 + *
 + * It is always possible that we are racing with utrace_release_task here.
 + * For this reason, utrace_release_task checks for the event bits that get




More information about the fedora-extras-commits mailing list