免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1684 | 回复: 1
打印 上一主题 下一主题

[内核模块] Linux 内核态文件属性获取 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-21 16:04 |只看该作者 |倒序浏览

想要在内核态获取文件属性(目录文件、普通文件、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);

论坛徽章:
0
2 [报告]
发表于 2012-08-21 20:48 |只看该作者
本帖最后由 omycle 于 2012-08-21 22:08 编辑

回复 1# nehcc


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

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP