Files
tegra-linux-noble/include/linux
Oleg Nesterov 27af4245b6 posix-timers: use "struct pid*" instead of "struct task_struct*"
Impact: restructure, clean up code

k_itimer holds the ref to the ->it_process until sys_timer_delete(). This
allows to pin up to RLIMIT_SIGPENDING dead task_struct's. Change the code
to use "struct pid *" instead.

The patch doesn't kill ->it_process, it places ->it_pid into the union.
->it_process is still used by do_cpu_nanosleep() as before. It would be
trivial to change the nanosleep code as well, but since it uses it_process
in a special way I think it is better to keep this field for grep.

The patch bloats the kernel by 104 bytes and it also adds the new pointer,
->it_signal, to k_itimer. It is used by lock_timer() to verify that the
found timer was not created by another process. It is not clear why do we
use the global database (and thus the global idr_lock) for posix timers.
We still need the signal_struct->posix_timers which contains all useable
timers, perhaps it is better to use some form of per-process array
instead.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-12-12 17:00:07 +01:00
..
2008-10-22 01:19:37 +02:00
2008-10-13 21:51:51 +01:00
2008-10-30 11:38:47 -07:00
2008-10-15 15:54:56 -04:00
2008-11-11 21:15:50 -05:00
2008-10-20 11:01:52 -07:00
2008-10-16 11:21:51 -07:00
2008-10-20 08:52:42 -07:00
2008-11-06 08:41:55 +01:00
2008-12-05 14:49:18 -08:00
2008-10-20 08:52:32 -07:00
2008-11-12 17:17:18 -08:00
2008-10-30 11:38:45 -07:00
2008-10-16 11:21:32 -07:00
2008-11-30 11:00:15 -08:00
2008-10-14 10:35:08 +02:00
2008-10-18 14:29:15 +01:00
2008-10-16 16:53:13 +02:00
2008-10-12 12:05:55 +02:00
2008-10-08 19:44:18 -04:00
2008-12-04 04:22:58 -05:00
2008-12-10 08:01:54 -08:00
2008-10-16 16:08:57 +02:00
2008-10-16 11:21:40 -07:00
2008-10-14 23:51:02 +02:00
2008-10-22 20:21:33 +02:00
2008-10-16 11:21:38 -07:00
2008-10-09 11:59:55 -07:00
2008-10-07 15:34:37 -07:00
2008-10-29 22:02:09 +01:00
2008-10-18 14:29:15 +01:00
2008-11-03 18:21:45 +01:00
2008-10-15 14:24:08 +02:00
2008-11-23 10:52:45 +01:00
2008-10-12 11:44:37 -07:00
2008-10-28 14:22:15 +02:00
2008-10-20 22:34:12 +01:00
2008-10-14 10:35:08 +02:00
2008-10-13 09:47:43 +11:00
2008-10-09 08:56:06 +02:00
2008-10-20 08:52:31 -07:00
2008-10-20 08:52:30 -07:00
2008-10-22 10:00:23 +11:00
2008-11-06 15:41:21 -08:00
2008-11-19 18:49:57 -08:00
2008-10-01 07:03:24 -07:00
2008-10-17 13:06:45 -04:00
2008-11-30 10:03:35 -08:00
2008-10-20 08:52:32 -07:00
2008-10-20 08:50:26 -07:00
2008-10-16 11:21:49 -07:00
2008-10-22 16:42:43 -07:00
2008-10-08 16:38:41 -07:00
2008-10-23 00:11:07 -04:00
2008-10-23 18:54:05 +04:00
2008-10-20 08:52:39 -07:00
2008-10-16 11:21:46 -07:00
2008-10-16 11:21:46 -07:00
2008-10-02 15:53:13 -07:00
2008-11-12 17:17:17 -08:00
2008-10-20 08:52:40 -07:00
2008-12-01 19:55:24 -08:00
2008-10-07 14:22:33 -07:00
2008-11-13 20:49:02 +02:00
2008-11-02 10:15:07 -08:00
2008-10-20 08:52:31 -07:00
2008-11-19 18:49:57 -08:00
2008-10-16 11:21:47 -07:00
2008-10-07 14:43:06 -07:00
2008-10-13 09:51:40 -07:00
2008-11-07 16:09:23 +01:00
2008-10-16 11:21:31 -07:00