Commit 7b21fddd087678a70ad64afc0f632e0f1071b092

Authored by Eric W. Biederman
Committed by Linus Torvalds
1 parent 14d74e0cab

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>

Showing 50 changed files with 87 additions and 29 deletions Side-by-side Diff

arch/alpha/include/asm/unistd.h
... ... @@ -456,10 +456,11 @@
456 456 #define __NR_open_by_handle_at 498
457 457 #define __NR_clock_adjtime 499
458 458 #define __NR_syncfs 500
  459 +#define __NR_setns 501
459 460  
460 461 #ifdef __KERNEL__
461 462  
462   -#define NR_SYSCALLS 501
  463 +#define NR_SYSCALLS 502
463 464  
464 465 #define __ARCH_WANT_IPC_PARSE_VERSION
465 466 #define __ARCH_WANT_OLD_READDIR
arch/alpha/kernel/systbls.S
... ... @@ -519,6 +519,7 @@
519 519 .quad sys_open_by_handle_at
520 520 .quad sys_clock_adjtime
521 521 .quad sys_syncfs /* 500 */
  522 + .quad sys_setns
522 523  
523 524 .size sys_call_table, . - sys_call_table
524 525 .type sys_call_table, @object
arch/arm/include/asm/unistd.h
... ... @@ -400,6 +400,7 @@
400 400 #define __NR_open_by_handle_at (__NR_SYSCALL_BASE+371)
401 401 #define __NR_clock_adjtime (__NR_SYSCALL_BASE+372)
402 402 #define __NR_syncfs (__NR_SYSCALL_BASE+373)
  403 +#define __NR_setns (__NR_SYSCALL_BASE+374)
403 404  
404 405 /*
405 406 * The following SWIs are ARM private.
arch/arm/kernel/calls.S
... ... @@ -383,6 +383,7 @@
383 383 CALL(sys_open_by_handle_at)
384 384 CALL(sys_clock_adjtime)
385 385 CALL(sys_syncfs)
  386 + CALL(sys_setns)
386 387 #ifndef syscalls_counted
387 388 .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
388 389 #define syscalls_counted
arch/avr32/include/asm/unistd.h
... ... @@ -299,9 +299,10 @@
299 299 #define __NR_signalfd 279
300 300 /* 280 was __NR_timerfd */
301 301 #define __NR_eventfd 281
  302 +#define __NR_setns 283
302 303  
303 304 #ifdef __KERNEL__
304   -#define NR_syscalls 282
  305 +#define NR_syscalls 284
305 306  
306 307 /* Old stuff */
307 308 #define __IGNORE_uselib
arch/avr32/kernel/syscall_table.S
... ... @@ -296,5 +296,6 @@
296 296 .long sys_ni_syscall /* 280, was sys_timerfd */
297 297 .long sys_eventfd
298 298 .long sys_recvmmsg
  299 + .long sys_setns
299 300 .long sys_ni_syscall /* r8 is saturated at nr_syscalls */
arch/blackfin/include/asm/unistd.h
... ... @@ -397,8 +397,9 @@
397 397 #define __NR_open_by_handle_at 376
398 398 #define __NR_clock_adjtime 377
399 399 #define __NR_syncfs 378
  400 +#define __NR_setns 379
400 401  
401   -#define __NR_syscall 379
  402 +#define __NR_syscall 380
402 403 #define NR_syscalls __NR_syscall
403 404  
404 405 /* Old optional stuff no one actually uses */
arch/blackfin/mach-common/entry.S
... ... @@ -1753,6 +1753,7 @@
1753 1753 .long _sys_open_by_handle_at
1754 1754 .long _sys_clock_adjtime
1755 1755 .long _sys_syncfs
  1756 + .long _sys_setns
1756 1757  
1757 1758 .rept NR_syscalls-(.-_sys_call_table)/4
1758 1759 .long _sys_ni_syscall
arch/cris/arch-v10/kernel/entry.S
... ... @@ -937,6 +937,7 @@
937 937 .long sys_inotify_init1
938 938 .long sys_preadv
939 939 .long sys_pwritev
  940 + .long sys_setns /* 335 */
940 941  
941 942 /*
942 943 * NOTE!! This doesn't have to be exact - we just have
arch/cris/arch-v32/kernel/entry.S
... ... @@ -880,6 +880,7 @@
880 880 .long sys_inotify_init1
881 881 .long sys_preadv
882 882 .long sys_pwritev
  883 + .long sys_setns /* 335 */
883 884  
884 885 /*
885 886 * NOTE!! This doesn't have to be exact - we just have
arch/cris/include/asm/unistd.h
... ... @@ -339,10 +339,11 @@
339 339 #define __NR_inotify_init1 332
340 340 #define __NR_preadv 333
341 341 #define __NR_pwritev 334
  342 +#define __NR_setns 335
342 343  
343 344 #ifdef __KERNEL__
344 345  
345   -#define NR_syscalls 335
  346 +#define NR_syscalls 336
346 347  
347 348 #include <arch/unistd.h>
348 349  
arch/frv/include/asm/unistd.h
... ... @@ -343,10 +343,11 @@
343 343 #define __NR_pwritev 334
344 344 #define __NR_rt_tgsigqueueinfo 335
345 345 #define __NR_perf_event_open 336
  346 +#define __NR_setns 337
346 347  
347 348 #ifdef __KERNEL__
348 349  
349   -#define NR_syscalls 337
  350 +#define NR_syscalls 338
350 351  
351 352 #define __ARCH_WANT_IPC_PARSE_VERSION
352 353 /* #define __ARCH_WANT_OLD_READDIR */
arch/frv/kernel/entry.S
... ... @@ -1526,6 +1526,7 @@
1526 1526 .long sys_pwritev
1527 1527 .long sys_rt_tgsigqueueinfo /* 335 */
1528 1528 .long sys_perf_event_open
  1529 + .long sys_setns
1529 1530  
1530 1531 syscall_table_size = (. - sys_call_table)
arch/h8300/include/asm/unistd.h
... ... @@ -325,10 +325,11 @@
325 325 #define __NR_move_pages 317
326 326 #define __NR_getcpu 318
327 327 #define __NR_epoll_pwait 319
  328 +#define __NR_setns 320
328 329  
329 330 #ifdef __KERNEL__
330 331  
331   -#define NR_syscalls 320
  332 +#define NR_syscalls 321
332 333  
333 334 #define __ARCH_WANT_IPC_PARSE_VERSION
334 335 #define __ARCH_WANT_OLD_READDIR
arch/h8300/kernel/syscalls.S
... ... @@ -333,6 +333,7 @@
333 333 .long SYMBOL_NAME(sys_ni_syscall) /* sys_move_pages */
334 334 .long SYMBOL_NAME(sys_getcpu)
335 335 .long SYMBOL_NAME(sys_ni_syscall) /* sys_epoll_pwait */
  336 + .long SYMBOL_NAME(sys_setns) /* 320 */
336 337  
337 338 .macro call_sp addr
338 339 mov.l #SYMBOL_NAME(\addr),er6
arch/ia64/include/asm/unistd.h
... ... @@ -319,11 +319,12 @@
319 319 #define __NR_open_by_handle_at 1327
320 320 #define __NR_clock_adjtime 1328
321 321 #define __NR_syncfs 1329
  322 +#define __NR_setns 1330
322 323  
323 324 #ifdef __KERNEL__
324 325  
325 326  
326   -#define NR_syscalls 306 /* length of syscall table */
  327 +#define NR_syscalls 307 /* length of syscall table */
327 328  
328 329 /*
329 330 * The following defines stop scripts/checksyscalls.sh from complaining about
arch/ia64/kernel/entry.S
... ... @@ -1775,6 +1775,7 @@
1775 1775 data8 sys_open_by_handle_at
1776 1776 data8 sys_clock_adjtime
1777 1777 data8 sys_syncfs
  1778 + data8 sys_setns // 1330
1778 1779  
1779 1780 .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
1780 1781 #endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */
arch/m32r/include/asm/unistd.h
... ... @@ -330,10 +330,11 @@
330 330 /* #define __NR_timerfd 322 removed */
331 331 #define __NR_eventfd 323
332 332 #define __NR_fallocate 324
  333 +#define __NR_setns 325
333 334  
334 335 #ifdef __KERNEL__
335 336  
336   -#define NR_syscalls 325
  337 +#define NR_syscalls 326
337 338  
338 339 #define __ARCH_WANT_IPC_PARSE_VERSION
339 340 #define __ARCH_WANT_STAT64
arch/m32r/kernel/syscall_table.S
... ... @@ -324,4 +324,5 @@
324 324 .long sys_ni_syscall
325 325 .long sys_eventfd
326 326 .long sys_fallocate
  327 + .long sys_setns /* 325 */
arch/m68k/include/asm/unistd.h
... ... @@ -349,10 +349,11 @@
349 349 #define __NR_open_by_handle_at 341
350 350 #define __NR_clock_adjtime 342
351 351 #define __NR_syncfs 343
  352 +#define __NR_setns 344
352 353  
353 354 #ifdef __KERNEL__
354 355  
355   -#define NR_syscalls 344
  356 +#define NR_syscalls 345
356 357  
357 358 #define __ARCH_WANT_IPC_PARSE_VERSION
358 359 #define __ARCH_WANT_OLD_READDIR
arch/m68k/kernel/syscalltable.S
... ... @@ -364,4 +364,5 @@
364 364 .long sys_open_by_handle_at
365 365 .long sys_clock_adjtime
366 366 .long sys_syncfs
  367 + .long sys_setns
arch/microblaze/include/asm/unistd.h
... ... @@ -390,8 +390,9 @@
390 390 #define __NR_open_by_handle_at 372
391 391 #define __NR_clock_adjtime 373
392 392 #define __NR_syncfs 374
  393 +#define __NR_setns 375
393 394  
394   -#define __NR_syscalls 375
  395 +#define __NR_syscalls 376
395 396  
396 397 #ifdef __KERNEL__
397 398 #ifndef __ASSEMBLY__
arch/microblaze/kernel/syscall_table.S
... ... @@ -379,4 +379,5 @@
379 379 .long sys_open_by_handle_at
380 380 .long sys_clock_adjtime
381 381 .long sys_syncfs
  382 + .long sys_setns /* 375 */
arch/mips/include/asm/unistd.h
... ... @@ -363,16 +363,17 @@
363 363 #define __NR_open_by_handle_at (__NR_Linux + 340)
364 364 #define __NR_clock_adjtime (__NR_Linux + 341)
365 365 #define __NR_syncfs (__NR_Linux + 342)
  366 +#define __NR_setns (__NR_Linux + 343)
366 367  
367 368 /*
368 369 * Offset of the last Linux o32 flavoured syscall
369 370 */
370   -#define __NR_Linux_syscalls 342
  371 +#define __NR_Linux_syscalls 343
371 372  
372 373 #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
373 374  
374 375 #define __NR_O32_Linux 4000
375   -#define __NR_O32_Linux_syscalls 342
  376 +#define __NR_O32_Linux_syscalls 343
376 377  
377 378 #if _MIPS_SIM == _MIPS_SIM_ABI64
378 379  
379 380  
380 381  
... ... @@ -682,16 +683,17 @@
682 683 #define __NR_open_by_handle_at (__NR_Linux + 299)
683 684 #define __NR_clock_adjtime (__NR_Linux + 300)
684 685 #define __NR_syncfs (__NR_Linux + 301)
  686 +#define __NR_setns (__NR_Linux + 302)
685 687  
686 688 /*
687 689 * Offset of the last Linux 64-bit flavoured syscall
688 690 */
689   -#define __NR_Linux_syscalls 301
  691 +#define __NR_Linux_syscalls 302
690 692  
691 693 #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
692 694  
693 695 #define __NR_64_Linux 5000
694   -#define __NR_64_Linux_syscalls 301
  696 +#define __NR_64_Linux_syscalls 302
695 697  
696 698 #if _MIPS_SIM == _MIPS_SIM_NABI32
697 699  
698 700  
699 701  
... ... @@ -1006,16 +1008,17 @@
1006 1008 #define __NR_open_by_handle_at (__NR_Linux + 304)
1007 1009 #define __NR_clock_adjtime (__NR_Linux + 305)
1008 1010 #define __NR_syncfs (__NR_Linux + 306)
  1011 +#define __NR_setns (__NR_Linux + 307)
1009 1012  
1010 1013 /*
1011 1014 * Offset of the last N32 flavoured syscall
1012 1015 */
1013   -#define __NR_Linux_syscalls 306
  1016 +#define __NR_Linux_syscalls 307
1014 1017  
1015 1018 #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
1016 1019  
1017 1020 #define __NR_N32_Linux 6000
1018   -#define __NR_N32_Linux_syscalls 306
  1021 +#define __NR_N32_Linux_syscalls 307
1019 1022  
1020 1023 #ifdef __KERNEL__
1021 1024  
arch/mips/kernel/scall32-o32.S
... ... @@ -589,6 +589,7 @@
589 589 sys sys_open_by_handle_at 3 /* 4340 */
590 590 sys sys_clock_adjtime 2
591 591 sys sys_syncfs 1
  592 + sys sys_setns 2
592 593 .endm
593 594  
594 595 /* We pre-compute the number of _instruction_ bytes needed to
arch/mips/kernel/scall64-64.S
... ... @@ -428,5 +428,6 @@
428 428 PTR sys_open_by_handle_at
429 429 PTR sys_clock_adjtime /* 5300 */
430 430 PTR sys_syncfs
  431 + PTR sys_setns
431 432 .size sys_call_table,.-sys_call_table
arch/mips/kernel/scall64-n32.S
... ... @@ -428,5 +428,6 @@
428 428 PTR sys_open_by_handle_at
429 429 PTR compat_sys_clock_adjtime /* 6305 */
430 430 PTR sys_syncfs
  431 + PTR sys_setns
431 432 .size sysn32_call_table,.-sysn32_call_table
arch/mips/kernel/scall64-o32.S
... ... @@ -546,5 +546,6 @@
546 546 PTR compat_sys_open_by_handle_at /* 4340 */
547 547 PTR compat_sys_clock_adjtime
548 548 PTR sys_syncfs
  549 + PTR sys_setns
549 550 .size sys_call_table,.-sys_call_table
arch/mn10300/include/asm/unistd.h
... ... @@ -349,10 +349,11 @@
349 349 #define __NR_rt_tgsigqueueinfo 336
350 350 #define __NR_perf_event_open 337
351 351 #define __NR_recvmmsg 338
  352 +#define __NR_setns 339
352 353  
353 354 #ifdef __KERNEL__
354 355  
355   -#define NR_syscalls 339
  356 +#define NR_syscalls 340
356 357  
357 358 /*
358 359 * specify the deprecated syscalls we want to support on this arch
arch/mn10300/kernel/entry.S
... ... @@ -759,6 +759,7 @@
759 759 .long sys_rt_tgsigqueueinfo
760 760 .long sys_perf_event_open
761 761 .long sys_recvmmsg
  762 + .long sys_setns
762 763  
763 764  
764 765 nr_syscalls=(.-sys_call_table)/4
arch/parisc/include/asm/unistd.h
... ... @@ -820,8 +820,9 @@
820 820 #define __NR_name_to_handle_at (__NR_Linux + 325)
821 821 #define __NR_open_by_handle_at (__NR_Linux + 326)
822 822 #define __NR_syncfs (__NR_Linux + 327)
  823 +#define __NR_setns (__NR_Linux + 328)
823 824  
824   -#define __NR_Linux_syscalls (__NR_syncfs + 1)
  825 +#define __NR_Linux_syscalls (__NR_setns + 1)
825 826  
826 827  
827 828 #define __IGNORE_select /* newselect */
arch/parisc/kernel/syscall_table.S
... ... @@ -426,6 +426,7 @@
426 426 ENTRY_SAME(name_to_handle_at) /* 325 */
427 427 ENTRY_COMP(open_by_handle_at)
428 428 ENTRY_SAME(syncfs)
  429 + ENTRY_SAME(setns)
429 430  
430 431 /* Nothing yet */
431 432  
arch/powerpc/include/asm/systbl.h
... ... @@ -353,4 +353,5 @@
353 353 COMPAT_SYS_SPU(clock_adjtime)
354 354 SYSCALL_SPU(syncfs)
355 355 COMPAT_SYS_SPU(sendmmsg)
  356 +SYSCALL_SPU(setns)
arch/powerpc/include/asm/unistd.h
... ... @@ -372,10 +372,11 @@
372 372 #define __NR_clock_adjtime 347
373 373 #define __NR_syncfs 348
374 374 #define __NR_sendmmsg 349
  375 +#define __NR_setns 350
375 376  
376 377 #ifdef __KERNEL__
377 378  
378   -#define __NR_syscalls 350
  379 +#define __NR_syscalls 351
379 380  
380 381 #define __NR__exit __NR_exit
381 382 #define NR_syscalls __NR_syscalls
arch/s390/include/asm/unistd.h
... ... @@ -276,7 +276,8 @@
276 276 #define __NR_open_by_handle_at 336
277 277 #define __NR_clock_adjtime 337
278 278 #define __NR_syncfs 338
279   -#define NR_syscalls 339
  279 +#define __NR_setns 339
  280 +#define NR_syscalls 340
280 281  
281 282 /*
282 283 * There are some system calls that are not present on 64 bit, some
arch/s390/kernel/compat_wrapper.S
... ... @@ -1904,4 +1904,10 @@
1904 1904 sys_syncfs_wrapper:
1905 1905 lgfr %r2,%r2 # int
1906 1906 jg sys_syncfs
  1907 +
  1908 + .globl sys_setns_wrapper
  1909 +sys_setns_wrapper:
  1910 + lgfr %r2,%r2 # int
  1911 + lgfr %r3,%r3 # int
  1912 + jg sys_setns
arch/s390/kernel/syscalls.S
... ... @@ -347,4 +347,5 @@
347 347 SYSCALL(sys_open_by_handle_at,sys_open_by_handle_at,compat_sys_open_by_handle_at_wrapper)
348 348 SYSCALL(sys_clock_adjtime,sys_clock_adjtime,compat_sys_clock_adjtime_wrapper)
349 349 SYSCALL(sys_syncfs,sys_syncfs,sys_syncfs_wrapper)
  350 +SYSCALL(sys_setns,sys_setns,sys_setns_wrapper)
arch/sh/include/asm/unistd_32.h
... ... @@ -374,8 +374,9 @@
374 374 #define __NR_clock_adjtime 361
375 375 #define __NR_syncfs 362
376 376 #define __NR_sendmmsg 363
  377 +#define __NR_setns 364
377 378  
378   -#define NR_syscalls 364
  379 +#define NR_syscalls 365
379 380  
380 381 #ifdef __KERNEL__
381 382  
arch/sh/include/asm/unistd_64.h
... ... @@ -395,10 +395,11 @@
395 395 #define __NR_clock_adjtime 372
396 396 #define __NR_syncfs 373
397 397 #define __NR_sendmmsg 374
  398 +#define __NR_setns 375
398 399  
399 400 #ifdef __KERNEL__
400 401  
401   -#define NR_syscalls 375
  402 +#define NR_syscalls 376
402 403  
403 404 #define __ARCH_WANT_IPC_PARSE_VERSION
404 405 #define __ARCH_WANT_OLD_READDIR
arch/sh/kernel/syscalls_32.S
... ... @@ -381,4 +381,5 @@
381 381 .long sys_clock_adjtime
382 382 .long sys_syncfs
383 383 .long sys_sendmmsg
  384 + .long sys_setns
arch/sh/kernel/syscalls_64.S
... ... @@ -401,4 +401,5 @@
401 401 .long sys_clock_adjtime
402 402 .long sys_syncfs
403 403 .long sys_sendmmsg
  404 + .long sys_setns /* 375 */
arch/sparc/include/asm/unistd.h
... ... @@ -405,8 +405,9 @@
405 405 #define __NR_clock_adjtime 334
406 406 #define __NR_syncfs 335
407 407 #define __NR_sendmmsg 336
  408 +#define __NR_setns 337
408 409  
409   -#define NR_syscalls 337
  410 +#define NR_syscalls 338
410 411  
411 412 #ifdef __32bit_syscall_numbers__
412 413 /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
arch/sparc/kernel/systbls_32.S
... ... @@ -84,5 +84,5 @@
84 84 /*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv
85 85 /*325*/ .long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init
86 86 /*330*/ .long sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime
87   -/*335*/ .long sys_syncfs, sys_sendmmsg
  87 +/*335*/ .long sys_syncfs, sys_sendmmsg, sys_setns
arch/sparc/kernel/systbls_64.S
... ... @@ -85,7 +85,7 @@
85 85 /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv
86 86 .word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg, sys_fanotify_init
87 87 /*330*/ .word sys32_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, compat_sys_open_by_handle_at, compat_sys_clock_adjtime
88   - .word sys_syncfs, compat_sys_sendmmsg
  88 + .word sys_syncfs, compat_sys_sendmmsg, sys_setns
89 89  
90 90 #endif /* CONFIG_COMPAT */
91 91  
... ... @@ -162,5 +162,5 @@
162 162 /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv
163 163 .word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init
164 164 /*330*/ .word sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime
165   - .word sys_syncfs, sys_sendmmsg
  165 + .word sys_syncfs, sys_sendmmsg, sys_setns
arch/x86/ia32/ia32entry.S
... ... @@ -849,5 +849,6 @@
849 849 .quad compat_sys_clock_adjtime
850 850 .quad sys_syncfs
851 851 .quad compat_sys_sendmmsg /* 345 */
  852 + .quad sys_setns
852 853 ia32_syscall_end:
arch/x86/include/asm/unistd_32.h
... ... @@ -351,10 +351,11 @@
351 351 #define __NR_clock_adjtime 343
352 352 #define __NR_syncfs 344
353 353 #define __NR_sendmmsg 345
  354 +#define __NR_setns 346
354 355  
355 356 #ifdef __KERNEL__
356 357  
357   -#define NR_syscalls 346
  358 +#define NR_syscalls 347
358 359  
359 360 #define __ARCH_WANT_IPC_PARSE_VERSION
360 361 #define __ARCH_WANT_OLD_READDIR
arch/x86/include/asm/unistd_64.h
... ... @@ -679,6 +679,8 @@
679 679 __SYSCALL(__NR_syncfs, sys_syncfs)
680 680 #define __NR_sendmmsg 307
681 681 __SYSCALL(__NR_sendmmsg, sys_sendmmsg)
  682 +#define __NR_setns 308
  683 +__SYSCALL(__NR_setns, sys_setns)
682 684  
683 685 #ifndef __NO_STUBS
684 686 #define __ARCH_WANT_OLD_READDIR
arch/x86/kernel/syscall_table_32.S
... ... @@ -345,4 +345,5 @@
345 345 .long sys_clock_adjtime
346 346 .long sys_syncfs
347 347 .long sys_sendmmsg /* 345 */
  348 + .long sys_setns
arch/xtensa/include/asm/unistd.h
... ... @@ -683,8 +683,10 @@
683 683 __SYSCALL(306, sys_eventfd, 1)
684 684 #define __NR_recvmmsg 307
685 685 __SYSCALL(307, sys_recvmmsg, 5)
  686 +#define __NR_setns 308
  687 +__SYSCALL(308, sys_setns, 2)
686 688  
687   -#define __NR_syscall_count 308
  689 +#define __NR_syscall_count 309
688 690  
689 691 /*
690 692 * sysxtensa syscall handler
include/asm-generic/unistd.h
... ... @@ -681,9 +681,11 @@
681 681 __SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
682 682 #define __NR_syncfs 267
683 683 __SYSCALL(__NR_syncfs, sys_syncfs)
  684 +#define __NR_setns 268
  685 +__SYSCALL(__NR_setns, sys_setns)
684 686  
685 687 #undef __NR_syscalls
686   -#define __NR_syscalls 268
  688 +#define __NR_syscalls 269
687 689  
688 690 /*
689 691 * All syscalls below here should go away really,