rpms/kernel/devel kernel.spec, 1.893, 1.894 linux-2.6-utrace.patch, 1.91, 1.92 linux-2.6-x86-tracehook.patch, 1.7, 1.8 sources, 1.861, 1.862

Roland McGrath (roland) fedora-extras-commits at redhat.com
Wed Aug 20 20:23:47 UTC 2008


Author: roland

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25917

Modified Files:
	kernel.spec linux-2.6-utrace.patch 
	linux-2.6-x86-tracehook.patch sources 
Log Message:
utrace update, fix irqs-disabled lockdep warning on i386


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.893
retrieving revision 1.894
diff -u -r1.893 -r1.894
--- kernel.spec	20 Aug 2008 20:13:40 -0000	1.893
+++ kernel.spec	20 Aug 2008 20:23:15 -0000	1.894
@@ -1739,6 +1739,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Wed Aug 20 2008 Roland McGrath <roland at redhat.com>
+- utrace update, fix irqs-disabled lockdep warning on i386
+
 * Wed Aug 20 2008 Dave Jones <davej at redhat.com>
 - include/asm needs to be a symlink, not a dir.
 

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.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- linux-2.6-utrace.patch	14 Aug 2008 01:22:50 -0000	1.91
+++ linux-2.6-utrace.patch	20 Aug 2008 20:23:15 -0000	1.92
@@ -3,14 +3,14 @@
  fs/proc/array.c                   |    3 +
  include/linux/ptrace.h            |   21 +
  include/linux/sched.h             |    6 +
- include/linux/tracehook.h         |   62 +
+ include/linux/tracehook.h         |   65 +-
  include/linux/utrace.h            |  711 +++++++++++
  init/Kconfig                      |   27 +
  kernel/Makefile                   |    1 +
  kernel/ptrace.c                   |  604 +++++++++-
  kernel/signal.c                   |   14 +-
- kernel/utrace.c                   | 2515 +++++++++++++++++++++++++++++++++++++
- 12 files changed, 4525 insertions(+), 7 deletions(-)
+ kernel/utrace.c                   | 2522 +++++++++++++++++++++++++++++++++++++
+ 12 files changed, 4534 insertions(+), 8 deletions(-)
 
 diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
 index 1615350..92ca631 100644  
@@ -658,10 +658,10 @@
   * ptrace_init_task - initialize ptrace state for a new child
   * @child:		new child task
 diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 5850bfb..3d06ba0 100644  
+index cfb0d87..581c487 100644  
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
-@@ -1195,6 +1195,11 @@ struct task_struct {
+@@ -1196,6 +1196,11 @@ struct task_struct {
  #endif
  	seccomp_t seccomp;
  
@@ -673,7 +673,7 @@
  /* Thread group tracking */
     	u32 parent_exec_id;
     	u32 self_exec_id;
-@@ -1767,6 +1772,7 @@ extern int kill_pgrp(struct pid *pid, in
+@@ -1768,6 +1773,7 @@ extern int kill_pgrp(struct pid *pid, in
  extern int kill_pid(struct pid *pid, int sig, int priv);
  extern int kill_proc_info(int, struct siginfo *, pid_t);
  extern int do_notify_parent(struct task_struct *, int);
@@ -682,7 +682,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 b48d819..68376ff 100644  
+index b48d819..f9f4956 100644  
 --- a/include/linux/tracehook.h
 +++ b/include/linux/tracehook.h
 @@ -49,6 +49,7 @@
@@ -888,7 +888,13 @@
  }
  
  #ifdef TIF_NOTIFY_RESUME
-@@ -576,6 +635,9 @@ static inline void set_notify_resume(str
+@@ -572,10 +631,14 @@ static inline void set_notify_resume(str
+  * asynchronously, this will be called again before we return to
+  * user mode.
+  *
+- * Called without locks.
++ * Called without locks.  However, on some machines this may be
++ * called with interrupts disabled.
   */
  static inline void tracehook_notify_resume(struct pt_regs *regs)
  {
@@ -1616,10 +1622,10 @@
 +
 +#endif	/* linux/utrace.h */
 diff --git a/init/Kconfig b/init/Kconfig
-index b678803..ec6c015 100644  
+index c11da38..a2b8ea8 100644  
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -909,6 +909,33 @@ config STOP_MACHINE
+@@ -898,6 +898,33 @@ config STOP_MACHINE
  	help
  	  Need stop_machine() primitive.
  
@@ -1666,7 +1672,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..90d4a90 100644  
+index 356699a..9734661 100644  
 --- a/kernel/ptrace.c
 +++ b/kernel/ptrace.c
 @@ -16,6 +16,7 @@
@@ -2363,7 +2369,7 @@
  
  	/*
  	 * Are we already being traced?
-@@ -514,6 +1105,9 @@ repeat:
+@@ -513,6 +1104,9 @@ repeat:
  		write_unlock_irqrestore(&tasklist_lock, flags);
  	}
  	task_unlock(current);
@@ -2374,11 +2380,11 @@
  }
  
 diff --git a/kernel/signal.c b/kernel/signal.c
-index c539f60..0f5ed3c 100644  
+index e661b01..1effefc 100644  
 --- a/kernel/signal.c
 +++ b/kernel/signal.c
-@@ -1414,7 +1414,7 @@ int do_notify_parent(struct task_struct 
- 	return sig;
+@@ -1415,7 +1415,7 @@ int do_notify_parent(struct task_struct 
+ 	return ret;
  }
  
 -static void do_notify_parent_cldstop(struct task_struct *tsk, int why)
@@ -2386,7 +2392,7 @@
  {
  	struct siginfo info;
  	unsigned long flags;
-@@ -1469,6 +1469,8 @@ static void do_notify_parent_cldstop(str
+@@ -1470,6 +1470,8 @@ static void do_notify_parent_cldstop(str
  	spin_unlock_irqrestore(&sighand->siglock, flags);
  }
  
@@ -2395,7 +2401,7 @@
  static inline int may_ptrace_stop(void)
  {
  	if (!likely(current->ptrace & PT_PTRACED))
-@@ -1601,6 +1603,8 @@ void ptrace_notify(int exit_code)
+@@ -1602,6 +1604,8 @@ void ptrace_notify(int exit_code)
  	spin_unlock_irq(&current->sighand->siglock);
  }
  
@@ -2404,7 +2410,7 @@
  static void
  finish_stop(int stop_count)
  {
-@@ -1678,6 +1682,7 @@ static int do_signal_stop(int signr)
+@@ -1679,6 +1683,7 @@ static int do_signal_stop(int signr)
  	return 1;
  }
  
@@ -2412,7 +2418,7 @@
  static int ptrace_signal(int signr, siginfo_t *info,
  			 struct pt_regs *regs, void *cookie)
  {
-@@ -1716,6 +1721,13 @@ static int ptrace_signal(int signr, sigi
+@@ -1717,6 +1722,13 @@ static int ptrace_signal(int signr, sigi
  
  	return signr;
  }
@@ -2428,10 +2434,10 @@
  			  struct pt_regs *regs, void *cookie)
 diff --git a/kernel/utrace.c b/kernel/utrace.c
 new file mode 100644
-index ...807384d 100644  
+index ...cb68c3e 100644  
 --- /dev/null
 +++ b/kernel/utrace.c
-@@ -0,0 +1,2515 @@
+@@ -0,0 +1,2522 @@
 +/*
 + * utrace infrastructure interface for debugging user processes
 + *
@@ -4291,6 +4297,13 @@
 +	struct utrace_attached_engine *engine, *next;
 +
 +	/*
++	 * Some machines get here with interrupts disabled.  The same arch
++	 * code path leads to calling into get_signal_to_deliver(), which
++	 * implicitly reenables them by virtue of spin_unlock_irq.
++	 */
++	local_irq_enable();
++
++	/*
 +	 * If this flag is still set it's because there was a signal
 +	 * handler setup done but no report_signal following it.  Clear
 +	 * the flag before we get to user so it doesn't confuse us later.

linux-2.6-x86-tracehook.patch:

Index: linux-2.6-x86-tracehook.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-x86-tracehook.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- linux-2.6-x86-tracehook.patch	11 Aug 2008 18:06:04 -0000	1.7
+++ linux-2.6-x86-tracehook.patch	20 Aug 2008 20:23:16 -0000	1.8
@@ -8,10 +8,10 @@
  7 files changed, 248 insertions(+), 66 deletions(-)
 
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 3d0f2b6..78d3bbf 100644  
+index ac2fb06..2206787 100644  
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
-@@ -30,6 +30,7 @@ config X86
+@@ -29,6 +29,7 @@ config X86
  	select HAVE_FTRACE
  	select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
  	select HAVE_ARCH_KGDB if !X86_VOYAGER


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/sources,v
retrieving revision 1.861
retrieving revision 1.862
diff -u -r1.861 -r1.862
--- sources	16 Aug 2008 01:16:41 -0000	1.861
+++ sources	20 Aug 2008 20:23:16 -0000	1.862
@@ -1,2 +1,3 @@
 5169d01c405bc3f866c59338e217968c  linux-2.6.26.tar.bz2
 9396488471f37f471b3e09c9c195d91e  patch-2.6.27-rc3.bz2
+5e1fb3619649126fa6dcf38608195ab7  patch-2.6.27-rc3-git6.bz2




More information about the fedora-extras-commits mailing list