[ 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 -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Ingo Molnar | Re: [RFT] x86 acpi: normalize segment descriptor register on resume |
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
git: | |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Ingo Molnar | [bug] stuck localhost TCP connections, v2.6.26-rc3+ |
