[ Ingo, Thomas - see the whole series on linux-kernel ] On Thu, 15 Nov 2007, Ulrich Drepper wrote:The thing is, not all system calls can do this. Some system calls are magic, and don't just take the arguments in registers: they also care about the actual stack pointer and the whole pt_regs struct when returning to user mode. So this does need more infrastructure: some way of marking which system calls cannot be executed indirectly. The magic system calls are things like: - sys_iopl() - this one changes the eflags value restored on iret - execve/clone/vfork() - need direct access to pt_regs - vm86() - does magic with the stack, cares about pt_regs - sigreturn - magic pt_regs accesses again and there may be others I have forgotten about. Calling these system calls from C code will just corrupt the kernel stack, and is a big big no-no. Linus -
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| debian developer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Vu Pham | Re: [Scst-devel] Integration of SCST in the mainstream Linux kernel |
| Adrian Bunk | Re: Linux 2.6.21 |
git: | |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Radu Rendec | Endianness problem with u32 classifier hash masks |
| Benjamin Herrenschmidt | [PATCH 0/11] ibm_newemac: Candidate patches for 2.6.25 |
