parisc: Fix SIGSYS signals in compat case
Helge Deller
maintainerPATCH 1/1 parisc: Fix SIGSYS signals in compat case
Signed-off-by Helge Deller <[email protected]>
arch/parisc/include/asm/compat.h +7 -0
@@ -183,6 +183,13 @@ typedef struct compat_siginfo {int _band;/* POLL_IN, POLL_OUT, POLL_MSG */ int _fd; } _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; } compat_siginfo_t;
arch/parisc/kernel/signal32.c +5 -0
@@ -371,6 +371,11 @@ copy_siginfo_to_user32 (compat_siginfo_t __user *to, const siginfo_t *from) val = (compat_int_t )from->si_int; err |=__put_user (val, &to->si_int);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;