diff options
author | Oleg Nesterov <oleg@redhat.com> | 2011-04-27 21:18:10 +0200 |
---|---|---|
committer | Oleg Nesterov <oleg@redhat.com> | 2011-04-28 13:01:38 +0200 |
commit | bb7efee2ca63b08795ffb3cda96fc89d2e641b79 (patch) | |
tree | 05e05d78f815d9fb8f8963860d2287189a17d7b1 /kernel/compat.c | |
parent | x86: signal: sys_rt_sigreturn() should use set_current_blocked() (diff) | |
download | linux-bb7efee2ca63b08795ffb3cda96fc89d2e641b79.tar.xz linux-bb7efee2ca63b08795ffb3cda96fc89d2e641b79.zip |
signal: cleanup sys_rt_sigprocmask()
sys_rt_sigprocmask() looks unnecessarily complicated, simplify it.
We can just read current->blocked lockless unconditionally before
anything else and then copy-to-user it if needed. At worst we
copy 4 words on mips.
We could copy-to-user the old mask first and simplify the code even
more, but the patch tries to keep the current behaviour: we change
current->block even if copy_to_user(oset) fails.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Matt Fleming <matt.fleming@linux.intel.com>
Acked-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/compat.c')
0 files changed, 0 insertions, 0 deletions