From: Greg Kroah-Hartman Date: Thu, 7 Dec 2017 07:56:46 +0000 (+0100) Subject: drop kprobe patch from 3.18 and 4.9 queues X-Git-Tag: v3.18.87~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8b7641d328444b4b91c8913bd1460df906dad6b8;p=thirdparty%2Fkernel%2Fstable-queue.git drop kprobe patch from 3.18 and 4.9 queues --- diff --git a/queue-3.18/kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch b/queue-3.18/kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch deleted file mode 100644 index e91c111e75a..00000000000 --- a/queue-3.18/kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch +++ /dev/null @@ -1,74 +0,0 @@ -From foo@baz Tue Dec 5 18:18:39 CET 2017 -From: Masami Hiramatsu -Date: Fri, 20 Oct 2017 08:43:39 +0900 -Subject: kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y - -From: Masami Hiramatsu - - -[ Upstream commit a30b85df7d599f626973e9cd3056fe755bd778e0 ] - -We want to wait for all potentially preempted kprobes trampoline -execution to have completed. This guarantees that any freed -trampoline memory is not in use by any task in the system anymore. -synchronize_rcu_tasks() gives such a guarantee, so use it. - -Also, this guarantees to wait for all potentially preempted tasks -on the instructions which will be replaced with a jump. - -Since this becomes a problem only when CONFIG_PREEMPT=y, enable -CONFIG_TASKS_RCU=y for synchronize_rcu_tasks() in that case. - -Signed-off-by: Masami Hiramatsu -Acked-by: Paul E. McKenney -Cc: Ananth N Mavinakayanahalli -Cc: Linus Torvalds -Cc: Naveen N . Rao -Cc: Paul E . McKenney -Cc: Peter Zijlstra -Cc: Steven Rostedt -Cc: Thomas Gleixner -Link: http://lkml.kernel.org/r/150845661962.5443.17724352636247312231.stgit@devbox -Signed-off-by: Ingo Molnar -Signed-off-by: Sasha Levin -Signed-off-by: Greg Kroah-Hartman ---- - arch/Kconfig | 2 +- - kernel/kprobes.c | 14 ++++++++------ - 2 files changed, 9 insertions(+), 7 deletions(-) - ---- a/arch/Kconfig -+++ b/arch/Kconfig -@@ -74,7 +74,7 @@ config JUMP_LABEL - config OPTPROBES - def_bool y - depends on KPROBES && HAVE_OPTPROBES -- depends on !PREEMPT -+ select TASKS_RCU if PREEMPT - - config KPROBES_ON_FTRACE - def_bool y ---- a/kernel/kprobes.c -+++ b/kernel/kprobes.c -@@ -540,13 +540,15 @@ static void kprobe_optimizer(struct work - do_unoptimize_kprobes(); - - /* -- * Step 2: Wait for quiesence period to ensure all running interrupts -- * are done. Because optprobe may modify multiple instructions -- * there is a chance that Nth instruction is interrupted. In that -- * case, running interrupt can return to 2nd-Nth byte of jump -- * instruction. This wait is for avoiding it. -+ * Step 2: Wait for quiesence period to ensure all potentially -+ * preempted tasks to have normally scheduled. Because optprobe -+ * may modify multiple instructions, there is a chance that Nth -+ * instruction is preempted. In that case, such tasks can return -+ * to 2nd-Nth byte of jump instruction. This wait is for avoiding it. -+ * Note that on non-preemptive kernel, this is transparently converted -+ * to synchronoze_sched() to wait for all interrupts to have completed. - */ -- synchronize_sched(); -+ synchronize_rcu_tasks(); - - /* Step 3: Optimize kprobes after quiesence period */ - do_optimize_kprobes(); diff --git a/queue-3.18/series b/queue-3.18/series index 6955f51a731..0d75f9c061c 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -2,7 +2,6 @@ bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch bcache-recover-data-from-backing-when-data-is-clean.patch serial-8250_fintek-fix-rs485-disablement-on-invalid-ioctl.patch spi-sh-msiof-fix-dma-transfer-size-check.patch -kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch edac-sb_edac-fix-missing-break-in-switch.patch sysrq-fix-show-regs-call-trace-on-arm.patch usbip-tools-install-all-headers-needed-for-libusbip-development.patch diff --git a/queue-4.9/kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch b/queue-4.9/kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch deleted file mode 100644 index 4fe255d5f63..00000000000 --- a/queue-4.9/kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch +++ /dev/null @@ -1,74 +0,0 @@ -From foo@baz Wed Dec 6 17:39:55 CET 2017 -From: Masami Hiramatsu -Date: Fri, 20 Oct 2017 08:43:39 +0900 -Subject: kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y - -From: Masami Hiramatsu - - -[ Upstream commit a30b85df7d599f626973e9cd3056fe755bd778e0 ] - -We want to wait for all potentially preempted kprobes trampoline -execution to have completed. This guarantees that any freed -trampoline memory is not in use by any task in the system anymore. -synchronize_rcu_tasks() gives such a guarantee, so use it. - -Also, this guarantees to wait for all potentially preempted tasks -on the instructions which will be replaced with a jump. - -Since this becomes a problem only when CONFIG_PREEMPT=y, enable -CONFIG_TASKS_RCU=y for synchronize_rcu_tasks() in that case. - -Signed-off-by: Masami Hiramatsu -Acked-by: Paul E. McKenney -Cc: Ananth N Mavinakayanahalli -Cc: Linus Torvalds -Cc: Naveen N . Rao -Cc: Paul E . McKenney -Cc: Peter Zijlstra -Cc: Steven Rostedt -Cc: Thomas Gleixner -Link: http://lkml.kernel.org/r/150845661962.5443.17724352636247312231.stgit@devbox -Signed-off-by: Ingo Molnar -Signed-off-by: Sasha Levin -Signed-off-by: Greg Kroah-Hartman ---- - arch/Kconfig | 2 +- - kernel/kprobes.c | 14 ++++++++------ - 2 files changed, 9 insertions(+), 7 deletions(-) - ---- a/arch/Kconfig -+++ b/arch/Kconfig -@@ -83,7 +83,7 @@ config STATIC_KEYS_SELFTEST - config OPTPROBES - def_bool y - depends on KPROBES && HAVE_OPTPROBES -- depends on !PREEMPT -+ select TASKS_RCU if PREEMPT - - config KPROBES_ON_FTRACE - def_bool y ---- a/kernel/kprobes.c -+++ b/kernel/kprobes.c -@@ -540,13 +540,15 @@ static void kprobe_optimizer(struct work - do_unoptimize_kprobes(); - - /* -- * Step 2: Wait for quiesence period to ensure all running interrupts -- * are done. Because optprobe may modify multiple instructions -- * there is a chance that Nth instruction is interrupted. In that -- * case, running interrupt can return to 2nd-Nth byte of jump -- * instruction. This wait is for avoiding it. -+ * Step 2: Wait for quiesence period to ensure all potentially -+ * preempted tasks to have normally scheduled. Because optprobe -+ * may modify multiple instructions, there is a chance that Nth -+ * instruction is preempted. In that case, such tasks can return -+ * to 2nd-Nth byte of jump instruction. This wait is for avoiding it. -+ * Note that on non-preemptive kernel, this is transparently converted -+ * to synchronoze_sched() to wait for all interrupts to have completed. - */ -- synchronize_sched(); -+ synchronize_rcu_tasks(); - - /* Step 3: Optimize kprobes after quiesence period */ - do_optimize_kprobes(); diff --git a/queue-4.9/series b/queue-4.9/series index a9216a8f6d5..1256d54eb1e 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -23,7 +23,6 @@ usb-dwc2-fix-udc-state-tracking.patch usb-dwc2-error-out-of-dwc2_hsotg_ep_disable-if-we-re-in-host-mode.patch usb-phy-tahvo-fix-error-handling-in-tahvo_usb_probe.patch serial-8250-preserve-dld-for-port_xr17v35x.patch -kprobes-use-synchronize_rcu_tasks-for-optprobe-with-config_preempt-y.patch x86-entry-use-syscall_define-macros-for-sys_modify_ldt.patch edac-sb_edac-fix-missing-break-in-switch.patch sysrq-fix-show-regs-call-trace-on-arm.patch