Как многим, наверное, известно sys_call_table не экспортируется сейчас ядром и в последних ядрах помечена как rodata. Эта проблема решаема простой пересборкой ядра с небольшими изменениями. После решения этой загвоздки, к примеру перехват sys_open работает отлично, однако же замена sys_clone даже на такой безобидный код
int our_sys_clone(struct pt_regs * pregs)
{
printk("in our_sys_clone\n");
return original_call(pregs);
}
приводит к непредсказуемым последствиям: падение ядра, невнятные сообшения в консоли и т.п.
Сразу оговорюсь, что перехват мне нужен не для создания руткитов и других злодеяний.