Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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;

+5 −0
Original line number Diff line number Diff line
@@ -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;