diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-09-05 14:25:58 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-09-05 14:25:58 -0400 |
commit | b9a43c8f43c84c99528d7f37f09abbd42482ae57 (patch) | |
tree | ec8025b888055d0e0a492cee7859d201435953fd | |
parent | 6abce601f22789aa4bd5fdf227f9e4ba07406b1c (diff) | |
download | tor-b9a43c8f43c84c99528d7f37f09abbd42482ae57.tar.gz tor-b9a43c8f43c84c99528d7f37f09abbd42482ae57.zip |
For me, asan/ubsan require more syscalls.
Permit sched_yield() and sigaltstack() in the sandbox.
Closes ticket 20063
-rw-r--r-- | changes/bug20063 | 6 | ||||
-rw-r--r-- | src/common/sandbox.c | 6 |
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 |