Merge branch 'master' into next

This commit is contained in:
Michael Tremer
2021-02-16 17:37:26 +00:00
16 changed files with 51 additions and 46 deletions

View File

@@ -275,9 +275,7 @@ function wpa_supplicant_start() {
# Build wpa_supplicant command line.
local wpa_suppl_cmd="wpa_supplicant -B -qqq -i${device} -c${config}"
if device_is_wireless ${device}; then
wpa_suppl_cmd="${wpa_suppl_cmd} -Dwext"
else
if ! device_is_wireless ${device}; then
wpa_suppl_cmd="${wpa_suppl_cmd} -Dwired"
fi

View File

@@ -1,36 +0,0 @@
diff --git a/src/privsep-linux.c b/src/privsep-linux.c
index 050a30cf..d31d720d 100644
--- a/src/privsep-linux.c
+++ b/src/privsep-linux.c
@@ -32,6 +32,7 @@
#include <linux/audit.h>
#include <linux/filter.h>
+#include <linux/net.h>
#include <linux/seccomp.h>
#include <linux/sockios.h>
@@ -304,6 +305,23 @@ static struct sock_filter ps_seccomp_filter[] = {
#ifdef __NR_sendto
SECCOMP_ALLOW(__NR_sendto),
#endif
+#ifdef __NR_socketcall
+ /* i386 needs this and demonstrates why SECCOMP
+ * is poor compared to OpenBSD pledge(2) and FreeBSD capsicum(4)
+ * as this is soooo tied to the kernel API which changes per arch
+ * and likely libc as well. */
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_ACCEPT),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_ACCEPT4),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_LISTEN),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_GETSOCKOPT), /* overflow */
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_RECV),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_RECVFROM),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_RECVMSG),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SEND),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SENDMSG),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SENDTO),
+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SHUTDOWN),
+#endif
#ifdef __NR_shutdown
SECCOMP_ALLOW(__NR_shutdown),
#endif