diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-21 16:34:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-21 16:34:57 -0400 |
commit | 80932ec1c0da97674417b35ac5aec31732993d8d (patch) | |
tree | 235132f5bafc3af4a29628b37aafc827d0cb1054 | |
parent | 989d216f86bbef47059c10aca77be9f56305a7ec (diff) | |
parent | 68b7752462aba4716d9236b28aaa91b48fe059cd (diff) |
Merge branch 'renameat2' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs
Pull renameat2 arch support from Miklos Szeredi:
"I've collected architecture patches for the renameat2 syscall that
maintainers acked and/or asked me to queue.
This adds architecture support for the renameat2 syscall to m68k,
parisc, ia64 and through asm-generic to arc, arm64, c6x, hexagon,
metag, openrisc, score, tile, unicore32"
* 'renameat2' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
scripts/checksyscalls.sh: Make renameat optional
asm-generic: Add renameat2 syscall
ia64: add renameat2 syscall
parisc: add renameat2 syscall
m68k: add renameat2 syscall
-rw-r--r-- | arch/ia64/include/asm/unistd.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/uapi/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/ia64/kernel/entry.S | 1 | ||||
-rw-r--r-- | arch/m68k/include/asm/unistd.h | 2 | ||||
-rw-r--r-- | arch/m68k/include/uapi/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/m68k/kernel/syscalltable.S | 1 | ||||
-rw-r--r-- | arch/parisc/include/uapi/asm/unistd.h | 3 | ||||
-rw-r--r-- | arch/parisc/kernel/syscall_table.S | 1 | ||||
-rw-r--r-- | include/uapi/asm-generic/unistd.h | 4 | ||||
-rwxr-xr-x | scripts/checksyscalls.sh | 5 |
10 files changed, 16 insertions, 5 deletions
diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h index ae763d8bf55a..fb13dc5e8f8c 100644 --- a/arch/ia64/include/asm/unistd.h +++ b/arch/ia64/include/asm/unistd.h | |||
@@ -11,7 +11,7 @@ | |||
11 | 11 | ||
12 | 12 | ||
13 | 13 | ||
14 | #define NR_syscalls 314 /* length of syscall table */ | 14 | #define NR_syscalls 315 /* length of syscall table */ |
15 | 15 | ||
16 | /* | 16 | /* |
17 | * The following defines stop scripts/checksyscalls.sh from complaining about | 17 | * The following defines stop scripts/checksyscalls.sh from complaining about |
diff --git a/arch/ia64/include/uapi/asm/unistd.h b/arch/ia64/include/uapi/asm/unistd.h index 715e85f858de..7de0a2d65da4 100644 --- a/arch/ia64/include/uapi/asm/unistd.h +++ b/arch/ia64/include/uapi/asm/unistd.h | |||
@@ -327,5 +327,6 @@ | |||
327 | #define __NR_finit_module 1335 | 327 | #define __NR_finit_module 1335 |
328 | #define __NR_sched_setattr 1336 | 328 | #define __NR_sched_setattr 1336 |
329 | #define __NR_sched_getattr 1337 | 329 | #define __NR_sched_getattr 1337 |
330 | #define __NR_renameat2 1338 | ||
330 | 331 | ||
331 | #endif /* _UAPI_ASM_IA64_UNISTD_H */ | 332 | #endif /* _UAPI_ASM_IA64_UNISTD_H */ |
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index fa8d61a312a7..ba3d03503e84 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -1775,6 +1775,7 @@ sys_call_table: | |||
1775 | data8 sys_finit_module // 1335 | 1775 | data8 sys_finit_module // 1335 |
1776 | data8 sys_sched_setattr | 1776 | data8 sys_sched_setattr |
1777 | data8 sys_sched_getattr | 1777 | data8 sys_sched_getattr |
1778 | data8 sys_renameat2 | ||
1778 | 1779 | ||
1779 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls | 1780 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls |
1780 | #endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */ | 1781 | #endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */ |
diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h index 9d38b73989eb..33afa56ad47a 100644 --- a/arch/m68k/include/asm/unistd.h +++ b/arch/m68k/include/asm/unistd.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #include <uapi/asm/unistd.h> | 4 | #include <uapi/asm/unistd.h> |
5 | 5 | ||
6 | 6 | ||
7 | #define NR_syscalls 351 | 7 | #define NR_syscalls 352 |
8 | 8 | ||
9 | #define __ARCH_WANT_OLD_READDIR | 9 | #define __ARCH_WANT_OLD_READDIR |
10 | #define __ARCH_WANT_OLD_STAT | 10 | #define __ARCH_WANT_OLD_STAT |
diff --git a/arch/m68k/include/uapi/asm/unistd.h b/arch/m68k/include/uapi/asm/unistd.h index b932dd470041..9cd82fbc7817 100644 --- a/arch/m68k/include/uapi/asm/unistd.h +++ b/arch/m68k/include/uapi/asm/unistd.h | |||
@@ -356,5 +356,6 @@ | |||
356 | #define __NR_finit_module 348 | 356 | #define __NR_finit_module 348 |
357 | #define __NR_sched_setattr 349 | 357 | #define __NR_sched_setattr 349 |
358 | #define __NR_sched_getattr 350 | 358 | #define __NR_sched_getattr 350 |
359 | #define __NR_renameat2 351 | ||
359 | 360 | ||
360 | #endif /* _UAPI_ASM_M68K_UNISTD_H_ */ | 361 | #endif /* _UAPI_ASM_M68K_UNISTD_H_ */ |
diff --git a/arch/m68k/kernel/syscalltable.S b/arch/m68k/kernel/syscalltable.S index b6223dc41d82..501e10212789 100644 --- a/arch/m68k/kernel/syscalltable.S +++ b/arch/m68k/kernel/syscalltable.S | |||
@@ -371,4 +371,5 @@ ENTRY(sys_call_table) | |||
371 | .long sys_finit_module | 371 | .long sys_finit_module |
372 | .long sys_sched_setattr | 372 | .long sys_sched_setattr |
373 | .long sys_sched_getattr /* 350 */ | 373 | .long sys_sched_getattr /* 350 */ |
374 | .long sys_renameat2 | ||
374 | 375 | ||
diff --git a/arch/parisc/include/uapi/asm/unistd.h b/arch/parisc/include/uapi/asm/unistd.h index 265ae5190b0a..47e0e21d2272 100644 --- a/arch/parisc/include/uapi/asm/unistd.h +++ b/arch/parisc/include/uapi/asm/unistd.h | |||
@@ -829,8 +829,9 @@ | |||
829 | #define __NR_sched_setattr (__NR_Linux + 334) | 829 | #define __NR_sched_setattr (__NR_Linux + 334) |
830 | #define __NR_sched_getattr (__NR_Linux + 335) | 830 | #define __NR_sched_getattr (__NR_Linux + 335) |
831 | #define __NR_utimes (__NR_Linux + 336) | 831 | #define __NR_utimes (__NR_Linux + 336) |
832 | #define __NR_renameat2 (__NR_Linux + 337) | ||
832 | 833 | ||
833 | #define __NR_Linux_syscalls (__NR_utimes + 1) | 834 | #define __NR_Linux_syscalls (__NR_renameat2 + 1) |
834 | 835 | ||
835 | 836 | ||
836 | #define __IGNORE_select /* newselect */ | 837 | #define __IGNORE_select /* newselect */ |
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S index 83ead0ea127d..f1432da7b4c0 100644 --- a/arch/parisc/kernel/syscall_table.S +++ b/arch/parisc/kernel/syscall_table.S | |||
@@ -432,6 +432,7 @@ | |||
432 | ENTRY_SAME(sched_setattr) | 432 | ENTRY_SAME(sched_setattr) |
433 | ENTRY_SAME(sched_getattr) /* 335 */ | 433 | ENTRY_SAME(sched_getattr) /* 335 */ |
434 | ENTRY_COMP(utimes) | 434 | ENTRY_COMP(utimes) |
435 | ENTRY_COMP(renameat2) | ||
435 | 436 | ||
436 | /* Nothing yet */ | 437 | /* Nothing yet */ |
437 | 438 | ||
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h index 6db66783d268..333640608087 100644 --- a/include/uapi/asm-generic/unistd.h +++ b/include/uapi/asm-generic/unistd.h | |||
@@ -697,9 +697,11 @@ __SYSCALL(__NR_finit_module, sys_finit_module) | |||
697 | __SYSCALL(__NR_sched_setattr, sys_sched_setattr) | 697 | __SYSCALL(__NR_sched_setattr, sys_sched_setattr) |
698 | #define __NR_sched_getattr 275 | 698 | #define __NR_sched_getattr 275 |
699 | __SYSCALL(__NR_sched_getattr, sys_sched_getattr) | 699 | __SYSCALL(__NR_sched_getattr, sys_sched_getattr) |
700 | #define __NR_renameat2 276 | ||
701 | __SYSCALL(__NR_renameat2, sys_renameat2) | ||
700 | 702 | ||
701 | #undef __NR_syscalls | 703 | #undef __NR_syscalls |
702 | #define __NR_syscalls 276 | 704 | #define __NR_syscalls 277 |
703 | 705 | ||
704 | /* | 706 | /* |
705 | * All syscalls below here should go away really, | 707 | * All syscalls below here should go away really, |
diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh index fd8fa9aa7c4e..5b3add31f9f1 100755 --- a/scripts/checksyscalls.sh +++ b/scripts/checksyscalls.sh | |||
@@ -25,7 +25,7 @@ cat << EOF | |||
25 | #define __IGNORE_rmdir /* unlinkat */ | 25 | #define __IGNORE_rmdir /* unlinkat */ |
26 | #define __IGNORE_lchown /* fchownat */ | 26 | #define __IGNORE_lchown /* fchownat */ |
27 | #define __IGNORE_access /* faccessat */ | 27 | #define __IGNORE_access /* faccessat */ |
28 | #define __IGNORE_rename /* renameat */ | 28 | #define __IGNORE_rename /* renameat2 */ |
29 | #define __IGNORE_readlink /* readlinkat */ | 29 | #define __IGNORE_readlink /* readlinkat */ |
30 | #define __IGNORE_symlink /* symlinkat */ | 30 | #define __IGNORE_symlink /* symlinkat */ |
31 | #define __IGNORE_utimes /* futimesat */ | 31 | #define __IGNORE_utimes /* futimesat */ |
@@ -37,6 +37,9 @@ cat << EOF | |||
37 | #define __IGNORE_lstat64 /* fstatat64 */ | 37 | #define __IGNORE_lstat64 /* fstatat64 */ |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | /* Missing flags argument */ | ||
41 | #define __IGNORE_renameat /* renameat2 */ | ||
42 | |||
40 | /* CLOEXEC flag */ | 43 | /* CLOEXEC flag */ |
41 | #define __IGNORE_pipe /* pipe2 */ | 44 | #define __IGNORE_pipe /* pipe2 */ |
42 | #define __IGNORE_dup2 /* dup3 */ | 45 | #define __IGNORE_dup2 /* dup3 */ |