diff options
Diffstat (limited to 'kernel/exit.c')
| -rw-r--r-- | kernel/exit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index e2bdf37f9fde..b194febf5799 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
| @@ -50,6 +50,7 @@ | |||
| 50 | #include <linux/perf_event.h> | 50 | #include <linux/perf_event.h> |
| 51 | #include <trace/events/sched.h> | 51 | #include <trace/events/sched.h> |
| 52 | #include <linux/hw_breakpoint.h> | 52 | #include <linux/hw_breakpoint.h> |
| 53 | #include <linux/oom.h> | ||
| 53 | 54 | ||
| 54 | #include <asm/uaccess.h> | 55 | #include <asm/uaccess.h> |
| 55 | #include <asm/unistd.h> | 56 | #include <asm/unistd.h> |
| @@ -687,6 +688,8 @@ static void exit_mm(struct task_struct * tsk) | |||
| 687 | enter_lazy_tlb(mm, current); | 688 | enter_lazy_tlb(mm, current); |
| 688 | /* We don't want this task to be frozen prematurely */ | 689 | /* We don't want this task to be frozen prematurely */ |
| 689 | clear_freeze_flag(tsk); | 690 | clear_freeze_flag(tsk); |
| 691 | if (tsk->signal->oom_score_adj == OOM_SCORE_ADJ_MIN) | ||
| 692 | atomic_dec(&mm->oom_disable_count); | ||
| 690 | task_unlock(tsk); | 693 | task_unlock(tsk); |
| 691 | mm_update_next_owner(mm); | 694 | mm_update_next_owner(mm); |
| 692 | mmput(mm); | 695 | mmput(mm); |
| @@ -700,6 +703,8 @@ static void exit_mm(struct task_struct * tsk) | |||
| 700 | * space. | 703 | * space. |
| 701 | */ | 704 | */ |
| 702 | static struct task_struct *find_new_reaper(struct task_struct *father) | 705 | static struct task_struct *find_new_reaper(struct task_struct *father) |
| 706 | __releases(&tasklist_lock) | ||
| 707 | __acquires(&tasklist_lock) | ||
| 703 | { | 708 | { |
| 704 | struct pid_namespace *pid_ns = task_active_pid_ns(father); | 709 | struct pid_namespace *pid_ns = task_active_pid_ns(father); |
| 705 | struct task_struct *thread; | 710 | struct task_struct *thread; |
