seccomp: add new seccomp_init_conservative() helper
authorLennart Poettering <lennart@poettering.net>
Fri, 21 Oct 2016 18:28:05 +0000 (20:28 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 24 Oct 2016 15:32:50 +0000 (17:32 +0200)
commit8d7b0c8fd780e88ab5a6d1d79e09e27247245bee
treedb1954e24c9f4c283859f0b3ffbea40a679a84e3
parent25a8d8a0cb297f75b6b9fd3cc15747ba7f56031e
seccomp: add new seccomp_init_conservative() helper

This adds a new seccomp_init_conservative() helper call that is mostly just a
wrapper around seccomp_init(), but turns off NNP and adds in all secondary
archs, for best compatibility with everything else.

Pretty much all of our code used the very same constructs for these three
steps, hence unifying this in one small function makes things a lot shorter.

This also changes incorrect usage of the "scmp_filter_ctx" type at various
places. libseccomp defines it as typedef to "void*", i.e. it is a pointer type
(pretty poor choice already!) that casts implicitly to and from all other
pointer types (even poorer choice: you defined a confusing type now, and don't
even gain any bit of type safety through it...). A lot of the code assumed the
type would refer to a structure, and hence aded additional "*" here and there.
Remove that.
src/core/execute.c
src/nspawn/nspawn-seccomp.c
src/shared/seccomp-util.c
src/shared/seccomp-util.h