mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 13:41:30 +00:00
[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:
parent
1a657f78dc
commit
9ec52099e4
11 changed files with 48 additions and 16 deletions
|
@ -92,7 +92,8 @@ EXPORT_SYMBOL(fs_overflowgid);
|
|||
*/
|
||||
|
||||
int C_A_D = 1;
|
||||
int cad_pid = 1;
|
||||
struct pid *cad_pid;
|
||||
EXPORT_SYMBOL(cad_pid);
|
||||
|
||||
/*
|
||||
* Notifier list for kernel code which wants to be called
|
||||
|
@ -773,10 +774,9 @@ void ctrl_alt_del(void)
|
|||
if (C_A_D)
|
||||
schedule_work(&cad_work);
|
||||
else
|
||||
kill_proc(cad_pid, SIGINT, 1);
|
||||
kill_cad_pid(SIGINT, 1);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Unprivileged users may change the real gid to the effective gid
|
||||
* or vice versa. (BSD-style)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue