aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2016-04-29 17:29:26 -0400
committerArnd Bergmann <arnd@arndb.de>2016-05-04 18:42:21 -0400
commitb0da6d44157aa6e652de7634343708251ba64146 (patch)
tree1682d74bb6533eaa4d43a5fc03c5a1b2c9d16079
parent1f93e9f2318b598e6775a1fc9701604993c512b1 (diff)
asm-generic: Drop renameat syscall from default list
The newer renameat2 syscall provides all the functionality provided by the renameat syscall and adds flags, so future architectures won't need to include renameat. Therefore drop the renameat syscall from the generic syscall list unless __ARCH_WANT_RENAMEAT is defined by the architecture's unistd.h prior to including asm-generic/unistd.h, and adjust all architectures using the generic syscall list to define it so that no in-tree architectures are affected. Signed-off-by: James Hogan <james.hogan@imgtec.com> Acked-by: Vineet Gupta <vgupta@synopsys.com> Cc: linux-arch@vger.kernel.org Cc: linux-snps-arc@lists.infradead.org Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <a-jacquiot@ti.com> Cc: linux-c6x-dev@linux-c6x.org Cc: Richard Kuo <rkuo@codeaurora.org> Cc: linux-hexagon@vger.kernel.org Cc: linux-metag@vger.kernel.org Cc: Jonas Bonn <jonas@southpole.se> Cc: linux@lists.openrisc.net Cc: Chen Liqin <liqin.linux@gmail.com> Cc: Lennox Wu <lennox.wu@gmail.com> Cc: Chris Metcalf <cmetcalf@mellanox.com> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Cc: Ley Foon Tan <lftan@altera.com> Cc: nios2-dev@lists.rocketboards.org Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: uclinux-h8-devel@lists.sourceforge.jp Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arc/include/uapi/asm/unistd.h1
-rw-r--r--arch/arm64/include/uapi/asm/unistd.h3
-rw-r--r--arch/c6x/include/uapi/asm/unistd.h1
-rw-r--r--arch/h8300/include/uapi/asm/unistd.h2
-rw-r--r--arch/hexagon/include/uapi/asm/unistd.h1
-rw-r--r--arch/metag/include/uapi/asm/unistd.h2
-rw-r--r--arch/nios2/include/uapi/asm/unistd.h2
-rw-r--r--arch/openrisc/include/uapi/asm/unistd.h1
-rw-r--r--arch/score/include/uapi/asm/unistd.h1
-rw-r--r--arch/tile/include/uapi/asm/unistd.h1
-rw-r--r--arch/unicore32/include/uapi/asm/unistd.h2
-rw-r--r--include/uapi/asm-generic/unistd.h3
12 files changed, 20 insertions, 0 deletions
diff --git a/arch/arc/include/uapi/asm/unistd.h b/arch/arc/include/uapi/asm/unistd.h
index 39e58d1cdf90..41fa2ec9e02c 100644
--- a/arch/arc/include/uapi/asm/unistd.h
+++ b/arch/arc/include/uapi/asm/unistd.h
@@ -15,6 +15,7 @@
15#if !defined(_UAPI_ASM_ARC_UNISTD_H) || defined(__SYSCALL) 15#if !defined(_UAPI_ASM_ARC_UNISTD_H) || defined(__SYSCALL)
16#define _UAPI_ASM_ARC_UNISTD_H 16#define _UAPI_ASM_ARC_UNISTD_H
17 17
18#define __ARCH_WANT_RENAMEAT
18#define __ARCH_WANT_SYS_EXECVE 19#define __ARCH_WANT_SYS_EXECVE
19#define __ARCH_WANT_SYS_CLONE 20#define __ARCH_WANT_SYS_CLONE
20#define __ARCH_WANT_SYS_VFORK 21#define __ARCH_WANT_SYS_VFORK
diff --git a/arch/arm64/include/uapi/asm/unistd.h b/arch/arm64/include/uapi/asm/unistd.h
index 1caadc24e3fe..043d17a21342 100644
--- a/arch/arm64/include/uapi/asm/unistd.h
+++ b/arch/arm64/include/uapi/asm/unistd.h
@@ -13,4 +13,7 @@
13 * You should have received a copy of the GNU General Public License 13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
17#define __ARCH_WANT_RENAMEAT
18
16#include <asm-generic/unistd.h> 19#include <asm-generic/unistd.h>
diff --git a/arch/c6x/include/uapi/asm/unistd.h b/arch/c6x/include/uapi/asm/unistd.h
index e7d09a614d10..12d73d9d81f5 100644
--- a/arch/c6x/include/uapi/asm/unistd.h
+++ b/arch/c6x/include/uapi/asm/unistd.h
@@ -14,6 +14,7 @@
14 * more details. 14 * more details.
15 */ 15 */
16 16
17#define __ARCH_WANT_RENAMEAT
17#define __ARCH_WANT_SYS_CLONE 18#define __ARCH_WANT_SYS_CLONE
18 19
19/* Use the standard ABI for syscalls. */ 20/* Use the standard ABI for syscalls. */
diff --git a/arch/h8300/include/uapi/asm/unistd.h b/arch/h8300/include/uapi/asm/unistd.h
index 7a2eb698def3..7dd20ef7625a 100644
--- a/arch/h8300/include/uapi/asm/unistd.h
+++ b/arch/h8300/include/uapi/asm/unistd.h
@@ -1,3 +1,5 @@
1#define __ARCH_NOMMU 1#define __ARCH_NOMMU
2 2
3#define __ARCH_WANT_RENAMEAT
4
3#include <asm-generic/unistd.h> 5#include <asm-generic/unistd.h>
diff --git a/arch/hexagon/include/uapi/asm/unistd.h b/arch/hexagon/include/uapi/asm/unistd.h
index ffee405d6803..21517600432b 100644
--- a/arch/hexagon/include/uapi/asm/unistd.h
+++ b/arch/hexagon/include/uapi/asm/unistd.h
@@ -27,6 +27,7 @@
27 */ 27 */
28 28
29#define sys_mmap2 sys_mmap_pgoff 29#define sys_mmap2 sys_mmap_pgoff
30#define __ARCH_WANT_RENAMEAT
30#define __ARCH_WANT_SYS_EXECVE 31#define __ARCH_WANT_SYS_EXECVE
31#define __ARCH_WANT_SYS_CLONE 32#define __ARCH_WANT_SYS_CLONE
32#define __ARCH_WANT_SYS_VFORK 33#define __ARCH_WANT_SYS_VFORK
diff --git a/arch/metag/include/uapi/asm/unistd.h b/arch/metag/include/uapi/asm/unistd.h
index b80b8e899d22..459b6ec15848 100644
--- a/arch/metag/include/uapi/asm/unistd.h
+++ b/arch/metag/include/uapi/asm/unistd.h
@@ -7,6 +7,8 @@
7 * (at your option) any later version. 7 * (at your option) any later version.
8 */ 8 */
9 9
10#define __ARCH_WANT_RENAMEAT
11
10/* Use the standard ABI for syscalls. */ 12/* Use the standard ABI for syscalls. */
11#include <asm-generic/unistd.h> 13#include <asm-generic/unistd.h>
12 14
diff --git a/arch/nios2/include/uapi/asm/unistd.h b/arch/nios2/include/uapi/asm/unistd.h
index c4bf79510461..51a32c71ce2b 100644
--- a/arch/nios2/include/uapi/asm/unistd.h
+++ b/arch/nios2/include/uapi/asm/unistd.h
@@ -17,6 +17,8 @@
17 17
18 #define sys_mmap2 sys_mmap_pgoff 18 #define sys_mmap2 sys_mmap_pgoff
19 19
20#define __ARCH_WANT_RENAMEAT
21
20/* Use the standard ABI for syscalls */ 22/* Use the standard ABI for syscalls */
21#include <asm-generic/unistd.h> 23#include <asm-generic/unistd.h>
22 24
diff --git a/arch/openrisc/include/uapi/asm/unistd.h b/arch/openrisc/include/uapi/asm/unistd.h
index ce40b71df006..471905bd7745 100644
--- a/arch/openrisc/include/uapi/asm/unistd.h
+++ b/arch/openrisc/include/uapi/asm/unistd.h
@@ -20,6 +20,7 @@
20 20
21#define sys_mmap2 sys_mmap_pgoff 21#define sys_mmap2 sys_mmap_pgoff
22 22
23#define __ARCH_WANT_RENAMEAT
23#define __ARCH_WANT_SYS_FORK 24#define __ARCH_WANT_SYS_FORK
24#define __ARCH_WANT_SYS_CLONE 25#define __ARCH_WANT_SYS_CLONE
25 26
diff --git a/arch/score/include/uapi/asm/unistd.h b/arch/score/include/uapi/asm/unistd.h
index 9cb4260a5f3e..d4008c339e89 100644
--- a/arch/score/include/uapi/asm/unistd.h
+++ b/arch/score/include/uapi/asm/unistd.h
@@ -1,5 +1,6 @@
1#define __ARCH_HAVE_MMU 1#define __ARCH_HAVE_MMU
2 2
3#define __ARCH_WANT_RENAMEAT
3#define __ARCH_WANT_SYSCALL_NO_AT 4#define __ARCH_WANT_SYSCALL_NO_AT
4#define __ARCH_WANT_SYSCALL_NO_FLAGS 5#define __ARCH_WANT_SYSCALL_NO_FLAGS
5#define __ARCH_WANT_SYSCALL_OFF_T 6#define __ARCH_WANT_SYSCALL_OFF_T
diff --git a/arch/tile/include/uapi/asm/unistd.h b/arch/tile/include/uapi/asm/unistd.h
index 3866397aaf5a..24e9187e85a8 100644
--- a/arch/tile/include/uapi/asm/unistd.h
+++ b/arch/tile/include/uapi/asm/unistd.h
@@ -12,6 +12,7 @@
12 * more details. 12 * more details.
13 */ 13 */
14 14
15#define __ARCH_WANT_RENAMEAT
15#if !defined(__LP64__) || defined(__SYSCALL_COMPAT) 16#if !defined(__LP64__) || defined(__SYSCALL_COMPAT)
16/* Use the flavor of this syscall that matches the 32-bit API better. */ 17/* Use the flavor of this syscall that matches the 32-bit API better. */
17#define __ARCH_WANT_SYNC_FILE_RANGE2 18#define __ARCH_WANT_SYNC_FILE_RANGE2
diff --git a/arch/unicore32/include/uapi/asm/unistd.h b/arch/unicore32/include/uapi/asm/unistd.h
index d4cc4559d848..1f63c476528e 100644
--- a/arch/unicore32/include/uapi/asm/unistd.h
+++ b/arch/unicore32/include/uapi/asm/unistd.h
@@ -10,6 +10,8 @@
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11 */ 11 */
12 12
13#define __ARCH_WANT_RENAMEAT
14
13/* Use the standard ABI for syscalls. */ 15/* Use the standard ABI for syscalls. */
14#include <asm-generic/unistd.h> 16#include <asm-generic/unistd.h>
15#define __ARCH_WANT_SYS_CLONE 17#define __ARCH_WANT_SYS_CLONE
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
index c51afb71bfab..a26415b5151c 100644
--- a/include/uapi/asm-generic/unistd.h
+++ b/include/uapi/asm-generic/unistd.h
@@ -127,8 +127,11 @@ __SYSCALL(__NR_unlinkat, sys_unlinkat)
127__SYSCALL(__NR_symlinkat, sys_symlinkat) 127__SYSCALL(__NR_symlinkat, sys_symlinkat)
128#define __NR_linkat 37 128#define __NR_linkat 37
129__SYSCALL(__NR_linkat, sys_linkat) 129__SYSCALL(__NR_linkat, sys_linkat)
130#ifdef __ARCH_WANT_RENAMEAT
131/* renameat is superseded with flags by renameat2 */
130#define __NR_renameat 38 132#define __NR_renameat 38
131__SYSCALL(__NR_renameat, sys_renameat) 133__SYSCALL(__NR_renameat, sys_renameat)
134#endif /* __ARCH_WANT_RENAMEAT */
132 135
133/* fs/namespace.c */ 136/* fs/namespace.c */
134#define __NR_umount2 39 137#define __NR_umount2 39