Re: [PATCH] mm: memcontrol: fix possible css ref leak on oom

From: Vladimir Davydov
Date: Tue May 24 2016 - 05:18:25 EST

On Mon, May 23, 2016 at 07:44:43PM +0200, Michal Hocko wrote:
> On Mon 23-05-16 19:02:10, Vladimir Davydov wrote:
> > mem_cgroup_oom may be invoked multiple times while a process is handling
> > a page fault, in which case current->memcg_in_oom will be overwritten
> > leaking the previously taken css reference.
> Have you seen this happening? I was under impression that the page fault
> paths that have oom enabled will not retry allocations.

filemap_fault will, for readahead.

This is rather unlikely, just like the whole oom scenario, so I haven't
faced this leak in production yet, although it's pretty easy to
reproduce using a contrived test. However, even if this leak happened on
my host, I would probably not notice, because currently we have no clear
means of catching css leaks. I'm thinking about adding a file to debugfs
containing brief information about all memory cgroups, including dead
ones, so that we could at least see how many dead memory cgroups are
dangling out there.

> > Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
> That being said I do not have anything against the patch. It is a good
> safety net I am just not sure this might happen right now and so the
> patch is not stable candidate.
> After clarification
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>