Thomas Gleixner
3c80fe4ac9
audit: Call tty_audit_push_task() outside preempt disabled
...
While auditing all tasklist_lock read_lock sites I stumbled over the
following call chain:
audit_prepare_user_tty()
read_lock(&tasklist_lock);
tty_audit_push_task();
mutex_lock(&buf->mutex);
--> buf->mutex is locked with preemption disabled.
Solve this by acquiring a reference to the task struct under
rcu_read_lock and call tty_audit_push_task outside of the preempt
disabled region.
Move all code which needs to be protected by sighand lock into
tty_audit_push_task() and use lock/unlock_sighand as we do not hold
tasklist_lock.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Eric Paris <eparis@redhat.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2010-10-30 08:45:25 -04:00
..
2010-10-29 13:26:48 -04:00
2010-10-15 15:53:27 +02:00
2010-10-27 18:03:14 -07:00
2010-10-27 18:03:14 -07:00
2010-10-27 18:03:15 -07:00
2010-10-27 18:03:15 -07:00
2010-10-27 18:03:15 -07:00
2010-10-24 13:41:39 -07:00
2010-10-22 10:52:56 -07:00
2010-10-22 10:20:05 -07:00
2010-10-24 13:41:39 -07:00
2010-10-27 18:03:14 -07:00
2010-03-30 22:02:32 +09:00
2010-10-15 15:53:27 +02:00
2010-10-15 15:53:27 +02:00
2010-10-15 15:53:27 +02:00
2010-10-15 15:53:27 +02:00
2010-10-22 10:20:05 -07:00
2010-10-22 10:52:56 -07:00
2010-10-22 10:52:56 -07:00
2010-10-22 10:52:56 -07:00
2010-10-22 10:52:56 -07:00
2009-12-16 07:19:59 -08:00
2010-08-10 13:47:40 -07:00
2010-10-05 15:01:04 +02:00
2010-03-30 22:02:32 +09:00
2010-10-22 10:52:56 -07:00
2010-08-21 00:34:45 -07:00
2010-10-26 16:52:11 -07:00
2010-02-25 15:38:37 -08:00
2010-10-27 18:03:14 -07:00
2010-02-24 14:22:32 +10:30
2010-03-08 16:55:37 +01:00
2010-10-25 16:10:17 +02:00
2010-02-24 14:22:32 +10:30
2010-10-14 14:48:12 -04:00
2010-02-24 14:22:32 +10:30
2010-02-24 14:22:32 +10:30
2010-10-28 17:11:17 -07:00
2010-03-30 22:02:32 +09:00
2010-08-21 00:34:45 -07:00
2010-10-05 15:01:04 +02:00
2010-08-10 13:47:40 -07:00
2010-10-15 15:53:27 +02:00
2010-10-22 10:20:02 -07:00
2010-09-09 22:00:50 -07:00
2010-10-22 10:52:56 -07:00
2010-10-22 10:20:02 -07:00
2010-10-05 15:01:04 +02:00
2010-10-25 21:18:21 -04:00
2010-10-15 15:53:27 +02:00
2010-10-27 18:03:14 -07:00
2010-03-30 22:02:32 +09:00
2010-10-15 15:53:27 +02:00
2010-10-27 18:03:15 -07:00
2010-08-11 08:59:20 -07:00
2010-08-10 13:47:43 -07:00
2010-10-18 11:03:14 +02:00
2010-08-10 13:47:39 -07:00
2010-10-22 10:20:05 -07:00
2010-10-05 15:01:04 +02:00
2010-10-15 15:53:27 +02:00
2010-10-05 15:01:04 +02:00
2010-10-15 15:53:27 +02:00
2010-10-27 18:03:14 -07:00
2010-05-27 22:05:02 -04:00
2010-10-22 10:19:58 -07:00
2010-10-27 18:03:18 -07:00
2010-10-15 15:53:27 +02:00
2010-10-22 10:52:56 -07:00
2010-08-10 13:47:40 -07:00
2010-10-27 18:03:14 -07:00
2010-08-06 09:25:50 -06:00
2010-10-15 15:53:27 +02:00
2010-08-10 13:47:44 -07:00
2009-10-11 11:20:58 -07:00
2010-08-10 13:47:44 -07:00
2010-03-30 22:02:32 +09:00
2010-10-22 10:52:56 -07:00
2010-03-30 22:02:32 +09:00
2010-08-10 13:47:44 -07:00
2010-10-24 13:41:39 -07:00
2010-10-15 15:53:27 +02:00
2010-10-27 18:03:14 -07:00
2010-10-22 10:20:05 -07:00
2010-10-22 10:20:05 -07:00
2010-10-25 07:59:01 -07:00
2010-10-15 15:53:27 +02:00
2010-10-22 10:52:56 -07:00
2010-10-22 10:52:56 -07:00
2010-10-30 08:45:25 -04:00
2010-05-21 09:34:30 -07:00
2010-10-22 10:20:04 -07:00
2010-08-10 13:47:39 -07:00
2010-08-10 13:47:44 -07:00
2010-08-10 13:47:44 -07:00
2010-08-10 13:47:44 -07:00
2010-10-22 10:20:02 -07:00
2010-10-15 15:53:27 +02:00
2010-10-22 10:20:06 -07:00
2010-10-22 10:52:56 -07:00
2010-10-21 17:44:04 +10:30
2010-03-30 22:02:32 +09:00
2010-10-27 18:03:05 -07:00
2010-10-22 10:20:06 -07:00