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