我写了一个内核模块和一个用 O_RDWR 模式打开它的用户,
在 module_permission 的函数中我得到了 int op 参数,
并想知道它的值是否与 O_RDWR 相同,或者系统调用 open 将其更改为另一个已知值,如果是,我在哪里可以找到它..
非常感谢..
最佳答案
您的意思是您的模块导出一个设备节点,用户可以使用 O_RDWR 将其作为文件打开?在这种情况下,如果您使用的是较新的内核,则模式位于传递给模块打开调用的 struct file* 参数中:
int my_open(struct inode* inode, struct file* filep)
{
unsigned mode = file->f_mode;
//...
}
关于c - linux内核模块权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2898001/