summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2012-12-20Bury the conditionals from kernel_thread/kernel_execve seriesAl Viro56-89/+0
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>
2012-12-20COMPAT_SYSCALL_DEFINE: infrastructureAl Viro1-0/+3
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29get rid of ptrace_signal_deliver() argumentsAl Viro2-3/+3
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>
2012-11-29new helper: signal_pt_regs()Al Viro2-0/+2
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>
2012-11-29unify default ptrace_signal_deliverAl Viro16-40/+2
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29flagday: kill pt_regs argument of do_fork()Al Viro7-17/+13
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29death to idle_regs()Al Viro3-16/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29flagday: don't pass regs to copy_thread()Al Viro32-58/+43
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29bfin: switch to generic vfork, get rid of pointless wrappersAl Viro5-54/+7
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29xtensa: switch to generic clone()Al Viro5-11/+3
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29openrisc: switch to use of generic fork and cloneAl Viro6-66/+19
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29unicore32: switch to generic clone(2)Al Viro4-25/+7
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29score: switch to generic fork/vfork/cloneAl Viro6-58/+8
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29c6x: sanitize copy_thread(), get rid of clone(2) wrapper, switch to generic ↵Al Viro4-36/+6
clone() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.hAl Viro10-51/+1
now it can be done... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29mn10300: switch to generic fork/vfork/cloneAl Viro2-28/+8
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29h8300: switch to generic fork/vfork/cloneAl Viro3-44/+6
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29tile: switch to generic clone()Al Viro2-8/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29m68k: sanitize copy_thread(), fork/vfork/clone wrappers, switch to generic ↵Al Viro4-71/+46
fork/vfork Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29alpha: switch to generic fork/vfork/cloneAl Viro4-59/+17
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29s390: switch to generic fork/vfork/cloneAl Viro3-42/+14
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29microblaze: switch to generic fork/vfork/cloneAl Viro7-56/+12
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2012-11-29hexagon: switch to generic clone()Al Viro4-52/+6
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29sh: switch to generic fork/vfork/cloneAl Viro5-110/+11
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29parisc: switch to generic fork/vfork/cloneAl Viro4-69/+22
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29m32r: switch to generic fork/vfork/cloneAl Viro2-42/+7
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29cris: switch to generic fork/vfork/cloneAl Viro4-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>
2012-11-29avr32: sanitize copy_thread(), switch to generic fork/vfork/clone, kill wrappersAl Viro4-47/+11
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29arm64: sanitize copy_thread(), switch to generic fork/vfork/cloneAl Viro7-28/+12
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29frv: switch to generic fork/vfork/cloneAl Viro2-40/+8
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29powerpc: switch to generic fork/clone/vforkAl Viro4-32/+4
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29arm: switch to generic fork/vfork/cloneAl Viro6-55/+13
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29x86, um: switch to generic fork/vfork/cloneAl Viro16-117/+52
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29get rid of pt_regs argument of ->load_binary()Al Viro2-3/+4
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29get rid of pt_regs argument of search_binary_handler()Al Viro1-1/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29kill stray kernel_thread() garbageAl Viro4-6/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29consolidate sys_execve() prototypeAl Viro4-11/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29Merge branches 'no-rebases', 'arch-avr32', 'arch-blackfin', 'arch-cris', ↵Al Viro164-2779/+982
'arch-h8300', 'arch-m32r', 'arch-mn10300', 'arch-score', 'arch-sh' and 'arch-powerpc' into for-next
2012-11-29generic sys_fork / sys_vfork / sys_cloneAl Viro1-0/+14
... and get rid of idiotic struct pt_regs * in asm-generic/syscalls.h prototypes of the same, while we are at it. Eventually we want those in linux/syscalls.h, of course, but that'll have to wait a bit. Note that there are *three* variants of sys_clone() order of arguments. Braindamage galore... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29alpha: reorganize copy_process(), prepare to saner fork_idle()Al Viro1-21/+14
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29alpha: don't pass useless arguments to do_{,rt_},sigreturn()Al Viro2-12/+8
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29alpha: simplify fork and friendsAl Viro2-19/+14
* no need to restore everything from switch_stack when we only need $26 * no need to pass current_pt_regs() manually, we can just as easily calculate it in alpha_clone/alpha_vfork ($8 + constant) * interpretation of zero usp as "use the parent's" is simpler in copy_thread(); let fork and vfork just pass 0. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29um: don't bother looking at regs in copy_thread() - current_pt_regs() is ↵Al Viro1-1/+1
what we'll get Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29um: don't bother with passing sp to do_fork() for fork(2)/vfork(2)Al Viro1-6/+2
copy_thread() on um will do the right thing when getting 0 for sp... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29microblaze: rt_sigreturn is too trigger-happy about sigaltstack errorsAl Viro1-1/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29score: do_sigaltstack() expects a userland pointer...Al Viro1-5/+2
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29sh64: fix altstack switching on sigreturnAl Viro1-4/+2
incidentally, declaring a local variable as __user (!) to make sparse STFU is really sick. Especially since sparse had been 100% right - it *is* a bug. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29openrisk: fix altstack switching on sigreturnAl Viro1-4/+2
do_sigaltstack() expects _userland_ address, TYVM... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29um: get_safe_registers() should be done in flush_thread(), not start_thread()Al Viro1-1/+2
... or we'll end up buggering the results of ELF_PLAT_INIT() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-11-29Merge branch 'arch-tile' into no-rebasesAl Viro1-1/+1