summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-03-20 08:22:28 -0400
committerNick Mathewson <nickm@torproject.org>2018-03-20 08:23:44 -0400
commit070eda5a21f580ee00ed64527ade4343b10e0fb6 (patch)
tree082b96b4a13b294799be8bb7daede44403ba463c
parent3370b3cfef62cba8377285d95b232f810edde504 (diff)
downloadtor-070eda5a21f580ee00ed64527ade4343b10e0fb6.tar.gz
tor-070eda5a21f580ee00ed64527ade4343b10e0fb6.zip
Add the poll() syscall as permitted by the sandbox
Apparently, sometimes getpwnam will call this. Fixes bug 25513.
-rw-r--r--changes/feature253134
-rw-r--r--src/common/sandbox.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/changes/feature25313 b/changes/feature25313
new file mode 100644
index 0000000000..90f421169f
--- /dev/null
+++ b/changes/feature25313
@@ -0,0 +1,4 @@
+ o Minor features (sandbox):
+ - Explicitly permit the poll() system call when the Linux seccomp2-based
+ sandbox is enabled: apparently, some versions of libc use poll() when
+ calling getpwnam(). Closes ticket 25313.
diff --git a/src/common/sandbox.c b/src/common/sandbox.c
index b90ae02578..c1b7bfe5e9 100644
--- a/src/common/sandbox.c
+++ b/src/common/sandbox.c
@@ -247,7 +247,8 @@ static int filter_nopar_gen[] = {
SCMP_SYS(recvmsg),
SCMP_SYS(recvfrom),
SCMP_SYS(sendto),
- SCMP_SYS(unlink)
+ SCMP_SYS(unlink),
+ SCMP_SYS(poll)
};
/* These macros help avoid the error where the number of filters we add on a