On Tuesday, November 12, 2019, Aleksandar Markovic < aleksandar.m.mail@gmail.com> wrote: > > > On Tuesday, November 12, 2019, Andrew Kelley wrote: > >> ping >> >> On 10/16/19 5:01 PM, Andrew Kelley wrote: >> > Signed-off-by: Andrew Kelley >> > --- >> > linux-user/aarch64/syscall_nr.h | 13 ++++++++++ >> > linux-user/arm/syscall_nr.h | 38 ++++++++++++++++++++++++++++ >> > linux-user/i386/syscall_nr.h | 43 ++++++++++++++++++++++++++++++++ >> > linux-user/mips/cpu_loop.c | 6 +++++ >> > linux-user/ppc/syscall_nr.h | 44 +++++++++++++++++++++++++++++++++ >> > 5 files changed, 144 insertions(+) >> > > > > Hello, Andrew. > > I support your change, but its title is not appropriate. It should have > been "linux-user: Update system call code numbers for some targets" or > similar. Also, you should have mentioned Laurent Vivier in cc. Also, are > other targets updated? If not, I think you should include them as well. > Additionally, what was the version (or commit number) of the kernel uou > used as the reference? > > Thanks, Aleksandar > > > Forwarding to Laurent. Laurent, can this or similar patch be integrated into 4.2? It can be viewed as a bug fix, in a way. Aleksandar > > >> > diff --git a/linux-user/aarch64/syscall_nr.h >> > b/linux-user/aarch64/syscall_nr.h >> > index f00ffd7fb8..4e8d0bbb15 100644 >> > --- a/linux-user/aarch64/syscall_nr.h >> > +++ b/linux-user/aarch64/syscall_nr.h >> > @@ -276,5 +276,18 @@ >> > #define TARGET_NR_membarrier 283 >> > #define TARGET_NR_mlock2 284 >> > #define TARGET_NR_copy_file_range 285 >> > +#define TARGET_NR_preadv2 286 >> > +#define TARGET_NR_pwritev2 287 >> > +#define TARGET_NR_pkey_mprotect 288 >> > +#define TARGET_NR_pkey_alloc 289 >> > +#define TARGET_NR_pkey_free 290 >> > +#define TARGET_NR_statx 291 >> > +#define TARGET_NR_io_pgetevents 292 >> > +#define TARGET_NR_rseq 293 >> > +#define TARGET_NR_kexec_file_load 294 >> > +#define TARGET_NR_pidfd_send_signal 424 >> > +#define TARGET_NR_io_uring_setup 425 >> > +#define TARGET_NR_io_uring_enter 426 >> > +#define TARGET_NR_io_uring_register 427 >> > >> > #endif >> > diff --git a/linux-user/arm/syscall_nr.h b/linux-user/arm/syscall_nr.h >> > index e7eda0d766..20afa3992a 100644 >> > --- a/linux-user/arm/syscall_nr.h >> > +++ b/linux-user/arm/syscall_nr.h >> > @@ -400,4 +400,42 @@ >> > #define TARGET_NR_membarrier (389) >> > #define TARGET_NR_mlock2 (390) >> > >> > +#define TARGET_NR_copy_file_range (391) >> > +#define TARGET_NR_preadv2 (392) >> > +#define TARGET_NR_pwritev2 (393) >> > +#define TARGET_NR_pkey_mprotect (394) >> > +#define TARGET_NR_pkey_alloc (395) >> > +#define TARGET_NR_pkey_free (396) >> > +#define TARGET_NR_statx (397) >> > +#define TARGET_NR_rseq (398) >> > +#define TARGET_NR_io_pgetevents (399) >> > +#define TARGET_NR_migrate_pages (400) >> > + >> > +#define TARGET_NR_kexec_file_load (401) >> > +#define TARGET_NR_clock_gettime64 (403) >> > +#define TARGET_NR_clock_settime64 (404) >> > +#define TARGET_NR_clock_adjtime64 (405) >> > +#define TARGET_NR_clock_getres_time64 (406) >> > +#define TARGET_NR_clock_nanosleep_time64 (407) >> > +#define TARGET_NR_timer_gettime64 (408) >> > +#define TARGET_NR_timer_settime64 (409) >> > +#define TARGET_NR_timerfd_gettime64 (410) >> > + >> > +#define TARGET_NR_timerfd_settime64 (411) >> > +#define TARGET_NR_utimensat_time64 (412) >> > +#define TARGET_NR_pselect6_time64 (413) >> > +#define TARGET_NR_ppoll_time64 (414) >> > +#define TARGET_NR_io_pgetevents_time64 (416) >> > +#define TARGET_NR_recvmmsg_time64 (417) >> > +#define TARGET_NR_mq_timedsend_time64 (418) >> > +#define TARGET_NR_mq_timedreceive_time64 (419) >> > +#define TARGET_NR_semtimedop_time64 (420) >> > + >> > +#define TARGET_NR_rt_sigtimedwait_time64 (421) >> > +#define TARGET_NR_futex_time64 (422) >> > +#define TARGET_NR_sched_rr_get_interval_time64 (423) >> > +#define TARGET_NR_pidfd_send_signal (424) >> > +#define TARGET_NR_io_uring_setup (425) >> > +#define TARGET_NR_io_uring_enter (426) >> > +#define TARGET_NR_io_uring_register (427) >> > #endif >> > diff --git a/linux-user/i386/syscall_nr.h b/linux-user/i386/syscall_nr.h >> > index 3234ec21c6..e641674daf 100644 >> > --- a/linux-user/i386/syscall_nr.h >> > +++ b/linux-user/i386/syscall_nr.h >> > @@ -383,5 +383,48 @@ >> > #define TARGET_NR_membarrier 375 >> > #define TARGET_NR_mlock2 376 >> > #define TARGET_NR_copy_file_range 377 >> > +#define TARGET_NR_preadv2 378 >> > +#define TARGET_NR_pwritev2 379 >> > +#define TARGET_NR_pkey_mprotect 380 >> > +#define TARGET_NR_pkey_alloc 381 >> > +#define TARGET_NR_pkey_free 382 >> > +#define TARGET_NR_statx 383 >> > +#define TARGET_NR_arch_prctl 384 >> > +#define TARGET_NR_io_pgetevents 385 >> > +#define TARGET_NR_rseq 386 >> > +#define TARGET_NR_semget 393 >> > +#define TARGET_NR_semctl 394 >> > +#define TARGET_NR_shmget 395 >> > +#define TARGET_NR_shmctl 396 >> > +#define TARGET_NR_shmat 397 >> > +#define TARGET_NR_shmdt 398 >> > +#define TARGET_NR_msgget 399 >> > +#define TARGET_NR_msgsnd 400 >> > +#define TARGET_NR_msgrcv 401 >> > +#define TARGET_NR_msgctl 402 >> > +#define TARGET_NR_clock_gettime64 403 >> > +#define TARGET_NR_clock_settime64 404 >> > +#define TARGET_NR_clock_adjtime64 405 >> > +#define TARGET_NR_clock_getres_time64 406 >> > +#define TARGET_NR_clock_nanosleep_time64 407 >> > +#define TARGET_NR_timer_gettime64 408 >> > +#define TARGET_NR_timer_settime64 409 >> > +#define TARGET_NR_timerfd_gettime64 410 >> > +#define TARGET_NR_timerfd_settime64 411 >> > +#define TARGET_NR_utimensat_time64 412 >> > +#define TARGET_NR_pselect6_time64 413 >> > +#define TARGET_NR_ppoll_time64 414 >> > +#define TARGET_NR_io_pgetevents_time64 416 >> > +#define TARGET_NR_recvmmsg_time64 417 >> > +#define TARGET_NR_mq_timedsend_time64 418 >> > +#define TARGET_NR_mq_timedreceive_time64 419 >> > +#define TARGET_NR_semtimedop_time64 420 >> > +#define TARGET_NR_rt_sigtimedwait_time64 421 >> > +#define TARGET_NR_futex_time64 422 >> > +#define TARGET_NR_sched_rr_get_interval_time64 423 >> > +#define TARGET_NR_pidfd_send_signal 424 >> > +#define TARGET_NR_io_uring_setup 425 >> > +#define TARGET_NR_io_uring_enter 426 >> > +#define TARGET_NR_io_uring_register 427 >> > >> > #endif >> > diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c >> > index 39915b3fde..044a00f531 100644 >> > --- a/linux-user/mips/cpu_loop.c >> > +++ b/linux-user/mips/cpu_loop.c >> > @@ -390,6 +390,12 @@ static const uint8_t mips_syscall_args[] = { >> > MIPS_SYS(sys_copy_file_range, 6) /* 360 */ >> > MIPS_SYS(sys_preadv2, 6) >> > MIPS_SYS(sys_pwritev2, 6) >> > + MIPS_SYS(sys_pkey_mprotect, 4) >> > + MIPS_SYS(sys_pkey_alloc, 2) >> > + MIPS_SYS(sys_pkey_free, 1) >> > + MIPS_SYS(sys_statx, 5) >> > + MIPS_SYS(sys_rseq, 4) >> > + MIPS_SYS(sys_io_pgetevents, 5) >> > }; >> > # undef MIPS_SYS >> > # endif /* O32 */ >> > diff --git a/linux-user/ppc/syscall_nr.h b/linux-user/ppc/syscall_nr.h >> > index b57a07b931..eea4056e3d 100644 >> > --- a/linux-user/ppc/syscall_nr.h >> > +++ b/linux-user/ppc/syscall_nr.h >> > @@ -398,5 +398,49 @@ >> > #define TARGET_NR_shmget 376 >> > #define TARGET_NR_shmctl 377 >> > #define TARGET_NR_mlock2 378 >> > +#define TARGET_NR_copy_file_range 379 >> > +#define TARGET_NR_preadv2 380 >> > +#define TARGET_NR_pwritev2 381 >> > +#define TARGET_NR_kexec_file_load 382 >> > +#define TARGET_NR_statx 383 >> > +#define TARGET_NR_pkey_alloc 384 >> > +#define TARGET_NR_pkey_free 385 >> > +#define TARGET_NR_pkey_mprotect 386 >> > +#define TARGET_NR_rseq 387 >> > +#define TARGET_NR_io_pgetevents 388 >> > +#define TARGET_NR_semget 393 >> > +#define TARGET_NR_semctl 394 >> > +#define TARGET_NR_shmget 395 >> > +#define TARGET_NR_shmctl 396 >> > +#define TARGET_NR_shmat 397 >> > +#define TARGET_NR_shmdt 398 >> > +#define TARGET_NR_msgget 399 >> > +#define TARGET_NR_msgsnd 400 >> > +#define TARGET_NR_msgrcv 401 >> > +#define TARGET_NR_msgctl 402 >> > +#define TARGET_NR_clock_gettime64 403 >> > +#define TARGET_NR_clock_settime64 404 >> > +#define TARGET_NR_clock_adjtime64 405 >> > +#define TARGET_NR_clock_getres_time64 406 >> > +#define TARGET_NR_clock_nanosleep_time64 407 >> > +#define TARGET_NR_timer_gettime64 408 >> > +#define TARGET_NR_timer_settime64 409 >> > +#define TARGET_NR_timerfd_gettime64 410 >> > +#define TARGET_NR_timerfd_settime64 411 >> > +#define TARGET_NR_utimensat_time64 412 >> > +#define TARGET_NR_pselect6_time64 413 >> > +#define TARGET_NR_ppoll_time64 414 >> > +#define TARGET_NR_io_pgetevents_time64 416 >> > +#define TARGET_NR_recvmmsg_time64 417 >> > +#define TARGET_NR_mq_timedsend_time64 418 >> > +#define TARGET_NR_mq_timedreceive_time64 419 >> > +#define TARGET_NR_semtimedop_time64 420 >> > +#define TARGET_NR_rt_sigtimedwait_time64 421 >> > +#define TARGET_NR_futex_time64 422 >> > +#define TARGET_NR_sched_rr_get_interval_time64 423 >> > +#define TARGET_NR_pidfd_send_signal 424 >> > +#define TARGET_NR_io_uring_setup 425 >> > +#define TARGET_NR_io_uring_enter 426 >> > +#define TARGET_NR_io_uring_register 427 >> > >> > #endif >> > >> >> >>