-
Notifications
You must be signed in to change notification settings - Fork 108
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
chore: add 4.0.0+driver support for kernel-5.10.0-0.bpo.15 x86_64 #1131
Conversation
Hi @atmosx. Thanks for your PR. I'm waiting for a falcosecurity member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: atmosx The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi! I think this might be the same issue as falcosecurity/falco#2374. |
Btw if that's the case, Falco 0.35 will ship the fix (falcosecurity/falco#2377) and i already provided a Falco-driver-loader 0.34.1 with the fix in my own docker repo to test: falcosecurity/falco#2377 (comment) |
/hold |
This PR adds ebpf object file and kernel module driver support for debian kernel v5.10.0-0.bpo.15, architecture `x86_64`. Supported falco driver versions 2.0,3.0 and 4.0. Upgrading to falco v0.34.1 in DigitalOcean Kubernetes managed service (DOKS) v1.22.13-do.0 requires `5.10.0-0.bpo.15-amd64` driver support for v4 driver version. Error encountered during driver setup: ``` ================ Cleaning phase ================ * Looking for a falco module locally (kernel 5.10.0-0.bpo.15-amd64) * Filename 'falco_debian_5.10.0-0.bpo.15-amd64_1.ko' is composed of: - driver name: falco - target identifier: debian - kernel release: 5.10.0-0.bpo.15-amd64 - kernel version: 1 * Trying to download a prebuilt falco module from https://download.falco.org/driver/4.0.0%2Bdriver/x86_64/falco_debian_5.10.0-0.bpo.15-amd64_1.ko curl: (22) The requested URL returned error: 404 Unable to find a prebuilt falco module install: /usr/lib/gcc/x86_64-linux-gnu/5/ * Trying to dkms install falco module with GCC /usr/bin/gcc DIRECTIVE: MAKE="'/tmp/falco-dkms-make'" Creating symlink /var/lib/dkms/falco/4.0.0+driver/source -> /usr/src/falco-4.0.0+driver DKMS: add completed. * Running dkms build failed, couldn't find /var/lib/dkms/falco/4.0.0+driver/build/make.log (with GCC /usr/bin/gcc) install: /usr/lib/gcc/x86_64-linux-gnu/5/ * Trying to dkms install falco module with GCC /usr/bin/gcc-5 DIRECTIVE: MAKE="'/tmp/falco-dkms-make'" * Running dkms build failed, couldn't find /var/lib/dkms/falco/4.0.0+driver/build/make.log (with GCC /usr/bin/gcc-5) install: /usr/lib/gcc/x86_64-linux-gnu/6/ * Trying to dkms install falco module with GCC /usr/bin/gcc-6 DIRECTIVE: MAKE="'/tmp/falco-dkms-make'" * Running dkms build failed, couldn't find /var/lib/dkms/falco/4.0.0+driver/build/make.log (with GCC /usr/bin/gcc-6) install: /usr/lib/gcc/x86_64-linux-gnu/8/ * Trying to dkms install falco module with GCC /usr/bin/gcc-8 DIRECTIVE: MAKE="'/tmp/falco-dkms-make'" * Running dkms build failed, couldn't find /var/lib/dkms/falco/4.0.0+driver/build/make.log (with GCC /usr/bin/gcc-8) * Trying to load a system falco module, if present Consider compiling your own falco driver and loading it or getting in touch with the Falco community ``` Command used generate driver config: ``` make generate -e TARGET_DISTRO=debian -e TARGET_KERNEL=5.10.0-0.bpo.15-amd64_1 -e TARGET_ARCH=x86_64 ``` Signed-off-by: Panagiotis Atmatzidis <atma@convalesco.org>
Hello! Thanks for the comment. Here is the output:
Hmm, looks like it's a related issue 🤔 UPDATE: testing your docker image, I'm having the same exact error:
|
Yay! And we should have correct driver built: https://download.falco.org/driver/4.0.0%2Bdriver/x86_64/falco_debian_5.10.120-1-amd64_1.ko Can you test using my falco-driver-loader image (linked in the comment i shared above?) |
You're too fast :-P - see the "update". |
Weird, are you sure you are actually running my falco-driver-loader image? Eg (see https://github.com/falcosecurity/falco/pull/2377/files):
|
I made a mistake earlier. Your image works for me as expected, the init container loads the module:
However running falco fails 🤔 :
|
😆 |
I'm producing a YAML definition from the helm chart. This is a configuration issue, probably some options missing there, we can consider this problem solved :-) My understanding is that to proceed right now I have two choices:
The fix will ship with falco v0.35 ? |
Well that's not really an option unless you want to manually load it on all your nodes and then skip the falco-driver-loader stage :D
Yep, i know it's not ideal. In any case, please remember to switch back to falcosecurity one once Falco 0.35 is released :)
Yes! You can also try the modern bpf probe driver instead! It does not require any external artifact since it leverages modern CO-RE approach! EDIT: a note about modern-bpf; it is experimental as of Falco 0.34; but will be official since Falco 0.35! |
Yay! I am glad we were able to test my patch once more; i don't know when and why debian started doing that kernel release ABI kernel API thing, but hopefully all issues will be solved by Falco 0.35! Feel free to close this one! |
This PR adds ebpf object file and kernel module driver support for debian kernel v5.10.0-0.bpo.15, architecture
x86_64
. Supported falco driver versions 2.0,3.0 and 4.0.Upgrading to falco v0.34.1 in DigitalOcean Kubernetes managed service (DOKS) v1.22.13-do.0 requires
5.10.0-0.bpo.15-amd64
driver support for v4 driver version.Error encountered during driver setup:
Command used generate driver config: