Commit 28c9d473 authored by 广告位招租's avatar 广告位招租
Browse files

change readme

parent 7235a585
No related merge requests found
Showing with 14 additions and 10 deletions
+14 -10
......@@ -22,16 +22,6 @@ kpatch版本:0.96
​ 缓存文件包含完整的首次编译信息打包文件以及校验文件,这个文件中同时还包含了原始的vmlinux,可以最大程度避免kpatch-build首次编译用时。由于缓存文件包包含了配置信息,可以编译与主机配置无关的目标机patch。
## 冲突检测增强
### 加载顺序一致性
​ 多个补丁使用不同顺序加载,最后生效的补丁函数可能不同,造成多个机器间的不一致行为。但是,由于patch加载使用了insmod,最后加载完成后才会退出syscall,所以只要syscall调用者保证加载一致性即可,即kpatch load时顺序加载即可,无需作额外的保护。
## 冲突增强检测
# 快速开始
1. 构建安装
......
# 首次编译缓存
- 缓存首次编译文件并且打包
- 使用md5校验
# 冲突检测
- 无需检测补丁加载顺序
- 已加载补丁信息需要ko代码使用sysfs/kobject读取,单独标记已生效函数。
- 修改的补丁函数按照补丁划分,同一个补丁的修改函数为一组。
- **检测算法:**
- 生效的补丁的函数不允许有交级,如patch A的函数为a1 b1 c1,patch B为d1 e1,那么patch A和B可以同时生效
- 如果新添加的补丁与已生效补丁有交集,除非新补丁完全包含已生效补丁才可替换原有补丁,否则报错。如patch A包含a1 b1 c1,新的patch B包含a2 b2 c2 d1 e1,那么patch B可以完全替换patch A。
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment