本方法適用于linux 2.6.x內(nèi)核。
1. 先獲取dentry所屬文件系統(tǒng)對應(yīng)的掛載點,基本原理是遍歷文件系統(tǒng)vfsmount樹,找到與dentry有相同超級塊的vfsmount,實現(xiàn)如下
next_mnt函數(shù)實現(xiàn)了
先根遍歷法,遍歷以root為根的文件系統(tǒng)掛載點,p為遍歷過程中的當(dāng)前結(jié)點,返回p的下一個掛載點;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
春秋十二月 閱讀(5875)
評論(0) 編輯 收藏 引用 所屬分類:
System