Merge tag 'powerpc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[cascardo/linux.git] / arch / powerpc / kernel / signal_32.c
index d3a831a..0dbee46 100644 (file)
@@ -949,6 +949,11 @@ int copy_siginfo_to_user32(struct compat_siginfo __user *d, const siginfo_t *s)
                err |= __put_user(s->si_overrun, &d->si_overrun);
                err |= __put_user(s->si_int, &d->si_int);
                break;
+       case __SI_SYS >> 16:
+               err |= __put_user(ptr_to_compat(s->si_call_addr), &d->si_call_addr);
+               err |= __put_user(s->si_syscall, &d->si_syscall);
+               err |= __put_user(s->si_arch, &d->si_arch);
+               break;
        case __SI_RT >> 16: /* This is not generated by the kernel as of now.  */
        case __SI_MESGQ >> 16:
                err |= __put_user(s->si_int, &d->si_int);
@@ -966,8 +971,6 @@ int copy_siginfo_to_user32(struct compat_siginfo __user *d, const siginfo_t *s)
 
 int copy_siginfo_from_user32(siginfo_t *to, struct compat_siginfo __user *from)
 {
-       memset(to, 0, sizeof *to);
-
        if (copy_from_user(to, from, 3*sizeof(int)) ||
            copy_from_user(to->_sifields._pad,
                           from->_sifields._pad, SI_PAD_SIZE32))