Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/linux/linux_machdep.c
Show First 20 Lines • Show All 169 Lines • ▼ Show 20 Lines | if ((error = securelevel_gt(td->td_ucred, 0)) != 0) | ||||
return (error); | return (error); | ||||
td->td_frame->tf_rflags = (td->td_frame->tf_rflags & ~PSL_IOPL) | | td->td_frame->tf_rflags = (td->td_frame->tf_rflags & ~PSL_IOPL) | | ||||
(args->level * (PSL_IOPL / 3)); | (args->level * (PSL_IOPL / 3)); | ||||
return (0); | return (0); | ||||
} | } | ||||
int | int | ||||
linux_rt_sigsuspend(struct thread *td, struct linux_rt_sigsuspend_args *uap) | |||||
{ | |||||
l_sigset_t lmask; | |||||
sigset_t sigmask; | |||||
int error; | |||||
LINUX_CTR2(rt_sigsuspend, "%p, %ld", | |||||
uap->newset, uap->sigsetsize); | |||||
if (uap->sigsetsize != sizeof(l_sigset_t)) | |||||
return (EINVAL); | |||||
error = copyin(uap->newset, &lmask, sizeof(l_sigset_t)); | |||||
if (error) | |||||
return (error); | |||||
linux_to_bsd_sigset(&lmask, &sigmask); | |||||
return (kern_sigsuspend(td, sigmask)); | |||||
} | |||||
int | |||||
linux_pause(struct thread *td, struct linux_pause_args *args) | linux_pause(struct thread *td, struct linux_pause_args *args) | ||||
{ | { | ||||
struct proc *p = td->td_proc; | struct proc *p = td->td_proc; | ||||
sigset_t sigmask; | sigset_t sigmask; | ||||
LINUX_CTR(pause); | LINUX_CTR(pause); | ||||
PROC_LOCK(p); | PROC_LOCK(p); | ||||
▲ Show 20 Lines • Show All 177 Lines • Show Last 20 Lines |