aboutsummaryrefslogtreecommitdiffstats
path: root/features/rt/signal-Revert-ptrace-preempt-magic.patch
diff options
context:
space:
mode:
Diffstat (limited to 'features/rt/signal-Revert-ptrace-preempt-magic.patch')
-rw-r--r--features/rt/signal-Revert-ptrace-preempt-magic.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/features/rt/signal-Revert-ptrace-preempt-magic.patch b/features/rt/signal-Revert-ptrace-preempt-magic.patch
new file mode 100644
index 00000000..2408f040
--- /dev/null
+++ b/features/rt/signal-Revert-ptrace-preempt-magic.patch
@@ -0,0 +1,38 @@
+From 06589e25a1763adbe6ac70a0cb1ab769704163ec Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Wed, 21 Sep 2011 19:57:12 +0200
+Subject: [PATCH 083/191] signal: Revert ptrace preempt magic
+
+Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
+than a bandaid around the ptrace design trainwreck. It's not a
+correctness issue, it's merily a cosmetic bandaid.
+
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+---
+ kernel/signal.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/kernel/signal.c b/kernel/signal.c
+index ba4d1ef39a9e..98c48e1ea82e 100644
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -2203,16 +2203,8 @@ static void ptrace_stop(int exit_code, int why, int clear_code, kernel_siginfo_t
+ if (gstop_done && ptrace_reparented(current))
+ do_notify_parent_cldstop(current, false, why);
+
+- /*
+- * Don't want to allow preemption here, because
+- * sys_ptrace() needs this task to be inactive.
+- *
+- * XXX: implement read_unlock_no_resched().
+- */
+- preempt_disable();
+ read_unlock(&tasklist_lock);
+ cgroup_enter_frozen();
+- preempt_enable_no_resched();
+ freezable_schedule();
+ cgroup_leave_frozen(true);
+ } else {
+--
+2.19.1
+