Я пишу небольшой драйвер ядра, который выполняет роль приманки и отслеживает действия, выполняемые над конкретным файлом c в системе. Для начала Я использовал код в этом репозитории , который я затем слегка модифицировал по соображениям простоты, чтобы он работал только для одного системного вызова: sys_open
.
Теперь мне нужно собрать информацию для процесса и пользователя, который запускает этот системный вызов, чтобы открыть этот файл, но я не смог найти никакого способа сделать это. Я думал, что смогу использовать файловый дескриптор, чтобы определить, какой процесс имеет его, но после обсуждения с моим университетским профессором он сказал мне, что файловые дескрипторы НЕ являются уникальными для всей системы, а только для всего процесса.
В заключение, есть ли способ, который мог бы дать мне PID процесса, который неявно называется sys_open
?