|
|
|
@ -100,10 +100,10 @@ sys_sigaction(int sig, const struct old_sigaction __user *act, |
|
|
|
|
old_sigset_t mask; |
|
|
|
|
if (!access_ok(VERIFY_READ, act, sizeof(*act)) || |
|
|
|
|
__get_user(new_ka.sa.sa_handler, &act->sa_handler) || |
|
|
|
|
__get_user(new_ka.sa.sa_restorer, &act->sa_restorer)) |
|
|
|
|
__get_user(new_ka.sa.sa_restorer, &act->sa_restorer) || |
|
|
|
|
__get_user(new_ka.sa.sa_flags, &act->sa_flags) || |
|
|
|
|
__get_user(mask, &act->sa_mask)) |
|
|
|
|
return -EFAULT; |
|
|
|
|
__get_user(new_ka.sa.sa_flags, &act->sa_flags); |
|
|
|
|
__get_user(mask, &act->sa_mask); |
|
|
|
|
siginitset(&new_ka.sa.sa_mask, mask); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -112,10 +112,10 @@ sys_sigaction(int sig, const struct old_sigaction __user *act, |
|
|
|
|
if (!ret && oact) { |
|
|
|
|
if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) || |
|
|
|
|
__put_user(old_ka.sa.sa_handler, &oact->sa_handler) || |
|
|
|
|
__put_user(old_ka.sa.sa_restorer, &oact->sa_restorer)) |
|
|
|
|
__put_user(old_ka.sa.sa_restorer, &oact->sa_restorer) || |
|
|
|
|
__put_user(old_ka.sa.sa_flags, &oact->sa_flags) || |
|
|
|
|
__put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask)) |
|
|
|
|
return -EFAULT; |
|
|
|
|
__put_user(old_ka.sa.sa_flags, &oact->sa_flags); |
|
|
|
|
__put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
|