Chinaunix

标题: Linux 内核态文件属性获取 [打印本页]

作者: nehcc    时间: 2012-08-21 16:04
标题: Linux 内核态文件属性获取

想要在内核态获取文件属性(目录文件、普通文件、uid、gid等等), 该用什么方法呢?

我知道用户态的方法是使用 stat 系统调用,但是内核态这个系统调用是没有导出的,所以不能使用。

不知道 sys_stat 和 vfs_stat 可以实现不,正在努力尝试中 ........

如果使用 int vfs_stat(char __user *, struct kstat *); 那么这个 kstat 又是什么东东?

另外:sys_stat 的原型貌似是这样的了:asmlinkage long sys_stat(char __user *filename, struct __old_kernel_stat __user *statbuf);
作者: omycle    时间: 2012-08-21 20:48
本帖最后由 omycle 于 2012-08-21 22:08 编辑

回复 1# nehcc


    你所列举的两个函数中的参数都有通过user mode传入的。

    btw,文件的属性可以通过inode获取。不清楚你的意图是什么,至少要是查找某个文件,必须从user mode中传入其路径吧,如果是固定某一路径的文件,那就跟踪一下sys_open系统调用,看其如何根据其路径查找inode的,然后从inode中获取属性。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2