summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* new helper: compat_user_stack_pointer()Al Viro2012-12-193-2/+13
| | | | | | | | | | | Compat counterpart of current_user_stack_pointer(); for most of the biarch architectures those two are identical, but e.g. arm64 and arm use different registers for stack pointer... Note that amd64 variants of current_user_stack_pointer/compat_user_stack_pointer do *not* rely on pt_regs having been through FIXUP_TOP_OF_STACK. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* new helper: restore_altstack()Al Viro2012-12-192-0/+9
| | | | | | to be used by rt_sigreturn instances Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* unify SS_ONSTACK/SS_DISABLE definitionsAl Viro2012-12-1918-103/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* new helper: current_user_stack_pointer()Al Viro2012-12-197-0/+14
| | | | | | | | | | Cross-architecture equivalent of rdusp(); default is user_stack_pointer(current_pt_regs()) - that works for almost all platforms that have usp saved in pt_regs. The only exception from that is ia64 - we want memory stack, not the backing store for register one. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* missing user_stack_pointer() instancesAl Viro2012-12-199-0/+10
| | | | | | | for the architectures that have usp in pt_regs and do not have user_stack_pointer() already defined. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Bury the conditionals from kernel_thread/kernel_execve seriesAl Viro2012-12-1963-131/+6
| | | | | | | | | | | | All architectures have CONFIG_GENERIC_KERNEL_THREAD CONFIG_GENERIC_KERNEL_EXECVE __ARCH_WANT_SYS_EXECVE None of them have __ARCH_WANT_KERNEL_EXECVE and there are only two callers of kernel_execve() (which is a trivial wrapper for do_execve() now) left. Kill the conditionals and make both callers use do_execve(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* COMPAT_SYSCALL_DEFINE: infrastructureAl Viro2012-12-192-0/+45
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* do_coredump(): get rid of pt_regs argumentAl Viro2012-11-293-5/+5
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* print_fatal_signal(): get rid of pt_regs argumentAl Viro2012-11-291-2/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* ptrace_signal(): get rid of unused argumentsAl Viro2012-11-291-4/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of ptrace_signal_deliver() argumentsAl Viro2012-11-294-5/+5
| | | | | | | the first one is equal to signal_pt_regs(), the second is never used (and always NULL, while we are at it). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* new helper: signal_pt_regs()Al Viro2012-11-293-0/+11
| | | | | | | | | | | | | | | | | Always equal to task_pt_regs(current); defined only when we are in signal delivery. It may be different from current_pt_regs() - e.g. architectures like m68k may have pt_regs location on exception different from that on a syscall and signals (just as ptrace handling) may happen on exceptions as well as on syscalls. When they are equal, it's often better to have signal_pt_regs defined (in asm/ptrace.h) as current_pt_regs - that tends to be optimized better than default would be. However, optimisation is the only reason why we might want an arch-specific definition; if current_pt_regs() and task_pt_regs(current) have different values, the latter one is right. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* unify default ptrace_signal_deliverAl Viro2012-11-2918-42/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* flagday: kill pt_regs argument of do_fork()Al Viro2012-11-299-26/+19
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* death to idle_regs()Al Viro2012-11-284-22/+0
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* don't pass regs to copy_process()Al Viro2012-11-281-4/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* flagday: don't pass regs to copy_thread()Al Viro2012-11-2834-60/+45
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* bfin: switch to generic vfork, get rid of pointless wrappersAl Viro2012-11-285-54/+7
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* xtensa: switch to generic clone()Al Viro2012-11-285-11/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* openrisc: switch to use of generic fork and cloneAl Viro2012-11-286-66/+19
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* unicore32: switch to generic clone(2)Al Viro2012-11-284-25/+7
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* score: switch to generic fork/vfork/cloneAl Viro2012-11-286-58/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* c6x: sanitize copy_thread(), get rid of clone(2) wrapper, switch to generic ↵Al Viro2012-11-284-36/+6
| | | | | | clone() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.hAl Viro2012-11-2812-63/+11
| | | | | | now it can be done... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* mn10300: switch to generic fork/vfork/cloneAl Viro2012-11-282-28/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* h8300: switch to generic fork/vfork/cloneAl Viro2012-11-283-44/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* tile: switch to generic clone()Al Viro2012-11-282-8/+1
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* m68k: sanitize copy_thread(), fork/vfork/clone wrappers, switch to generic ↵Al Viro2012-11-284-71/+46
| | | | | | fork/vfork Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* alpha: switch to generic fork/vfork/cloneAl Viro2012-11-284-59/+17
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* s390: switch to generic fork/vfork/cloneAl Viro2012-11-283-42/+14
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* microblaze: switch to generic fork/vfork/cloneAl Viro2012-11-287-56/+12
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* hexagon: switch to generic clone()Al Viro2012-11-284-52/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* sh: switch to generic fork/vfork/cloneAl Viro2012-11-285-110/+11
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* parisc: switch to generic fork/vfork/cloneAl Viro2012-11-284-69/+22
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* m32r: switch to generic fork/vfork/cloneAl Viro2012-11-282-42/+7
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* cris: switch to generic fork/vfork/cloneAl Viro2012-11-284-60/+13
| | | | | | | same braindamage as on s390 - the first two arguments of clone(2) in the wrong order. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* avr32: sanitize copy_thread(), switch to generic fork/vfork/clone, kill wrappersAl Viro2012-11-284-47/+11
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* arm64: sanitize copy_thread(), switch to generic fork/vfork/cloneAl Viro2012-11-287-28/+12
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* frv: switch to generic fork/vfork/cloneAl Viro2012-11-282-40/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* powerpc: switch to generic fork/clone/vforkAl Viro2012-11-284-32/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* arm: switch to generic fork/vfork/cloneAl Viro2012-11-286-55/+13
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* x86, um: switch to generic fork/vfork/cloneAl Viro2012-11-2816-117/+52
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of pt_regs argument of ->load_binary()Al Viro2012-11-2812-20/+25
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of pt_regs argument of search_binary_handler()Al Viro2012-11-286-9/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of pt_regs argument of do_execve_common()Al Viro2012-11-281-4/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of pt_regs argument of do_execve()Al Viro2012-11-283-13/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* make compat_do_execve() static, lose pt_regs argumentAl Viro2012-11-282-8/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* kill stray kernel_thread() garbageAl Viro2012-11-284-6/+0
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* audit: no nested contexts anymore...Al Viro2012-11-281-81/+21
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* consolidate sys_execve() prototypeAl Viro2012-11-286-18/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>