Esempio n. 1
0
int sys32_rt_sigpending(compat_sigset_t __user *uset, unsigned int sigsetsize)
{
	int ret;
	sigset_t set;

	KERNEL_SYSCALL(ret, sys_rt_sigpending, (sigset_t __user *)&set, sigsetsize);

	if (!ret && put_sigset32(uset, &set, sigsetsize))
		return -EFAULT;

	return ret;
}
int sys32_rt_sigpending(sigset_t32 *uset, unsigned int sigsetsize)
{
	int ret;
	sigset_t set;
	extern long sys_rt_sigpending(sigset_t *set, size_t sigsetsize);

	KERNEL_SYSCALL(ret, sys_rt_sigpending, &set, sigsetsize);

	if (!ret && put_sigset32(uset, &set, sigsetsize))
		return -EFAULT;

	return ret;
}
Esempio n. 3
0
int sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, compat_sigset_t __user *oset,
				    unsigned int sigsetsize)
{
	sigset_t old_set, new_set;
	int ret;

	if (set && get_sigset32(set, &new_set, sigsetsize))
		return -EFAULT;
	
	KERNEL_SYSCALL(ret, sys_rt_sigprocmask, how, set ? (sigset_t __user *)&new_set : NULL,
				 oset ? (sigset_t __user *)&old_set : NULL, sigsetsize);

	if (!ret && oset && put_sigset32(oset, &old_set, sigsetsize))
		return -EFAULT;

	return ret;
}
int sys32_rt_sigprocmask(int how, sigset_t32 *set, sigset_t32 *oset,
				    unsigned int sigsetsize)
{
	extern long sys_rt_sigprocmask(int how,
				    sigset_t *set, sigset_t *oset,
				   size_t sigsetsize);
	sigset_t old_set, new_set;
	int ret;

	if (set && get_sigset32(set, &new_set, sigsetsize))
		return -EFAULT;
	
	KERNEL_SYSCALL(ret, sys_rt_sigprocmask, how, set ? &new_set : NULL,
				 oset ? &old_set : NULL, sigsetsize);

	if (!ret && oset && put_sigset32(oset, &old_set, sigsetsize))
		return -EFAULT;

	return ret;
}