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

Commit 309e44b3 authored by Al Viro's avatar Al Viro
Browse files

powerpc: switch to generic compat rt_sigqueueinfo()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent cfe0467c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@ config PPC
	select MODULES_USE_ELF_RELA
	select CLONE_BACKWARDS
	select GENERIC_SIGALTSTACK
	select GENERIC_COMPAT_RT_SIGQUEUEINFO
	select GENERIC_COMPAT_RT_SIGPROCMASK
	select GENERIC_COMPAT_RT_SIGPENDING

+0 −24
Original line number Diff line number Diff line
@@ -688,30 +688,6 @@ int copy_siginfo_from_user32(siginfo_t *to, struct compat_siginfo __user *from)

	return 0;
}

/*
 * Note: it is necessary to treat pid and sig as unsigned ints, with the
 * corresponding cast to a signed int to insure that the proper conversion
 * (sign extension) between the register representation of a signed int
 * (msr in 32-bit mode) and the register representation of a signed int
 * (msr in 64-bit mode) is performed.
 */
long compat_sys_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo)
{
	siginfo_t info;
	int ret;
	mm_segment_t old_fs = get_fs();

	ret = copy_siginfo_from_user32(&info, uinfo);
	if (unlikely(ret))
		return ret;

	set_fs (KERNEL_DS);
	/* The __user pointer cast is valid becasuse of the set_fs() */
	ret = sys_rt_sigqueueinfo((int)pid, (int)sig, (siginfo_t __user *) &info);
	set_fs (old_fs);
	return ret;
}
#endif /* CONFIG_PPC64 */

/*