Messages in this thread | | | From | Vasily Averin <> | Subject | [PATCH memcg v2 0/2] memcg: prohibit unconditional exceeding the limit of dying tasks | Date | Fri, 22 Oct 2021 11:10:40 +0300 |
| |
Memory cgroup charging allows killed or exiting tasks to exceed the hard limit. It can be misused and allow to trigger global OOM from inside memcg-limited container. On the other hand if memcg fail allocation, called from inside #PF handler it trigger global OOM from inside pagefault_out_of_memory().
To prevent these problems this patch set: 1) removes execution of out_of_memory() from pagefault_out_of_memory(), becasue nobody can explain why it is necessary. 2) allows memcg to fail the allocations of dying/killed tasks.
v2: resplit, use old patch from Michal Hocko removing out_of_memory() from pagefault_out_of_memory()
Michal Hocko (1): mm, oom: do not trigger out_of_memory from the #PF
Vasily Averin (1): memcg: prohibit unconditional exceeding the limit of dying tasks
mm/memcontrol.c | 27 ++++++++------------------- mm/oom_kill.c | 23 ++++++++++------------- 2 files changed, 18 insertions(+), 32 deletions(-)
-- 2.32.0
| |