[opensuse-kernel] [PATCH] Remove patches.fixes/ptrace-getsiginfo

This has been fixed in 2.6.26 by e16b278. --- patches.fixes/ptrace-getsiginfo | 79 ----------------------------------------- series.conf | 1 - 2 files changed, 80 deletions(-) delete mode 100644 patches.fixes/ptrace-getsiginfo diff --git a/patches.fixes/ptrace-getsiginfo b/patches.fixes/ptrace-getsiginfo deleted file mode 100644 index 64e91b7..0000000 --- a/patches.fixes/ptrace-getsiginfo +++ /dev/null @@ -1,79 +0,0 @@ -From: Andreas Schwab <schwab@suse.de> -Subject: Add compat handler for PTRACE_GETSIGINFO -Patch-mainline: not yet - -Current versions of gdb require a working implementation of -PTRACE_GETSIGINFO for proper watchpoint support. Since struct siginfo -contains pointers it must be converted when passed to a 32-bit debugger. - -Signed-off-by: Andreas Schwab <schwab@suse.de> ---- - arch/powerpc/kernel/ppc32.h | 2 ++ - arch/powerpc/kernel/ptrace32.c | 27 +++++++++++++++++++++++++++ - 2 files changed, 29 insertions(+) - ---- a/arch/powerpc/kernel/ppc32.h -+++ b/arch/powerpc/kernel/ppc32.h -@@ -136,4 +136,6 @@ struct ucontext32 { - struct mcontext32 uc_mcontext; - }; - -+extern int copy_siginfo_to_user32(struct compat_siginfo __user *d, siginfo_t *s); -+ - #endif /* _PPC64_PPC32_H */ ---- a/arch/powerpc/kernel/ptrace32.c -+++ b/arch/powerpc/kernel/ptrace32.c -@@ -28,12 +28,15 @@ - #include <linux/security.h> - #include <linux/signal.h> - #include <linux/compat.h> -+#include <linux/elf.h> - - #include <asm/uaccess.h> - #include <asm/page.h> - #include <asm/pgtable.h> - #include <asm/switch_to.h> - -+#include "ppc32.h" -+ - /* - * does not yet catch signals sent when the child dies. - * in exit.c or in signal.c. -@@ -69,6 +72,27 @@ static long compat_ptrace_old(struct tas - #define FPRHALF(i) (((i) - PT_FPR0) & 1) - #define FPRINDEX(i) TS_FPRWIDTH * FPRNUMBER(i) * 2 + FPRHALF(i) - -+static int compat_ptrace_getsiginfo(struct task_struct *child, compat_siginfo_t __user *data) -+{ -+ siginfo_t lastinfo; -+ int error = -ESRCH; -+ -+ read_lock(&tasklist_lock); -+ if (likely(child->sighand != NULL)) { -+ error = -EINVAL; -+ spin_lock_irq(&child->sighand->siglock); -+ if (likely(child->last_siginfo != NULL)) { -+ lastinfo = *child->last_siginfo; -+ error = 0; -+ } -+ spin_unlock_irq(&child->sighand->siglock); -+ } -+ read_unlock(&tasklist_lock); -+ if (!error) -+ return copy_siginfo_to_user32(data, &lastinfo); -+ return error; -+} -+ - long compat_arch_ptrace(struct task_struct *child, compat_long_t request, - compat_ulong_t caddr, compat_ulong_t cdata) - { -@@ -296,6 +320,9 @@ long compat_arch_ptrace(struct task_stru - 0, PT_REGS_COUNT * sizeof(compat_long_t), - compat_ptr(data)); - -+ case PTRACE_GETSIGINFO: -+ return compat_ptrace_getsiginfo(child, compat_ptr(data)); -+ - case PTRACE_GETFPREGS: - case PTRACE_SETFPREGS: - case PTRACE_GETVRREGS: diff --git a/series.conf b/series.conf index 5de663c..3985281 100644 --- a/series.conf +++ b/series.conf @@ -128,7 +128,6 @@ patches.drivers/ppc64-adb patches.suse/suse-ppc64-branding patches.arch/ppc-prom-nodisplay.patch -+needs_update patches.fixes/ptrace-getsiginfo ######################################################## # powerpc/little endian -- 2.7.0 -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (1)
-
Andreas Schwab