-
Notifications
You must be signed in to change notification settings - Fork 910
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
Falco 0.11.0 based container fails to load kernel module #394
Comments
Btw, the latest version of sysdig has the same problem:
|
The problem was that the falco image (as well as sysdig) had a newer version of binutils, which created kernel modules including a relocation R_X86_64_PLT32 that can't be read by some older kernels. This reddit page describes the problem in more detail. The kernel was only updated in 4.16 to handle this relocation, although it looks like the fix has also been backported to other kernels depending on your distro. We'll fix this by downgrading binutils in the docker image so the built kernel module doesn't contain that relocation. |
And as a workaround, on debian-based distros you may be able to upgrade to a kernel that has the backport, which will allow the kernel module to be loaded. |
Tested on Debian Jessie (k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21 ami from AWS, kernel 4.4.26-k8s) and Ubuntu 16.04 (GKE provide AMI, kernel 4.13.0-1008-gcp) with the Falco 0.11.0 docker container.
Error in dmesg is
[78962.345914] module: falco_probe: Unknown rela relocation: 4
.Manually trying to modprobe the module built by the container gives the error.
RPM based install works fine. Also, running falco-probe-loader from the RPM install with the kernel module compiled from the container image loads the kernel module.
The text was updated successfully, but these errors were encountered: