-
Notifications
You must be signed in to change notification settings - Fork 307
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
[RFC] Add target module check before livepatch module loading #1435
Comments
Hi @wardenjohn - in this scenario, I don't understand how livepatch-fuse.ko was ever activated if the system was loaded with the OOT fuse_o1.ko. Or is the OOT module also (confusingly) named "fuse"? Also, are the module structures or other means to inspect srcversion exported? This might be something only the kernel livepatching core could and should do. |
@joe-lawrence The original fuse ko lie in When the system start to run, if
I think we can read the structure the |
I couldn't find an exported API that would return the Operationally, this scenario seems like a nightmare if multiple teams are creating their own livepatches -- who knows what the latest livepatch is for any given kernel/module/function? This RFC would help lock out the possibility, but essential force the teams to coordinate to avoid the situation in the first place :) |
So I am now finding a way to get the srcversion from a module. I think read it from elf file may be an option.
True. Because each team is actually responsible for relatively isolated business, if everyone uses the livepatch technology, this situation will occur. However, it is unreliable to expect everyone to consciously abide by an agreement. So we need to solve this problem technically. |
I had faced a scenario like this:
There is a fuse.ko which is built as module of kernel source. However, our team maintain the fuse as oot module.
There is a bug of (name it as B1) the original fuse.ko. And our team fix B1 of fuse.ko as release it as oot module fuse_o1.ko.
Our system loaded fuse_o1.ko. Now, another team made a livepatch module base on fuse.ko to fix B2 bug.
They load this livepatch_fuse.ko to the system, it fixed B2 bug, however, the livepatch_fuse.ko revert the fix of fuse_o1.ko.
It expose the B1 bug which is already fix in fuse_o1.ko
The exposed B1 bug make fault to our cluster, which is a bad thing :(
I have a solution to handle this:
--oot-module
, we would read the srcversion from the oot moudle version.This function can avoid livepatch from patching the wrong version of the function.
I am here waiting for Request For Comment. Before I do codes.
Thanks~~ ;)
Wardenjohn.
The text was updated successfully, but these errors were encountered: