@@ -51,30 +51,33 @@ const struct sock_filter FILTER[] = {
51
51
// Load the system call number into accumulator
52
52
BPF_STMT (BPF_LD | BPF_W | BPF_ABS, SECCOMP_DATA_NR_OFFSET),
53
53
// Only applies to X86_64 arch. Jump to disallow for calls using the x32 ABI
54
- BPF_JUMP (BPF_JMP | BPF_JGT | BPF_K, UPPER_NR_LIMIT, 36 , 0 ),
54
+ BPF_JUMP (BPF_JMP | BPF_JGT | BPF_K, UPPER_NR_LIMIT, 39 , 0 ),
55
55
// If any sys call filters are added or removed then the jump
56
56
// destination for each statement including the one above must
57
57
// be updated accordingly
58
58
59
59
// Allowed sys calls, jump to return allow on match
60
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_read, 36 , 0 ),
61
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_write, 35 , 0 ),
62
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_writev, 34 , 0 ),
63
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_lseek, 33 , 0 ),
64
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_lstat, 32 , 0 ),
65
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_clock_gettime, 31 , 0 ),
66
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_readlink, 30 , 0 ),
67
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_stat, 29 , 0 ),
68
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_fstat, 28 , 0 ),
69
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_open, 27 , 0 ),
70
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_close, 26 , 0 ),
71
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_connect, 25 , 0 ),
72
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_clone, 24 , 0 ),
73
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_statfs, 23 , 0 ),
74
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_dup2, 22 , 0 ),
75
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_mkdir, 21 , 0 ), // for forecast temp storage
76
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_rmdir, 20 , 0 ), // for forecast temp storage
77
- BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_getdents, 19 , 0 ), // for forecast temp storage
60
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_read, 39 , 0 ),
61
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_write, 38 , 0 ),
62
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_writev, 37 , 0 ),
63
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_lseek, 36 , 0 ),
64
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_lstat, 35 , 0 ),
65
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_clock_gettime, 34 , 0 ),
66
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_gettimeofday, 33 , 0 ),
67
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_readlink, 32 , 0 ),
68
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_stat, 31 , 0 ),
69
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_fstat, 30 , 0 ),
70
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_open, 29 , 0 ),
71
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_close, 28 , 0 ),
72
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_connect, 27 , 0 ),
73
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_clone, 26 , 0 ),
74
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_statfs, 25 , 0 ),
75
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_dup2, 24 , 0 ),
76
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_mkdir, 23 , 0 ), // for forecast temp storage
77
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_rmdir, 22 , 0 ), // for forecast temp storage
78
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_unlinkat, 21 , 0 ), // for forecast temp storage
79
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_getdents, 20 , 0 ), // for forecast temp storage
80
+ BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_getdents64, 19 , 0 ), // for forecast temp storage
78
81
BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_openat, 18 , 0 ), // for forecast temp storage
79
82
BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_tgkill, 17 , 0 ), // for the crash handler
80
83
BPF_JUMP (BPF_JMP | BPF_JEQ | BPF_K, __NR_rt_sigaction, 16 , 0 ), // for the crash handler
0 commit comments