Thread (22 messages) 22 messages, 9 authors, 2006-08-22

Re: [PATCH] introduce kernel_execve function to replace __KERNEL_SYSCALLS__

From: Arnd Bergmann <arnd@arndb.de>
Date: 2006-08-20 20:33:58
Also in: lkml

On Sunday 20 August 2006 22:11, Björn Steinbrink wrote:
Only one in unistd.h, but throughout the kernel there are quite a few
unless I'm missing something here:
doener@atjola:~/src/kernel/linux-2.6$ grep \ _syscall * -R | \
quoted
grep -v define\\\|undef\\\|clobber | wc -l
116
there are only a few direct calls that managed to sneak in after we removed
them all some time ago:

| arch/sh64/kernel/process.c:     _syscall0(int, getpid)
| arch/sh64/kernel/process.c:     _syscall1(int, getpgid, int, pid)
| arch/sh64/kernel/process.c:static __inline__ _syscall2(int,clone,unsigned long,flags,unsigned long,newsp)
| arch/sh64/kernel/process.c:static __inline__ _syscall1(int,exit,int,ret)

These should be replaced with calls to sys_*, or whatever the other
architectures do in order to implement the respective functions.

| arch/um/os-Linux/sys-i386/tls.c:static _syscall1(int, get_thread_area, user_desc_t *, u_info);
| arch/um/os-Linux/process.c:inline _syscall0(pid_t, getpid)
| arch/um/os-Linux/tls.c:static _syscall1(int, get_thread_area, user_desc_t *, u_info);
| arch/um/os-Linux/tls.c:static _syscall1(int, set_thread_area, user_desc_t *, u_info);
| arch/um/sys-i386/unmap.c:static inline _syscall2(int,munmap,void *,start,size_t,len)
| arch/um/sys-i386/unmap.c:static inline _syscall6(void *,mmap2,void *,addr,size_t,len,int,prot,int,flags,int,fd,off_t,offset)
| arch/um/sys-x86_64/unmap.c:static inline _syscall2(int,munmap,void *,start,size_t,len)
| arch/um/sys-x86_64/unmap.c:static inline _syscall6(void *,mmap,void *,addr,size_t,len,int,prot,int,flags,int,fd,off_t,offset)

UML is special, there may be a good reason to use them, if they are not
actually kernel syscalls, but instead calls to the host OS.

	Arnd <><
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help