The patch titled provide kernel_execve on all architectures (fix) has been added to the -mm tree. Its filename is provide-kernel_execve-on-all-architectures-fix.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: provide kernel_execve on all architectures (fix) From: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> On Wed, 2006-08-30 at 14:43 +0200, Arnd Bergmann wrote: > This adds the new kernel_execve function on all architectures > that were using _syscall3() to implement execve. Doesn't compile for s390. Patch attached, issues fixed: 1) Include unistd.h for __NR_execve 2) The compiler warns about __arg2 and __arg3 assignments (watch out for the *const* - isn't C a lovely language ;-) 3) The inline assembly does not clobber register "1", nor the condition code. The call to kernel_execve does clobber both so it is not really a problem, but nit-picking is fun >:-) Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Andi Kleen <ak@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ian Molton <spyro@xxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Hirokazu Takata <takata.hirokazu@xxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Cc: Kazumoto Kojima <kkojima@xxxxxxxxxxxxxx> Cc: Richard Curnow <rc@xxxxxxxxxx> Cc: William Lee Irwin III <wli@xxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx> Cc: Miles Bader <uclinux-v850@xxxxxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: "Luck, Tony" <tony.luck@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/s390/kernel/sys_s390.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff -puN arch/s390/kernel/sys_s390.c~provide-kernel_execve-on-all-architectures-fix arch/s390/kernel/sys_s390.c --- a/arch/s390/kernel/sys_s390.c~provide-kernel_execve-on-all-architectures-fix +++ a/arch/s390/kernel/sys_s390.c @@ -27,6 +27,7 @@ #include <linux/file.h> #include <linux/utsname.h> #include <linux/personality.h> +#include <linux/unistd.h> #include <asm/uaccess.h> #include <asm/ipc.h> @@ -273,14 +274,15 @@ s390_fadvise64_64(struct fadvise64_64_ar int kernel_execve(const char *filename, char *const argv[], char *const envp[]) { register const char *__arg1 asm("2") = filename; - register void *__arg2 asm("3") = argv; - register void *__arg3 asm("4") = envp; + register char *const*__arg2 asm("3") = argv; + register char *const*__arg3 asm("4") = envp; register long __svcres asm("2"); - asm volatile ("svc %b1" + asm volatile( + "svc %b1" : "=d" (__svcres) : "i" (__NR_execve), "0" (__arg1), "d" (__arg2), - "d" (__arg3) : "1", "cc", "memory"); + "d" (__arg3) : "memory"); return __svcres; } _ Patches currently in -mm which might be from schwidefsky@xxxxxxxxxx are git-s390.patch reduce-max_nr_zones-remove-display-of-counters-for-unconfigured-zones-s390-fix.patch reduce-max_nr_zones-remove-display-of-counters-for-unconfigured-zones-s390-fix-fix.patch out-of-memory-notifier.patch out-of-memory-notifier-tidy.patch bootmem-use-max_dma_address-instead-of-low32limit.patch s390-fix-cmm-kernel-thread-handling.patch make-touch_nmi_watchdog-imply-touch_softlockup_watchdog-on-fix.patch simplify-update_times-avoid-jiffies-jiffies_64-aliasing-problem-2.patch kill-wall_jiffies-fix.patch generic-ioremap_page_range-implementation.patch generic-ioremap_page_range-flush_cache_vmap.patch generic-ioremap_page_range-s390-conversion.patch add-regs_return_value-helper.patch introduce-kernel_execve.patch rename-the-provided-execve-functions-to-kernel_execve.patch provide-kernel_execve-on-all-architectures.patch provide-kernel_execve-on-all-architectures-fix.patch remove-the-use-of-_syscallx-macros-in-uml.patch sh64-remove-the-use-of-kernel-syscalls.patch remove-remaining-errno-and-__kernel_syscalls__-references.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html