exit: panic before exit_mm() on global init exit
authorchenqiwu <chenqiwu@xiaomi.com>
Thu, 19 Dec 2019 06:29:53 +0000 (14:29 +0800)
committerChristian Brauner <christian.brauner@ubuntu.com>
Sat, 21 Dec 2019 15:48:01 +0000 (16:48 +0100)
commit43cf75d96409a20ef06b756877a2e72b10a026fc
treee4ee7ca8f43d13a2ba8348a314ec23883b8b9a70
parent0b8d616fb5a8ffa307b1d3af37f55c15dae14f28
exit: panic before exit_mm() on global init exit

Currently, when global init and all threads in its thread-group have exited
we panic via:
do_exit()
-> exit_notify()
   -> forget_original_parent()
      -> find_child_reaper()
This makes it hard to extract a useable coredump for global init from a
kernel crashdump because by the time we panic exit_mm() will have already
released global init's mm.
This patch moves the panic futher up before exit_mm() is called. As was the
case previously, we only panic when global init and all its threads in the
thread-group have exited.

Signed-off-by: chenqiwu <chenqiwu@xiaomi.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Oleg Nesterov <oleg@redhat.com>
[christian.brauner@ubuntu.com: fix typo, rewrite commit message]
Link: https://lore.kernel.org/r/1576736993-10121-1-git-send-email-qiwuchen55@gmail.com
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
kernel/exit.c