@@ -44,6 +44,20 @@ bool g_syscall_sandbox_log_violation_before_terminating{false};
44
44
#define SECCOMP_RET_KILL_PROCESS 0x80000000U
45
45
#endif
46
46
47
+ // Define system call numbers for x86_64 that are referenced in the system call profile
48
+ // but not provided by the kernel headers used in the GUIX build.
49
+ #ifndef __NR_statx
50
+ #define __NR_statx 332
51
+ #endif
52
+
53
+ #ifndef __NR_getrandom
54
+ #define __NR_getrandom 318
55
+ #endif
56
+
57
+ #ifndef __NR_membarrier
58
+ #define __NR_membarrier 324
59
+ #endif
60
+
47
61
// This list of syscalls in LINUX_SYSCALLS is only used to map syscall numbers to syscall names in
48
62
// order to be able to print user friendly error messages which include the syscall name in addition
49
63
// to the syscall number.
@@ -162,9 +176,7 @@ const std::map<uint32_t, std::string> LINUX_SYSCALLS{
162
176
{__NR_getpmsg, " getpmsg" },
163
177
{__NR_getppid, " getppid" },
164
178
{__NR_getpriority, " getpriority" },
165
- #if defined(__NR_getrandom)
166
179
{__NR_getrandom, " getrandom" },
167
- #endif // defined(__NR_getrandom)
168
180
{__NR_getresgid, " getresgid" },
169
181
{__NR_getresuid, " getresuid" },
170
182
{__NR_getrlimit, " getrlimit" },
@@ -212,9 +224,7 @@ const std::map<uint32_t, std::string> LINUX_SYSCALLS{
212
224
{__NR_lstat, " lstat" },
213
225
{__NR_madvise, " madvise" },
214
226
{__NR_mbind, " mbind" },
215
- #if defined(__NR_membarrier)
216
227
{__NR_membarrier, " membarrier" },
217
- #endif // defined(__NR_membarrier)
218
228
{__NR_memfd_create, " memfd_create" },
219
229
{__NR_migrate_pages, " migrate_pages" },
220
230
{__NR_mincore, " mincore" },
@@ -515,9 +525,7 @@ class SeccompPolicyBuilder
515
525
{
516
526
allowed_syscalls.insert (__NR_brk); // change data segment size
517
527
allowed_syscalls.insert (__NR_madvise); // give advice about use of memory
518
- #if defined(__NR_membarrier)
519
528
allowed_syscalls.insert (__NR_membarrier); // issue memory barriers on a set of threads
520
- #endif // defined(__NR_membarrier)
521
529
allowed_syscalls.insert (__NR_mlock); // lock memory
522
530
allowed_syscalls.insert (__NR_mmap); // map files or devices into memory
523
531
allowed_syscalls.insert (__NR_mprotect); // set protection on a region of memory
@@ -595,9 +603,7 @@ class SeccompPolicyBuilder
595
603
596
604
void AllowGetRandom ()
597
605
{
598
- #if defined(__NR_getrandom)
599
606
allowed_syscalls.insert (__NR_getrandom); // obtain a series of random bytes
600
- #endif // defined(__NR_getrandom)
601
607
}
602
608
603
609
void AllowGetSimpleId ()
0 commit comments