Files
Linux/mm
Chen Jie a2b829d959 mm/oom_kill.c: avoid attempting to kill init sharing same memory
It's possible that an oom killed victim shares an ->mm with the init
process and thus oom_kill_process() would end up trying to kill init as
well.

This has been shown in practice:

	Out of memory: Kill process 9134 (init) score 3 or sacrifice child
	Killed process 9134 (init) total-vm:1868kB, anon-rss:84kB, file-rss:572kB
	Kill process 1 (init) sharing same memory
	...
	Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009

And this will result in a kernel panic.

If a process is forked by init and selected for oom kill while still
sharing init_mm, then it's likely this system is in a recoverable state.
However, it's better not to try to kill init and allow the machine to
panic due to unkillable processes.

[[email protected]: rewrote changelog]
[[email protected]: fix inverted test, per Ben]
Signed-off-by: Chen Jie <[email protected]>
Signed-off-by: David Rientjes <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Acked-by: Hillf Danton <[email protected]>
Cc: Ben Hutchings <[email protected]>
Cc: Li Zefan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2015-12-12 10:15:34 -08:00
..
2015-11-05 19:34:48 -08:00
2015-11-06 17:50:42 -08:00
2015-06-24 17:49:45 -07:00
2015-11-05 19:34:48 -08:00
…
…
2015-11-06 17:50:42 -08:00
2015-09-08 15:35:28 -07:00
2015-11-05 19:34:48 -08:00
2015-11-05 19:34:48 -08:00
2015-02-11 17:06:02 -08:00
2015-11-05 19:34:48 -08:00
2015-11-05 19:34:48 -08:00
2015-09-10 13:29:01 -07:00
2015-09-10 13:29:01 -07:00
2015-11-05 19:34:48 -08:00
…
2015-11-06 17:50:42 -08:00
2015-11-05 19:34:48 -08:00