diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-03-26 10:29:29 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-03-26 10:29:29 -0400 |
commit | 068d092749508bae84e6d5fce605d2f40c1bdb80 (patch) | |
tree | 7f063b8cf4e73dc46deb6499b31a7b97c329675f | |
parent | 1aa0ae2cc3547a35a44967ed56c1f78a42c076f8 (diff) | |
parent | 9f93bcd16d70b540c518acee56a440be12072ef7 (diff) | |
download | tor-068d092749508bae84e6d5fce605d2f40c1bdb80.tar.gz tor-068d092749508bae84e6d5fce605d2f40c1bdb80.zip |
Merge branch 'maint-0.2.9' into maint-0.3.1
-rw-r--r-- | changes/feature25313 | 4 | ||||
-rw-r--r-- | src/common/sandbox.c | 23 |
2 files changed, 6 insertions, 21 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 1b73f31265..4dd3e916db 100644 --- a/src/common/sandbox.c +++ b/src/common/sandbox.c @@ -253,7 +253,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 @@ -1068,25 +1069,6 @@ sb_mremap(scmp_filter_ctx ctx, sandbox_cfg_t *filter) return 0; } -/** - * Function responsible for setting up the poll syscall for - * the seccomp filter sandbox. - */ -static int -sb_poll(scmp_filter_ctx ctx, sandbox_cfg_t *filter) -{ - int rc = 0; - (void) filter; - - rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(poll), - SCMP_CMP(1, SCMP_CMP_EQ, 1), - SCMP_CMP(2, SCMP_CMP_EQ, 10)); - if (rc) - return rc; - - return 0; -} - #ifdef __NR_stat64 /** * Function responsible for setting up the stat64 syscall for @@ -1161,7 +1143,6 @@ static sandbox_filter_func_t filter_func[] = { sb_flock, sb_futex, sb_mremap, - sb_poll, #ifdef __NR_stat64 sb_stat64, #endif |