s390: use get_user()/put_user() instead of the unchecked variants
Changes
3 files changed · +10 −10
| File | Status | Add | Del | Content |
|---|---|---|---|---|
| arch/s390/kernel/ptrace.c | modified | +1 | −1 | View file |
| arch/s390/kernel/signal.c | modified | +5 | −5 | View file |
| arch/s390/kernel/stacktrace.c | modified | +4 | −4 | View file |
arch/s390/kernel/ptrace.c
View filediff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
index 125ca4c..06c6901 100644
--- a/arch/s390/kernel/ptrace.c
+++ b/arch/s390/kernel/ptrace.c
@@ -540,7 +540,7 @@ static int s390_regs_set(struct task_struct *target,
const unsigned long __user *u = ubuf;
while (count > 0 && !rc) {
unsigned long word;
- rc = __get_user(word, u++);
+ rc = get_user(word, u++);
if (rc)
break;
rc = __poke_user(target, pos, word);
arch/s390/kernel/signal.c
View filediff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c
index 4874de5..81709cd 100644
--- a/arch/s390/kernel/signal.c
+++ b/arch/s390/kernel/signal.c
@@ -297,7 +297,7 @@ static int setup_frame(int sig, struct k_sigaction *ka,
return -EFAULT;
/* Set up backchain. */
- if (__put_user(regs->gprs[15], (addr_t __user *) frame))
+ if (put_user(regs->gprs[15], (addr_t __user *) frame))
return -EFAULT;
/* Create struct sigcontext on the signal stack */
@@ -314,7 +314,7 @@ static int setup_frame(int sig, struct k_sigaction *ka,
return -EFAULT;
/* Place signal number on stack to allow backtrace from handler. */
- if (__put_user(regs->gprs[2], (int __user *) &frame->signo))
+ if (put_user(regs->gprs[2], (int __user *) &frame->signo))
return -EFAULT;
/* Create _sigregs_ext on the signal stack */
@@ -370,7 +370,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
return -EFAULT;
/* Set up backchain. */
- if (__put_user(regs->gprs[15], (addr_t __user *) frame))
+ if (put_user(regs->gprs[15], (addr_t __user *) frame))
return -EFAULT;
/* Set up to return from userspace. If provided, use a stub
@@ -388,8 +388,8 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
store_sigregs();
/* Create ucontext on the signal stack. */
- if (__put_user(uc_flags, &frame->uc.uc_flags) ||
- __put_user(NULL, &frame->uc.uc_link) ||
+ if (put_user(uc_flags, &frame->uc.uc_flags) ||
+ put_user(NULL, &frame->uc.uc_link) ||
__save_altstack(&frame->uc.uc_stack, regs->gprs[15]) ||
save_sigregs(regs, &frame->uc.uc_mcontext) ||
__copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)) ||
arch/s390/kernel/stacktrace.c
View filediff --git a/arch/s390/kernel/stacktrace.c b/arch/s390/kernel/stacktrace.c
index 18520d3..191f8a9 100644
--- a/arch/s390/kernel/stacktrace.c
+++ b/arch/s390/kernel/stacktrace.c
@@ -113,7 +113,7 @@ void arch_stack_walk_user_common(stack_trace_consume_fn consume_entry, void *coo
sf = (void __user *)user_stack_pointer(regs);
pagefault_disable();
while (1) {
- if (__get_user(sp, &sf->back_chain))
+ if (get_user(sp, &sf->back_chain))
break;
/*
* VDSO entry code has a non-standard stack frame layout.
@@ -121,15 +121,15 @@ void arch_stack_walk_user_common(stack_trace_consume_fn consume_entry, void *coo
*/
if (!sp && ip_within_vdso(ip)) {
sf_vdso = (void __user *)sf;
- if (__get_user(ip, &sf_vdso->return_address))
+ if (get_user(ip, &sf_vdso->return_address))
break;
sp = (unsigned long)sf + STACK_FRAME_VDSO_OVERHEAD;
sf = (void __user *)sp;
- if (__get_user(sp, &sf->back_chain))
+ if (get_user(sp, &sf->back_chain))
break;
} else {
sf = (void __user *)sp;
- if (__get_user(ip, &sf->gprs[8]))
+ if (get_user(ip, &sf->gprs[8]))
break;
}
/* Validate SP and RA (ABI requires SP to be 8 byte aligned). */