02 19 |
Who call me – kernel版作者: Joey 日期: 2009-02-19 10:53 |
很感謝jserv兄的who call me,讓我學到不少東西,而在Linux 2.6 kernel,也有相似的技巧可用,搭配__builtin_return_address和kallsyms_lookup,我們可以做出一個簡單的kernel module who call me
查看kallsyms.c這個程式,會發現其實已經有不少現成的kernel API封裝好給你用了,我這邊範例用的就是sprint_symbol這個函式,簡單的範例如下所示
在charmodule_init的函式內我加入兩行程式,分別是取得builtin_return_address和使用sprint_symbol查尋那個函式呼叫我,所以只要簡單的兩行,我們就可以做到kernel module who call me
我想嘗試看看用這種技巧trace kernel memory leak,如果有什麼結果再貼上來
Regular expression-跟brainfuck差不多的東西 (2009-11-13 15:37)
Reading file in kernel-簡單但實用 (2009-10-13 15:18)
Linux file system for dummies-只花你45分鐘 (2009-08-19 15:40)
OPENSSL-TCP SSL初心者之路 (2009-07-16 15:16)
NAPI與pure interrupt driver的效能比較 (2009-04-29 19:06)
usermode helper-來自kernel的呼喚 (2009-04-21 16:19)
kernel module memory detector-抓出有害的kernel module (2009-03-31 13:50)
kernel space coding-如履薄冰 (2009-03-26 09:52)
readahead與posix_advise-預讀取是萬能靈丹? (2009-03-06 15:54)