-
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
update cilium/ebpf to fix haveBpfProgReplace() check #3009
Conversation
0d4912d
to
aa69502
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, hopefully this works into the future. I can implement the fallback in a more ugly way (assuming the failure is EINVAL
and retry without BPF_F_REPLACE
to see if it works). But let's keep that ace in our back pocket for now...
(updated description to link to cilium/ebpf#320) The only two minor issues I see are:
I guess this is minor and we really should release 1.0.0 GA now, so LGTM. |
Filed an issue to cilium asking them to tag a release cilium/ebpf#323 |
We've tagged /~https://github.com/cilium/ebpf/releases/tag/v0.6.1. |
thanks @ti-mo ! |
@AkihiroSuda Can you update this to use the new release? |
aa69502
to
c28d402
Compare
Thanks, updated |
c28d402
to
719a7bd
Compare
The `errors.Is(err, unix.EINVAL)` check in `haveBpfProgReplace()` was broken because the `cilium/ebpf` library did not "wrap" errors. /~https://github.com/cilium/ebpf/blob/v0.6.0/link/program.go#L72 So the eBPF support of runc was broken for kernel prior to 5.6. This commit bumps up cilium/ebpf to contain cilium/ebpf PR 320. Fix opencontainers/runc issue 3008 Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
719a7bd
to
46940ed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
The
errors.Is(err, unix.EINVAL)
check inhaveBpfProgReplace()
was broken because thecilium/ebpf
library did not "wrap" errors: /~https://github.com/cilium/ebpf/blob/v0.6.0/link/program.go#L72So the eBPF support of runc was broken for kernel prior to 5.6.
The fix for the above is cilium/ebpf#320. This PR bumps cilium/ebpf to include the fix.
Fixes: #3008
Tested in Moby CI moby/moby#42450