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
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 24 May 2016 13:46:12 +0200
From:	Michal Hocko <mhocko@...nel.org>
To:	Vladimir Davydov <vdavydov@...tuozzo.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>,
	linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm: oom: do not reap task if there are live threads in
 threadgroup

On Tue 24-05-16 14:00:28, Vladimir Davydov wrote:
> If the current process is exiting, we don't invoke oom killer, instead
> we give it access to memory reserves and try to reap its mm in case
> nobody is going to use it. There's a mistake in the code performing this
> check - we just ignore any process of the same thread group no matter if
> it is exiting or not - see try_oom_reaper. Fix it.

This is not a problem with the current code because of 98748bd72200
("oom: consider multi-threaded tasks in task_will_free_mem") which got
merged later on, however.

The check is not needed so we can indeed drop it.

Fixes: 3ef22dfff239 ("oom, oom_reaper: try to reap tasks which skip
regular OOM killer path")

Just in case somebody wants to backport only 3ef22dfff239.

> Signed-off-by: Vladimir Davydov <vdavydov@...tuozzo.com>

Acked-by: Michal Hocko <mhocko@...e.com>

Thanks!

> ---
>  mm/oom_kill.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
> index c0e37dd1422f..03bf7a472296 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -618,8 +618,6 @@ void try_oom_reaper(struct task_struct *tsk)
>  
>  			if (!process_shares_mm(p, mm))
>  				continue;
> -			if (same_thread_group(p, tsk))
> -				continue;
>  			if (fatal_signal_pending(p))
>  				continue;
>  
> -- 
> 2.1.4

-- 
Michal Hocko
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ