lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <201712080044.BID56711.FFVOLMStJOQHOF@I-love.SAKURA.ne.jp> Date: Fri, 8 Dec 2017 00:44:11 +0900 From: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp> To: mhocko@...nel.org, rientjes@...gle.com Cc: akpm@...ux-foundation.org, aarcange@...hat.com, linux-kernel@...r.kernel.org, linux-mm@...ck.org Subject: Re: Multiple oom_reaper BUGs: unmap_page_range racing with exit_mmap Michal Hocko wrote: > David, could you test with this patch please? Even if this patch solved David's case, you need to update * tsk_is_oom_victim() cannot be set from under us * either because current->mm is already set to NULL * under task_lock before calling mmput and oom_mm is * set not NULL by the OOM killer only if current->mm * is found not NULL while holding the task_lock. part as well, for it is the explanation of why tsk_is_oom_victim() test was expected to work. Also, do we need to do set_bit(MMF_OOM_SKIP, &mm->flags); if mm_is_oom_victim(mm) == false? exit_mmap() is called means that nobody can reach this mm except ->signal->oom_mm, and mm_is_oom_victim(mm) == false means that this mm cannot be reached by ->signal->oom_mm . Then, I think we do not need to set MMF_OOM_SKIP on this mm at exit_mmap() if mm_is_oom_victim(mm) == false.
Powered by blists - more mailing lists