linux-stable/fs/notify/fanotify
Shakeel Butt 3062448e3e memcg, fsnotify: no oom-kill for remote memcg charging
[ Upstream commit ec16545096 ]

Commit d46eb14b73 ("fs: fsnotify: account fsnotify metadata to
kmemcg") added remote memcg charging for fanotify and inotify event
objects.  The aim was to charge the memory to the listener who is
interested in the events but without triggering the OOM killer.
Otherwise there would be security concerns for the listener.

At the time, oom-kill trigger was not in the charging path.  A parallel
work added the oom-kill back to charging path i.e.  commit 29ef680ae7
("memcg, oom: move out_of_memory back to the charge path").  So to not
trigger oom-killer in the remote memcg, explicitly add
__GFP_RETRY_MAYFAIL to the fanotigy and inotify event allocations.

Link: http://lkml.kernel.org/r/20190514212259.156585-2-shakeelb@google.com
Signed-off-by: Shakeel Butt <shakeelb@google.com>
Reviewed-by: Roman Gushchin <guro@fb.com>
Acked-by: Jan Kara <jack@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-31 07:27:08 +02:00
..
fanotify.c memcg, fsnotify: no oom-kill for remote memcg charging 2019-07-31 07:27:08 +02:00
fanotify.h fanotify: Avoid lost events due to ENOMEM for unlimited queues 2018-02-27 10:25:33 +01:00
fanotify_user.c Merge branch 'akpm' (patches from Andrew) 2018-08-17 16:49:31 -07:00
Kconfig treewide: Fix typos in Kconfig 2017-10-12 15:42:00 +02:00
Makefile fanotify: fanotify_init syscall declaration 2010-07-28 09:58:55 -04:00