diff options
author | Arnd Bergmann <arnd@arndb.de> | 2018-04-13 06:57:26 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2018-08-29 09:42:21 -0400 |
commit | caf6f9c8a326cffd1d4b3ff3f1cfba75d159d70b (patch) | |
tree | fa0e60247e82d051fef5a30f55ccbb42d7fe332e | |
parent | fb3739759474d150a9927b920a80ea2afb4c2a51 (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.h | 1 | ||||
-rw-r--r-- | arch/arm64/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/m68k/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/microblaze/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/mips/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/parisc/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/powerpc/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/s390/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/sh/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/xtensa/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | fs/read_write.c | 2 | ||||
-rw-r--r-- | include/asm-generic/unistd.h | 9 |
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) |
335 | SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high, | 335 | SYSCALL_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 | ||