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

Commit d104f11c authored by Kyle McMartin's avatar Kyle McMartin
Browse files

[PARISC] fix sys_rt_sigqueueinfo



the parisc affecting portion of the patch was inadvertantly
reverted a while ago.

Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
parent 992378a0
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
/*    Signal support for 32-bit kernel builds
 *
 *    Copyright (C) 2001 Matthew Wilcox <willy at parisc-linux.org>
 *    Copyright (C) 2006 Kyle McMartin <kyle at parisc-linux.org>
 *
 *    Code was mostly borrowed from kernel/signal.c.
 *    See kernel/signal.c for additional Copyrights.
 *
@@ -498,3 +500,22 @@ copy_siginfo_to_user32 (compat_siginfo_t __user *to, siginfo_t *from)
	}
	return err;
}

asmlinkage long compat_sys_rt_sigqueueinfo(int pid, int sig,
	struct compat_siginfo __user *uinfo)
{
	siginfo_t info;

	if (copy_siginfo_from_user32(&info, uinfo))
		return -EFAULT;

	/* Not even root can pretend to send signals from the kernel.
	   Nor can they impersonate a kill(), which adds source info.  */
	if (info.si_code >= 0)
		return -EPERM;
	info.si_signo = sig;

	/* POSIX.1b doesn't mention process groups.  */
	return kill_proc_info(sig, &info, pid);
}
+1 −1
Original line number Diff line number Diff line
@@ -282,7 +282,7 @@
	 * to worry about faulting trying to copy in a larger 64-bit
	 * struct from a 32-bit user-space app.
	 */
	ENTRY_SAME(rt_sigqueueinfo)
	ENTRY_COMP(rt_sigqueueinfo)
	ENTRY_COMP(rt_sigsuspend)
	ENTRY_SAME(chown)		/* 180 */
	/* setsockopt() used by iptables: SO_SET_REPLACE/SO_SET_ADD_COUNTERS */