在 linux 内核模块中,有没有办法从unsigned int fd
?
我知道这个答案:如何从内核模块内的文件描述符中获取文件名?但如果我理解正确的代码,我也需要一个struct files_struct
。
编辑:
请停止投票,因为它不是重复的。我正在寻求一种从内核模块获取纯 C 文件名/路径的方法,而不是使用系统工具。换一种说法:在 /procself/fd/ 上运行 readlink不是一个好的答案。
编辑2:
内核的系统调用读取ssize_t read(int fd, void *buf, size_t count);
需要 3 个参数,其中一个是 fd。很明显,它read
能够以某种方式读取单个文件(而不是 inode 中的所有文件)。问题是如何。