Andrew, could you please fold this in?
---
>From 4e23df3584966f6d7885245f3071c15669b8a5fc Mon Sep 17 00:00:00 2001
From: Michal Hocko <[email protected]>
Date: Fri, 8 Apr 2016 15:04:29 +0200
Subject: [PATCH] mm, oom_reaper: clear oom_reaper_list before clearing
 TIF_MEMDIE

As per Tetsuo:
: oom_reaper() will need to do "tsk->oom_reaper_list = NULL;" due to
:
:         if (tsk == oom_reaper_list || tsk->oom_reaper_list)
:                 return;
:
: test in wake_oom_reaper() if "[PATCH 3/3] mm, oom_reaper: clear
: TIF_MEMDIE for all tasks queued for oom_reaper" will select the same
: thread again

Signed-off-by: Michal Hocko <[email protected]>
---
 mm/oom_kill.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 7098104b7475..ca34036f3ae1 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -540,6 +540,7 @@ static void oom_reap_task(struct task_struct *tsk)
         * for the oom victim right now because it cannot release its memory
         * itself nor by the oom reaper.
         */
+       tsk->oom_reaper_list = NULL;
        exit_oom_victim(tsk);
 
        /* Drop a reference taken by wake_oom_reaper */
-- 
2.8.0.rc3

-- 
Michal Hocko
SUSE Labs

Reply via email to