Enable seccomp on ppc64le

In order to do this, allow the socketcall syscall in the default
seccomp profile. This is a multiplexing syscall for the socket
operations, which is becoming obsolete gradually, but it is used
in some architectures. libseccomp has special handling for it for
x86 where it is common, so we did not need it in the profile,
but does not have any handling for ppc64le. It turns out that the
Debian images we use for tests do use the socketcall, while the
newer images such as Ubuntu 16.04 do not. Enabling this does no
harm as we allow all the socket operations anyway, and we allow
the similar ipc call for similar reasons already.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack 2016-05-23 15:19:19 -07:00
parent a5aba7752a
commit a83cedddc6
3 changed files with 11 additions and 1 deletions

View file

@ -168,7 +168,7 @@ RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor pkcs11 selinux
ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux
# Let us use a .bashrc file
RUN ln -sfv $PWD/.bashrc ~/.bashrc

View file

@ -1292,6 +1292,11 @@
"action": "SCMP_ACT_ALLOW",
"args": []
},
{
"name": "socketcall",
"action": "SCMP_ACT_ALLOW",
"args": []
},
{
"name": "socketpair",
"action": "SCMP_ACT_ALLOW",

View file

@ -1321,6 +1321,11 @@ func DefaultProfile(rs *specs.Spec) *types.Seccomp {
Action: types.ActAllow,
Args: []*types.Arg{},
},
{
Name: "socketcall",
Action: types.ActAllow,
Args: []*types.Arg{},
},
{
Name: "socketpair",
Action: types.ActAllow,