gvisor/pkg/abi/linux
Ian Lewis dcd532e2e4 Add support for OCI seccomp filters in the sandbox.
OCI configuration includes support for specifying seccomp filters. In runc,
these filter configurations are converted into seccomp BPF programs and loaded
into the kernel via libseccomp. runsc needs to be a static binary so, for
runsc, we cannot rely on a C library and need to implement the functionality
in Go.

The generator added here implements basic support for taking OCI seccomp
configuration and converting it into a seccomp BPF program with the same
behavior as a program generated by libseccomp.

- New conditional operations were added to pkg/seccomp to support operations
  available in OCI.
- AllowAny and AllowValue were renamed to MatchAny and EqualTo to better reflect
  that syscalls matching the conditionals result in the provided action not
  simply SCMP_RET_ALLOW.
- BuildProgram in pkg/seccomp no longer panics if provided an empty list of
  rules. It now builds a program with the architecture sanity check only.
- ProgramBuilder now allows adding labels that are unused. However, backwards
  jumps are still not permitted.

Fixes #510

PiperOrigin-RevId: 331938697
2020-09-15 23:19:17 -07:00
..
BUILD Move the 'marshal' and 'primitive' packages to the 'pkg' directory. 2020-09-11 17:42:49 -07:00
aio.go Port aio to VFS2. 2020-06-16 08:49:06 -07:00
arch_amd64.go Specify a memory file in platform.New(). 2020-04-22 17:50:10 -07:00
audit.go
bpf.go
capability.go
clone.go
dev.go
elf.go Enable thread local storage support on arm64. 2020-03-09 01:04:55 +00:00
epoll.go
epoll_amd64.go Enable automated marshalling for epoll events. 2020-04-23 15:49:05 -07:00
epoll_arm64.go Enable automated marshalling for epoll events. 2020-04-23 15:49:05 -07:00
errors.go
eventfd.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
exec.go
fadvise.go
fcntl.go
file.go Update preadv2/pwritev2 flag handling in vfs2. 2020-07-01 22:04:42 -07:00
file_amd64.go
file_arm64.go Enable automated marshalling for struct stat. 2020-02-14 12:08:12 -08:00
fs.go
fuse.go
futex.go Implement get/set_robust_list. 2020-07-23 17:42:50 -07:00
inotify.go
ioctl.go
ioctl_tun.go
ip.go Internal change. 2020-05-29 11:52:22 -07:00
ipc.go
limits.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
linux.go
mm.go
netdevice.go Enable automated marshalling for netstack. 2020-07-24 01:25:39 -07:00
netfilter.go
netfilter_ipv6.go Move the 'marshal' and 'primitive' packages to the 'pkg' directory. 2020-09-11 17:42:49 -07:00
netfilter_test.go ip6tables: ABI structs and constants 2020-08-12 16:20:51 -07:00
netlink.go
netlink_route.go
poll.go
prctl.go
ptrace.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
ptrace_amd64.go Enable automated marshalling for signals and the arch package. 2020-04-25 23:56:04 -07:00
ptrace_arm64.go Enable automated marshalling for signals and the arch package. 2020-04-25 23:56:04 -07:00
rseq.go
rusage.go
sched.go
seccomp.go Add support for OCI seccomp filters in the sandbox. 2020-09-15 23:19:17 -07:00
sem.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
shm.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
signal.go Port most syscalls to VFS2. 2020-02-25 13:37:34 -08:00
signalfd.go Signalfd support 2019-09-18 15:16:42 -07:00
socket.go
splice.go
tcp.go {S,G}etsockopt for TCP_KEEPCNT option. 2020-06-10 13:37:27 -07:00
time.go Port most syscalls to VFS2. 2020-02-25 13:37:34 -08:00
timer.go
tty.go
uio.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
utsname.go
wait.go Move wait constants to abi/linux package 2019-05-22 11:15:33 -07:00
xattr.go tmpfs: Allow xattrs in the trusted namespace if creds has CAP_SYS_ADMIN. 2020-08-26 10:05:34 -07:00