Re: How can OOM killer detect process consuming much kernel memory?
From: KOSAKI Motohiro <hidden>
Date: 2010-09-03 06:32:12
Also in:
lkml
From: KOSAKI Motohiro <hidden>
Date: 2010-09-03 06:32:12
Also in:
lkml
Is it possible to make OOM killer to kill processes consuming kernel memory rather than userspace memory? I'm happy if OOM killer can select victim process based on both kernel memory usage and userspace memory usage. For example, opening a file requires kernel memory allocation (e.g. /sys/kernel/security/tomoyo/self_domain allocates 8KB of kernel memory). Therefore, I refuse allowing everybody to open that file even if the content is public (because an attacker would open /sys/kernel/security/tomoyo/self_domain as many as possible using fork() and open() in order to exhaust kernel memory).
Unfortunatelly, It's impossible. We have zero information which kernel memory should be bound caller task. Almost all kernel memory are task unrelated, so we can't bind them with caller task blindly. Thanks.