From ce67228d570d2df88d74184e5e3618a5b2ef8704 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 28 May 2011 00:53:13 -0400 Subject: [PATCH] Set setns system call --- ChangeLog | 6 ++++++ NEWS | 2 +- sysdeps/unix/sysv/linux/Versions | 2 ++ sysdeps/unix/sysv/linux/bits/sched.h | 10 +++++++--- sysdeps/unix/sysv/linux/syscalls.list | 2 ++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5e52617..e3d4ef7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-05-28 Ulrich Drepper + + * sysdeps/unix/sysv/linux/syscalls.list: Add setns entry. + * sysdeps/unix/sysv/linux/bits/sched.h: Declare setns. + * sysdeps/unix/sysv/linux/Versions [GLIBC_2.14]: Add setns. + 2011-05-27 Ulrich Drepper [BZ #12813] diff --git a/NEWS b/NEWS index d899685..90470d3 100644 --- a/NEWS +++ b/NEWS @@ -30,7 +30,7 @@ Version 2.14 Implemented by Ulrich Drepper. * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at, - syncfs + syncfs, setns * New locales: os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH, yue_HK, lij_IT, mhr_RU diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index 29099dc..984bc4f 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -158,6 +158,8 @@ libc { clock_adjtime; name_to_handle_at; open_by_handle_at; + + setns; } GLIBC_PRIVATE { # functions used in other libraries diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h index 8ba9eed..b222fb2 100644 --- a/sysdeps/unix/sysv/linux/bits/sched.h +++ b/sysdeps/unix/sysv/linux/bits/sched.h @@ -1,6 +1,6 @@ /* Definitions of constants and data structure for POSIX 1003.1b-1993 scheduling interface. - Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009 + Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -37,7 +37,7 @@ # define SCHED_RESET_ON_FORK 0x40000000 #endif -#ifdef __USE_MISC +#ifdef __USE_GNU /* Cloning flags. */ # define CSIGNAL 0x000000ff /* Signal mask to be sent at exit. */ # define CLONE_VM 0x00000100 /* Set if VM shared between processes. */ @@ -78,7 +78,7 @@ struct sched_param __BEGIN_DECLS -#ifdef __USE_MISC +#ifdef __USE_GNU /* Clone current process. */ extern int clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg, ...) __THROW; @@ -88,8 +88,12 @@ extern int unshare (int __flags) __THROW; /* Get index of currently used CPU. */ extern int sched_getcpu (void) __THROW; + +/* Switch process to namespace of type NSTYPE indicated by FD. */ +extern int setns (int __fd, int __nstype) __THROW; #endif + __END_DECLS #endif /* need schedparam */ diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 051303f..2bed9e9 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -107,3 +107,5 @@ fanotify_init EXTRA fanotify_init i:ii fanotify_init name_to_handle_at EXTRA name_to_handle_at i:isppi name_to_handle_at open_by_handle_at EXTRA open_by_handle_at Ci:ipi open_by_handle_at + +setns EXTRA setns i:ii setns -- 2.7.4