[PATCH] replace cad_pid by a struct pid
There are a few places in the kernel where the init task is signaled. The ctrl+alt+del sequence is one them. It kills a task, usually init, using a cached pid (cad_pid). This patch replaces the pid_t by a struct pid to avoid pid wrap around problem. The struct pid is initialized at boot time in init() and can be modified through systctl with /proc/sys/kernel/cad_pid [ I haven't found any distro using it ? ] It also introduces a small helper routine kill_cad_pid() which is used where it seemed ok to use cad_pid instead of pid 1. [akpm@osdl.org: cleanups, build fix] Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
1a657f78dc
commit
9ec52099e4
@@ -120,7 +120,7 @@ static inline void ip32_power_button(void)
|
||||
if (has_panicked)
|
||||
return;
|
||||
|
||||
if (shuting_down || kill_proc(1, SIGINT, 1)) {
|
||||
if (shuting_down || kill_cad_pid(SIGINT, 1)) {
|
||||
/* No init process or button pressed twice. */
|
||||
ip32_machine_power_off();
|
||||
}
|
||||
|
Reference in New Issue
Block a user