You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07: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:
committed by
Linus Torvalds
parent
1a657f78dc
commit
9ec52099e4
+3
-3
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user