]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
revert exec-make-de_thread-freezable.patch from 4.19 and 4.14
authorSasha Levin <sashal@kernel.org>
Sat, 8 Dec 2018 16:43:45 +0000 (11:43 -0500)
committerSasha Levin <sashal@kernel.org>
Sat, 8 Dec 2018 16:43:45 +0000 (11:43 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.14/exec-make-de_thread-freezable.patch [deleted file]
queue-4.14/series
queue-4.19/exec-make-de_thread-freezable.patch [deleted file]
queue-4.19/series

diff --git a/queue-4.14/exec-make-de_thread-freezable.patch b/queue-4.14/exec-make-de_thread-freezable.patch
deleted file mode 100644 (file)
index 023104e..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From 8a85dd2c1186ddbf45ce2c7a9787d8a9766ebf79 Mon Sep 17 00:00:00 2001
-From: Chanho Min <chanho.min@lge.com>
-Date: Mon, 12 Nov 2018 12:54:45 +0900
-Subject: exec: make de_thread() freezable
-
-[ Upstream commit c22397888f1eed98cd59f0a88f2a5f6925f80e15 ]
-
-Suspend fails due to the exec family of functions blocking the freezer.
-The casue is that de_thread() sleeps in TASK_UNINTERRUPTIBLE waiting for
-all sub-threads to die, and we have the deadlock if one of them is frozen.
-This also can occur with the schedule() waiting for the group thread leader
-to exit if it is frozen.
-
-In our machine, it causes freeze timeout as bellows.
-
-Freezing of tasks failed after 20.010 seconds (1 tasks refusing to freeze, wq_busy=0):
-setcpushares-ls D ffffffc00008ed70     0  5817   1483 0x0040000d
- Call trace:
-[<ffffffc00008ed70>] __switch_to+0x88/0xa0
-[<ffffffc000d1c30c>] __schedule+0x1bc/0x720
-[<ffffffc000d1ca90>] schedule+0x40/0xa8
-[<ffffffc0001cd784>] flush_old_exec+0xdc/0x640
-[<ffffffc000220360>] load_elf_binary+0x2a8/0x1090
-[<ffffffc0001ccff4>] search_binary_handler+0x9c/0x240
-[<ffffffc00021c584>] load_script+0x20c/0x228
-[<ffffffc0001ccff4>] search_binary_handler+0x9c/0x240
-[<ffffffc0001ce8e0>] do_execveat_common.isra.14+0x4f8/0x6e8
-[<ffffffc0001cedd0>] compat_SyS_execve+0x38/0x48
-[<ffffffc00008de30>] el0_svc_naked+0x24/0x28
-
-To fix this, make de_thread() freezable. It looks safe and works fine.
-
-Suggested-by: Oleg Nesterov <oleg@redhat.com>
-Signed-off-by: Chanho Min <chanho.min@lge.com>
-Acked-by: Oleg Nesterov <oleg@redhat.com>
-Acked-by: Pavel Machek <pavel@ucw.cz>
-Acked-by: Michal Hocko <mhocko@suse.com>
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/exec.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/fs/exec.c b/fs/exec.c
-index 0da4d748b4e6..25c529f46aaa 100644
---- a/fs/exec.c
-+++ b/fs/exec.c
-@@ -62,6 +62,7 @@
- #include <linux/oom.h>
- #include <linux/compat.h>
- #include <linux/vmalloc.h>
-+#include <linux/freezer.h>
- #include <linux/uaccess.h>
- #include <asm/mmu_context.h>
-@@ -1079,7 +1080,7 @@ static int de_thread(struct task_struct *tsk)
-       while (sig->notify_count) {
-               __set_current_state(TASK_KILLABLE);
-               spin_unlock_irq(lock);
--              schedule();
-+              freezable_schedule();
-               if (unlikely(__fatal_signal_pending(tsk)))
-                       goto killed;
-               spin_lock_irq(lock);
-@@ -1107,7 +1108,7 @@ static int de_thread(struct task_struct *tsk)
-                       __set_current_state(TASK_KILLABLE);
-                       write_unlock_irq(&tasklist_lock);
-                       cgroup_threadgroup_change_end(tsk);
--                      schedule();
-+                      freezable_schedule();
-                       if (unlikely(__fatal_signal_pending(tsk)))
-                               goto killed;
-               }
--- 
-2.19.1
-
index 6157015ac4196bdf7bd29b0468fd8162379f1ecf..cca273b3a6fedeae1a553cb2c61d491675abfbd3 100644 (file)
@@ -17,7 +17,6 @@ net-mlx4_core-fix-uninitialized-variable-compilation.patch
 net-mlx4-fix-ubsan-warning-of-signed-integer-overflo.patch
 gpio-mockup-fix-indicated-direction.patch
 mtd-rawnand-qcom-namespace-prefix-some-commands.patch
-exec-make-de_thread-freezable.patch
 hid-multitouch-add-pointstick-support-for-cirque-tou.patch
 mtd-spi-nor-fix-cadence-qspi-page-fault-kernel-panic.patch
 qed-fix-bitmap_weight-check.patch
diff --git a/queue-4.19/exec-make-de_thread-freezable.patch b/queue-4.19/exec-make-de_thread-freezable.patch
deleted file mode 100644 (file)
index bd891a6..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From 03fe98edae2fb05c36314d59d19dc9d277462db3 Mon Sep 17 00:00:00 2001
-From: Chanho Min <chanho.min@lge.com>
-Date: Mon, 12 Nov 2018 12:54:45 +0900
-Subject: exec: make de_thread() freezable
-
-[ Upstream commit c22397888f1eed98cd59f0a88f2a5f6925f80e15 ]
-
-Suspend fails due to the exec family of functions blocking the freezer.
-The casue is that de_thread() sleeps in TASK_UNINTERRUPTIBLE waiting for
-all sub-threads to die, and we have the deadlock if one of them is frozen.
-This also can occur with the schedule() waiting for the group thread leader
-to exit if it is frozen.
-
-In our machine, it causes freeze timeout as bellows.
-
-Freezing of tasks failed after 20.010 seconds (1 tasks refusing to freeze, wq_busy=0):
-setcpushares-ls D ffffffc00008ed70     0  5817   1483 0x0040000d
- Call trace:
-[<ffffffc00008ed70>] __switch_to+0x88/0xa0
-[<ffffffc000d1c30c>] __schedule+0x1bc/0x720
-[<ffffffc000d1ca90>] schedule+0x40/0xa8
-[<ffffffc0001cd784>] flush_old_exec+0xdc/0x640
-[<ffffffc000220360>] load_elf_binary+0x2a8/0x1090
-[<ffffffc0001ccff4>] search_binary_handler+0x9c/0x240
-[<ffffffc00021c584>] load_script+0x20c/0x228
-[<ffffffc0001ccff4>] search_binary_handler+0x9c/0x240
-[<ffffffc0001ce8e0>] do_execveat_common.isra.14+0x4f8/0x6e8
-[<ffffffc0001cedd0>] compat_SyS_execve+0x38/0x48
-[<ffffffc00008de30>] el0_svc_naked+0x24/0x28
-
-To fix this, make de_thread() freezable. It looks safe and works fine.
-
-Suggested-by: Oleg Nesterov <oleg@redhat.com>
-Signed-off-by: Chanho Min <chanho.min@lge.com>
-Acked-by: Oleg Nesterov <oleg@redhat.com>
-Acked-by: Pavel Machek <pavel@ucw.cz>
-Acked-by: Michal Hocko <mhocko@suse.com>
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/exec.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/fs/exec.c b/fs/exec.c
-index 1ebf6e5a521d..6da8745857cb 100644
---- a/fs/exec.c
-+++ b/fs/exec.c
-@@ -62,6 +62,7 @@
- #include <linux/oom.h>
- #include <linux/compat.h>
- #include <linux/vmalloc.h>
-+#include <linux/freezer.h>
- #include <linux/uaccess.h>
- #include <asm/mmu_context.h>
-@@ -1083,7 +1084,7 @@ static int de_thread(struct task_struct *tsk)
-       while (sig->notify_count) {
-               __set_current_state(TASK_KILLABLE);
-               spin_unlock_irq(lock);
--              schedule();
-+              freezable_schedule();
-               if (unlikely(__fatal_signal_pending(tsk)))
-                       goto killed;
-               spin_lock_irq(lock);
-@@ -1111,7 +1112,7 @@ static int de_thread(struct task_struct *tsk)
-                       __set_current_state(TASK_KILLABLE);
-                       write_unlock_irq(&tasklist_lock);
-                       cgroup_threadgroup_change_end(tsk);
--                      schedule();
-+                      freezable_schedule();
-                       if (unlikely(__fatal_signal_pending(tsk)))
-                               goto killed;
-               }
--- 
-2.19.1
-
index 860638073fa607bcb203fb862fda64e008bd489b..c461b1fbbe387628dd1d6b6432a4a10e40bc07e9 100644 (file)
@@ -36,7 +36,6 @@ tc-testing-tdc.py-ignore-errors-when-decoding-stdout.patch
 tc-testing-tdc.py-guard-against-lack-of-returncode-i.patch
 mtd-rawnand-qcom-namespace-prefix-some-commands.patch
 cpufreq-ti-cpufreq-only-register-platform_device-whe.patch
-exec-make-de_thread-freezable.patch
 revert-hid-uhid-use-strlcpy-instead-of-strncpy.patch
 hid-multitouch-add-pointstick-support-for-cirque-tou.patch
 mtd-spi-nor-fix-cadence-qspi-page-fault-kernel-panic.patch