Попытка перехватить sys_open, sys_creat, sys_exeve, sys_write и некоторые другие системные вызовы для перехвата активности файловой системы в ядре 4.17 / 4.18 на x86_64 и 32-битном.
Я ищу пример кода модуля ядра или учебное пособие, в котором объясняется, как перехватывать syscall в ядре 4.17 / 4.18 и далее, где добавляются оболочки syscall.
В моем ядре Ubuntu 18 4.17, / proc / kallsyms имеет __x64_sys_open, но не ksys_open.
Не уверен, нужно ли мне подключать ksys_open или __x64_sys_open или sys_open.
Я получаю ошибку компиляции 'undelcared identifier' для sys_open & __x64_sys_open.
Какие правильные заголовки мне нужно использовать и какие константы мне нужно определить?
Наряду с sys_open мне нужно перехватить sys_creat, sys_openat, sys_execve, sys_truncate, sys_ftruncate, sys_write и т. Д. ...
До ядра 4.17 я смог найти символ для sys_xyz, но начиная с ядра 4.17, я не уверен, нужно ли мне подключать __x64_sys_xyz или ksys_xyz или sys_xyz.
В syscalls.h Некоторые системные вызовы комментируются как / * __ARCH_WANT_SYSCALL_DEPRECATED * /
Пожалуйста, помогите, спасибо,
Кумар Т