diff options
Diffstat (limited to 'fs/exec.c')
-rw-r--r-- | fs/exec.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -62,6 +62,7 @@ | |||
62 | #include <linux/oom.h> | 62 | #include <linux/oom.h> |
63 | #include <linux/compat.h> | 63 | #include <linux/compat.h> |
64 | #include <linux/vmalloc.h> | 64 | #include <linux/vmalloc.h> |
65 | #include <linux/freezer.h> | ||
65 | 66 | ||
66 | #include <linux/uaccess.h> | 67 | #include <linux/uaccess.h> |
67 | #include <asm/mmu_context.h> | 68 | #include <asm/mmu_context.h> |
@@ -1083,7 +1084,7 @@ static int de_thread(struct task_struct *tsk) | |||
1083 | while (sig->notify_count) { | 1084 | while (sig->notify_count) { |
1084 | __set_current_state(TASK_KILLABLE); | 1085 | __set_current_state(TASK_KILLABLE); |
1085 | spin_unlock_irq(lock); | 1086 | spin_unlock_irq(lock); |
1086 | schedule(); | 1087 | freezable_schedule(); |
1087 | if (unlikely(__fatal_signal_pending(tsk))) | 1088 | if (unlikely(__fatal_signal_pending(tsk))) |
1088 | goto killed; | 1089 | goto killed; |
1089 | spin_lock_irq(lock); | 1090 | spin_lock_irq(lock); |
@@ -1111,7 +1112,7 @@ static int de_thread(struct task_struct *tsk) | |||
1111 | __set_current_state(TASK_KILLABLE); | 1112 | __set_current_state(TASK_KILLABLE); |
1112 | write_unlock_irq(&tasklist_lock); | 1113 | write_unlock_irq(&tasklist_lock); |
1113 | cgroup_threadgroup_change_end(tsk); | 1114 | cgroup_threadgroup_change_end(tsk); |
1114 | schedule(); | 1115 | freezable_schedule(); |
1115 | if (unlikely(__fatal_signal_pending(tsk))) | 1116 | if (unlikely(__fatal_signal_pending(tsk))) |
1116 | goto killed; | 1117 | goto killed; |
1117 | } | 1118 | } |