我構建的Linux內核模塊支持mips體系結構的SSP。我將-fstack-protector-all添加到編譯標誌。但是在加載這個模塊之後,我得到了一些未定義的引用,如__stack_chk_guard和__stack_chk_fail。但我添加了libssp.so到鏈接器。它看起來像我應該在內核像這樣導出這些符號:內核模塊中的符號
EXPORT_SYMBOL(__stack_chk_guard);
因爲我的內核是舊的,沒有包含他們沒有。但不幸的是我應該使用這個版本。
我的問題是:爲什麼用戶空間可以使用工具鏈庫中的這些符號,但內核空間不?
我想,我錯過了一些linux內核的要領。
+1我想你理論上可以從文件加載代碼,映射它,執行並重新啓動:) – 2013-03-01 17:31:52