Page MenuHomeFreeBSD

D31259.id92573.diff
No OneTemporary

D31259.id92573.diff

Index: sys/arm64/linux/linux_machdep.c
===================================================================
--- sys/arm64/linux/linux_machdep.c
+++ sys/arm64/linux/linux_machdep.c
@@ -37,6 +37,7 @@
#include <sys/ktr.h>
#include <sys/proc.h>
#include <sys/sdt.h>
+#include <sys/syscallsubr.h>
#include <security/audit/audit.h>
@@ -124,13 +125,25 @@
return (linux_madvise_common(td, PTROUT(uap->addr), uap->len, uap->behav));
}
-/* LINUXTODO: implement arm64 linux_rt_sigsuspend */
int
linux_rt_sigsuspend(struct thread *td, struct linux_rt_sigsuspend_args *uap)
{
+ l_sigset_t lmask;
+ sigset_t sigmask;
+ int error;
- LIN_SDT_PROBE0(machdep, linux_rt_sigsuspend, todo);
- return (EDOOFUS);
+ 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));
}
/* LINUXTODO: implement arm64 linux_sigaltstack */

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 14, 1:02 AM (17 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23699752
Default Alt Text
D31259.id92573.diff (1 KB)

Event Timeline