From: Oleg Nesterov Date: Thu, 23 Apr 2009 23:02:45 +0000 (+0200) Subject: check_unsafe_exec: s/lock_task_sighand/rcu_read_lock/ X-Git-Tag: v2.6.30-rc4~71 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=437f7fdb607f32b737e4da9f14bebcfdac2c90c3;p=pandora-kernel.git check_unsafe_exec: s/lock_task_sighand/rcu_read_lock/ write_lock(¤t->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 Acked-by: Roland McGrath [ Fixed lock/unlock typo - Hugh ] Acked-by: Hugh Dickins Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed