You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(seccomp): update seccompiler to use libseccomp
libseccomp provides a better quality compiler for
BPF seccomp programs than our current implementation. In our testing
it produces BPF code with ~65% less instructions which makes final
binaries smaller which in turn makes Firecracker binary smaller because
we include them into Firecracker at build time.
For this transition we create a minimal set ob low level binding for the
`libseccomp` in order to simplify maintenance and avoid adding
additional dependencies.
The only tricky issue with this transition is the way `ioctl` syscalls
are checked with libseccomp. It always adds a check for the high bits
of the request to be 0. Unfortunately when we build with `musl`, some
`ioctl`s have upper bits set to 1. Because of this, we need
to replace `Eq` with `MaskedEq` with mask `0x00000000FFFFFFFF`
for `ioctl` syscall.
This commit also removes dependency of firecracker and vmm
crates on the seccompiler crate.
Signed-off-by: Egor Lazarchuk <[email protected]>
0 commit comments