Hi all, On Tue, 5 Mar 2019 18:13:01 +0100 Christian Brauner <[email protected]> wrote: > > This is the first direct pr I had to send so I hope I didn't make any > horrible mistakes.
One thing: you probably should have mentioned that these changes conflict with changes in the block and tip trees: > On Tue, 22 Jan 2019 14:10:27 +1100 Stephen Rothwell <[email protected]> > wrote: > > > > Today's linux-next merge of the pidfd tree got conflicts in: > > > > arch/x86/entry/syscalls/syscall_32.tbl > > arch/x86/entry/syscalls/syscall_64.tbl > > include/uapi/asm-generic/unistd.h > > > > between commits: > > > > 63a96220ad45 ("arch: add split IPC system calls where needed") > > 0bd4bb9c5612 ("y2038: add 64-bit time_t syscalls to all 32-bit > > architectures") > > > > from the y2038 tree and commit: > > > > 3d2991bc7a67 ("signal: add pidfd_send_signal() syscall") > > > > from the pidfd tree. > > This is now a conflict between the block, tip and pidfd trees. The > resolution now looks like below. > > diff --cc arch/x86/entry/syscalls/syscall_32.tbl > index 8da78595d69d,234d91df8ca6..000000000000 > --- a/arch/x86/entry/syscalls/syscall_32.tbl > +++ b/arch/x86/entry/syscalls/syscall_32.tbl > @@@ -396,39 -396,6 +396,40 @@@ > 382 i386 pkey_free sys_pkey_free > __ia32_sys_pkey_free > 383 i386 statx sys_statx > __ia32_sys_statx > 384 i386 arch_prctl sys_arch_prctl > __ia32_compat_sys_arch_prctl > -385 i386 io_pgetevents sys_io_pgetevents > __ia32_compat_sys_io_pgetevents > +385 i386 io_pgetevents sys_io_pgetevents_time32 > __ia32_compat_sys_io_pgetevents > 386 i386 rseq sys_rseq > __ia32_sys_rseq > +# don't use numbers 387 through 392, add new calls at the end > +393 i386 semget sys_semget > __ia32_sys_semget > +394 i386 semctl sys_semctl > __ia32_compat_sys_semctl > +395 i386 shmget sys_shmget > __ia32_sys_shmget > +396 i386 shmctl sys_shmctl > __ia32_compat_sys_shmctl > +397 i386 shmat sys_shmat > __ia32_compat_sys_shmat > +398 i386 shmdt sys_shmdt > __ia32_sys_shmdt > +399 i386 msgget sys_msgget > __ia32_sys_msgget > +400 i386 msgsnd sys_msgsnd > __ia32_compat_sys_msgsnd > +401 i386 msgrcv sys_msgrcv > __ia32_compat_sys_msgrcv > +402 i386 msgctl sys_msgctl > __ia32_compat_sys_msgctl > +403 i386 clock_gettime64 sys_clock_gettime > __ia32_sys_clock_gettime > +404 i386 clock_settime64 sys_clock_settime > __ia32_sys_clock_settime > +405 i386 clock_adjtime64 sys_clock_adjtime > __ia32_sys_clock_adjtime > +406 i386 clock_getres_time64 sys_clock_getres > __ia32_sys_clock_getres > +407 i386 clock_nanosleep_time64 sys_clock_nanosleep > __ia32_sys_clock_nanosleep > +408 i386 timer_gettime64 sys_timer_gettime > __ia32_sys_timer_gettime > +409 i386 timer_settime64 sys_timer_settime > __ia32_sys_timer_settime > +410 i386 timerfd_gettime64 sys_timerfd_gettime > __ia32_sys_timerfd_gettime > +411 i386 timerfd_settime64 sys_timerfd_settime > __ia32_sys_timerfd_settime > +412 i386 utimensat_time64 sys_utimensat > __ia32_sys_utimensat > +413 i386 pselect6_time64 sys_pselect6 > __ia32_compat_sys_pselect6_time64 > +414 i386 ppoll_time64 sys_ppoll > __ia32_compat_sys_ppoll_time64 > +416 i386 io_pgetevents_time64 sys_io_pgetevents > __ia32_sys_io_pgetevents > +417 i386 recvmmsg_time64 sys_recvmmsg > __ia32_compat_sys_recvmmsg_time64 > +418 i386 mq_timedsend_time64 sys_mq_timedsend > __ia32_sys_mq_timedsend > +419 i386 mq_timedreceive_time64 sys_mq_timedreceive > __ia32_sys_mq_timedreceive > +420 i386 semtimedop_time64 sys_semtimedop > __ia32_sys_semtimedop > +421 i386 rt_sigtimedwait_time64 sys_rt_sigtimedwait > __ia32_compat_sys_rt_sigtimedwait_time64 > +422 i386 futex_time64 sys_futex > __ia32_sys_futex > +423 i386 sched_rr_get_interval_time64 sys_sched_rr_get_interval > __ia32_sys_sched_rr_get_interval > + 424 i386 pidfd_send_signal sys_pidfd_send_signal > __ia32_sys_pidfd_send_signal > +425 i386 io_uring_setup sys_io_uring_setup > __ia32_sys_io_uring_setup > +426 i386 io_uring_enter sys_io_uring_enter > __ia32_sys_io_uring_enter > +427 i386 io_uring_register sys_io_uring_register > __ia32_sys_io_uring_register > diff --cc arch/x86/entry/syscalls/syscall_64.tbl > index c768447f97ec,58f4b3ad4fe0..000000000000 > --- a/arch/x86/entry/syscalls/syscall_64.tbl > +++ b/arch/x86/entry/syscalls/syscall_64.tbl > @@@ -343,11 -343,7 +343,12 @@@ > 332 common statx __x64_sys_statx > 333 common io_pgetevents __x64_sys_io_pgetevents > 334 common rseq __x64_sys_rseq > +# don't use numbers 387 through 423, add new calls after the last > +# 'common' entry > + 424 common pidfd_send_signal __x64_sys_pidfd_send_signal > +425 common io_uring_setup __x64_sys_io_uring_setup > +426 common io_uring_enter __x64_sys_io_uring_enter > +427 common io_uring_register __x64_sys_io_uring_register > > # > # x32-specific system call numbers start at 512 to avoid cache impact > diff --cc include/uapi/asm-generic/unistd.h > index 94fde9a14830,c861e7d1053b..000000000000 > --- a/include/uapi/asm-generic/unistd.h > +++ b/include/uapi/asm-generic/unistd.h > @@@ -740,58 -740,11 +740,60 @@@ __SC_COMP_3264(__NR_io_pgetevents, sys_ > __SYSCALL(__NR_rseq, sys_rseq) > #define __NR_kexec_file_load 294 > __SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) > +/* 295 through 402 are unassigned to sync up with generic numbers, don't > use */ > +#if __BITS_PER_LONG == 32 > +#define __NR_clock_gettime64 403 > +__SYSCALL(__NR_clock_gettime64, sys_clock_gettime) > +#define __NR_clock_settime64 404 > +__SYSCALL(__NR_clock_settime64, sys_clock_settime) > +#define __NR_clock_adjtime64 405 > +__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime) > +#define __NR_clock_getres_time64 406 > +__SYSCALL(__NR_clock_getres_time64, sys_clock_getres) > +#define __NR_clock_nanosleep_time64 407 > +__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep) > +#define __NR_timer_gettime64 408 > +__SYSCALL(__NR_timer_gettime64, sys_timer_gettime) > +#define __NR_timer_settime64 409 > +__SYSCALL(__NR_timer_settime64, sys_timer_settime) > +#define __NR_timerfd_gettime64 410 > +__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime) > +#define __NR_timerfd_settime64 411 > +__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime) > +#define __NR_utimensat_time64 412 > +__SYSCALL(__NR_utimensat_time64, sys_utimensat) > +#define __NR_pselect6_time64 413 > +__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64) > +#define __NR_ppoll_time64 414 > +__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64) > +#define __NR_io_pgetevents_time64 416 > +__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents) > +#define __NR_recvmmsg_time64 417 > +__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64) > +#define __NR_mq_timedsend_time64 418 > +__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend) > +#define __NR_mq_timedreceive_time64 419 > +__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive) > +#define __NR_semtimedop_time64 420 > +__SYSCALL(__NR_semtimedop_time64, sys_semtimedop) > +#define __NR_rt_sigtimedwait_time64 421 > +__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, > compat_sys_rt_sigtimedwait_time64) > +#define __NR_futex_time64 422 > +__SYSCALL(__NR_futex_time64, sys_futex) > +#define __NR_sched_rr_get_interval_time64 423 > +__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval) > +#endif > + #define __NR_pidfd_send_signal 424 > + __SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal) > +#define __NR_io_uring_setup 425 > +__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup) > +#define __NR_io_uring_enter 426 > +__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter) > +#define __NR_io_uring_register 427 > +__SYSCALL(__NR_io_uring_register, sys_io_uring_register) > > #undef __NR_syscalls > -#define __NR_syscalls 425 > +#define __NR_syscalls 428 > > /* > * 32 bit systems traditionally used different -- Cheers, Stephen Rothwell
pgpby1n54AsA4.pgp
Description: OpenPGP digital signature

