復現步驟:
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、升級內核后需重啟;