diff options
Diffstat (limited to 'arch/s390/kernel')
| -rw-r--r-- | arch/s390/kernel/compat_signal.c | 6 | ||||
| -rw-r--r-- | arch/s390/kernel/signal.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index 7358cdb8441f..4ff6808456ea 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c | |||
| @@ -143,7 +143,7 @@ int copy_siginfo_from_user32(siginfo_t *to, compat_siginfo_t __user *from) | |||
| 143 | break; | 143 | break; |
| 144 | case __SI_FAULT >> 16: | 144 | case __SI_FAULT >> 16: |
| 145 | err |= __get_user(tmp, &from->si_addr); | 145 | err |= __get_user(tmp, &from->si_addr); |
| 146 | to->si_addr = (void *)(u64) (tmp & PSW32_ADDR_INSN); | 146 | to->si_addr = (void __user *)(u64) (tmp & PSW32_ADDR_INSN); |
| 147 | break; | 147 | break; |
| 148 | case __SI_POLL >> 16: | 148 | case __SI_POLL >> 16: |
| 149 | err |= __get_user(to->si_band, &from->si_band); | 149 | err |= __get_user(to->si_band, &from->si_band); |
| @@ -338,7 +338,7 @@ sys32_sigaltstack(const stack_t32 __user *uss, stack_t32 __user *uoss, | |||
| 338 | err |= __get_user(kss.ss_flags, &uss->ss_flags); | 338 | err |= __get_user(kss.ss_flags, &uss->ss_flags); |
| 339 | if (err) | 339 | if (err) |
| 340 | return -EFAULT; | 340 | return -EFAULT; |
| 341 | kss.ss_sp = (void *) ss_sp; | 341 | kss.ss_sp = (void __user *) ss_sp; |
| 342 | } | 342 | } |
| 343 | 343 | ||
| 344 | set_fs (KERNEL_DS); | 344 | set_fs (KERNEL_DS); |
| @@ -461,7 +461,7 @@ asmlinkage long sys32_rt_sigreturn(struct pt_regs *regs) | |||
| 461 | goto badframe; | 461 | goto badframe; |
| 462 | 462 | ||
| 463 | err = __get_user(ss_sp, &frame->uc.uc_stack.ss_sp); | 463 | err = __get_user(ss_sp, &frame->uc.uc_stack.ss_sp); |
| 464 | st.ss_sp = (void *) A((unsigned long)ss_sp); | 464 | st.ss_sp = compat_ptr(ss_sp); |
| 465 | err |= __get_user(st.ss_size, &frame->uc.uc_stack.ss_size); | 465 | err |= __get_user(st.ss_size, &frame->uc.uc_stack.ss_size); |
| 466 | err |= __get_user(st.ss_flags, &frame->uc.uc_stack.ss_flags); | 466 | err |= __get_user(st.ss_flags, &frame->uc.uc_stack.ss_flags); |
| 467 | if (err) | 467 | if (err) |
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c index 6a3f5b7473a9..6e0110d71191 100644 --- a/arch/s390/kernel/signal.c +++ b/arch/s390/kernel/signal.c | |||
| @@ -376,8 +376,8 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
| 376 | 376 | ||
| 377 | /* Create the ucontext. */ | 377 | /* Create the ucontext. */ |
| 378 | err |= __put_user(0, &frame->uc.uc_flags); | 378 | err |= __put_user(0, &frame->uc.uc_flags); |
| 379 | err |= __put_user(0, &frame->uc.uc_link); | 379 | err |= __put_user(NULL, &frame->uc.uc_link); |
| 380 | err |= __put_user((void *)current->sas_ss_sp, &frame->uc.uc_stack.ss_sp); | 380 | err |= __put_user((void __user *)current->sas_ss_sp, &frame->uc.uc_stack.ss_sp); |
| 381 | err |= __put_user(sas_ss_flags(regs->gprs[15]), | 381 | err |= __put_user(sas_ss_flags(regs->gprs[15]), |
| 382 | &frame->uc.uc_stack.ss_flags); | 382 | &frame->uc.uc_stack.ss_flags); |
| 383 | err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); | 383 | err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); |
