Oleg Nesterov 437f7fdb60 check_unsafe_exec: s/lock_task_sighand/rcu_read_lock/
write_lock(&current->fs->lock) guarantees we can't wrongly miss
LSM_UNSAFE_SHARE, this is what we care about. Use rcu_read_lock()
instead of ->siglock to iterate over the sub-threads. We must see
all CLONE_THREAD|CLONE_FS threads which didn't pass exit_fs(), it
takes fs->lock too.

With or without this patch we can miss the freshly cloned thread
and set LSM_UNSAFE_SHARE, we don't care.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Roland McGrath <roland@redhat.com>
[ Fixed lock/unlock typo  - Hugh ]
Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-24 07:39:45 -07:00
..
2009-04-02 19:05:08 -07:00
2009-04-02 19:05:08 -07:00
2009-04-20 23:01:15 -04:00
2009-04-08 10:21:43 -07:00
2009-01-22 13:15:57 +03:00
2009-04-20 23:02:51 -04:00
2009-04-02 19:05:09 -07:00
2009-03-31 19:44:38 +03:00
2009-04-17 09:32:11 -07:00
2009-01-22 13:15:58 +03:00
2009-04-09 17:37:53 +02:00
2009-04-20 16:02:02 +01:00
2009-04-13 15:04:29 -07:00
2009-04-13 15:04:32 -07:00
2009-03-31 23:00:26 -04:00
2009-04-20 23:02:51 -04:00
2009-03-27 14:44:05 -04:00
2009-04-02 19:05:10 -07:00
2009-04-02 19:04:48 -07:00
2009-04-20 23:02:50 -04:00
2009-04-02 19:05:10 -07:00
2009-04-02 19:05:10 -07:00
2009-04-20 23:02:51 -04:00
2009-03-27 14:44:03 -04:00
2009-01-03 11:45:54 -08:00
2009-03-31 23:00:27 -04:00
2009-04-15 12:10:12 +02:00
2009-04-02 19:04:48 -07:00
2009-03-31 23:00:26 -04:00
2009-03-16 08:34:35 -06:00
2009-04-07 08:31:16 -07:00
2009-04-07 08:31:16 -07:00
2009-04-17 07:38:07 -07:00
2009-04-20 23:02:52 -04:00
2009-02-18 15:37:53 -08:00
2009-04-20 23:02:50 -04:00