復現(xiàn)步驟:
1. 在系統(tǒng)啟動時grub參數(shù)中添加”security=”關(guān)閉系統(tǒng)默認安全機制(包括關(guān)閉kyextend模塊)。
2. 在進入系統(tǒng)后,手動加載LSM擴展模塊(此模塊為第三方用戶自主開發(fā)的基于lsm鉤子的安全模塊),此時會報錯修改只讀內(nèi)存的panic。
原因:在核外加載lsm擴展模塊時,其鉤子是追加掛載在內(nèi)核對應鉤子點上,但是當kyextend模塊關(guān)閉后,鉤子會追加在權(quán)能模塊對應的鉤子后,而權(quán)能模塊鉤子是被__lsm_ro_after_init進行保護,因此在其后追加鉤子掛載時會出現(xiàn)修改只讀內(nèi)存的問題,導致內(nèi)核panic。
影響:會影響安全廠商的LSM安全模塊的使用。
規(guī)避方案:去掉grub參數(shù)中的”security=”
修復方案:升級內(nèi)核(Version 4.19.90-23.16.v2101)
【注意事項】:
1、規(guī)避方案:改/boot/grub下的文件需要重啟,直接在系統(tǒng)啟動時grub界面上改就不需要重啟;
2、升級內(nèi)核后需重啟;