我正在编写 LKM,需要找出特定符号链接指向的位置。基本上我需要系统调用的功能readlinkat
(or readlink
)但是在内核空间中。是否有捷径可寻?
Using readlinkat
直接对我不起作用,我总是收到 EFAULT (我猜这是因为我的缓冲区显然位于内核内存空间而不是用户空间)。
首先,您不能使用用户空间系统调用(readlinkat()
or readlink()
)直接在你的内核模块中。相反,您需要在内核空间内使用导出的函数/符号。
接下来,可能想研究一下结构inode_操作特定于您正在使用的文件系统。还查看generic_readlink()其内部调用vfs_readlink()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)