rpms/kernel/devel kernel.spec, 1.525, 1.526 linux-2.6-utrace.patch, 1.71, 1.72

Roland McGrath (roland) fedora-extras-commits at redhat.com
Sun Mar 23 21:12:36 UTC 2008


Author: roland

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

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


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.525
retrieving revision 1.526
diff -u -r1.525 -r1.526
--- kernel.spec	23 Mar 2008 21:03:28 -0000	1.525
+++ kernel.spec	23 Mar 2008 21:11:47 -0000	1.526
@@ -965,7 +965,6 @@
 ApplyPatch linux-2.6-hotfixes.patch
 
 # Roland's utrace ptrace replacement.
-# Main patch includes i386, x86_64, powerpc.
 ApplyPatch linux-2.6-utrace.patch
 
 # enable sysrq-c on all kernels, not only kexec
@@ -1730,6 +1729,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Sun Mar 23 2008 Roland McGrath <roland at redhat.com>
+- utrace update with sparc64 support
+
 * Sun Mar 23 2008 David Woodhouse <dwmw2 at redhat.com>
 - Support fan, fix PCIe bridge setup on iMac G5 (iSight)
 - Disable CONFIG_XMON_DEFAULT

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.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- linux-2.6-utrace.patch	22 Mar 2008 04:11:40 -0000	1.71
+++ linux-2.6-utrace.patch	23 Mar 2008 21:11:47 -0000	1.72
@@ -10,6 +10,9 @@
  arch/powerpc/kernel/signal_32.c     |   19 +-
  arch/powerpc/kernel/sys_ppc32.c     |    5 -
  arch/sparc64/kernel/binfmt_aout32.c |    2 -
+ arch/sparc64/kernel/process.c       |   23 +-
+ arch/sparc64/kernel/ptrace.c        |   28 +-
+ arch/sparc64/kernel/sys_sparc32.c   |   41 +-
  arch/x86/ia32/ia32_aout.c           |    6 -
  arch/x86/ia32/ia32_signal.c         |   10 -
  arch/x86/ia32/ia32entry.S           |   14 +-
@@ -55,7 +58,7 @@
  mm/nommu.c                          |    4 +-
  security/selinux/hooks.c            |   59 +-
  security/selinux/include/objsec.h   |    1 -
- 57 files changed, 6172 insertions(+), 1185 deletions(-)
+ 60 files changed, 6209 insertions(+), 1240 deletions(-)
 
 diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
 index 300e170..7cf3afc 100644  
@@ -918,6 +921,96 @@
  	return 0;
  }
  
+diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
+index e116e38..c80d850 100644  
+--- a/arch/sparc64/kernel/process.c
++++ b/arch/sparc64/kernel/process.c
+@@ -731,9 +731,6 @@ asmlinkage int sparc_execve(struct pt_re
+ 		current_thread_info()->xfsr[0] = 0;
+ 		current_thread_info()->fpsaved[0] = 0;
+ 		regs->tstate &= ~TSTATE_PEF;
+-		task_lock(current);
+-		current->ptrace &= ~PT_DTRACE;
+-		task_unlock(current);
+ 	}
+ out:
+ 	return error;
+diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c
+index 9a1ba1f..453023b 100644  
+--- a/arch/sparc64/kernel/ptrace.c
++++ b/arch/sparc64/kernel/ptrace.c
+@@ -23,6 +23,7 @@
+ #include <linux/audit.h>
+ #include <linux/signal.h>
+ #include <linux/regset.h>
++#include <linux/tracehook.h>
+ #include <linux/compat.h>
+ #include <linux/elf.h>
+ 
+@@ -792,7 +793,7 @@ long compat_arch_ptrace(struct task_stru
+ 		break;
+ 
+ 	default:
+-		ret = compat_ptrace_request(child, request, addr, data);
++		ret = -ENOSYS;
+ 		break;
+ 	}
+ 
+@@ -880,7 +881,7 @@ long arch_ptrace(struct task_struct *chi
+ 		break;
+ 
+ 	default:
+-		ret = ptrace_request(child, request, addr, data);
++		ret = -ENOSYS;
+ 		break;
+ 	}
+ 
+@@ -902,26 +903,13 @@ asmlinkage void syscall_trace(struct pt_
+ 		audit_syscall_exit(result, regs->u_regs[UREG_I0]);
+ 	}
+ 
+-	if (!(current->ptrace & PT_PTRACED))
+-		goto out;
+-
+-	if (!test_thread_flag(TIF_SYSCALL_TRACE))
+-		goto out;
+-
+-	ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
+-				 ? 0x80 : 0));
+-
+-	/*
+-	 * this isn't the same as continuing with a signal, but it will do
+-	 * for normal use.  strace only continues with a signal if the
+-	 * stopping signal is not SIGTRAP.  -brl
+-	 */
+-	if (current->exit_code) {
+-		send_sig(current->exit_code, current, 1);
+-		current->exit_code = 0;
++	if (test_thread_flag(TIF_SYSCALL_TRACE)) {
++		if (syscall_exit_p)
++			tracehook_report_syscall_exit(regs, 0);
++		else
++			tracehook_report_syscall_entry(regs);
+ 	}
+ 
+-out:
+ 	if (unlikely(current->audit_context) && !syscall_exit_p)
+ 		audit_syscall_entry((test_thread_flag(TIF_32BIT) ?
+ 				     AUDIT_ARCH_SPARC :
+diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c
+index deaba2b..41cbc6b 100644  
+--- a/arch/sparc64/kernel/sys_sparc32.c
++++ b/arch/sparc64/kernel/sys_sparc32.c
+@@ -678,9 +678,6 @@ asmlinkage long sparc32_execve(struct pt
+ 		current_thread_info()->xfsr[0] = 0;
+ 		current_thread_info()->fpsaved[0] = 0;
+ 		regs->tstate &= ~TSTATE_PEF;
+-		task_lock(current);
+-		current->ptrace &= ~PT_DTRACE;
+-		task_unlock(current);
+ 	}
+ out:
+ 	return error;
 diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c
 index 58cccb6..a0e1dbe 100644  
 --- a/arch/x86/ia32/ia32_aout.c




More information about the fedora-extras-commits mailing list