diff options
Diffstat (limited to 'arch/mips/kernel/signal32.c')
-rw-r--r-- | arch/mips/kernel/signal32.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c index 572c610db1b1..652709b353ad 100644 --- a/arch/mips/kernel/signal32.c +++ b/arch/mips/kernel/signal32.c | |||
@@ -482,6 +482,18 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) | |||
482 | return err; | 482 | return err; |
483 | } | 483 | } |
484 | 484 | ||
485 | int copy_siginfo_from_user32(siginfo_t *to, compat_siginfo_t __user *from) | ||
486 | { | ||
487 | memset(to, 0, sizeof *to); | ||
488 | |||
489 | if (copy_from_user(to, from, 3*sizeof(int)) || | ||
490 | copy_from_user(to->_sifields._pad, | ||
491 | from->_sifields._pad, SI_PAD_SIZE32)) | ||
492 | return -EFAULT; | ||
493 | |||
494 | return 0; | ||
495 | } | ||
496 | |||
485 | asmlinkage void sys32_sigreturn(nabi_no_regargs struct pt_regs regs) | 497 | asmlinkage void sys32_sigreturn(nabi_no_regargs struct pt_regs regs) |
486 | { | 498 | { |
487 | struct sigframe32 __user *frame; | 499 | struct sigframe32 __user *frame; |