-
Notifications
You must be signed in to change notification settings - Fork 209
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
error adding seccomp filter rule for syscall bdflush: permission denied #631
Comments
@giuseppe broke it 😀 Context: This isn't a problem released into the wild yet. Only seeing it in CI when testing out new VM images. |
@cevich I've seen the error "container_linux.go:380: starting container process caused: error adding seccomp filter rule for syscall bdflush: permission denied: OCI permission denied" with versions of runc older than 1.0-rc95. Could we first double check the runc version? |
Having the same problem with containers-common-0.40.0-1, and my Arch Linux setup has runc 1.0.0rc95-1 |
@ryester27 is it on x86_64? Could you try with a custom seccomp profile where you drop |
x86_64, yes I removed bdflush from /etc/containers/seccomp.json. Tried running another container, and then it complained about clone3. Removed that too, then complained about io_pgetevents next. And so on.... Let me know if that wasn't the right way to test this |
Thanks @giuseppe
I just looked, the problem images have Also, if we're building new packages anyway, should we also bump libseccomp ( |
FWIW: I also tried this, and had the exact same result. It just fails on the next one in the list 😢 |
Idea: Since it should be easy to check, let me try my reproducer after rebuilding/installing from upstream runc... |
...okay, this failure is reproducing even with the latest runc from upstream source:
|
@ryester27 I'm also having this issue on Arch Linux with containers-common 0.40.0, podman 3.2.1, and runc 1.0.0rc95. However, replacing |
Issue resolved after rolling back to containers-common 0.39.0
|
Fantastic news @giuseppe Please let me know if/how I can help. |
I'm hoping 'updated Podman' means code changes then package updates. Remember, in addition to the pre-packaged podman, I also reproducing this on Ubuntu + Runc in podman CI, where we build from source. Though that was 6-days ago, so maybe the situation has changed? |
Update: I re-ran my podman test PR and it passed, so the issue must be resolved in upstream podman. So we're just waiting for updated podman packages to go out to Kubik testing? Assuming so, that's great news. |
Can we close this issue? |
I tried with following versions and everything seems to be working as expected. I believe runc version has been updated on 23rd June ~ ❯ pacman -Q containers-common podman runc
containers-common 0.40.1-1
podman 3.2.1-1
runc 1.0.0-1
~ ❯ podman run -it --rm ubuntu:20.04
root@af8fd5340d0b:/# |
I haven't checked...did @lsm5 build new podman packages in Kubik testing? |
I'll catch up with this early next week, since new VM images need to be made again anyway. I can re-open this if it's still a problem. |
Ref, new runc package in kubik testing: https://build.opensuse.org/package/rdiff/devel:kubic:libcontainers:testing/cri-o-runc?linkrev=base&rev=17 |
Contrary to @dtchanpura, this is still broken for me.
It works if I downgrade to containers-common-0.39.0-4.
If I remove bdflush from seccomp.json, it just fails with a different error:
|
@dtchanpura did you have crun installed when you ran that test? I have found that (at least on arch linux) containers-common will default to crun if it's installed, which is not affected by this issue. So an effective workaround for arch users with the default configuration is to just install crun. Others may need to set runtime="crun" in contianers.conf. Arch bug report here: https://bugs.archlinux.org/task/71397 |
@darrellenns Sorry about that, I did not see other dependencies, but yes, I do have crun installed as a dependency for buildah and it coincided with the runc update so couldn't distinguish if that was because of runc or crun.
Edit: I could reproduce the issue removing buildah and crun. |
This reverts commit 404d5ed. The replacement (updated) images include a fix for: containers/common#631 Also minor update to an unrelated FIXME comment. Signed-off-by: Chris Evich <[email protected]>
This reverts commit 404d5ed. The replacement (updated) images include a fix for: containers/common#631 Also minor update to an unrelated FIXME comment. Signed-off-by: Chris Evich <[email protected]>
Was there ever a runc bug report opened about this issue? I can't seem to find it. |
AFAIK there is no issue in upstream runc. The problem existed with the old runc version we've used that didn't know about |
The way I understood the error message above is that you get the error when generating the seccomp program, not during execution (so it shouldn't be related to defaultErrnoRet?). I ask because we have a bug open for this issue since it seems there's still a bug in runc but everyone has "worked around it" by switching to crun rather than reporting the bug? |
from what I saw and I could reproduce locally, the I could not reproduce the issue with newer runc versions |
This was a complex issue to fix, there may be some parts still unaddressed in the older VM images. In case it helps: #742 makes them current with what's in podman CI. |
FWIW, if anyone ends up here for |
I'm on Debian Bullseye facing this issue after building Podman from source. There's no clear fix given that Debian doesn't use Pacman here. What's the solution? Bullseye is currently the latest version that gets security updates, and current stable podman seems to entirely ignore .containerignore (a separate issue I'm ultimately trying to evaluate). Hence building from source. EDIT: Turns out |
Thank you for leaving a hint here, @Qix-! I'm on Debian Bookworm (11.3) and I installed Podman from Debian. I too had to install |
Most likely runc is out of date. |
This (maybe) works around a release bug in f33/buildah that makes it fail to execute any RUN command inside a container. See containers/common#631
If anyone ends up here today and is using redhat 8.4, update runc (dnf update runc) fixes this |
#573 Causes an error on Ubuntu when running any container using
cri-o-runc 1.0.0~rc95.1
. It also happens (not too unexpectedly) frombuildah bud
(first identified here). The problem does not occur when using the prior version of containers-common (which doesn't contain the #573 changes).Conveniently, I have two VM Images built 3-days apart which bisect the problem versions. See test PR containers/podman#10709
c4635821094469632
built on the 13th does not reproduce the problem (containers-common 1_15)c4805484248039424
built on the 16th does reproduce the problem (containers-common 1_16)Hint: If you check out commit
9efcf62
from that PR, you can usehack/get_ci_vm.sh int podman ubuntu-2010 root host
to see it break. Commitf4c50f6
will get you the prior version VM (without the problem).The text was updated successfully, but these errors were encountered: