Skip to content

Commit 8ac3f8f

Browse files
theyoyojotorvalds
authored andcommitted
mm/oom_kill.c: add task UID to info message on an oom kill
In the event of an oom kill, useful information about the killed process is printed to dmesg. Users, especially system administrators, will find it useful to immediately see the UID of the process. We already print uid when dumping eligible tasks so it is not overly hard to find that information in the oom report. However this information is unavailable when dumping of eligible tasks is disabled. In the following example, abuse_the_ram is the name of a program that attempts to iteratively allocate all available memory until it is stopped by force. Current message: Out of memory: Killed process 35389 (abuse_the_ram) total-vm:133718232kB, anon-rss:129624980kB, file-rss:0kB, shmem-rss:0kB Patched message: Out of memory: Killed process 2739 (abuse_the_ram), total-vm:133880028kB, anon-rss:129754836kB, file-rss:0kB, shmem-rss:0kB, UID:0 [[email protected]: s/UID %d/UID:%u/ in printk] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Joel Savitz <[email protected]> Suggested-by: David Rientjes <[email protected]> Acked-by: Rafael Aquini <[email protected]> Cc: Michal Hocko <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 4406548 commit 8ac3f8f

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

mm/oom_kill.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -884,12 +884,13 @@ static void __oom_kill_process(struct task_struct *victim, const char *message)
884884
*/
885885
do_send_sig_info(SIGKILL, SEND_SIG_PRIV, victim, PIDTYPE_TGID);
886886
mark_oom_victim(victim);
887-
pr_err("%s: Killed process %d (%s) total-vm:%lukB, anon-rss:%lukB, file-rss:%lukB, shmem-rss:%lukB\n",
887+
pr_err("%s: Killed process %d (%s) total-vm:%lukB, anon-rss:%lukB, file-rss:%lukB, shmem-rss:%lukB, UID:%u\n",
888888
message, task_pid_nr(victim), victim->comm,
889889
K(victim->mm->total_vm),
890890
K(get_mm_counter(victim->mm, MM_ANONPAGES)),
891891
K(get_mm_counter(victim->mm, MM_FILEPAGES)),
892-
K(get_mm_counter(victim->mm, MM_SHMEMPAGES)));
892+
K(get_mm_counter(victim->mm, MM_SHMEMPAGES)),
893+
from_kuid(&init_user_ns, task_uid(victim)));
893894
task_unlock(victim);
894895

895896
/*

0 commit comments

Comments
 (0)