lkml.org 
[lkml]   [2005]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Adding a new system call from a module in 2.6
On Fri, 14 Jan 2005, Avishay Traeger wrote:

> Now that the sys_call_table is no longer exported, what would be the
> best way to add a new system call from a module in 2.6? I have only
> seen the system call table in assembly code (such as in
> arch/i386/kernel/entry.S) and do not know how to export it. I know that
> doing this is not recommended, but it would save me a lot of time while
> developing new system calls (no need to recompile kernel and reboot for
> every change). Thanks in advance for any suggestions.
>
> Avishay Traeger
>

Just add some dummy function pointers at the end of the table
and have them point to a procedure that returns -ENOSYS.

existing:

.long sys_request_key
.long sys_keyctl
syscall_table_size = (. -sys_call_table)

new:

.long sys_request_key
.long sys_keyctl
mine: .long sys_in_syscall
.long sys_in_syscall
.long sys_in_syscall
.long sys_in_syscall

.global mine
.type mine,@object

syscall_table_size = (. -sys_call_table)

Export whatever you want to find your entries in your module.
Your module modifies the pointers at will ('mine' is now an
array of 4 pointers). To prevent crashes, save what was in
the pointer you modified and put it back before your module exits!

Just don't expect this to be put into a standard kernel.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.10 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:09    [W:0.065 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site