KASAN 中kasan_multi_shot 的作用

yooooooo發表於2024-08-28

kasan_multi_shot 是 Linux 核心配置選項之一,與 Kernel Address Sanitizer (KASAN) 相關。KASAN 是一種核心記憶體錯誤檢測工具,能夠檢測核心程式碼中的各種記憶體錯誤,例如越界訪問、使用未初始化的記憶體、雙重釋放等。

預設情況下,KASAN 在檢測到記憶體錯誤後會觸發核心 panic 並停止系統的進一步執行。這對於除錯單一問題是有幫助的,但如果你想在一個引導週期中檢測多個記憶體錯誤,那麼這種行為就顯得不太理想了。

kasan_multi_shot 的作用就是解決這個問題。當啟用 kasan_multi_shot 選項時,KASAN 不會在檢測到第一個記憶體錯誤後停止系統,而是會繼續執行並報告後續的記憶體錯誤。這對於測試和除錯多個潛在的記憶體問題非常有用。

總結來說,kasan_multi_shot 的作用是允許 KASAN 在一次引導過程中報告多個記憶體錯誤,而不是在第一個錯誤出現時就停止系統。

相關文章