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

statx syscall not working correctly with DinD #119

Closed
Psy-Kai opened this issue Jul 9, 2018 · 6 comments
Closed

statx syscall not working correctly with DinD #119

Psy-Kai opened this issue Jul 9, 2018 · 6 comments
Labels

Comments

@Psy-Kai
Copy link

Psy-Kai commented Jul 9, 2018

The following bug occurs when starting a container in a DinD container:
When starting a container, you cannot use statx syscall. Starting the container in privileged mode you can use the statx syscall. I tried to pass a seccomp profile file to whitelist the statx call but it wont work.

The DinD container was started in privileged mode.

@wglambert wglambert added the Issue label Jul 9, 2018
@tianon
Copy link
Member

tianon commented Jul 9, 2018

I wonder if this is related to moby/moby#36417, especially moby/moby#36417 (comment):

I tried to emulate this case by whitelisting the fake syscall nonsense and got no error message. The container started as intended. Furthermore, the seccomp filter still seems to work as I got EPERM on a non whitelisted syscall.

So, it's probably not possible for Docker to whitelist the statx syscall without a new enough libseccomp that supports doing so (regardless of what your profile states).

@Psy-Kai
Copy link
Author

Psy-Kai commented Jul 9, 2018

Calling statx in a container works since Docker verison 18.04 without privileged mode. But it wont work in a container running in a DinD container.

@tianon
Copy link
Member

tianon commented Jul 9, 2018

Right, the libseccomp that's compiled statically into the official Docker binaries we consume (from https://download.docker.com/linux/static/) probably isn't new enough.

@Psy-Kai
Copy link
Author

Psy-Kai commented Jul 9, 2018

You are right. Using docker from the arch repository works fine. The version from https://download.docker.com/linux/static/edge/x86_64/docker-18.05.0-ce.tgz does not work.

@tianon
Copy link
Member

tianon commented Jul 9, 2018

Cool, glad we got it figured out -- however, I don't think there's much we can do about this here.

@thaJeztah is there somewhere we ought to file this? Do you think it's conceivable to update libseccomp in those static binaries?

@thaJeztah
Copy link
Contributor

@tianon definitely worth opening an issue for; I guess this is due to Debian stretch being somewhat behind

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

No branches or pull requests

4 participants