diff options
| author | Oleg Nesterov <[email protected]> | 2010-05-26 21:43:21 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2010-05-27 16:12:47 +0000 |
| commit | 6e1be45aa6ba6a36c0312f65ecf311135c73001d (patch) | |
| tree | 3ea540e0ee249259e40e26c38215981b466075ad /fs/proc/array.c | |
| parent | exit: move taskstats_tgid_free() from __exit_signal() to free_signal_struct() (diff) | |
| download | kernel-6e1be45aa6ba6a36c0312f65ecf311135c73001d.tar.gz kernel-6e1be45aa6ba6a36c0312f65ecf311135c73001d.zip | |
check_unshare_flags: kill the bogus CLONE_SIGHAND/sig->count check
check_unshare_flags(CLONE_SIGHAND) adds CLONE_THREAD to *flags_ptr if the
task is multithreaded to ensure unshare_thread() will fail.
Not only this is a bit strange way to return the error, this is absolutely
meaningless. If signal->count > 1 then sighand->count must be also > 1,
and unshare_sighand() will fail anyway.
In fact, all CLONE_THREAD/SIGHAND/VM checks inside sys_unshare() do not
look right. Fortunately this code doesn't really work anyway.
Signed-off-by: Oleg Nesterov <[email protected]>
Cc: Balbir Singh <[email protected]>
Acked-by: Roland McGrath <[email protected]>
Cc: Veaceslav Falico <[email protected]>
Cc: Stanislaw Gruszka <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions
