OSDN Git Service

ns: Wire up the setns system call
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 28 May 2011 02:28:27 +0000 (19:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 May 2011 17:48:39 +0000 (10:48 -0700)
commit7b21fddd087678a70ad64afc0f632e0f1071b092
treec3ee152ab9b57b6cbc1ee3c6fd495c704ec47f66
parent14d74e0cab7a7779a7ff0c3863c04c8a8e507106
ns: Wire up the setns system call

32bit and 64bit on x86 are tested and working.  The rest I have looked
at closely and I can't find any problems.

setns is an easy system call to wire up.  It just takes two ints so I
don't expect any weird architecture porting problems.

While doing this I have noticed that we have some architectures that are
very slow to get new system calls.  cris seems to be the slowest where
the last system calls wired up were preadv and pwritev.  avr32 is weird
in that recvmmsg was wired up but never declared in unistd.h.  frv is
behind with perf_event_open being the last syscall wired up.  On h8300
the last system call wired up was epoll_wait.  On m32r the last system
call wired up was fallocate.  mn10300 has recvmmsg as the last system
call wired up.  The rest seem to at least have syncfs wired up which was
new in the 2.6.39.

v2: Most of the architecture support added by Daniel Lezcano <dlezcano@fr.ibm.com>
v3: ported to v2.6.36-rc4 by: Eric W. Biederman <ebiederm@xmission.com>
v4: Moved wiring up of the system call to another patch
v5: ported to v2.6.39-rc6
v6: rebased onto parisc-next and net-next to avoid syscall  conflicts.
v7: ported to Linus's latest post 2.6.39 tree.

>  arch/blackfin/include/asm/unistd.h     |    3 ++-
>  arch/blackfin/mach-common/entry.S      |    1 +
Acked-by: Mike Frysinger <vapier@gentoo.org>
Oh - ia64 wiring looks good.
Acked-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
50 files changed:
arch/alpha/include/asm/unistd.h
arch/alpha/kernel/systbls.S
arch/arm/include/asm/unistd.h
arch/arm/kernel/calls.S
arch/avr32/include/asm/unistd.h
arch/avr32/kernel/syscall_table.S
arch/blackfin/include/asm/unistd.h
arch/blackfin/mach-common/entry.S
arch/cris/arch-v10/kernel/entry.S
arch/cris/arch-v32/kernel/entry.S
arch/cris/include/asm/unistd.h
arch/frv/include/asm/unistd.h
arch/frv/kernel/entry.S
arch/h8300/include/asm/unistd.h
arch/h8300/kernel/syscalls.S
arch/ia64/include/asm/unistd.h
arch/ia64/kernel/entry.S
arch/m32r/include/asm/unistd.h
arch/m32r/kernel/syscall_table.S
arch/m68k/include/asm/unistd.h
arch/m68k/kernel/syscalltable.S
arch/microblaze/include/asm/unistd.h
arch/microblaze/kernel/syscall_table.S
arch/mips/include/asm/unistd.h
arch/mips/kernel/scall32-o32.S
arch/mips/kernel/scall64-64.S
arch/mips/kernel/scall64-n32.S
arch/mips/kernel/scall64-o32.S
arch/mn10300/include/asm/unistd.h
arch/mn10300/kernel/entry.S
arch/parisc/include/asm/unistd.h
arch/parisc/kernel/syscall_table.S
arch/powerpc/include/asm/systbl.h
arch/powerpc/include/asm/unistd.h
arch/s390/include/asm/unistd.h
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/syscalls.S
arch/sh/include/asm/unistd_32.h
arch/sh/include/asm/unistd_64.h
arch/sh/kernel/syscalls_32.S
arch/sh/kernel/syscalls_64.S
arch/sparc/include/asm/unistd.h
arch/sparc/kernel/systbls_32.S
arch/sparc/kernel/systbls_64.S
arch/x86/ia32/ia32entry.S
arch/x86/include/asm/unistd_32.h
arch/x86/include/asm/unistd_64.h
arch/x86/kernel/syscall_table_32.S
arch/xtensa/include/asm/unistd.h
include/asm-generic/unistd.h