В общем, пытаюсь перехватить sys_execve(), ядро ломается и все такое. Когда я проверил адреса, то меня кое что слегка удивило. А именно:
Константа __NR_execve в /usr/include/asm-generic/unistd.h равна 221, однако когда я вывожу ее в консоль во время работы модуля - мне указывается значение 59.
Ну и собственно, адрес, на который указывает sys_call_table[__NR_execve], в файле System.map, указывает на stub_execve. Однако судя по тому что написано здесь, это обычный дефайн, и, если я правильно понимаю, что такое дефайн, то у меня возникает закономерный вопрос. Почему адреса разные, если это одна и та же сущность?