c - linux内核模块权限

标签 c linux permissions module kernel

我写了一个内核模块和一个用 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/

相关文章:

c++ - OSX Mavericks 在 C 程序中获取文件的标签

c++ - WinAPI - 具有自己回调的消息循环

c - 为什么下面的shell命令在命令行中直接执行时可以工作,但通过C程序使用popen/system执行时却不起作用?

linux - 在 Linux 中使用 tar 的不同方法

java - Facebook 相册和照片无法通过所有需要的权限访问(GRAPH API)

permissions - 更新通过 JungleDisk 上传的 Amazon S3 文件的权限

c - 使用函数的随机骰子游戏

c - C 中的#define 和#include 命令

linux - 如何使vim正确格式化源代码

java - 无法在 API 级别 < 23 处正确检查权限