The patch titled Consolidate PTRACE_DETACH has been removed from the -mm tree. Its filename was consolidate-ptrace_detach.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: Consolidate PTRACE_DETACH From: Alexey Dobriyan <adobriyan@xxxxx> Identical handlers of PTRACE_DETACH go into ptrace_request(). Not touching compat code. Not touching archs that don't call ptrace_request. Signed-off-by: Alexey Dobriyan <adobriyan@xxxxx> Acked-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/alpha/kernel/ptrace.c | 4 ---- arch/arm/kernel/ptrace.c | 4 ---- arch/avr32/kernel/ptrace.c | 5 ----- arch/blackfin/kernel/ptrace.c | 6 ------ arch/cris/arch-v10/kernel/ptrace.c | 4 ---- arch/cris/arch-v32/kernel/ptrace.c | 4 ---- arch/m32r/kernel/ptrace.c | 8 -------- arch/m68k/kernel/ptrace.c | 4 ---- arch/mips/kernel/ptrace.c | 4 ---- arch/parisc/kernel/ptrace.c | 4 ---- arch/powerpc/kernel/ptrace.c | 4 ---- arch/s390/kernel/ptrace.c | 5 ----- arch/sh/kernel/ptrace.c | 4 ---- arch/sh64/kernel/ptrace.c | 4 ---- arch/um/kernel/ptrace.c | 5 ----- arch/x86/kernel/ptrace_32.c | 5 ----- arch/x86/kernel/ptrace_64.c | 5 ----- arch/xtensa/kernel/ptrace.c | 4 ---- kernel/ptrace.c | 3 +++ 19 files changed, 3 insertions(+), 83 deletions(-) diff -puN arch/alpha/kernel/ptrace.c~consolidate-ptrace_detach arch/alpha/kernel/ptrace.c --- a/arch/alpha/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/alpha/kernel/ptrace.c @@ -368,10 +368,6 @@ do_sys_ptrace(long request, long pid, lo ret = 0; goto out; - case PTRACE_DETACH: /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - goto out; - default: ret = ptrace_request(child, request, addr, data); goto out; diff -puN arch/arm/kernel/ptrace.c~consolidate-ptrace_detach arch/arm/kernel/ptrace.c --- a/arch/arm/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/arm/kernel/ptrace.c @@ -731,10 +731,6 @@ long arch_ptrace(struct task_struct *chi ret = 0; break; - case PTRACE_DETACH: - ret = ptrace_detach(child, data); - break; - case PTRACE_GETREGS: ret = ptrace_getregs(child, (void __user *)data); break; diff -puN arch/avr32/kernel/ptrace.c~consolidate-ptrace_detach arch/avr32/kernel/ptrace.c --- a/arch/avr32/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/avr32/kernel/ptrace.c @@ -227,11 +227,6 @@ long arch_ptrace(struct task_struct *chi ret = 0; break; - /* Detach a process that was attached */ - case PTRACE_DETACH: - ret = ptrace_detach(child, data); - break; - case PTRACE_GETREGS: ret = ptrace_getregs(child, (void __user *)data); break; diff -puN arch/blackfin/kernel/ptrace.c~consolidate-ptrace_detach arch/blackfin/kernel/ptrace.c --- a/arch/blackfin/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/blackfin/kernel/ptrace.c @@ -385,12 +385,6 @@ long arch_ptrace(struct task_struct *chi break; } - case PTRACE_DETACH: - { /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - } - case PTRACE_GETREGS: { diff -puN arch/cris/arch-v10/kernel/ptrace.c~consolidate-ptrace_detach arch/cris/arch-v10/kernel/ptrace.c --- a/arch/cris/arch-v10/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/cris/arch-v10/kernel/ptrace.c @@ -177,10 +177,6 @@ long arch_ptrace(struct task_struct *chi ret = 0; break; - case PTRACE_DETACH: - ret = ptrace_detach(child, data); - break; - /* Get all GP registers from the child. */ case PTRACE_GETREGS: { int i; diff -puN arch/cris/arch-v32/kernel/ptrace.c~consolidate-ptrace_detach arch/cris/arch-v32/kernel/ptrace.c --- a/arch/cris/arch-v32/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/cris/arch-v32/kernel/ptrace.c @@ -245,10 +245,6 @@ long arch_ptrace(struct task_struct *chi break; } - case PTRACE_DETACH: - ret = ptrace_detach(child, data); - break; - /* Get all GP registers from the child. */ case PTRACE_GETREGS: { int i; diff -puN arch/m32r/kernel/ptrace.c~consolidate-ptrace_detach arch/m32r/kernel/ptrace.c --- a/arch/m32r/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/m32r/kernel/ptrace.c @@ -704,14 +704,6 @@ do_ptrace(long request, struct task_stru break; } - /* - * detach a process that was attached. - */ - case PTRACE_DETACH: - ret = 0; - ret = ptrace_detach(child, data); - break; - case PTRACE_GETREGS: ret = ptrace_getregs(child, (void __user *)data); break; diff -puN arch/m68k/kernel/ptrace.c~consolidate-ptrace_detach arch/m68k/kernel/ptrace.c --- a/arch/m68k/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/m68k/kernel/ptrace.c @@ -226,10 +226,6 @@ long arch_ptrace(struct task_struct *chi wake_up_process(child); break; - case PTRACE_DETACH: /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - case PTRACE_GETREGS: /* Get all gp regs from the child. */ for (i = 0; i < 19; i++) { tmp = get_reg(child, i); diff -puN arch/mips/kernel/ptrace.c~consolidate-ptrace_detach arch/mips/kernel/ptrace.c --- a/arch/mips/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/mips/kernel/ptrace.c @@ -435,10 +435,6 @@ long arch_ptrace(struct task_struct *chi wake_up_process(child); break; - case PTRACE_DETACH: /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - case PTRACE_GET_THREAD_AREA: ret = put_user(task_thread_info(child)->tp_value, (unsigned long __user *) data); diff -puN arch/parisc/kernel/ptrace.c~consolidate-ptrace_detach arch/parisc/kernel/ptrace.c --- a/arch/parisc/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/parisc/kernel/ptrace.c @@ -329,10 +329,6 @@ long arch_ptrace(struct task_struct *chi /* give it a chance to run. */ goto out_wake; - case PTRACE_DETACH: - ret = ptrace_detach(child, data); - goto out_tsk; - case PTRACE_GETEVENTMSG: ret = put_user(child->ptrace_message, (unsigned int __user *) data); goto out_tsk; diff -puN arch/powerpc/kernel/ptrace.c~consolidate-ptrace_detach arch/powerpc/kernel/ptrace.c --- a/arch/powerpc/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/powerpc/kernel/ptrace.c @@ -505,10 +505,6 @@ long arch_ptrace(struct task_struct *chi ret = ptrace_set_debugreg(child, addr, data); break; - case PTRACE_DETACH: - ret = ptrace_detach(child, data); - break; - #ifdef CONFIG_PPC64 case PTRACE_GETREGS64: #endif diff -puN arch/s390/kernel/ptrace.c~consolidate-ptrace_detach arch/s390/kernel/ptrace.c --- a/arch/s390/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/s390/kernel/ptrace.c @@ -683,11 +683,6 @@ do_ptrace(struct task_struct *child, lon wake_up_process(child); return 0; - case PTRACE_DETACH: - /* detach a process that was attached. */ - return ptrace_detach(child, data); - - /* Do requests that differ for 31/64 bit */ default: #ifdef CONFIG_COMPAT diff -puN arch/sh/kernel/ptrace.c~consolidate-ptrace_detach arch/sh/kernel/ptrace.c --- a/arch/sh/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/sh/kernel/ptrace.c @@ -211,10 +211,6 @@ long arch_ptrace(struct task_struct *chi break; } - case PTRACE_DETACH: /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - #ifdef CONFIG_SH_DSP case PTRACE_GETDSPREGS: { unsigned long dp; diff -puN arch/sh64/kernel/ptrace.c~consolidate-ptrace_detach arch/sh64/kernel/ptrace.c --- a/arch/sh64/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/sh64/kernel/ptrace.c @@ -244,10 +244,6 @@ long arch_ptrace(struct task_struct *chi break; } - case PTRACE_DETACH: /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - default: ret = ptrace_request(child, request, addr, data); break; diff -puN arch/um/kernel/ptrace.c~consolidate-ptrace_detach arch/um/kernel/ptrace.c --- a/arch/um/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/um/kernel/ptrace.c @@ -119,11 +119,6 @@ long arch_ptrace(struct task_struct *chi break; } - case PTRACE_DETACH: - /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - #ifdef PTRACE_GETREGS case PTRACE_GETREGS: { /* Get all gp regs from the child. */ if (!access_ok(VERIFY_WRITE, p, MAX_REG_OFFSET)) { diff -puN arch/x86/kernel/ptrace_32.c~consolidate-ptrace_detach arch/x86/kernel/ptrace_32.c --- a/arch/x86/kernel/ptrace_32.c~consolidate-ptrace_detach +++ a/arch/x86/kernel/ptrace_32.c @@ -524,11 +524,6 @@ long arch_ptrace(struct task_struct *chi ret = 0; break; - case PTRACE_DETACH: - /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - case PTRACE_GETREGS: { /* Get all gp regs from the child. */ if (!access_ok(VERIFY_WRITE, datap, FRAME_SIZE*sizeof(long))) { ret = -EIO; diff -puN arch/x86/kernel/ptrace_64.c~consolidate-ptrace_detach arch/x86/kernel/ptrace_64.c --- a/arch/x86/kernel/ptrace_64.c~consolidate-ptrace_detach +++ a/arch/x86/kernel/ptrace_64.c @@ -500,11 +500,6 @@ long arch_ptrace(struct task_struct *chi ret = 0; break; - case PTRACE_DETACH: - /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - case PTRACE_GETREGS: { /* Get all gp regs from the child. */ if (!access_ok(VERIFY_WRITE, (unsigned __user *)data, sizeof(struct user_regs_struct))) { diff -puN arch/xtensa/kernel/ptrace.c~consolidate-ptrace_detach arch/xtensa/kernel/ptrace.c --- a/arch/xtensa/kernel/ptrace.c~consolidate-ptrace_detach +++ a/arch/xtensa/kernel/ptrace.c @@ -304,10 +304,6 @@ long arch_ptrace(struct task_struct *chi ret = put_user(sizeof(elf_fpregset_t), (unsigned long *) data); break; - case PTRACE_DETACH: /* detach a process that was attached. */ - ret = ptrace_detach(child, data); - break; - default: ret = ptrace_request(child, request, addr, data); goto out; diff -puN kernel/ptrace.c~consolidate-ptrace_detach kernel/ptrace.c --- a/kernel/ptrace.c~consolidate-ptrace_detach +++ a/kernel/ptrace.c @@ -386,6 +386,9 @@ int ptrace_request(struct task_struct *c case PTRACE_SETSIGINFO: ret = ptrace_setsiginfo(child, (siginfo_t __user *) data); break; + case PTRACE_DETACH: /* detach a process that was attached. */ + ret = ptrace_detach(child, data); + break; default: break; } _ Patches currently in -mm which might be from adobriyan@xxxxx are origin.patch use-list_head-in-binfmt-handling-update.patch make-unregister_binfmt-return-void.patch slab_panic-more-proc-posix-timers-shmem.patch add-kernel-notifierc.patch add-kernel-notifierc-fix.patch add-kernel-notifierc-fix-2.patch add-kernel-notifierc-fix-2-fix-3.patch tweak-proc-ipmi-removal.patch shrink-task_struct-if-config_futex=n.patch userc-deinline.patch userc-ifdef-mq_bytes.patch userc-ifdef-mq_bytes-fix.patch task_struct-move-fpu_counter-and-oomkilladj.patch sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch sysctl-factor-out-sysctl_data.patch sysct-mqueue-remove-the-binary-sysctl-numbers.patch sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch sysctl-fix-neighbour-table-sysctls.patch sysctl-ipv6-route-flushing-kill-binary-path.patch sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch sysctl-x86_64-remove-unnecessary-binary-paths.patch sysctl-remove-broken-cdrom-binary-sysctls.patch sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch sysctl-error-on-bad-sysctl-tables.patch sysctl-update-sysctl_check_table.patch uninline-forkc-exitc.patch uninline-forkc-exitc-checkpatch-fixes.patch single_open-seq_release-leak-diagnostics.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html