[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200608202233.33464.arnd@arndb.de>
Date: Sun, 20 Aug 2006 22:33:31 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Björn Steinbrink <B.Steinbrink@....de>
Cc: Arjan van de Ven <arjan@...radead.org>,
Chase Venters <chase.venters@...entec.com>,
Andrew Morton <akpm@...l.org>,
Russell King <rmk+lkml@....linux.org.uk>,
rusty@...tcorp.com.au, linux-kernel@...r.kernel.org,
linux-arch@...r.kernel.org
Subject: Re: [PATCH] introduce kernel_execve function to replace __KERNEL_SYSCALLS__
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@...ola:~/src/kernel/linux-2.6$ grep \ _syscall * -R | \
> > 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 <><
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists