summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-04-13 06:57:26 -0400
committerArnd Bergmann <arnd@arndb.de>2018-08-29 09:42:21 -0400
commitcaf6f9c8a326cffd1d4b3ff3f1cfba75d159d70b (patch)
treefa0e60247e82d051fef5a30f55ccbb42d7fe332e
parentfb3739759474d150a9927b920a80ea2afb4c2a51 (diff)
asm-generic: Remove unneeded __ARCH_WANT_SYS_LLSEEK macro
The sys_llseek sytem call is needed on all 32-bit architectures and none of the 64-bit ones, so we can remove the __ARCH_WANT_SYS_LLSEEK guard and simplify the include/asm-generic/unistd.h header further. Since 32-bit tasks can run either natively or in compat mode on 64-bit architectures, we have to check for both !CONFIG_64BIT and CONFIG_COMPAT. There are a few 64-bit architectures that also reference sys_llseek in their 64-bit ABI (e.g. sparc), but I verified that those all select CONFIG_COMPAT, so the #if check is still correct here. It's a bit odd to include it in the syscall table though, as it's the same as sys_lseek() on 64-bit, but with strange calling conventions. Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arm/include/asm/unistd.h1
-rw-r--r--arch/arm64/include/asm/unistd.h1
-rw-r--r--arch/m68k/include/asm/unistd.h1
-rw-r--r--arch/microblaze/include/asm/unistd.h1
-rw-r--r--arch/mips/include/asm/unistd.h1
-rw-r--r--arch/parisc/include/asm/unistd.h1
-rw-r--r--arch/powerpc/include/asm/unistd.h1
-rw-r--r--arch/s390/include/asm/unistd.h1
-rw-r--r--arch/sh/include/asm/unistd.h1
-rw-r--r--arch/sparc/include/asm/unistd.h1
-rw-r--r--arch/x86/include/asm/unistd.h1
-rw-r--r--arch/xtensa/include/asm/unistd.h1
-rw-r--r--fs/read_write.c2
-rw-r--r--include/asm-generic/unistd.h9
14 files changed, 1 insertions, 22 deletions
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 07e58010d597..8f1159c26f20 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -21,7 +21,6 @@
21#define __ARCH_WANT_SYS_GETHOSTNAME 21#define __ARCH_WANT_SYS_GETHOSTNAME
22#define __ARCH_WANT_SYS_PAUSE 22#define __ARCH_WANT_SYS_PAUSE
23#define __ARCH_WANT_SYS_GETPGRP 23#define __ARCH_WANT_SYS_GETPGRP
24#define __ARCH_WANT_SYS_LLSEEK
25#define __ARCH_WANT_SYS_NICE 24#define __ARCH_WANT_SYS_NICE
26#define __ARCH_WANT_SYS_SIGPENDING 25#define __ARCH_WANT_SYS_SIGPENDING
27#define __ARCH_WANT_SYS_SIGPROCMASK 26#define __ARCH_WANT_SYS_SIGPROCMASK
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index e0d0f5b856e7..2af308f13463 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -18,7 +18,6 @@
18#define __ARCH_WANT_SYS_GETHOSTNAME 18#define __ARCH_WANT_SYS_GETHOSTNAME
19#define __ARCH_WANT_SYS_PAUSE 19#define __ARCH_WANT_SYS_PAUSE
20#define __ARCH_WANT_SYS_GETPGRP 20#define __ARCH_WANT_SYS_GETPGRP
21#define __ARCH_WANT_SYS_LLSEEK
22#define __ARCH_WANT_SYS_NICE 21#define __ARCH_WANT_SYS_NICE
23#define __ARCH_WANT_SYS_SIGPENDING 22#define __ARCH_WANT_SYS_SIGPENDING
24#define __ARCH_WANT_SYS_SIGPROCMASK 23#define __ARCH_WANT_SYS_SIGPROCMASK
diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h
index db22cdadc38a..e680031bda7b 100644
--- a/arch/m68k/include/asm/unistd.h
+++ b/arch/m68k/include/asm/unistd.h
@@ -22,7 +22,6 @@
22#define __ARCH_WANT_SYS_SOCKETCALL 22#define __ARCH_WANT_SYS_SOCKETCALL
23#define __ARCH_WANT_SYS_FADVISE64 23#define __ARCH_WANT_SYS_FADVISE64
24#define __ARCH_WANT_SYS_GETPGRP 24#define __ARCH_WANT_SYS_GETPGRP
25#define __ARCH_WANT_SYS_LLSEEK
26#define __ARCH_WANT_SYS_NICE 25#define __ARCH_WANT_SYS_NICE
27#define __ARCH_WANT_SYS_OLD_GETRLIMIT 26#define __ARCH_WANT_SYS_OLD_GETRLIMIT
28#define __ARCH_WANT_SYS_OLD_MMAP 27#define __ARCH_WANT_SYS_OLD_MMAP
diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h
index a28dc770c9b2..f42c40f5001b 100644
--- a/arch/microblaze/include/asm/unistd.h
+++ b/arch/microblaze/include/asm/unistd.h
@@ -27,7 +27,6 @@
27#define __ARCH_WANT_SYS_SOCKETCALL 27#define __ARCH_WANT_SYS_SOCKETCALL
28#define __ARCH_WANT_SYS_FADVISE64 28#define __ARCH_WANT_SYS_FADVISE64
29#define __ARCH_WANT_SYS_GETPGRP 29#define __ARCH_WANT_SYS_GETPGRP
30#define __ARCH_WANT_SYS_LLSEEK
31#define __ARCH_WANT_SYS_NICE 30#define __ARCH_WANT_SYS_NICE
32/* #define __ARCH_WANT_SYS_OLD_GETRLIMIT */ 31/* #define __ARCH_WANT_SYS_OLD_GETRLIMIT */
33#define __ARCH_WANT_SYS_OLDUMOUNT 32#define __ARCH_WANT_SYS_OLDUMOUNT
diff --git a/arch/mips/include/asm/unistd.h b/arch/mips/include/asm/unistd.h
index d7878b3e16d8..c2174b80e50e 100644
--- a/arch/mips/include/asm/unistd.h
+++ b/arch/mips/include/asm/unistd.h
@@ -34,7 +34,6 @@
34#define __ARCH_WANT_SYS_WAITPID 34#define __ARCH_WANT_SYS_WAITPID
35#define __ARCH_WANT_SYS_SOCKETCALL 35#define __ARCH_WANT_SYS_SOCKETCALL
36#define __ARCH_WANT_SYS_GETPGRP 36#define __ARCH_WANT_SYS_GETPGRP
37#define __ARCH_WANT_SYS_LLSEEK
38#define __ARCH_WANT_SYS_NICE 37#define __ARCH_WANT_SYS_NICE
39#define __ARCH_WANT_SYS_OLD_UNAME 38#define __ARCH_WANT_SYS_OLD_UNAME
40#define __ARCH_WANT_SYS_OLDUMOUNT 39#define __ARCH_WANT_SYS_OLDUMOUNT
diff --git a/arch/parisc/include/asm/unistd.h b/arch/parisc/include/asm/unistd.h
index b36273bacca7..a0c38374fff0 100644
--- a/arch/parisc/include/asm/unistd.h
+++ b/arch/parisc/include/asm/unistd.h
@@ -156,7 +156,6 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
156#define __ARCH_WANT_SYS_SOCKETCALL 156#define __ARCH_WANT_SYS_SOCKETCALL
157#define __ARCH_WANT_SYS_FADVISE64 157#define __ARCH_WANT_SYS_FADVISE64
158#define __ARCH_WANT_SYS_GETPGRP 158#define __ARCH_WANT_SYS_GETPGRP
159#define __ARCH_WANT_SYS_LLSEEK
160#define __ARCH_WANT_SYS_NICE 159#define __ARCH_WANT_SYS_NICE
161#define __ARCH_WANT_SYS_OLDUMOUNT 160#define __ARCH_WANT_SYS_OLDUMOUNT
162#define __ARCH_WANT_SYS_SIGPENDING 161#define __ARCH_WANT_SYS_SIGPENDING
diff --git a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
index 8b37e01817be..9326c9133516 100644
--- a/arch/powerpc/include/asm/unistd.h
+++ b/arch/powerpc/include/asm/unistd.h
@@ -36,7 +36,6 @@
36#define __ARCH_WANT_SYS_SOCKETCALL 36#define __ARCH_WANT_SYS_SOCKETCALL
37#define __ARCH_WANT_SYS_FADVISE64 37#define __ARCH_WANT_SYS_FADVISE64
38#define __ARCH_WANT_SYS_GETPGRP 38#define __ARCH_WANT_SYS_GETPGRP
39#define __ARCH_WANT_SYS_LLSEEK
40#define __ARCH_WANT_SYS_NICE 39#define __ARCH_WANT_SYS_NICE
41#define __ARCH_WANT_SYS_OLD_GETRLIMIT 40#define __ARCH_WANT_SYS_OLD_GETRLIMIT
42#define __ARCH_WANT_SYS_OLD_UNAME 41#define __ARCH_WANT_SYS_OLD_UNAME
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h
index 1d181373288a..a2d583ea526d 100644
--- a/arch/s390/include/asm/unistd.h
+++ b/arch/s390/include/asm/unistd.h
@@ -26,7 +26,6 @@
26#define __ARCH_WANT_SYS_IPC 26#define __ARCH_WANT_SYS_IPC
27#define __ARCH_WANT_SYS_FADVISE64 27#define __ARCH_WANT_SYS_FADVISE64
28#define __ARCH_WANT_SYS_GETPGRP 28#define __ARCH_WANT_SYS_GETPGRP
29#define __ARCH_WANT_SYS_LLSEEK
30#define __ARCH_WANT_SYS_NICE 29#define __ARCH_WANT_SYS_NICE
31#define __ARCH_WANT_SYS_OLD_GETRLIMIT 30#define __ARCH_WANT_SYS_OLD_GETRLIMIT
32#define __ARCH_WANT_SYS_OLD_MMAP 31#define __ARCH_WANT_SYS_OLD_MMAP
diff --git a/arch/sh/include/asm/unistd.h b/arch/sh/include/asm/unistd.h
index a845b57eac69..a99234b61051 100644
--- a/arch/sh/include/asm/unistd.h
+++ b/arch/sh/include/asm/unistd.h
@@ -20,7 +20,6 @@
20# define __ARCH_WANT_SYS_SOCKETCALL 20# define __ARCH_WANT_SYS_SOCKETCALL
21# define __ARCH_WANT_SYS_FADVISE64 21# define __ARCH_WANT_SYS_FADVISE64
22# define __ARCH_WANT_SYS_GETPGRP 22# define __ARCH_WANT_SYS_GETPGRP
23# define __ARCH_WANT_SYS_LLSEEK
24# define __ARCH_WANT_SYS_NICE 23# define __ARCH_WANT_SYS_NICE
25# define __ARCH_WANT_SYS_OLD_GETRLIMIT 24# define __ARCH_WANT_SYS_OLD_GETRLIMIT
26# define __ARCH_WANT_SYS_OLD_UNAME 25# define __ARCH_WANT_SYS_OLD_UNAME
diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h
index 3544244685e1..f7514d3eae7b 100644
--- a/arch/sparc/include/asm/unistd.h
+++ b/arch/sparc/include/asm/unistd.h
@@ -34,7 +34,6 @@
34#define __ARCH_WANT_SYS_SOCKETCALL 34#define __ARCH_WANT_SYS_SOCKETCALL
35#define __ARCH_WANT_SYS_FADVISE64 35#define __ARCH_WANT_SYS_FADVISE64
36#define __ARCH_WANT_SYS_GETPGRP 36#define __ARCH_WANT_SYS_GETPGRP
37#define __ARCH_WANT_SYS_LLSEEK
38#define __ARCH_WANT_SYS_NICE 37#define __ARCH_WANT_SYS_NICE
39#define __ARCH_WANT_SYS_OLDUMOUNT 38#define __ARCH_WANT_SYS_OLDUMOUNT
40#define __ARCH_WANT_SYS_SIGPENDING 39#define __ARCH_WANT_SYS_SIGPENDING
diff --git a/arch/x86/include/asm/unistd.h b/arch/x86/include/asm/unistd.h
index 35b66bbf8028..153d2a5e6b02 100644
--- a/arch/x86/include/asm/unistd.h
+++ b/arch/x86/include/asm/unistd.h
@@ -38,7 +38,6 @@
38# define __ARCH_WANT_SYS_FADVISE64 38# define __ARCH_WANT_SYS_FADVISE64
39# define __ARCH_WANT_SYS_GETHOSTNAME 39# define __ARCH_WANT_SYS_GETHOSTNAME
40# define __ARCH_WANT_SYS_GETPGRP 40# define __ARCH_WANT_SYS_GETPGRP
41# define __ARCH_WANT_SYS_LLSEEK
42# define __ARCH_WANT_SYS_NICE 41# define __ARCH_WANT_SYS_NICE
43# define __ARCH_WANT_SYS_OLDUMOUNT 42# define __ARCH_WANT_SYS_OLDUMOUNT
44# define __ARCH_WANT_SYS_OLD_GETRLIMIT 43# define __ARCH_WANT_SYS_OLD_GETRLIMIT
diff --git a/arch/xtensa/include/asm/unistd.h b/arch/xtensa/include/asm/unistd.h
index 0d532ab60b37..574e5520968c 100644
--- a/arch/xtensa/include/asm/unistd.h
+++ b/arch/xtensa/include/asm/unistd.h
@@ -8,7 +8,6 @@
8#define __ARCH_WANT_NEW_STAT 8#define __ARCH_WANT_NEW_STAT
9#define __ARCH_WANT_STAT64 9#define __ARCH_WANT_STAT64
10#define __ARCH_WANT_SYS_UTIME 10#define __ARCH_WANT_SYS_UTIME
11#define __ARCH_WANT_SYS_LLSEEK
12#define __ARCH_WANT_SYS_GETPGRP 11#define __ARCH_WANT_SYS_GETPGRP
13 12
14/* 13/*
diff --git a/fs/read_write.c b/fs/read_write.c
index 39b4a21dd933..e892e409386b 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -331,7 +331,7 @@ COMPAT_SYSCALL_DEFINE3(lseek, unsigned int, fd, compat_off_t, offset, unsigned i
331} 331}
332#endif 332#endif
333 333
334#ifdef __ARCH_WANT_SYS_LLSEEK 334#if !defined(CONFIG_64BIT) || defined(CONFIG_COMPAT)
335SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high, 335SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
336 unsigned long, offset_low, loff_t __user *, result, 336 unsigned long, offset_low, loff_t __user *, result,
337 unsigned int, whence) 337 unsigned int, whence)
diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h
index ea74eca8463f..71d2fcf9dbcd 100644
--- a/include/asm-generic/unistd.h
+++ b/include/asm-generic/unistd.h
@@ -1,12 +1,3 @@
1/* SPDX-License-Identifier: GPL-2.0 */ 1/* SPDX-License-Identifier: GPL-2.0 */
2#include <uapi/asm-generic/unistd.h> 2#include <uapi/asm-generic/unistd.h>
3#include <linux/export.h> 3#include <linux/export.h>
4
5/*
6 * These are required system calls, we should
7 * invert the logic eventually and let them
8 * be selected by default.
9 */
10#if __BITS_PER_LONG == 32
11#define __ARCH_WANT_SYS_LLSEEK
12#endif