Linux kernel Linux字符驱动程序中的用户上下文存储在哪里?

Linux kernel Linux字符驱动程序中的用户上下文存储在哪里?,linux-kernel,kernel,char,driver,Linux Kernel,Kernel,Char,Driver,我已经有一段时间没有在Linux内核模块上工作了,我似乎还记得在open()open实现中有一个隐藏上下文的地方,而这个地方可以在其他文件操作中使用。。。例如,如果我想保持与打开我的设备节点的每个人相关联的一些状态,如果inode结构或传递给所有file_操作函数的文件结构有一个空*我可以填充,我可以很容易地支持任意数量的用户。。。。这可能吗?找到了答案。传递给所有文件操作函数的“struct file*”有一个名为“private\u data”的字段。。。它是一个void*,所以您可以在op

我已经有一段时间没有在Linux内核模块上工作了,我似乎还记得在open()open实现中有一个隐藏上下文的地方,而这个地方可以在其他文件操作中使用。。。例如,如果我想保持与打开我的设备节点的每个人相关联的一些状态,如果inode结构或传递给所有file_操作函数的文件结构有一个空*我可以填充,我可以很容易地支持任意数量的用户。。。。这可能吗?

找到了答案。传递给所有文件操作函数的“struct file*”有一个名为“private\u data”的字段。。。它是一个void*,所以您可以在open中填充它,在read()、write()和ioctl()中使用它,并在release()中释放它