sandbox: Allow "clock_gettime64" syscall where defined

On 32-bit architectures where Linux provides the "clock_gettime64" system call,
including i386, glibc uses it in place of "clock_gettime".  Modify the sandbox
implementation to match, to prevent Tor's monotonic-time functions (in
src/lib/time/compat_time.c) failing when the sandbox is active.
This commit is contained in:
Simon South 2021-11-03 11:53:33 -04:00
parent 55571fc8d7
commit f5980e60ed

View File

@ -152,7 +152,11 @@ static sandbox_cfg_t *filter_dynamic = NULL;
static int filter_nopar_gen[] = { static int filter_nopar_gen[] = {
SCMP_SYS(access), SCMP_SYS(access),
SCMP_SYS(brk), SCMP_SYS(brk),
#ifdef __NR_clock_gettime64
SCMP_SYS(clock_gettime64),
#else
SCMP_SYS(clock_gettime), SCMP_SYS(clock_gettime),
#endif
SCMP_SYS(close), SCMP_SYS(close),
SCMP_SYS(clone), SCMP_SYS(clone),
SCMP_SYS(dup), SCMP_SYS(dup),