-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Look into using gvisor.dev/gvisor/pkg/seccomp #3388
Comments
Looks like we will have to add a few arch-specific constants to support ppc64le, s390x, arm (32-bit), and other minor architectures. |
I don't like the mega dependency on Probably, we should fork |
This is my simple interest, what is the reason you want to change the seccomp library? Are there any hard spots? |
Cross-compilation is often cumbersome with cgo. |
I got it. I'm interested in contributing to runc. If I have a chance to try it, I'd like to take it. |
Removed from v1.2.0 milestone, but contribution is still welcome |
Sorry, I forgot about this issue. Can I try it already? If yes, please assign me 😍 |
@utam0k Assigned |
@AkihiroSuda Thanks! |
|
@kolyshkin @AkihiroSuda Sorry for the delayed reply. I looked into
WDYT? How can I process this issue? |
Thank you for taking a look at this. |
Maybe we can use https://github.com/elastic/go-seccomp-bpf instead? |
It seems not to support seccomp-notify, but we have an option to contribute it to support seccomp notify. Now, we're tackling the same issue in youki as the experimental. After youki's issue is completed, I'll come back to this issue with the knowledge I get in youki. |
I spoke to @avagin a few months ago about this, and the gVisor impl has a bunch of optimisations that make seccomp filters much faster. Switching would be nice (we might even be able to send patches to finally fix the |
I am interested to https://github.com/elastic/go-seccomp-bpf me too. I've been working with @utam0k on youki's issue. I'm ready to contribute this issue. |
[Haven't looked at the article yet, but] libseccomp (since v2.5) has a binary tree optimization, which is enabled since runc v1.2.0 (#3405) for larger rulesets. Hard to say how helpful this is though, and whether gVisor implementation is yet faster (it probably is). |
The binary tree stuff was added to libseccomp because gVisor added it to their implementation 😜. They have a number of other optimisations, I think the article shows how much each one saves. One of the nicer optimisations is that they take into consideration how the kernel caches rules, which a basic binary search tree doesn't help with. (FWIW, I think the main benefit would be that could be easier to get patches to fix the |
Apparently, https://pkg.go.dev/gvisor.dev/gvisor/pkg/seccomp can potentially be used (instead of libseccomp / libseccomp-golang) to implement seccomp in runc. Need to look into it.
The text was updated successfully, but these errors were encountered: