Multithreading 代表用户进程在kthread中打开文件
我正在编写一个linux内核模块,当用户进程调用它(使用ioctl)时,它将启动一个kthreadMultithreading 代表用户进程在kthread中打开文件,multithreading,file,kernel,Multithreading,File,Kernel,我正在编写一个linux内核模块,当用户进程调用它(使用ioctl)时,它将启动一个kthread 如何在用户进程的bahalf上使用此kthread打开文件,也就是说,当它返回时,用户进程可以访问此文件本身 这样做真的不明智。要打开用户空间进程可以读取的文件,需要向该进程返回文件描述符 您可能会返回一个将内核线程连接到用户空间线程的UNIX域套接字对,并让内核线程使用SCM\u RIGHTS消息在该套接字上传递打开的文件描述符 但是,在ioctl()调用中,在原始进程的上下文中打开文件并返回文
如何在用户进程的bahalf上使用此kthread打开文件,也就是说,当它返回时,用户进程可以访问此文件本身 这样做真的不明智。要打开用户空间进程可以读取的文件,需要向该进程返回文件描述符 您可能会返回一个将内核线程连接到用户空间线程的UNIX域套接字对,并让内核线程使用
SCM\u RIGHTS
消息在该套接字上传递打开的文件描述符
但是,在ioctl()
调用中,在原始进程的上下文中打开文件并返回文件描述符可能更合适