本方法適用于linux 2.6.x內(nèi)核。
1. 先獲取dentry所屬文件系統(tǒng)對(duì)應(yīng)的掛載點(diǎn),基本原理是遍歷文件系統(tǒng)vfsmount樹,找到與dentry有相同超級(jí)塊的vfsmount,實(shí)現(xiàn)如下
next_mnt函數(shù)實(shí)現(xiàn)了
先根遍歷法,遍歷以root為根的文件系統(tǒng)掛載點(diǎn),p為遍歷過程中的當(dāng)前結(jié)點(diǎn),返回p的下一個(gè)掛載點(diǎn);vfsmnt_lock可通過內(nèi)核函數(shù)kallsyms_on_each_symbol或kallsyms_lookup_name查找獲得。
2. 再調(diào)用內(nèi)核函數(shù)d_path,接口封裝如下
posted on 2016-08-24 19:22
春秋十二月 閱讀(5853)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
System