svn commit: r346843 - in stable/12/sys: amd64/linux amd64/linux32 compat/linux i386/linux
Dmitry Chagin
dchagin at FreeBSD.org
Sun Apr 28 14:37:24 UTC 2019
Author: dchagin
Date: Sun Apr 28 14:37:20 2019
New Revision: 346843
URL: https://svnweb.freebsd.org/changeset/base/346843
Log:
MFC r345471, r345472, r346603:
Update syscall.master to 5.0.
For 32-bit Linuxulator, ipc() syscall was historically
the entry point for the IPC API. Starting in Linux 4.18, direct
syscalls are provided for the IPC. Enable it.
Modified:
stable/12/sys/amd64/linux/linux_dummy.c
stable/12/sys/amd64/linux/linux_proto.h
stable/12/sys/amd64/linux/linux_syscall.h
stable/12/sys/amd64/linux/linux_syscalls.c
stable/12/sys/amd64/linux/linux_sysent.c
stable/12/sys/amd64/linux/linux_systrace_args.c
stable/12/sys/amd64/linux/syscalls.master
stable/12/sys/amd64/linux32/linux32_dummy.c
stable/12/sys/amd64/linux32/linux32_proto.h
stable/12/sys/amd64/linux32/linux32_syscall.h
stable/12/sys/amd64/linux32/linux32_syscalls.c
stable/12/sys/amd64/linux32/linux32_sysent.c
stable/12/sys/amd64/linux32/linux32_systrace_args.c
stable/12/sys/amd64/linux32/syscalls.master
stable/12/sys/compat/linux/linux_ipc.h
stable/12/sys/i386/linux/linux.h
stable/12/sys/i386/linux/linux_dummy.c
stable/12/sys/i386/linux/linux_proto.h
stable/12/sys/i386/linux/linux_syscall.h
stable/12/sys/i386/linux/linux_syscalls.c
stable/12/sys/i386/linux/linux_sysent.c
stable/12/sys/i386/linux/linux_systrace_args.c
stable/12/sys/i386/linux/syscalls.master
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/amd64/linux/linux_dummy.c
==============================================================================
--- stable/12/sys/amd64/linux/linux_dummy.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux/linux_dummy.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -155,6 +155,16 @@ DUMMY(pwritev2);
DUMMY(pkey_mprotect);
DUMMY(pkey_alloc);
DUMMY(pkey_free);
+/* Linux 4.11: */
+DUMMY(statx);
+/* Linux 4.18: */
+DUMMY(io_pgetevents);
+DUMMY(rseq);
+/* Linux 5.0: */
+DUMMY(pidfd_send_signal);
+DUMMY(io_uring_setup);
+DUMMY(io_uring_enter);
+DUMMY(io_uring_register);
#define DUMMY_XATTR(s) \
int \
Modified: stable/12/sys/amd64/linux/linux_proto.h
==============================================================================
--- stable/12/sys/amd64/linux/linux_proto.h Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux/linux_proto.h Sun Apr 28 14:37:20 2019 (r346843)
@@ -1213,6 +1213,34 @@ struct linux_pkey_alloc_args {
struct linux_pkey_free_args {
char pkey_l_[PADL_(l_int)]; l_int pkey; char pkey_r_[PADR_(l_int)];
};
+struct linux_statx_args {
+ char dirfd_l_[PADL_(l_int)]; l_int dirfd; char dirfd_r_[PADR_(l_int)];
+ char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+ char mask_l_[PADL_(l_uint)]; l_uint mask; char mask_r_[PADR_(l_uint)];
+ char statxbuf_l_[PADL_(void *)]; void * statxbuf; char statxbuf_r_[PADR_(void *)];
+};
+struct linux_io_pgetevents_args {
+ register_t dummy;
+};
+struct linux_rseq_args {
+ register_t dummy;
+};
+struct linux_pidfd_send_signal_args {
+ char pidfd_l_[PADL_(l_int)]; l_int pidfd; char pidfd_r_[PADR_(l_int)];
+ char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)];
+ char info_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * info; char info_r_[PADR_(l_siginfo_t *)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+};
+struct linux_io_uring_setup_args {
+ register_t dummy;
+};
+struct linux_io_uring_enter_args {
+ register_t dummy;
+};
+struct linux_io_uring_register_args {
+ register_t dummy;
+};
#define nosys linux_nosys
int linux_open(struct thread *, struct linux_open_args *);
int linux_newstat(struct thread *, struct linux_newstat_args *);
@@ -1479,6 +1507,13 @@ int linux_pwritev2(struct thread *, struct linux_pwrit
int linux_pkey_mprotect(struct thread *, struct linux_pkey_mprotect_args *);
int linux_pkey_alloc(struct thread *, struct linux_pkey_alloc_args *);
int linux_pkey_free(struct thread *, struct linux_pkey_free_args *);
+int linux_statx(struct thread *, struct linux_statx_args *);
+int linux_io_pgetevents(struct thread *, struct linux_io_pgetevents_args *);
+int linux_rseq(struct thread *, struct linux_rseq_args *);
+int linux_pidfd_send_signal(struct thread *, struct linux_pidfd_send_signal_args *);
+int linux_io_uring_setup(struct thread *, struct linux_io_uring_setup_args *);
+int linux_io_uring_enter(struct thread *, struct linux_io_uring_enter_args *);
+int linux_io_uring_register(struct thread *, struct linux_io_uring_register_args *);
#ifdef COMPAT_43
@@ -1786,6 +1821,13 @@ int linux_pkey_free(struct thread *, struct linux_pkey
#define LINUX_SYS_AUE_linux_pkey_mprotect AUE_NULL
#define LINUX_SYS_AUE_linux_pkey_alloc AUE_NULL
#define LINUX_SYS_AUE_linux_pkey_free AUE_NULL
+#define LINUX_SYS_AUE_linux_statx AUE_NULL
+#define LINUX_SYS_AUE_linux_io_pgetevents AUE_NULL
+#define LINUX_SYS_AUE_linux_rseq AUE_NULL
+#define LINUX_SYS_AUE_linux_pidfd_send_signal AUE_NULL
+#define LINUX_SYS_AUE_linux_io_uring_setup AUE_NULL
+#define LINUX_SYS_AUE_linux_io_uring_enter AUE_NULL
+#define LINUX_SYS_AUE_linux_io_uring_register AUE_NULL
#undef PAD_
#undef PADL_
Modified: stable/12/sys/amd64/linux/linux_syscall.h
==============================================================================
--- stable/12/sys/amd64/linux/linux_syscall.h Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux/linux_syscall.h Sun Apr 28 14:37:20 2019 (r346843)
@@ -313,4 +313,11 @@
#define LINUX_SYS_linux_pkey_mprotect 329
#define LINUX_SYS_linux_pkey_alloc 330
#define LINUX_SYS_linux_pkey_free 331
-#define LINUX_SYS_MAXSYSCALL 333
+#define LINUX_SYS_linux_statx 332
+#define LINUX_SYS_linux_io_pgetevents 333
+#define LINUX_SYS_linux_rseq 334
+#define LINUX_SYS_linux_pidfd_send_signal 424
+#define LINUX_SYS_linux_io_uring_setup 425
+#define LINUX_SYS_linux_io_uring_enter 426
+#define LINUX_SYS_linux_io_uring_register 427
+#define LINUX_SYS_MAXSYSCALL 429
Modified: stable/12/sys/amd64/linux/linux_syscalls.c
==============================================================================
--- stable/12/sys/amd64/linux/linux_syscalls.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux/linux_syscalls.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -339,5 +339,101 @@ const char *linux_syscallnames[] = {
"linux_pkey_mprotect", /* 329 = linux_pkey_mprotect */
"linux_pkey_alloc", /* 330 = linux_pkey_alloc */
"linux_pkey_free", /* 331 = linux_pkey_free */
- "#332", /* 332 = nosys */
+ "linux_statx", /* 332 = linux_statx */
+ "linux_io_pgetevents", /* 333 = linux_io_pgetevents */
+ "linux_rseq", /* 334 = linux_rseq */
+ "#335", /* 335 = nosys */
+ "#336", /* 336 = nosys */
+ "#337", /* 337 = nosys */
+ "#338", /* 338 = nosys */
+ "#339", /* 339 = nosys */
+ "#340", /* 340 = nosys */
+ "#341", /* 341 = nosys */
+ "#342", /* 342 = nosys */
+ "#343", /* 343 = nosys */
+ "#344", /* 344 = nosys */
+ "#345", /* 345 = nosys */
+ "#346", /* 346 = nosys */
+ "#347", /* 347 = nosys */
+ "#348", /* 348 = nosys */
+ "#349", /* 349 = nosys */
+ "#350", /* 350 = nosys */
+ "#351", /* 351 = nosys */
+ "#352", /* 352 = nosys */
+ "#353", /* 353 = nosys */
+ "#354", /* 354 = nosys */
+ "#355", /* 355 = nosys */
+ "#356", /* 356 = nosys */
+ "#357", /* 357 = nosys */
+ "#358", /* 358 = nosys */
+ "#359", /* 359 = nosys */
+ "#360", /* 360 = nosys */
+ "#361", /* 361 = nosys */
+ "#362", /* 362 = nosys */
+ "#363", /* 363 = nosys */
+ "#364", /* 364 = nosys */
+ "#365", /* 365 = nosys */
+ "#366", /* 366 = nosys */
+ "#367", /* 367 = nosys */
+ "#368", /* 368 = nosys */
+ "#369", /* 369 = nosys */
+ "#370", /* 370 = nosys */
+ "#371", /* 371 = nosys */
+ "#372", /* 372 = nosys */
+ "#373", /* 373 = nosys */
+ "#374", /* 374 = nosys */
+ "#375", /* 375 = nosys */
+ "#376", /* 376 = nosys */
+ "#377", /* 377 = nosys */
+ "#378", /* 378 = nosys */
+ "#379", /* 379 = nosys */
+ "#380", /* 380 = nosys */
+ "#381", /* 381 = nosys */
+ "#382", /* 382 = nosys */
+ "#383", /* 383 = nosys */
+ "#384", /* 384 = nosys */
+ "#385", /* 385 = nosys */
+ "#386", /* 386 = nosys */
+ "#387", /* 387 = nosys */
+ "#388", /* 388 = nosys */
+ "#389", /* 389 = nosys */
+ "#390", /* 390 = nosys */
+ "#391", /* 391 = nosys */
+ "#392", /* 392 = nosys */
+ "#393", /* 393 = nosys */
+ "#394", /* 394 = nosys */
+ "#395", /* 395 = nosys */
+ "#396", /* 396 = nosys */
+ "#397", /* 397 = nosys */
+ "#398", /* 398 = nosys */
+ "#399", /* 399 = nosys */
+ "#400", /* 400 = nosys */
+ "#401", /* 401 = nosys */
+ "#402", /* 402 = nosys */
+ "#403", /* 403 = nosys */
+ "#404", /* 404 = nosys */
+ "#405", /* 405 = nosys */
+ "#406", /* 406 = nosys */
+ "#407", /* 407 = nosys */
+ "#408", /* 408 = nosys */
+ "#409", /* 409 = nosys */
+ "#410", /* 410 = nosys */
+ "#411", /* 411 = nosys */
+ "#412", /* 412 = nosys */
+ "#413", /* 413 = nosys */
+ "#414", /* 414 = nosys */
+ "#415", /* 415 = nosys */
+ "#416", /* 416 = nosys */
+ "#417", /* 417 = nosys */
+ "#418", /* 418 = nosys */
+ "#419", /* 419 = nosys */
+ "#420", /* 420 = nosys */
+ "#421", /* 421 = nosys */
+ "#422", /* 422 = nosys */
+ "#423", /* 423 = nosys */
+ "linux_pidfd_send_signal", /* 424 = linux_pidfd_send_signal */
+ "linux_io_uring_setup", /* 425 = linux_io_uring_setup */
+ "linux_io_uring_enter", /* 426 = linux_io_uring_enter */
+ "linux_io_uring_register", /* 427 = linux_io_uring_register */
+ "#428", /* 428 = nosys */
};
Modified: stable/12/sys/amd64/linux/linux_sysent.c
==============================================================================
--- stable/12/sys/amd64/linux/linux_sysent.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux/linux_sysent.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -349,5 +349,101 @@ struct sysent linux_sysent[] = {
{ AS(linux_pkey_mprotect_args), (sy_call_t *)linux_pkey_mprotect, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_pkey_mprotect */
{ AS(linux_pkey_alloc_args), (sy_call_t *)linux_pkey_alloc, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 330 = linux_pkey_alloc */
{ AS(linux_pkey_free_args), (sy_call_t *)linux_pkey_free, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 331 = linux_pkey_free */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 332 = nosys */
+ { AS(linux_statx_args), (sy_call_t *)linux_statx, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 332 = linux_statx */
+ { 0, (sy_call_t *)linux_io_pgetevents, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 333 = linux_io_pgetevents */
+ { 0, (sy_call_t *)linux_rseq, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 334 = linux_rseq */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 335 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 336 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 337 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 338 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 339 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 340 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 341 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 342 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 343 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 344 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 345 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 346 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 347 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 348 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 349 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 350 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 351 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 352 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 353 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 354 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 355 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 356 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 357 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 358 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 359 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 360 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 361 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 362 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 363 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 364 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 365 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 366 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 367 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 368 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 369 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 370 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 371 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 372 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 373 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 374 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 375 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 376 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 377 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 378 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 379 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 380 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 381 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 382 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 383 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 384 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 385 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 386 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 387 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 388 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 389 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 390 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 391 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 392 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 393 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 394 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 395 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 396 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 397 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 398 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 399 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 400 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 401 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 402 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 403 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 404 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 405 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 406 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 407 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 408 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 409 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 410 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 411 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 412 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 413 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 414 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 415 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 416 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 417 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 418 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 419 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 420 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 421 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 422 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 423 = nosys */
+ { AS(linux_pidfd_send_signal_args), (sy_call_t *)linux_pidfd_send_signal, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 424 = linux_pidfd_send_signal */
+ { 0, (sy_call_t *)linux_io_uring_setup, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 425 = linux_io_uring_setup */
+ { 0, (sy_call_t *)linux_io_uring_enter, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 426 = linux_io_uring_enter */
+ { 0, (sy_call_t *)linux_io_uring_register, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 427 = linux_io_uring_register */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 428 = nosys */
};
Modified: stable/12/sys/amd64/linux/linux_systrace_args.c
==============================================================================
--- stable/12/sys/amd64/linux/linux_systrace_args.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux/linux_systrace_args.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -2447,6 +2447,52 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
*n_args = 1;
break;
}
+ /* linux_statx */
+ case 332: {
+ struct linux_statx_args *p = params;
+ iarg[0] = p->dirfd; /* l_int */
+ uarg[1] = (intptr_t) p->pathname; /* const char * */
+ iarg[2] = p->flags; /* l_uint */
+ iarg[3] = p->mask; /* l_uint */
+ uarg[4] = (intptr_t) p->statxbuf; /* void * */
+ *n_args = 5;
+ break;
+ }
+ /* linux_io_pgetevents */
+ case 333: {
+ *n_args = 0;
+ break;
+ }
+ /* linux_rseq */
+ case 334: {
+ *n_args = 0;
+ break;
+ }
+ /* linux_pidfd_send_signal */
+ case 424: {
+ struct linux_pidfd_send_signal_args *p = params;
+ iarg[0] = p->pidfd; /* l_int */
+ iarg[1] = p->sig; /* l_int */
+ uarg[2] = (intptr_t) p->info; /* l_siginfo_t * */
+ iarg[3] = p->flags; /* l_uint */
+ *n_args = 4;
+ break;
+ }
+ /* linux_io_uring_setup */
+ case 425: {
+ *n_args = 0;
+ break;
+ }
+ /* linux_io_uring_enter */
+ case 426: {
+ *n_args = 0;
+ break;
+ }
+ /* linux_io_uring_register */
+ case 427: {
+ *n_args = 0;
+ break;
+ }
default:
*n_args = 0;
break;
@@ -6305,6 +6351,62 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
break;
};
break;
+ /* linux_statx */
+ case 332:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_uint";
+ break;
+ case 3:
+ p = "l_uint";
+ break;
+ case 4:
+ p = "userland void *";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_io_pgetevents */
+ case 333:
+ break;
+ /* linux_rseq */
+ case 334:
+ break;
+ /* linux_pidfd_send_signal */
+ case 424:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland l_siginfo_t *";
+ break;
+ case 3:
+ p = "l_uint";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_io_uring_setup */
+ case 425:
+ break;
+ /* linux_io_uring_enter */
+ case 426:
+ break;
+ /* linux_io_uring_register */
+ case 427:
+ break;
default:
break;
};
@@ -7647,6 +7749,26 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
if (ndx == 0 || ndx == 1)
p = "int";
break;
+ /* linux_statx */
+ case 332:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_io_pgetevents */
+ case 333:
+ /* linux_rseq */
+ case 334:
+ /* linux_pidfd_send_signal */
+ case 424:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_io_uring_setup */
+ case 425:
+ /* linux_io_uring_enter */
+ case 426:
+ /* linux_io_uring_register */
+ case 427:
default:
break;
};
Modified: stable/12/sys/amd64/linux/syscalls.master
==============================================================================
--- stable/12/sys/amd64/linux/syscalls.master Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux/syscalls.master Sun Apr 28 14:37:20 2019 (r346843)
@@ -595,7 +595,21 @@
330 AUE_NULL STD { int linux_pkey_alloc(l_ulong flags, \
l_ulong init_val); }
331 AUE_NULL STD { int linux_pkey_free(l_int pkey); }
+; Linux 4.11:
+332 AUE_NULL STD { int linux_statx(l_int dirfd, \
+ const char *pathname, l_uint flags, \
+ l_uint mask, void *statxbuf); }
+; Linux 4.18:
+333 AUE_NULL STD { int linux_io_pgetevents(void); }
+334 AUE_NULL STD { int linux_rseq(void); }
+; Linux 5.0:
+335-423 AUE_NULL UNIMPL nosys
+424 AUE_NULL STD { int linux_pidfd_send_signal(l_int pidfd, \
+ l_int sig, l_siginfo_t *info, l_uint flags); }
+425 AUE_NULL STD { int linux_io_uring_setup(void); }
+426 AUE_NULL STD { int linux_io_uring_enter(void); }
+427 AUE_NULL STD { int linux_io_uring_register(void); }
; please, keep this line at the end.
-332 AUE_NULL UNIMPL nosys
+428 AUE_NULL UNIMPL nosys
; vim: syntax=off
Modified: stable/12/sys/amd64/linux32/linux32_dummy.c
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_dummy.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux32/linux32_dummy.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -161,6 +161,37 @@ DUMMY(pwritev2);
DUMMY(pkey_mprotect);
DUMMY(pkey_alloc);
DUMMY(pkey_free);
+/* Linux 4.11: */
+DUMMY(statx);
+DUMMY(arch_prctl);
+/* Linux 4.18: */
+DUMMY(io_pgetevents);
+DUMMY(rseq);
+/* Linux 5.0: */
+DUMMY(clock_gettime64);
+DUMMY(clock_settime64);
+DUMMY(clock_adjtime64);
+DUMMY(clock_getres_time64);
+DUMMY(clock_nanosleep_time64);
+DUMMY(timer_gettime64);
+DUMMY(timer_settime64);
+DUMMY(timerfd_gettime64);
+DUMMY(timerfd_settime64);
+DUMMY(utimensat_time64);
+DUMMY(pselect6_time64);
+DUMMY(ppoll_time64);
+DUMMY(io_pgetevents_time64);
+DUMMY(recvmmsg_time64);
+DUMMY(mq_timedsend_time64);
+DUMMY(mq_timedreceive_time64);
+DUMMY(semtimedop_time64);
+DUMMY(rt_sigtimedwait_time64);
+DUMMY(futex_time64);
+DUMMY(sched_rr_get_interval_time64);
+DUMMY(pidfd_send_signal);
+DUMMY(io_uring_setup);
+DUMMY(io_uring_enter);
+DUMMY(io_uring_register);
#define DUMMY_XATTR(s) \
int \
Modified: stable/12/sys/amd64/linux32/linux32_proto.h
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_proto.h Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux32/linux32_proto.h Sun Apr 28 14:37:20 2019 (r346843)
@@ -1365,6 +1365,149 @@ struct linux_pkey_alloc_args {
struct linux_pkey_free_args {
char pkey_l_[PADL_(l_int)]; l_int pkey; char pkey_r_[PADR_(l_int)];
};
+struct linux_statx_args {
+ char dirfd_l_[PADL_(l_int)]; l_int dirfd; char dirfd_r_[PADR_(l_int)];
+ char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+ char mask_l_[PADL_(l_uint)]; l_uint mask; char mask_r_[PADR_(l_uint)];
+ char statxbuf_l_[PADL_(void *)]; void * statxbuf; char statxbuf_r_[PADR_(void *)];
+};
+struct linux_arch_prctl_args {
+ char option_l_[PADL_(l_int)]; l_int option; char option_r_[PADR_(l_int)];
+ char arg2_l_[PADL_(l_ulong)]; l_ulong arg2; char arg2_r_[PADR_(l_ulong)];
+};
+struct linux_io_pgetevents_args {
+ register_t dummy;
+};
+struct linux_rseq_args {
+ register_t dummy;
+};
+struct linux_semget_args {
+ char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)];
+ char nsems_l_[PADL_(l_int)]; l_int nsems; char nsems_r_[PADR_(l_int)];
+ char semflg_l_[PADL_(l_int)]; l_int semflg; char semflg_r_[PADR_(l_int)];
+};
+struct linux_semctl_args {
+ char semid_l_[PADL_(l_int)]; l_int semid; char semid_r_[PADR_(l_int)];
+ char semnum_l_[PADL_(l_int)]; l_int semnum; char semnum_r_[PADR_(l_int)];
+ char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)];
+ char arg_l_[PADL_(union l_semun)]; union l_semun arg; char arg_r_[PADR_(union l_semun)];
+};
+struct linux_shmget_args {
+ char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char shmflg_l_[PADL_(l_int)]; l_int shmflg; char shmflg_r_[PADR_(l_int)];
+};
+struct linux_shmctl_args {
+ char shmid_l_[PADL_(l_int)]; l_int shmid; char shmid_r_[PADR_(l_int)];
+ char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)];
+ char buf_l_[PADL_(struct l_shmid_ds *)]; struct l_shmid_ds * buf; char buf_r_[PADR_(struct l_shmid_ds *)];
+};
+struct linux_shmat_args {
+ char shmid_l_[PADL_(l_int)]; l_int shmid; char shmid_r_[PADR_(l_int)];
+ char shmaddr_l_[PADL_(char *)]; char * shmaddr; char shmaddr_r_[PADR_(char *)];
+ char shmflg_l_[PADL_(l_int)]; l_int shmflg; char shmflg_r_[PADR_(l_int)];
+};
+struct linux_shmdt_args {
+ char shmaddr_l_[PADL_(char *)]; char * shmaddr; char shmaddr_r_[PADR_(char *)];
+};
+struct linux_msgget_args {
+ char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)];
+ char msgflg_l_[PADL_(l_int)]; l_int msgflg; char msgflg_r_[PADR_(l_int)];
+};
+struct linux_msgsnd_args {
+ char msqid_l_[PADL_(l_int)]; l_int msqid; char msqid_r_[PADR_(l_int)];
+ char msgp_l_[PADL_(struct l_msgbuf *)]; struct l_msgbuf * msgp; char msgp_r_[PADR_(struct l_msgbuf *)];
+ char msgsz_l_[PADL_(l_size_t)]; l_size_t msgsz; char msgsz_r_[PADR_(l_size_t)];
+ char msgflg_l_[PADL_(l_int)]; l_int msgflg; char msgflg_r_[PADR_(l_int)];
+};
+struct linux_msgrcv_args {
+ char msqid_l_[PADL_(l_int)]; l_int msqid; char msqid_r_[PADR_(l_int)];
+ char msgp_l_[PADL_(struct l_msgbuf *)]; struct l_msgbuf * msgp; char msgp_r_[PADR_(struct l_msgbuf *)];
+ char msgsz_l_[PADL_(l_size_t)]; l_size_t msgsz; char msgsz_r_[PADR_(l_size_t)];
+ char msgtyp_l_[PADL_(l_long)]; l_long msgtyp; char msgtyp_r_[PADR_(l_long)];
+ char msgflg_l_[PADL_(l_int)]; l_int msgflg; char msgflg_r_[PADR_(l_int)];
+};
+struct linux_msgctl_args {
+ char msqid_l_[PADL_(l_int)]; l_int msqid; char msqid_r_[PADR_(l_int)];
+ char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)];
+ char buf_l_[PADL_(struct l_msqid_ds *)]; struct l_msqid_ds * buf; char buf_r_[PADR_(struct l_msqid_ds *)];
+};
+struct linux_clock_gettime64_args {
+ register_t dummy;
+};
+struct linux_clock_settime64_args {
+ register_t dummy;
+};
+struct linux_clock_adjtime64_args {
+ register_t dummy;
+};
+struct linux_clock_getres_time64_args {
+ register_t dummy;
+};
+struct linux_clock_nanosleep_time64_args {
+ register_t dummy;
+};
+struct linux_timer_gettime64_args {
+ register_t dummy;
+};
+struct linux_timer_settime64_args {
+ register_t dummy;
+};
+struct linux_timerfd_gettime64_args {
+ register_t dummy;
+};
+struct linux_timerfd_settime64_args {
+ register_t dummy;
+};
+struct linux_utimensat_time64_args {
+ register_t dummy;
+};
+struct linux_pselect6_time64_args {
+ register_t dummy;
+};
+struct linux_ppoll_time64_args {
+ register_t dummy;
+};
+struct linux_io_pgetevents_time64_args {
+ register_t dummy;
+};
+struct linux_recvmmsg_time64_args {
+ register_t dummy;
+};
+struct linux_mq_timedsend_time64_args {
+ register_t dummy;
+};
+struct linux_mq_timedreceive_time64_args {
+ register_t dummy;
+};
+struct linux_semtimedop_time64_args {
+ register_t dummy;
+};
+struct linux_rt_sigtimedwait_time64_args {
+ register_t dummy;
+};
+struct linux_futex_time64_args {
+ register_t dummy;
+};
+struct linux_sched_rr_get_interval_time64_args {
+ register_t dummy;
+};
+struct linux_pidfd_send_signal_args {
+ char pidfd_l_[PADL_(l_int)]; l_int pidfd; char pidfd_r_[PADR_(l_int)];
+ char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)];
+ char info_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * info; char info_r_[PADR_(l_siginfo_t *)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+};
+struct linux_io_uring_setup_args {
+ register_t dummy;
+};
+struct linux_io_uring_enter_args {
+ register_t dummy;
+};
+struct linux_io_uring_register_args {
+ register_t dummy;
+};
#define nosys linux_nosys
int linux_exit(struct thread *, struct linux_exit_args *);
int linux_fork(struct thread *, struct linux_fork_args *);
@@ -1673,6 +1816,44 @@ int linux_pwritev2(struct thread *, struct linux_pwrit
int linux_pkey_mprotect(struct thread *, struct linux_pkey_mprotect_args *);
int linux_pkey_alloc(struct thread *, struct linux_pkey_alloc_args *);
int linux_pkey_free(struct thread *, struct linux_pkey_free_args *);
+int linux_statx(struct thread *, struct linux_statx_args *);
+int linux_arch_prctl(struct thread *, struct linux_arch_prctl_args *);
+int linux_io_pgetevents(struct thread *, struct linux_io_pgetevents_args *);
+int linux_rseq(struct thread *, struct linux_rseq_args *);
+int linux_semget(struct thread *, struct linux_semget_args *);
+int linux_semctl(struct thread *, struct linux_semctl_args *);
+int linux_shmget(struct thread *, struct linux_shmget_args *);
+int linux_shmctl(struct thread *, struct linux_shmctl_args *);
+int linux_shmat(struct thread *, struct linux_shmat_args *);
+int linux_shmdt(struct thread *, struct linux_shmdt_args *);
+int linux_msgget(struct thread *, struct linux_msgget_args *);
+int linux_msgsnd(struct thread *, struct linux_msgsnd_args *);
+int linux_msgrcv(struct thread *, struct linux_msgrcv_args *);
+int linux_msgctl(struct thread *, struct linux_msgctl_args *);
+int linux_clock_gettime64(struct thread *, struct linux_clock_gettime64_args *);
+int linux_clock_settime64(struct thread *, struct linux_clock_settime64_args *);
+int linux_clock_adjtime64(struct thread *, struct linux_clock_adjtime64_args *);
+int linux_clock_getres_time64(struct thread *, struct linux_clock_getres_time64_args *);
+int linux_clock_nanosleep_time64(struct thread *, struct linux_clock_nanosleep_time64_args *);
+int linux_timer_gettime64(struct thread *, struct linux_timer_gettime64_args *);
+int linux_timer_settime64(struct thread *, struct linux_timer_settime64_args *);
+int linux_timerfd_gettime64(struct thread *, struct linux_timerfd_gettime64_args *);
+int linux_timerfd_settime64(struct thread *, struct linux_timerfd_settime64_args *);
+int linux_utimensat_time64(struct thread *, struct linux_utimensat_time64_args *);
+int linux_pselect6_time64(struct thread *, struct linux_pselect6_time64_args *);
+int linux_ppoll_time64(struct thread *, struct linux_ppoll_time64_args *);
+int linux_io_pgetevents_time64(struct thread *, struct linux_io_pgetevents_time64_args *);
+int linux_recvmmsg_time64(struct thread *, struct linux_recvmmsg_time64_args *);
+int linux_mq_timedsend_time64(struct thread *, struct linux_mq_timedsend_time64_args *);
+int linux_mq_timedreceive_time64(struct thread *, struct linux_mq_timedreceive_time64_args *);
+int linux_semtimedop_time64(struct thread *, struct linux_semtimedop_time64_args *);
+int linux_rt_sigtimedwait_time64(struct thread *, struct linux_rt_sigtimedwait_time64_args *);
+int linux_futex_time64(struct thread *, struct linux_futex_time64_args *);
+int linux_sched_rr_get_interval_time64(struct thread *, struct linux_sched_rr_get_interval_time64_args *);
+int linux_pidfd_send_signal(struct thread *, struct linux_pidfd_send_signal_args *);
+int linux_io_uring_setup(struct thread *, struct linux_io_uring_setup_args *);
+int linux_io_uring_enter(struct thread *, struct linux_io_uring_enter_args *);
+int linux_io_uring_register(struct thread *, struct linux_io_uring_register_args *);
#ifdef COMPAT_43
@@ -2022,6 +2203,44 @@ int linux_pkey_free(struct thread *, struct linux_pkey
#define LINUX32_SYS_AUE_linux_pkey_mprotect AUE_NULL
#define LINUX32_SYS_AUE_linux_pkey_alloc AUE_NULL
#define LINUX32_SYS_AUE_linux_pkey_free AUE_NULL
+#define LINUX32_SYS_AUE_linux_statx AUE_NULL
+#define LINUX32_SYS_AUE_linux_arch_prctl AUE_NULL
+#define LINUX32_SYS_AUE_linux_io_pgetevents AUE_NULL
+#define LINUX32_SYS_AUE_linux_rseq AUE_NULL
+#define LINUX32_SYS_AUE_linux_semget AUE_NULL
+#define LINUX32_SYS_AUE_linux_semctl AUE_NULL
+#define LINUX32_SYS_AUE_linux_shmget AUE_NULL
+#define LINUX32_SYS_AUE_linux_shmctl AUE_NULL
+#define LINUX32_SYS_AUE_linux_shmat AUE_NULL
+#define LINUX32_SYS_AUE_linux_shmdt AUE_NULL
+#define LINUX32_SYS_AUE_linux_msgget AUE_NULL
+#define LINUX32_SYS_AUE_linux_msgsnd AUE_NULL
+#define LINUX32_SYS_AUE_linux_msgrcv AUE_NULL
+#define LINUX32_SYS_AUE_linux_msgctl AUE_NULL
+#define LINUX32_SYS_AUE_linux_clock_gettime64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_clock_settime64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_clock_adjtime64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_clock_getres_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_clock_nanosleep_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_timer_gettime64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_timer_settime64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_timerfd_gettime64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_timerfd_settime64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_utimensat_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_pselect6_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_ppoll_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_io_pgetevents_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_recvmmsg_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_mq_timedsend_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_mq_timedreceive_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_semtimedop_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_rt_sigtimedwait_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_futex_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_sched_rr_get_interval_time64 AUE_NULL
+#define LINUX32_SYS_AUE_linux_pidfd_send_signal AUE_NULL
+#define LINUX32_SYS_AUE_linux_io_uring_setup AUE_NULL
+#define LINUX32_SYS_AUE_linux_io_uring_enter AUE_NULL
+#define LINUX32_SYS_AUE_linux_io_uring_register AUE_NULL
#undef PAD_
#undef PADL_
Modified: stable/12/sys/amd64/linux32/linux32_syscall.h
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_syscall.h Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux32/linux32_syscall.h Sun Apr 28 14:37:20 2019 (r346843)
@@ -350,4 +350,42 @@
#define LINUX32_SYS_linux_pkey_mprotect 380
#define LINUX32_SYS_linux_pkey_alloc 381
#define LINUX32_SYS_linux_pkey_free 382
-#define LINUX32_SYS_MAXSYSCALL 384
+#define LINUX32_SYS_linux_statx 383
+#define LINUX32_SYS_linux_arch_prctl 384
+#define LINUX32_SYS_linux_io_pgetevents 385
+#define LINUX32_SYS_linux_rseq 386
+#define LINUX32_SYS_linux_semget 393
+#define LINUX32_SYS_linux_semctl 394
+#define LINUX32_SYS_linux_shmget 395
+#define LINUX32_SYS_linux_shmctl 396
+#define LINUX32_SYS_linux_shmat 397
+#define LINUX32_SYS_linux_shmdt 398
+#define LINUX32_SYS_linux_msgget 399
+#define LINUX32_SYS_linux_msgsnd 400
+#define LINUX32_SYS_linux_msgrcv 401
+#define LINUX32_SYS_linux_msgctl 402
+#define LINUX32_SYS_linux_clock_gettime64 403
+#define LINUX32_SYS_linux_clock_settime64 404
+#define LINUX32_SYS_linux_clock_adjtime64 405
+#define LINUX32_SYS_linux_clock_getres_time64 406
+#define LINUX32_SYS_linux_clock_nanosleep_time64 407
+#define LINUX32_SYS_linux_timer_gettime64 408
+#define LINUX32_SYS_linux_timer_settime64 409
+#define LINUX32_SYS_linux_timerfd_gettime64 410
+#define LINUX32_SYS_linux_timerfd_settime64 411
+#define LINUX32_SYS_linux_utimensat_time64 412
+#define LINUX32_SYS_linux_pselect6_time64 413
+#define LINUX32_SYS_linux_ppoll_time64 414
+#define LINUX32_SYS_linux_io_pgetevents_time64 416
+#define LINUX32_SYS_linux_recvmmsg_time64 417
+#define LINUX32_SYS_linux_mq_timedsend_time64 418
+#define LINUX32_SYS_linux_mq_timedreceive_time64 419
+#define LINUX32_SYS_linux_semtimedop_time64 420
+#define LINUX32_SYS_linux_rt_sigtimedwait_time64 421
+#define LINUX32_SYS_linux_futex_time64 422
+#define LINUX32_SYS_linux_sched_rr_get_interval_time64 423
+#define LINUX32_SYS_linux_pidfd_send_signal 424
+#define LINUX32_SYS_linux_io_uring_setup 425
+#define LINUX32_SYS_linux_io_uring_enter 426
+#define LINUX32_SYS_linux_io_uring_register 427
+#define LINUX32_SYS_MAXSYSCALL 429
Modified: stable/12/sys/amd64/linux32/linux32_syscalls.c
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_syscalls.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux32/linux32_syscalls.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -390,5 +390,50 @@ const char *linux32_syscallnames[] = {
"linux_pkey_mprotect", /* 380 = linux_pkey_mprotect */
"linux_pkey_alloc", /* 381 = linux_pkey_alloc */
"linux_pkey_free", /* 382 = linux_pkey_free */
- "#383", /* 383 = nosys */
+ "linux_statx", /* 383 = linux_statx */
+ "linux_arch_prctl", /* 384 = linux_arch_prctl */
+ "linux_io_pgetevents", /* 385 = linux_io_pgetevents */
+ "linux_rseq", /* 386 = linux_rseq */
+ "#387", /* 387 = nosys */
+ "#388", /* 388 = nosys */
+ "#389", /* 389 = nosys */
+ "#390", /* 390 = nosys */
+ "#391", /* 391 = nosys */
+ "#392", /* 392 = nosys */
+ "linux_semget", /* 393 = linux_semget */
+ "linux_semctl", /* 394 = linux_semctl */
+ "linux_shmget", /* 395 = linux_shmget */
+ "linux_shmctl", /* 396 = linux_shmctl */
+ "linux_shmat", /* 397 = linux_shmat */
+ "linux_shmdt", /* 398 = linux_shmdt */
+ "linux_msgget", /* 399 = linux_msgget */
+ "linux_msgsnd", /* 400 = linux_msgsnd */
+ "linux_msgrcv", /* 401 = linux_msgrcv */
+ "linux_msgctl", /* 402 = linux_msgctl */
+ "linux_clock_gettime64", /* 403 = linux_clock_gettime64 */
+ "linux_clock_settime64", /* 404 = linux_clock_settime64 */
+ "linux_clock_adjtime64", /* 405 = linux_clock_adjtime64 */
+ "linux_clock_getres_time64", /* 406 = linux_clock_getres_time64 */
+ "linux_clock_nanosleep_time64", /* 407 = linux_clock_nanosleep_time64 */
+ "linux_timer_gettime64", /* 408 = linux_timer_gettime64 */
+ "linux_timer_settime64", /* 409 = linux_timer_settime64 */
+ "linux_timerfd_gettime64", /* 410 = linux_timerfd_gettime64 */
+ "linux_timerfd_settime64", /* 411 = linux_timerfd_settime64 */
+ "linux_utimensat_time64", /* 412 = linux_utimensat_time64 */
+ "linux_pselect6_time64", /* 413 = linux_pselect6_time64 */
+ "linux_ppoll_time64", /* 414 = linux_ppoll_time64 */
+ "#415", /* 415 = nosys */
+ "linux_io_pgetevents_time64", /* 416 = linux_io_pgetevents_time64 */
+ "linux_recvmmsg_time64", /* 417 = linux_recvmmsg_time64 */
+ "linux_mq_timedsend_time64", /* 418 = linux_mq_timedsend_time64 */
+ "linux_mq_timedreceive_time64", /* 419 = linux_mq_timedreceive_time64 */
+ "linux_semtimedop_time64", /* 420 = linux_semtimedop_time64 */
+ "linux_rt_sigtimedwait_time64", /* 421 = linux_rt_sigtimedwait_time64 */
+ "linux_futex_time64", /* 422 = linux_futex_time64 */
+ "linux_sched_rr_get_interval_time64", /* 423 = linux_sched_rr_get_interval_time64 */
+ "linux_pidfd_send_signal", /* 424 = linux_pidfd_send_signal */
+ "linux_io_uring_setup", /* 425 = linux_io_uring_setup */
+ "linux_io_uring_enter", /* 426 = linux_io_uring_enter */
+ "linux_io_uring_register", /* 427 = linux_io_uring_register */
+ "#428", /* 428 = nosys */
};
Modified: stable/12/sys/amd64/linux32/linux32_sysent.c
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_sysent.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux32/linux32_sysent.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -400,5 +400,50 @@ struct sysent linux32_sysent[] = {
{ AS(linux_pkey_mprotect_args), (sy_call_t *)linux_pkey_mprotect, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 380 = linux_pkey_mprotect */
{ AS(linux_pkey_alloc_args), (sy_call_t *)linux_pkey_alloc, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 381 = linux_pkey_alloc */
{ AS(linux_pkey_free_args), (sy_call_t *)linux_pkey_free, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 382 = linux_pkey_free */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 383 = nosys */
+ { AS(linux_statx_args), (sy_call_t *)linux_statx, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 383 = linux_statx */
+ { AS(linux_arch_prctl_args), (sy_call_t *)linux_arch_prctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 384 = linux_arch_prctl */
+ { 0, (sy_call_t *)linux_io_pgetevents, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 385 = linux_io_pgetevents */
+ { 0, (sy_call_t *)linux_rseq, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 386 = linux_rseq */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 387 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 388 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 389 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 390 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 391 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 392 = nosys */
+ { AS(linux_semget_args), (sy_call_t *)linux_semget, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 393 = linux_semget */
+ { AS(linux_semctl_args), (sy_call_t *)linux_semctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 394 = linux_semctl */
+ { AS(linux_shmget_args), (sy_call_t *)linux_shmget, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 395 = linux_shmget */
+ { AS(linux_shmctl_args), (sy_call_t *)linux_shmctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 396 = linux_shmctl */
+ { AS(linux_shmat_args), (sy_call_t *)linux_shmat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 397 = linux_shmat */
+ { AS(linux_shmdt_args), (sy_call_t *)linux_shmdt, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 398 = linux_shmdt */
+ { AS(linux_msgget_args), (sy_call_t *)linux_msgget, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 399 = linux_msgget */
+ { AS(linux_msgsnd_args), (sy_call_t *)linux_msgsnd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 400 = linux_msgsnd */
+ { AS(linux_msgrcv_args), (sy_call_t *)linux_msgrcv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 401 = linux_msgrcv */
+ { AS(linux_msgctl_args), (sy_call_t *)linux_msgctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 402 = linux_msgctl */
+ { 0, (sy_call_t *)linux_clock_gettime64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 403 = linux_clock_gettime64 */
+ { 0, (sy_call_t *)linux_clock_settime64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 404 = linux_clock_settime64 */
+ { 0, (sy_call_t *)linux_clock_adjtime64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 405 = linux_clock_adjtime64 */
+ { 0, (sy_call_t *)linux_clock_getres_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 406 = linux_clock_getres_time64 */
+ { 0, (sy_call_t *)linux_clock_nanosleep_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 407 = linux_clock_nanosleep_time64 */
+ { 0, (sy_call_t *)linux_timer_gettime64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 408 = linux_timer_gettime64 */
+ { 0, (sy_call_t *)linux_timer_settime64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 409 = linux_timer_settime64 */
+ { 0, (sy_call_t *)linux_timerfd_gettime64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 410 = linux_timerfd_gettime64 */
+ { 0, (sy_call_t *)linux_timerfd_settime64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 411 = linux_timerfd_settime64 */
+ { 0, (sy_call_t *)linux_utimensat_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 412 = linux_utimensat_time64 */
+ { 0, (sy_call_t *)linux_pselect6_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 413 = linux_pselect6_time64 */
+ { 0, (sy_call_t *)linux_ppoll_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 414 = linux_ppoll_time64 */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 415 = nosys */
+ { 0, (sy_call_t *)linux_io_pgetevents_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 416 = linux_io_pgetevents_time64 */
+ { 0, (sy_call_t *)linux_recvmmsg_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 417 = linux_recvmmsg_time64 */
+ { 0, (sy_call_t *)linux_mq_timedsend_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 418 = linux_mq_timedsend_time64 */
+ { 0, (sy_call_t *)linux_mq_timedreceive_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 419 = linux_mq_timedreceive_time64 */
+ { 0, (sy_call_t *)linux_semtimedop_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 420 = linux_semtimedop_time64 */
+ { 0, (sy_call_t *)linux_rt_sigtimedwait_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 421 = linux_rt_sigtimedwait_time64 */
+ { 0, (sy_call_t *)linux_futex_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 422 = linux_futex_time64 */
+ { 0, (sy_call_t *)linux_sched_rr_get_interval_time64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 423 = linux_sched_rr_get_interval_time64 */
+ { AS(linux_pidfd_send_signal_args), (sy_call_t *)linux_pidfd_send_signal, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 424 = linux_pidfd_send_signal */
+ { 0, (sy_call_t *)linux_io_uring_setup, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 425 = linux_io_uring_setup */
+ { 0, (sy_call_t *)linux_io_uring_enter, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 426 = linux_io_uring_enter */
+ { 0, (sy_call_t *)linux_io_uring_register, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 427 = linux_io_uring_register */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 428 = nosys */
};
Modified: stable/12/sys/amd64/linux32/linux32_systrace_args.c
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_systrace_args.c Sun Apr 28 14:34:31 2019 (r346842)
+++ stable/12/sys/amd64/linux32/linux32_systrace_args.c Sun Apr 28 14:37:20 2019 (r346843)
@@ -2708,6 +2708,251 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
*n_args = 1;
break;
}
+ /* linux_statx */
+ case 383: {
+ struct linux_statx_args *p = params;
+ iarg[0] = p->dirfd; /* l_int */
+ uarg[1] = (intptr_t) p->pathname; /* const char * */
+ iarg[2] = p->flags; /* l_uint */
+ iarg[3] = p->mask; /* l_uint */
+ uarg[4] = (intptr_t) p->statxbuf; /* void * */
+ *n_args = 5;
+ break;
+ }
+ /* linux_arch_prctl */
+ case 384: {
+ struct linux_arch_prctl_args *p = params;
+ iarg[0] = p->option; /* l_int */
+ iarg[1] = p->arg2; /* l_ulong */
+ *n_args = 2;
+ break;
+ }
+ /* linux_io_pgetevents */
+ case 385: {
+ *n_args = 0;
+ break;
+ }
+ /* linux_rseq */
+ case 386: {
+ *n_args = 0;
+ break;
+ }
+ /* linux_semget */
+ case 393: {
+ struct linux_semget_args *p = params;
+ iarg[0] = p->key; /* l_key_t */
+ iarg[1] = p->nsems; /* l_int */
+ iarg[2] = p->semflg; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_semctl */
+ case 394: {
+ struct linux_semctl_args *p = params;
+ iarg[0] = p->semid; /* l_int */
+ iarg[1] = p->semnum; /* l_int */
+ iarg[2] = p->cmd; /* l_int */
+ uarg[3] = p->arg.buf; /* union l_semun */
+ *n_args = 4;
+ break;
+ }
+ /* linux_shmget */
+ case 395: {
+ struct linux_shmget_args *p = params;
+ iarg[0] = p->key; /* l_key_t */
+ iarg[1] = p->size; /* l_size_t */
+ iarg[2] = p->shmflg; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_shmctl */
+ case 396: {
+ struct linux_shmctl_args *p = params;
+ iarg[0] = p->shmid; /* l_int */
+ iarg[1] = p->cmd; /* l_int */
+ uarg[2] = (intptr_t) p->buf; /* struct l_shmid_ds * */
+ *n_args = 3;
+ break;
+ }
+ /* linux_shmat */
+ case 397: {
+ struct linux_shmat_args *p = params;
+ iarg[0] = p->shmid; /* l_int */
+ uarg[1] = (intptr_t) p->shmaddr; /* char * */
+ iarg[2] = p->shmflg; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_shmdt */
+ case 398: {
+ struct linux_shmdt_args *p = params;
+ uarg[0] = (intptr_t) p->shmaddr; /* char * */
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-stable-12
mailing list