![]() | ||||||||||
Messages in this thread |
Hi all! How do I invoke a newly created system call in the 2.6.3 kernel from userspace? The call is added it arch/i386/kernel/entry.S and include/asm/unistd.h and the call is implemented in a security module called Umbrella(*). The kernel compiles and boots nicely. The main problem is now to compile a userspace program that invokes this call. The guide for implementing the systemcall at http://fossil.wpi.edu/docs/howto_add_systemcall.html has been followed, which yields the following userspace program: // test.h #include "/home/snc/linux-2.6.3-umbrella/include/linux/unistd.h" _syscall1(int, umbrella_scr, int, arg1); // test.c #include "test.h" main() { int test = umbrella_scr(1); printf ("%i\n", test); } When compiling: gcc -I/home/snc/linux-2.6.3/include test.c /tmp/ccYYs1zB.o(.text+0x20): In function `umbrella_scr': : undefined reference to `errno' collect2: ld returned 1 exit status It seems like a little stupid error :-( Does some of you have a solution? Thanks in advance and best regards, Kristian Sørensen. (*) Umbrella is a security project for securing handheld devices. Umbrella for implements a combination of process based mandatory access control (MAC) and authentication of files. This is implemented on top of the Linux Security Modules framework. The MAC scheme is enforced by a set of restrictions for each process. More information on http://umbrella.sf.net -- Kristian Sørensen <ks@cs.auc.dk> - 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 13:01 [from the cache] ©2003-2008 | ||||||||||