复现步骤:
1. 在系统启动时grub参数中添加”security=”关闭系统默认安全机制(包括关闭kyextend模块)。
2. 在进入系统后,手动加载LSM扩展模块(此模块为第三方用户自主开发的基于lsm钩子的安全模块),此时会报错修改只读内存的panic。
原因:在核外加载lsm扩展模块时,其钩子是追加挂载在内核对应钩子点上,但是当kyextend模块关闭后,钩子会追加在权能模块对应的钩子后,而权能模块钩子是被__lsm_ro_after_init进行保护,因此在其后追加钩子挂载时会出现修改只读内存的问题,导致内核panic。
影响:会影响安全厂商的LSM安全模块的使用。
规避方案:去掉grub参数中的”security=”
修复方案:升级内核(Version 4.19.90-23.16.v2101)
【注意事项】:
1、规避方案:改/boot/grub下的文件需要重启,直接在系统启动时grub界面上改就不需要重启;
2、升级内核后需重启;