Commit 4f4acc94 authored by Helge Deller's avatar Helge Deller

parisc: Fix SIGSYS signals in compat case

Signed-off-by: default avatarHelge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # v4.5
parent b562e44f
...@@ -183,6 +183,13 @@ typedef struct compat_siginfo { ...@@ -183,6 +183,13 @@ typedef struct compat_siginfo {
int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
int _fd; int _fd;
} _sigpoll; } _sigpoll;
/* SIGSYS */
struct {
compat_uptr_t _call_addr; /* calling user insn */
int _syscall; /* triggering system call number */
compat_uint_t _arch; /* AUDIT_ARCH_* of syscall */
} _sigsys;
} _sifields; } _sifields;
} compat_siginfo_t; } compat_siginfo_t;
......
...@@ -371,6 +371,11 @@ copy_siginfo_to_user32 (compat_siginfo_t __user *to, const siginfo_t *from) ...@@ -371,6 +371,11 @@ copy_siginfo_to_user32 (compat_siginfo_t __user *to, const siginfo_t *from)
val = (compat_int_t)from->si_int; val = (compat_int_t)from->si_int;
err |= __put_user(val, &to->si_int); err |= __put_user(val, &to->si_int);
break; break;
case __SI_SYS >> 16:
err |= __put_user(ptr_to_compat(from->si_call_addr), &to->si_call_addr);
err |= __put_user(from->si_syscall, &to->si_syscall);
err |= __put_user(from->si_arch, &to->si_arch);
break;
} }
} }
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment