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

improve seccomp notify #11082

Merged
merged 6 commits into from
Jul 5, 2022
Merged

improve seccomp notify #11082

merged 6 commits into from
Jul 5, 2022

Conversation

utam0k
Copy link
Contributor

@utam0k utam0k commented Jul 1, 2022

Description

Related Issue(s)

Fixes #9247

Precisely up to the reduction. For some reason seccomp notify is cancelled by the linux kernel. Neither docker-compose nor runc can handle it.
We mitigate it a bit by processing it as quickly as possible.
More detail
seccomp/libseccomp-golang@3879420

How to test

open this repository and works fine
https://github.com/appwrite/integration-for-gitpod

Release Notes

Improve system call handling

Documentation

Werft options:

  • /werft with-preview

ec := make(chan error)
stp := make(chan struct{})

handledSyscalls := mapHandler(handler)
go func() {
for {
req, err := libseccomp.NotifReceive(fd)
if err != nil {
if err == syscall.ENOENT {
log.WithError(err).Warn("failed to get notification beucase it has already been not valid anymore(the kernel sets that)")
Copy link
Member

Choose a reason for hiding this comment

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

What's the purpose of the warning?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The cause may be a query due to this error. This is to track them down.
Incidentally, libseccomp-golang also handles the error separately.
https://github.com/seccomp/libseccomp-golang/blob/c0b6cd81f16769ee69fb39d55016b98f7b232021/seccomp_internal.go#L812-L814

@utam0k utam0k marked this pull request as ready for review July 4, 2022 23:39
@utam0k utam0k requested a review from a team July 4, 2022 23:39
@github-actions github-actions bot added the team: workspace Issue belongs to the Workspace team label Jul 4, 2022
@roboquat roboquat merged commit 8acb3ae into main Jul 5, 2022
@roboquat roboquat deleted the to/seccomp branch July 5, 2022 00:03
@roboquat roboquat added deployed: workspace Workspace team change is running in production deployed Change is completely running in production labels Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployed: workspace Workspace team change is running in production deployed Change is completely running in production release-note size/L team: workspace Issue belongs to the Workspace team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Error response from daemon: OCI runtime create failed /proc/self/fd
3 participants