столкнулся вот с необходимостью перехвата некоторых системных вызовов в ядре Linux. ограничения:
a) все ядра ветки 2.4.x
b) патчить ядро нельзя i.e. должно работать на уже существующей системе с каким-то левым ядром.
AFAIU с самим перехватом проблем не возникает и достаточно подставить свой вызов в sys_call_table. проблема в том, что с какой-то версии ядра, переменная sys_call_table перестала быть публичной -> при прямом обращении к ней через extern void sys_call_table[] "идет unresolved symbol sys_call_table".
пока что нашел IMHO dirty hack навроде:
http://mail.nl.linux.org/kernelnewbies/2002-12/msg00266.html
но такой брутальный подход мне как-то не нравится :-/ может быть есть другие, более оффициальные вариации на эту тему?
// wbr