summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-09-13 11:25:59 -0400
committerNick Mathewson <nickm@torproject.org>2016-09-13 11:25:59 -0400
commitb488bd54ba2055dbc01f7e7cfeca0d5d2d3990da (patch)
tree5800d1ee407157f69bd3604dfd6902423fa0f5f0
parent831649f56eed00728b58c2be27a250df69c99600 (diff)
parentb9a43c8f43c84c99528d7f37f09abbd42482ae57 (diff)
downloadtor-b488bd54ba2055dbc01f7e7cfeca0d5d2d3990da.tar.gz
tor-b488bd54ba2055dbc01f7e7cfeca0d5d2d3990da.zip
Merge remote-tracking branch 'public/bug20063'
-rw-r--r--changes/bug200636
-rw-r--r--src/common/sandbox.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/changes/bug20063 b/changes/bug20063
new file mode 100644
index 0000000000..aa9ec23d03
--- /dev/null
+++ b/changes/bug20063
@@ -0,0 +1,6 @@
+ o Minor bugfixes (Linux seccomp2 sandbox):
+ - Add permission to run the sched_yield() and sigaltstack() system
+ calls, in order to support versions of Tor compiled with
+ asan or ubsan code that use these calls. Now "sandbox 1" and
+ "--enable-expensive-hardening" should be compatible.
+ Fixes bug 20063; bugfix on 0.2.5.1-alpha.
diff --git a/src/common/sandbox.c b/src/common/sandbox.c
index 37c1a9428f..24ba8a2997 100644
--- a/src/common/sandbox.c
+++ b/src/common/sandbox.c
@@ -184,11 +184,17 @@ static int filter_nopar_gen[] = {
SCMP_SYS(read),
SCMP_SYS(rt_sigreturn),
SCMP_SYS(sched_getaffinity),
+#ifdef __NR_sched_yield
+ SCMP_SYS(sched_yield),
+#endif
SCMP_SYS(sendmsg),
SCMP_SYS(set_robust_list),
#ifdef __NR_setrlimit
SCMP_SYS(setrlimit),
#endif
+#ifdef __NR_sigaltstack
+ SCMP_SYS(sigaltstack),
+#endif
#ifdef __NR_sigreturn
SCMP_SYS(sigreturn),
#endif