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