我有一个设备驱动程序模块,它执行register_chardev()。在驱动程序open()函数中,我希望能够确定尝试打开设备节点的进程的pid或pgid。这可能吗?有没有人知道从哪里开始?
我假设这应该在一定程度上保护我的设备节点只允许我的应用程序使用它,因为除非它们在同一个会话中,否则无法将进程迁移到新的进程组。
答案 0 :(得分:3)
内核不是制定此类策略决策的正确位置 - 设置谁可以打开设备节点的权限的正确位置是通过在文件系统中设置设备节点文件的常用所有权和权限。
如果真的有心,current->pid
是PID,current->tgid
是线程组ID,current->group_leader->pid
是PGID。