> You can do this manually now, though not in a safe manner, by directly
> changing the sys_call_table array of system calls. Also, in a proposed
patch
> by Alexander Maryanchick (dated around Jun 25), you can do this through
what
> appears to be a cleaner way.
Unfortunately, no. The 'Interceptors' allows to safely intercept *existing*
syscall.
And this is why: Let us say,
- The kernel 2.3.121 has 300 syscalls.
- The tv.o module registers the syscall NR_TURN_ON_TV = 310
- The tetris.o module registers the syscall NR_GET_BONUS = 310
Then you can not use TV and tetris card in one time :-(.
To safely register new function, the kernel requires some sort of naming
service.
It's still possible to use wrapper:
register_syscall("Tetris bonus game", &handler);
in the kernel and
get_syscall_number("Tetris bonus game");
in libc.
But this is already new mechanism - not regular syscalls!
So, instead, I have another proposal: new driver system !!!
We need it! Do you agree?
Continued in "[RFD] new driver system" :-)
Best regards.
Alexander.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/