Re: [RFC][PATCH -mm] replace cad_pid by a struct pid

From: Andrew Morton
Date: Wed Sep 20 2006 - 17:31:15 EST


On Wed, 20 Sep 2006 11:38:35 +0200
Cedric Le Goater <clg@xxxxxxxxxx> wrote:

> 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

hm. Is there any sane scenario in which C-A-D would be directed to any
other process?

What happens if/when the process which is identifier by
/proc/sys/kernel/cad_pid exits? User error, I guess...

> +extern struct pid* cad_pid;

Whitespace violation detected!

> - if (shuting_down || kill_proc(1, SIGINT, 1)) {
> + if (shuting_down || kill_cad_pid(SIGINT, 1)) {

So your patch actually makes functional changes: lots of random
init-signallers gain extra functionality: the process which they signal can
now be configured via /proc/sys/kernel/cad_pid. But by default, things
remain unchanged. Fair enough.


> --- 2.6.18-rc7-mm1.orig/drivers/char/nwbutton.c
> +++ 2.6.18-rc7-mm1/drivers/char/nwbutton.c

This driver can be compiled as a module. I shall add the missing export...

(And I'll fix the parisc build too)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/