有没有办法通过一个模块来动态添加系统调用?我已经找到了可以通过修改 sys_call_table[]
数组来覆盖现有系统调用的地方,让我的模块在安装时使用我的替代函数而不是原生函数,但是对于新的系统调用和模块,能实现这个操作吗?
有没有办法通过一个模块来动态添加系统调用?我已经找到了可以通过修改 sys_call_table[]
数组来覆盖现有系统调用的地方,让我的模块在安装时使用我的替代函数而不是原生函数,但是对于新的系统调用和模块,能实现这个操作吗?
不,sys_call_table
是固定大小的:
const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = { ...
你可能已经发现,最好的方法是拦截现有的系统调用。