On Thu, Jan 10, 2019 at 05:24:35PM +0100, Arnd Bergmann wrote: > Most architectures define system call numbers for the rseq and pkey system > calls, even when they don't support the features, and perhaps never will. > > Only a few architectures are missing these, so just define them anyway > for consistency. If we decide to add them later to one of these, the > system call numbers won't get out of sync then. I was lambasted for adding the pkey syscalls for 32-bit ARM in 2016, which will probably never support it. Why has the attitude towards this kind of thing now apparently become acceptable? > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > arch/alpha/include/asm/unistd.h | 4 ---- > arch/alpha/kernel/syscalls/syscall.tbl | 4 ++++ > arch/ia64/kernel/syscalls/syscall.tbl | 4 ++++ > arch/m68k/kernel/syscalls/syscall.tbl | 4 ++++ > arch/parisc/include/asm/unistd.h | 3 --- > arch/parisc/kernel/syscalls/syscall.tbl | 4 ++++ > arch/s390/include/asm/unistd.h | 3 --- > arch/s390/kernel/syscalls/syscall.tbl | 3 +++ > arch/sh/kernel/syscalls/syscall.tbl | 4 ++++ > arch/sparc/include/asm/unistd.h | 5 ----- > arch/sparc/kernel/syscalls/syscall.tbl | 4 ++++ > arch/xtensa/kernel/syscalls/syscall.tbl | 1 + > 12 files changed, 28 insertions(+), 15 deletions(-) > > diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h > index 564ba87bdc38..31ad350b58a0 100644 > --- a/arch/alpha/include/asm/unistd.h > +++ b/arch/alpha/include/asm/unistd.h > @@ -29,9 +29,5 @@ > #define __IGNORE_getppid > #define __IGNORE_getuid > > -/* Alpha doesn't have protection keys. */ > -#define __IGNORE_pkey_mprotect > -#define __IGNORE_pkey_alloc > -#define __IGNORE_pkey_free > > #endif /* _ALPHA_UNISTD_H */ > diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl > index b0e247287908..25b4a7e76943 100644 > --- a/arch/alpha/kernel/syscalls/syscall.tbl > +++ b/arch/alpha/kernel/syscalls/syscall.tbl > @@ -452,3 +452,7 @@ > 521 common pwritev2 sys_pwritev2 > 522 common statx sys_statx > 523 common io_pgetevents sys_io_pgetevents > +524 common pkey_alloc sys_pkey_alloc > +525 common pkey_free sys_pkey_free > +526 common pkey_mprotect sys_pkey_mprotect > +527 common rseq sys_rseq > diff --git a/arch/ia64/kernel/syscalls/syscall.tbl b/arch/ia64/kernel/syscalls/syscall.tbl > index 2e93dbdcdb80..84e03de00177 100644 > --- a/arch/ia64/kernel/syscalls/syscall.tbl > +++ b/arch/ia64/kernel/syscalls/syscall.tbl > @@ -339,3 +339,7 @@ > 327 common io_pgetevents sys_io_pgetevents > 328 common perf_event_open sys_perf_event_open > 329 common seccomp sys_seccomp > +330 common pkey_alloc sys_pkey_alloc > +331 common pkey_free sys_pkey_free > +332 common pkey_mprotect sys_pkey_mprotect > +333 common rseq sys_rseq > diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl > index 5354ba02eed2..ae88b85d068e 100644 > --- a/arch/m68k/kernel/syscalls/syscall.tbl > +++ b/arch/m68k/kernel/syscalls/syscall.tbl > @@ -388,6 +388,10 @@ > 378 common pwritev2 sys_pwritev2 > 379 common statx sys_statx > 380 common seccomp sys_seccomp > +381 common pkey_alloc sys_pkey_alloc > +382 common pkey_free sys_pkey_free > +383 common pkey_mprotect sys_pkey_mprotect > +384 common rseq sys_rseq > # room for arch specific calls > 393 common semget sys_semget > 394 common semctl sys_semctl > diff --git a/arch/parisc/include/asm/unistd.h b/arch/parisc/include/asm/unistd.h > index c2c2afb28941..9ec1026af877 100644 > --- a/arch/parisc/include/asm/unistd.h > +++ b/arch/parisc/include/asm/unistd.h > @@ -12,9 +12,6 @@ > > #define __IGNORE_select /* newselect */ > #define __IGNORE_fadvise64 /* fadvise64_64 */ > -#define __IGNORE_pkey_mprotect > -#define __IGNORE_pkey_alloc > -#define __IGNORE_pkey_free > > #ifndef ASM_LINE_SEP > # define ASM_LINE_SEP ; > diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl > index 9bbd2f9f56c8..e07231de3597 100644 > --- a/arch/parisc/kernel/syscalls/syscall.tbl > +++ b/arch/parisc/kernel/syscalls/syscall.tbl > @@ -367,3 +367,7 @@ > 348 common pwritev2 sys_pwritev2 compat_sys_pwritev2 > 349 common statx sys_statx > 350 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents > +351 common pkey_alloc sys_pkey_alloc > +352 common pkey_free sys_pkey_free > +353 common pkey_mprotect sys_pkey_mprotect > +354 common rseq sys_rseq > diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h > index a1fbf15d53aa..ed08f114ee91 100644 > --- a/arch/s390/include/asm/unistd.h > +++ b/arch/s390/include/asm/unistd.h > @@ -11,9 +11,6 @@ > #include <asm/unistd_nr.h> > > #define __IGNORE_time > -#define __IGNORE_pkey_mprotect > -#define __IGNORE_pkey_alloc > -#define __IGNORE_pkey_free > > #define __ARCH_WANT_NEW_STAT > #define __ARCH_WANT_OLD_READDIR > diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl > index 428cf512a757..f84ea364a302 100644 > --- a/arch/s390/kernel/syscalls/syscall.tbl > +++ b/arch/s390/kernel/syscalls/syscall.tbl > @@ -391,6 +391,9 @@ > 381 common kexec_file_load sys_kexec_file_load compat_sys_kexec_file_load > 382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents > 383 common rseq sys_rseq compat_sys_rseq > +384 common pkey_alloc sys_pkey_alloc sys_pkey_alloc > +385 common pkey_free sys_pkey_free sys_pkey_free > +386 common pkey_mprotect sys_pkey_mprotect sys_pkey_mprotect > # room for arch specific syscalls > 392 64 semtimedop sys_semtimedop - > 393 common semget sys_semget sys_semget > diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl > index 6d0b84e3ef2d..3f96ad0424e1 100644 > --- a/arch/sh/kernel/syscalls/syscall.tbl > +++ b/arch/sh/kernel/syscalls/syscall.tbl > @@ -391,6 +391,10 @@ > 381 common preadv2 sys_preadv2 > 382 common pwritev2 sys_pwritev2 > 383 common statx sys_statx > +384 common pkey_alloc sys_pkey_alloc > +385 common pkey_free sys_pkey_free > +386 common pkey_mprotect sys_pkey_mprotect > +387 common rseq sys_rseq > # room for arch specific syscalls > 393 common semget sys_semget > 394 common semctl sys_semctl > diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h > index 5194d86ef72d..08696ea5dca8 100644 > --- a/arch/sparc/include/asm/unistd.h > +++ b/arch/sparc/include/asm/unistd.h > @@ -59,9 +59,4 @@ > #define __IGNORE_getresgid > #endif > > -/* Sparc doesn't have protection keys. */ > -#define __IGNORE_pkey_mprotect > -#define __IGNORE_pkey_alloc > -#define __IGNORE_pkey_free > - > #endif /* _SPARC_UNISTD_H */ > diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl > index 8c9580302422..24ebef675184 100644 > --- a/arch/sparc/kernel/syscalls/syscall.tbl > +++ b/arch/sparc/kernel/syscalls/syscall.tbl > @@ -407,6 +407,10 @@ > 359 common pwritev2 sys_pwritev2 compat_sys_pwritev2 > 360 common statx sys_statx > 361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents > +362 common pkey_alloc sys_pkey_alloc > +363 common pkey_free sys_pkey_free > +364 common pkey_mprotect sys_pkey_mprotect > +365 common rseq sys_rseq > # room for arch specific syscalls > 392 64 semtimedop sys_semtimedop > 393 common semget sys_semget > diff --git a/arch/xtensa/kernel/syscalls/syscall.tbl b/arch/xtensa/kernel/syscalls/syscall.tbl > index f8befa11b0c4..c699e014e0dd 100644 > --- a/arch/xtensa/kernel/syscalls/syscall.tbl > +++ b/arch/xtensa/kernel/syscalls/syscall.tbl > @@ -372,3 +372,4 @@ > 349 common pkey_alloc sys_pkey_alloc > 350 common pkey_free sys_pkey_free > 351 common statx sys_statx > +352 common rseq sys_rseq > -- > 2.20.0 > > -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up