Loading arch/parisc/include/asm/compat.h +7 −0 Original line number Diff line number Diff line Loading @@ -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; Loading arch/parisc/kernel/signal32.c +5 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading
arch/parisc/include/asm/compat.h +7 −0 Original line number Diff line number Diff line Loading @@ -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; Loading
arch/parisc/kernel/signal32.c +5 −0 Original line number Diff line number Diff line Loading @@ -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; Loading