Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testing seccomp profile with kernel-version based rules #1015

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

thaJeztah
Copy link
Member

- What I did

- How I did it

- How to verify it

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

Comment on lines +421 to +441
{
"names": [
"fchmodat2",
"map_shadow_stack"
],
"action": "SCMP_ACT_ALLOW",
"includes": {
"minKernel": "6.6"
}
},
{
"names": [
"futex_requeue",
"futex_wait",
"futex_wake"
],
"action": "SCMP_ACT_ALLOW",
"includes": {
"minKernel": "6.7"
}
},
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trying if this would do the trick; conditionally add the new syscalls based on kernel version (not sure if it works though)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, looks like this won't fix the issue. I was hoping that making these conditional would exclude them from the seccomp-profile, and make use of the stubs that runc creates, but that's not the case;

tar: engine/cli/winresources: Cannot change mode to rwxrwxr-x: Operation not permitted
tar: engine/cli: Cannot change mode to rwxrwxr-x: Operation not permitted
tar: engine/integration-cli/fixtures/https/client-key.pem: Cannot change mode to rwxrwxrwx: Operation not permitted
tar: engine/integration-cli/fixtures/https/client-cert.pem: Cannot change mode to rwxrwxrwx: Operation not permitted
tar: engine/integration-cli/fixtures/https/server-cert.pem: Cannot change mode to rwxrwxrwx: Operation not permitted
tar: engine/integration-cli/fixtures/https/server-key.pem: Cannot change mode to rwxrwxrwx: Operation not permitted
tar: engine/integration-cli/fixtures/https/ca.pem: Cannot change mode to rwxrwxrwx: Operation not permitted
tar: engine/integration-cli/fixtures/https: Cannot change mode to rwxrwxr-x: Operation not permitted
tar: engine/integration-cli/fixtures: Cannot change mode to rwxrwxr-x: Operation not permitted
tar: engine/integration-cli: Cannot change mode to rwxrwxr-x: Operation not permitted
tar: Exiting with failure status due to previous errors
make[1]: *** [Makefile:85: ubuntu-noble] Error 2
make[1]: Leaving directory '/home/ubuntu/workspace/docker-ce-packaging_PR-1015/deb'
make: *** [Makefile:83: ubuntu-noble] Error 2
script returned exit code 2

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Comment on lines 694 to 696
"action": "SCMP_ACT_ERRNO",
"errnoRet": 38,
"errnoRet": 95,
"excludes": {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this was a bit too naive of course; I thought "let's try change the default", but that means missing syscalls (not defined in the profile) will probably get ENOSYS as well;

pkg-buildpackage: info: source changed by Docker <[email protected]>
 dpkg-source -I.git --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean --with=bash-completion
make: dpkg-parsechangelog: Operation not permitted
make: dh: Operation not permitted
make: *** [debian/rules:121: clean] Error 127
dpkg-buildpackage: error: debian/rules clean subprocess returned exit status 2
make[1]: *** [Makefile:85: ubuntu-jammy] Error 2
make[1]: Leaving directory '/home/runner/work/docker-ce-packaging/docker-ce-packaging/deb'
make: *** [Makefile:83: ubuntu-jammy] Error 2
Error: Process completed with exit code 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant