Открыть файл в kthread от имени пользовательского процесса - PullRequest
0 голосов
/ 24 апреля 2011

Я пишу модуль ядра Linux, который запускает kthread при обращении к нему пользовательского процесса (используя ioctl).

Как я могу открыть файл с помощью этого kthread на bahalf пользовательского процесса, то есть когда он вернется, пользовательский процесс может получить доступ к этому файлу сам!?

1 Ответ

0 голосов
/ 04 мая 2011

Это не очень разумно делать это. Чтобы открыть файл, который может прочитать процесс пользовательского пространства, необходимо вернуть дескриптор файла этому процессу.

Потенциально можно вернуть пару сокетов домена UNIX, соединяющую поток ядра с потоком пространства пользователя, и заставить поток ядра передавать через этот сокет дескрипторы открытого файла, используя сообщение SCM_RIGHTS.

Вполне вероятно, что более уместно просто открыть файл в контексте исходного процесса в вызове ioctl() и вернуть там дескриптор файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...