Module Name:    src
Committed By:   christos
Date:           Sat Jul 29 15:05:46 UTC 2023

Modified Files:
        src/sys/compat/linux/arch/aarch64: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c linux_systrace_args.c
        src/sys/compat/linux/arch/alpha: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c
        src/sys/compat/linux/arch/amd64: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c linux_systrace_args.c
        src/sys/compat/linux/arch/arm: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c linux_systrace_args.c
        src/sys/compat/linux/arch/i386: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c linux_systrace_args.c
        src/sys/compat/linux/arch/m68k: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c
        src/sys/compat/linux/arch/mips: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c
        src/sys/compat/linux/arch/powerpc: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/compat/linux/arch/aarch64/linux_syscall.h \
    src/sys/compat/linux/arch/aarch64/linux_syscallargs.h \
    src/sys/compat/linux/arch/aarch64/linux_syscalls.c \
    src/sys/compat/linux/arch/aarch64/linux_sysent.c \
    src/sys/compat/linux/arch/aarch64/linux_systrace_args.c
cvs rdiff -u -r1.116 -r1.117 src/sys/compat/linux/arch/alpha/linux_syscall.h \
    src/sys/compat/linux/arch/alpha/linux_sysent.c
cvs rdiff -u -r1.115 -r1.116 \
    src/sys/compat/linux/arch/alpha/linux_syscallargs.h
cvs rdiff -u -r1.117 -r1.118 src/sys/compat/linux/arch/alpha/linux_syscalls.c
cvs rdiff -u -r1.78 -r1.79 src/sys/compat/linux/arch/amd64/linux_syscall.h \
    src/sys/compat/linux/arch/amd64/linux_syscallargs.h \
    src/sys/compat/linux/arch/amd64/linux_syscalls.c \
    src/sys/compat/linux/arch/amd64/linux_sysent.c
cvs rdiff -u -r1.22 -r1.23 \
    src/sys/compat/linux/arch/amd64/linux_systrace_args.c
cvs rdiff -u -r1.89 -r1.90 src/sys/compat/linux/arch/arm/linux_syscall.h \
    src/sys/compat/linux/arch/arm/linux_syscallargs.h \
    src/sys/compat/linux/arch/arm/linux_syscalls.c \
    src/sys/compat/linux/arch/arm/linux_sysent.c
cvs rdiff -u -r1.22 -r1.23 \
    src/sys/compat/linux/arch/arm/linux_systrace_args.c
cvs rdiff -u -r1.123 -r1.124 src/sys/compat/linux/arch/i386/linux_syscall.h \
    src/sys/compat/linux/arch/i386/linux_syscallargs.h \
    src/sys/compat/linux/arch/i386/linux_sysent.c
cvs rdiff -u -r1.124 -r1.125 src/sys/compat/linux/arch/i386/linux_syscalls.c
cvs rdiff -u -r1.18 -r1.19 \
    src/sys/compat/linux/arch/i386/linux_systrace_args.c
cvs rdiff -u -r1.115 -r1.116 src/sys/compat/linux/arch/m68k/linux_syscall.h \
    src/sys/compat/linux/arch/m68k/linux_syscalls.c \
    src/sys/compat/linux/arch/m68k/linux_sysent.c
cvs rdiff -u -r1.114 -r1.115 \
    src/sys/compat/linux/arch/m68k/linux_syscallargs.h
cvs rdiff -u -r1.87 -r1.88 src/sys/compat/linux/arch/mips/linux_syscall.h
cvs rdiff -u -r1.86 -r1.87 src/sys/compat/linux/arch/mips/linux_syscallargs.h \
    src/sys/compat/linux/arch/mips/linux_syscalls.c \
    src/sys/compat/linux/arch/mips/linux_sysent.c
cvs rdiff -u -r1.93 -r1.94 src/sys/compat/linux/arch/powerpc/linux_syscall.h \
    src/sys/compat/linux/arch/powerpc/linux_sysent.c
cvs rdiff -u -r1.92 -r1.93 \
    src/sys/compat/linux/arch/powerpc/linux_syscallargs.h \
    src/sys/compat/linux/arch/powerpc/linux_syscalls.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/linux/arch/aarch64/linux_syscall.h
diff -u src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.7 src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.8
--- src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.7	Sat Jul 29 02:50:47 2023
+++ src/sys/compat/linux/arch/aarch64/linux_syscall.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.7 2023/07/29 06:50:47 rin Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.8 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.8 2023/07/29 06:47:26 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.9 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -528,6 +528,9 @@
 /* syscall: "recvmsg" ret: "ssize_t" args: "int" "struct linux_msghdr *" "int" */
 #define	LINUX_SYS_recvmsg	212
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	213
+
 /* syscall: "brk" ret: "int" args: "char *" */
 #define	LINUX_SYS_brk	214
 
@@ -603,6 +606,9 @@
 /* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
 #define	LINUX_SYS_statx	291
 
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	436
+
 /* syscall: "nosys" ret: "int" args: */
 #define	LINUX_SYS_nosys	440
 
Index: src/sys/compat/linux/arch/aarch64/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.7 src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.8
--- src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.7	Sat Jul 29 02:50:47 2023
+++ src/sys/compat/linux/arch/aarch64/linux_syscallargs.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.7 2023/07/29 06:50:47 rin Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.8 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.8 2023/07/29 06:47:26 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.9 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -889,6 +889,13 @@ struct linux_sys_recvmsg_args {
 };
 check_syscall_args(linux_sys_recvmsg)
 
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
+
 struct linux_sys_brk_args {
 	syscallarg(char *) nsize;
 };
@@ -1012,6 +1019,13 @@ struct linux_sys_statx_args {
 };
 check_syscall_args(linux_sys_statx)
 
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1372,6 +1386,8 @@ int	linux_sys_sendmsg(struct lwp *, cons
 
 int	linux_sys_recvmsg(struct lwp *, const struct linux_sys_recvmsg_args *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 int	linux_sys_brk(struct lwp *, const struct linux_sys_brk_args *, register_t *);
 
 int	sys_munmap(struct lwp *, const struct sys_munmap_args *, register_t *);
@@ -1422,6 +1438,8 @@ int	linux_sys_memfd_create(struct lwp *,
 
 int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
 
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_nosys(struct lwp *, const void *, register_t *);
 
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
Index: src/sys/compat/linux/arch/aarch64/linux_syscalls.c
diff -u src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.7 src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.8
--- src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.7	Sat Jul 29 02:50:47 2023
+++ src/sys/compat/linux/arch/aarch64/linux_syscalls.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.7 2023/07/29 06:50:47 rin Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.8 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.8 2023/07/29 06:47:26 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.9 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.7 2023/07/29 06:50:47 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.8 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -274,7 +274,7 @@ const char *const linux_syscallnames[] =
 	/* 210 */	"shutdown",
 	/* 211 */	"sendmsg",
 	/* 212 */	"recvmsg",
-	/* 213 */	"#213 (unimplemented readahead)",
+	/* 213 */	"readahead",
 	/* 214 */	"brk",
 	/* 215 */	"munmap",
 	/* 216 */	"mremap",
@@ -497,7 +497,7 @@ const char *const linux_syscallnames[] =
 	/* 433 */	"#433 (unimplemented fspick)",
 	/* 434 */	"#434 (unimplemented pidfd_open)",
 	/* 435 */	"#435 (unimplemented clone3)",
-	/* 436 */	"#436 (unimplemented)",
+	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented openat2)",
 	/* 438 */	"#438 (unimplemented pidfd_getfd)",
 	/* 439 */	"#439 (unimplemented faccessat2)",
@@ -812,7 +812,7 @@ const char *const altlinux_syscallnames[
 	/* 210 */	NULL, /* shutdown */
 	/* 211 */	NULL, /* sendmsg */
 	/* 212 */	NULL, /* recvmsg */
-	/* 213 */	NULL, /* unimplemented readahead */
+	/* 213 */	NULL, /* readahead */
 	/* 214 */	NULL, /* brk */
 	/* 215 */	NULL, /* munmap */
 	/* 216 */	NULL, /* mremap */
@@ -1035,7 +1035,7 @@ const char *const altlinux_syscallnames[
 	/* 433 */	NULL, /* unimplemented fspick */
 	/* 434 */	NULL, /* unimplemented pidfd_open */
 	/* 435 */	NULL, /* unimplemented clone3 */
-	/* 436 */	NULL, /* unimplemented */
+	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented openat2 */
 	/* 438 */	NULL, /* unimplemented pidfd_getfd */
 	/* 439 */	NULL, /* unimplemented faccessat2 */
Index: src/sys/compat/linux/arch/aarch64/linux_sysent.c
diff -u src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.7 src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.8
--- src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.7	Sat Jul 29 02:50:47 2023
+++ src/sys/compat/linux/arch/aarch64/linux_sysent.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.7 2023/07/29 06:50:47 rin Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.8 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.8 2023/07/29 06:47:26 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.9 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.7 2023/07/29 06:50:47 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.8 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -995,8 +995,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_recvmsg
 	},		/* 212 = recvmsg */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 213 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 213 = readahead */
 	{
 		ns(struct linux_sys_brk_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1710,8 +1712,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 435 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 436 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 436 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 437 = filler */
Index: src/sys/compat/linux/arch/aarch64/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.7 src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.8
--- src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.7	Sat Jul 29 02:50:47 2023
+++ src/sys/compat/linux/arch/aarch64/linux_systrace_args.c	Sat Jul 29 11:05:45 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.7 2023/07/29 06:50:47 rin Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.8 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -1453,6 +1453,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 3;
 		break;
 	}
+	/* linux_sys_readahead */
+	case 213: {
+		const struct linux_sys_readahead_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		iarg[1] = SCARG(p, offset); /* off_t */
+		uarg[2] = SCARG(p, count); /* size_t */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_brk */
 	case 214: {
 		const struct linux_sys_brk_args *p = params;
@@ -1677,6 +1686,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 5;
 		break;
 	}
+	/* linux_sys_close_range */
+	case 436: {
+		const struct linux_sys_close_range_args *p = params;
+		uarg[0] = SCARG(p, first); /* unsigned int */
+		uarg[1] = SCARG(p, last); /* unsigned int */
+		uarg[2] = SCARG(p, flags); /* unsigned int */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_nosys */
 	case 440: {
 		*n_args = 0;
@@ -4138,6 +4156,22 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_readahead */
+	case 213:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "off_t";
+			break;
+		case 2:
+			p = "size_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_brk */
 	case 214:
 		switch(ndx) {
@@ -4534,6 +4568,22 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_close_range */
+	case 436:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int";
+			break;
+		case 1:
+			p = "unsigned int";
+			break;
+		case 2:
+			p = "unsigned int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_nosys */
 	case 440:
 		break;
@@ -5391,6 +5441,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "ssize_t";
 		break;
+	/* linux_sys_readahead */
+	case 213:
+		if (ndx == 0 || ndx == 1)
+			p = "ssize_t";
+		break;
 	/* linux_sys_brk */
 	case 214:
 		if (ndx == 0 || ndx == 1)
@@ -5513,6 +5568,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_close_range */
+	case 436:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_nosys */
 	case 440:
 	/* linux_sys_epoll_pwait2 */

Index: src/sys/compat/linux/arch/alpha/linux_syscall.h
diff -u src/sys/compat/linux/arch/alpha/linux_syscall.h:1.116 src/sys/compat/linux/arch/alpha/linux_syscall.h:1.117
--- src/sys/compat/linux/arch/alpha/linux_syscall.h:1.116	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/alpha/linux_syscall.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.116 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.117 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.103 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.104 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -567,6 +567,9 @@
 /* syscall: "gettid" ret: "pid_t" args: */
 #define	LINUX_SYS_gettid	378
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	379
+
 /* syscall: "tkill" ret: "int" args: "int" "int" */
 #define	LINUX_SYS_tkill	381
 
@@ -771,6 +774,12 @@
 /* syscall: "sendmmsg" ret: "int" args: "int" "struct linux_mmsghdr *" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_sendmmsg	503
 
+/* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
+#define	LINUX_SYS_statx	522
+
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	546
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	551
 
Index: src/sys/compat/linux/arch/alpha/linux_sysent.c
diff -u src/sys/compat/linux/arch/alpha/linux_sysent.c:1.116 src/sys/compat/linux/arch/alpha/linux_sysent.c:1.117
--- src/sys/compat/linux/arch/alpha/linux_sysent.c:1.116	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/alpha/linux_sysent.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.116 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.117 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.103 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.104 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.116 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.117 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -1514,8 +1514,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_gettid
 	},		/* 378 = gettid */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 379 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 379 = readahead */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 380 = filler */
@@ -2068,8 +2070,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 521 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 522 = filler */
+		ns(struct linux_sys_statx_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_statx
+	},		/* 522 = statx */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 523 = filler */
@@ -2140,8 +2144,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 545 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 546 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 546 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 547 = filler */

Index: src/sys/compat/linux/arch/alpha/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.115 src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.116
--- src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.115	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/alpha/linux_syscallargs.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.115 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.116 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.103 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.104 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -818,6 +818,13 @@ struct linux_sys_getdents64_args {
 };
 check_syscall_args(linux_sys_getdents64)
 
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
+
 struct linux_sys_tkill_args {
 	syscallarg(int) tid;
 	syscallarg(int) sig;
@@ -1271,6 +1278,22 @@ struct linux_sys_sendmmsg_args {
 };
 check_syscall_args(linux_sys_sendmmsg)
 
+struct linux_sys_statx_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) flag;
+	syscallarg(unsigned int) mask;
+	syscallarg(struct linux_statx *) sp;
+};
+check_syscall_args(linux_sys_statx)
+
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1658,6 +1681,8 @@ int	linux_sys_getdents64(struct lwp *, c
 
 int	linux_sys_gettid(struct lwp *, const void *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 int	linux_sys_tkill(struct lwp *, const struct linux_sys_tkill_args *, register_t *);
 
 int	linux_sys_setxattr(struct lwp *, const struct linux_sys_setxattr_args *, register_t *);
@@ -1794,6 +1819,10 @@ int	linux_sys_accept4(struct lwp *, cons
 
 int	linux_sys_sendmmsg(struct lwp *, const struct linux_sys_sendmmsg_args *, register_t *);
 
+int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
+
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */

Index: src/sys/compat/linux/arch/alpha/linux_syscalls.c
diff -u src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.117 src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.118
--- src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.117	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/alpha/linux_syscalls.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.117 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.118 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.103 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.104 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.117 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.118 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -438,7 +438,7 @@ const char *const linux_syscallnames[] =
 	/* 376 */	"#376 (unimplemented pciconfig_iobase)",
 	/* 377 */	"getdents64",
 	/* 378 */	"gettid",
-	/* 379 */	"#379 (unimplemented readahead)",
+	/* 379 */	"readahead",
 	/* 380 */	"#380 (unimplemented / * unused * /)",
 	/* 381 */	"tkill",
 	/* 382 */	"setxattr",
@@ -581,7 +581,7 @@ const char *const linux_syscallnames[] =
 	/* 519 */	"#519 (unimplemented)",
 	/* 520 */	"#520 (unimplemented)",
 	/* 521 */	"#521 (unimplemented)",
-	/* 522 */	"#522 (unimplemented)",
+	/* 522 */	"statx",
 	/* 523 */	"#523 (unimplemented)",
 	/* 524 */	"#524 (unimplemented)",
 	/* 525 */	"#525 (unimplemented)",
@@ -605,7 +605,7 @@ const char *const linux_syscallnames[] =
 	/* 543 */	"#543 (unimplemented)",
 	/* 544 */	"#544 (unimplemented)",
 	/* 545 */	"#545 (unimplemented)",
-	/* 546 */	"#546 (unimplemented)",
+	/* 546 */	"close_range",
 	/* 547 */	"#547 (unimplemented)",
 	/* 548 */	"#548 (unimplemented)",
 	/* 549 */	"#549 (unimplemented)",
@@ -1491,7 +1491,7 @@ const char *const altlinux_syscallnames[
 	/* 376 */	NULL, /* unimplemented pciconfig_iobase */
 	/* 377 */	NULL, /* getdents64 */
 	/* 378 */	NULL, /* gettid */
-	/* 379 */	NULL, /* unimplemented readahead */
+	/* 379 */	NULL, /* readahead */
 	/* 380 */	NULL, /* unimplemented / * unused * / */
 	/* 381 */	NULL, /* tkill */
 	/* 382 */	NULL, /* setxattr */
@@ -1634,7 +1634,7 @@ const char *const altlinux_syscallnames[
 	/* 519 */	NULL, /* unimplemented */
 	/* 520 */	NULL, /* unimplemented */
 	/* 521 */	NULL, /* unimplemented */
-	/* 522 */	NULL, /* unimplemented */
+	/* 522 */	NULL, /* statx */
 	/* 523 */	NULL, /* unimplemented */
 	/* 524 */	NULL, /* unimplemented */
 	/* 525 */	NULL, /* unimplemented */
@@ -1658,7 +1658,7 @@ const char *const altlinux_syscallnames[
 	/* 543 */	NULL, /* unimplemented */
 	/* 544 */	NULL, /* unimplemented */
 	/* 545 */	NULL, /* unimplemented */
-	/* 546 */	NULL, /* unimplemented */
+	/* 546 */	NULL, /* close_range */
 	/* 547 */	NULL, /* unimplemented */
 	/* 548 */	NULL, /* unimplemented */
 	/* 549 */	NULL, /* unimplemented */

Index: src/sys/compat/linux/arch/amd64/linux_syscall.h
diff -u src/sys/compat/linux/arch/amd64/linux_syscall.h:1.78 src/sys/compat/linux/arch/amd64/linux_syscall.h:1.79
--- src/sys/compat/linux/arch/amd64/linux_syscall.h:1.78	Fri Jul 28 14:20:52 2023
+++ src/sys/compat/linux/arch/amd64/linux_syscall.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.78 2023/07/28 18:20:52 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.79 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2023/07/28 18:19:00 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -513,6 +513,9 @@
 /* syscall: "gettid" ret: "pid_t" args: */
 #define	LINUX_SYS_gettid	186
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	187
+
 /* syscall: "setxattr" ret: "int" args: "char *" "char *" "void *" "size_t" "int" */
 #define	LINUX_SYS_setxattr	188
 
@@ -723,6 +726,12 @@
 /* syscall: "memfd_create" ret: "int" args: "const char *" "unsigned int" */
 #define	LINUX_SYS_memfd_create	319
 
+/* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
+#define	LINUX_SYS_statx	332
+
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	436
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/amd64/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.78 src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.79
--- src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.78	Fri Jul 28 14:20:52 2023
+++ src/sys/compat/linux/arch/amd64/linux_syscallargs.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.78 2023/07/28 18:20:52 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.79 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2023/07/28 18:19:00 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -712,6 +712,13 @@ struct linux_sys_ioperm_args {
 };
 check_syscall_args(linux_sys_ioperm)
 
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
+
 struct linux_sys_setxattr_args {
 	syscallarg(char *) path;
 	syscallarg(char *) name;
@@ -1169,6 +1176,22 @@ struct linux_sys_memfd_create_args {
 };
 check_syscall_args(linux_sys_memfd_create)
 
+struct linux_sys_statx_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) flag;
+	syscallarg(unsigned int) mask;
+	syscallarg(struct linux_statx *) sp;
+};
+check_syscall_args(linux_sys_statx)
+
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1521,6 +1544,8 @@ int	linux_sys_ioperm(struct lwp *, const
 
 int	linux_sys_gettid(struct lwp *, const void *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 int	linux_sys_setxattr(struct lwp *, const struct linux_sys_setxattr_args *, register_t *);
 
 int	linux_sys_lsetxattr(struct lwp *, const struct linux_sys_lsetxattr_args *, register_t *);
@@ -1661,6 +1686,10 @@ int	sys_getrandom(struct lwp *, const st
 
 int	linux_sys_memfd_create(struct lwp *, const struct linux_sys_memfd_create_args *, register_t *);
 
+int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
+
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 int	linux_sys_nosys(struct lwp *, const void *, register_t *);
Index: src/sys/compat/linux/arch/amd64/linux_syscalls.c
diff -u src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.78 src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.79
--- src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.78	Fri Jul 28 14:20:52 2023
+++ src/sys/compat/linux/arch/amd64/linux_syscalls.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.78 2023/07/28 18:20:52 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.79 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2023/07/28 18:19:00 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.78 2023/07/28 18:20:52 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.79 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -254,7 +254,7 @@ const char *const linux_syscallnames[] =
 	/* 184 */	"#184 (unimplemented tuxcall)",
 	/* 185 */	"#185 (unimplemented security)",
 	/* 186 */	"gettid",
-	/* 187 */	"#187 (unimplemented readahead)",
+	/* 187 */	"readahead",
 	/* 188 */	"setxattr",
 	/* 189 */	"lsetxattr",
 	/* 190 */	"fsetxattr",
@@ -399,7 +399,7 @@ const char *const linux_syscallnames[] =
 	/* 329 */	"#329 (unimplemented pkey_mprotect)",
 	/* 330 */	"#330 (unimplemented pkey_alloc)",
 	/* 331 */	"#331 (unimplemented pkey_free)",
-	/* 332 */	"#332 (unimplemented statx)",
+	/* 332 */	"statx",
 	/* 333 */	"#333 (unimplemented io_pgetevents)",
 	/* 334 */	"#334 (unimplemented rseq)",
 	/* 335 */	"#335 (unimplemented)",
@@ -503,7 +503,7 @@ const char *const linux_syscallnames[] =
 	/* 433 */	"#433 (unimplemented fspick)",
 	/* 434 */	"#434 (unimplemented pidfd_open)",
 	/* 435 */	"#435 (unimplemented clone3)",
-	/* 436 */	"#436 (unimplemented close_range)",
+	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented openat2)",
 	/* 438 */	"#438 (unimplemented pidfd_getfd)",
 	/* 439 */	"#439 (unimplemented faccessat2)",
@@ -798,7 +798,7 @@ const char *const altlinux_syscallnames[
 	/* 184 */	NULL, /* unimplemented tuxcall */
 	/* 185 */	NULL, /* unimplemented security */
 	/* 186 */	NULL, /* gettid */
-	/* 187 */	NULL, /* unimplemented readahead */
+	/* 187 */	NULL, /* readahead */
 	/* 188 */	NULL, /* setxattr */
 	/* 189 */	NULL, /* lsetxattr */
 	/* 190 */	NULL, /* fsetxattr */
@@ -943,7 +943,7 @@ const char *const altlinux_syscallnames[
 	/* 329 */	NULL, /* unimplemented pkey_mprotect */
 	/* 330 */	NULL, /* unimplemented pkey_alloc */
 	/* 331 */	NULL, /* unimplemented pkey_free */
-	/* 332 */	NULL, /* unimplemented statx */
+	/* 332 */	NULL, /* statx */
 	/* 333 */	NULL, /* unimplemented io_pgetevents */
 	/* 334 */	NULL, /* unimplemented rseq */
 	/* 335 */	NULL, /* unimplemented */
@@ -1047,7 +1047,7 @@ const char *const altlinux_syscallnames[
 	/* 433 */	NULL, /* unimplemented fspick */
 	/* 434 */	NULL, /* unimplemented pidfd_open */
 	/* 435 */	NULL, /* unimplemented clone3 */
-	/* 436 */	NULL, /* unimplemented close_range */
+	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented openat2 */
 	/* 438 */	NULL, /* unimplemented pidfd_getfd */
 	/* 439 */	NULL, /* unimplemented faccessat2 */
Index: src/sys/compat/linux/arch/amd64/linux_sysent.c
diff -u src/sys/compat/linux/arch/amd64/linux_sysent.c:1.78 src/sys/compat/linux/arch/amd64/linux_sysent.c:1.79
--- src/sys/compat/linux/arch/amd64/linux_sysent.c:1.78	Fri Jul 28 14:20:52 2023
+++ src/sys/compat/linux/arch/amd64/linux_sysent.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.78 2023/07/28 18:20:52 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.79 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2023/07/28 18:19:00 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.78 2023/07/28 18:20:52 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.79 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -901,8 +901,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_gettid
 	},		/* 186 = gettid */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 187 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 187 = readahead */
 	{
 		ns(struct linux_sys_setxattr_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1465,8 +1467,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 331 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 332 = filler */
+		ns(struct linux_sys_statx_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_statx
+	},		/* 332 = statx */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 333 = filler */
@@ -1777,8 +1781,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 435 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 436 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 436 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 437 = filler */

Index: src/sys/compat/linux/arch/amd64/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.22 src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.23
--- src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.22	Fri Jul 28 14:20:52 2023
+++ src/sys/compat/linux/arch/amd64/linux_systrace_args.c	Sat Jul 29 11:05:45 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.22 2023/07/28 18:20:52 christos Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.23 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -1334,6 +1334,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 0;
 		break;
 	}
+	/* linux_sys_readahead */
+	case 187: {
+		const struct linux_sys_readahead_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		iarg[1] = SCARG(p, offset); /* off_t */
+		uarg[2] = SCARG(p, count); /* size_t */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_setxattr */
 	case 188: {
 		const struct linux_sys_setxattr_args *p = params;
@@ -1977,6 +1986,26 @@ systrace_args(register_t sysnum, const v
 		*n_args = 2;
 		break;
 	}
+	/* linux_sys_statx */
+	case 332: {
+		const struct linux_sys_statx_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, path); /* const char * */
+		iarg[2] = SCARG(p, flag); /* int */
+		uarg[3] = SCARG(p, mask); /* unsigned int */
+		uarg[4] = (intptr_t) SCARG(p, sp); /* struct linux_statx * */
+		*n_args = 5;
+		break;
+	}
+	/* linux_sys_close_range */
+	case 436: {
+		const struct linux_sys_close_range_args *p = params;
+		uarg[0] = SCARG(p, first); /* unsigned int */
+		uarg[1] = SCARG(p, last); /* unsigned int */
+		uarg[2] = SCARG(p, flags); /* unsigned int */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_epoll_pwait2 */
 	case 441: {
 		const struct linux_sys_epoll_pwait2_args *p = params;
@@ -4141,6 +4170,22 @@ systrace_entry_setargdesc(int sysnum, in
 	/* linux_sys_gettid */
 	case 186:
 		break;
+	/* linux_sys_readahead */
+	case 187:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "off_t";
+			break;
+		case 2:
+			p = "size_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_setxattr */
 	case 188:
 		switch(ndx) {
@@ -5300,6 +5345,44 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_statx */
+	case 332:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "unsigned int";
+			break;
+		case 4:
+			p = "struct linux_statx *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_close_range */
+	case 436:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int";
+			break;
+		case 1:
+			p = "unsigned int";
+			break;
+		case 2:
+			p = "unsigned int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		switch(ndx) {
@@ -6113,6 +6196,11 @@ systrace_return_setargdesc(int sysnum, i
 		break;
 	/* linux_sys_gettid */
 	case 186:
+	/* linux_sys_readahead */
+	case 187:
+		if (ndx == 0 || ndx == 1)
+			p = "ssize_t";
+		break;
 	/* linux_sys_setxattr */
 	case 188:
 		if (ndx == 0 || ndx == 1)
@@ -6463,6 +6551,16 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_statx */
+	case 332:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_close_range */
+	case 436:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		if (ndx == 0 || ndx == 1)

Index: src/sys/compat/linux/arch/arm/linux_syscall.h
diff -u src/sys/compat/linux/arch/arm/linux_syscall.h:1.89 src/sys/compat/linux/arch/arm/linux_syscall.h:1.90
--- src/sys/compat/linux/arch/arm/linux_syscall.h:1.89	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/arm/linux_syscall.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.89 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.90 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.76 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -571,6 +571,9 @@
 /* syscall: "gettid" ret: "pid_t" args: */
 #define	LINUX_SYS_gettid	224
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	225
+
 /* syscall: "setxattr" ret: "int" args: "char *" "char *" "void *" "size_t" "int" */
 #define	LINUX_SYS_setxattr	226
 
@@ -784,6 +787,12 @@
 /* syscall: "set_tls" ret: "int" args: "void *" */
 #define	LINUX_SYS_set_tls	389
 
+/* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
+#define	LINUX_SYS_statx	397
+
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	436
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/arm/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.89 src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.90
--- src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.89	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/arm/linux_syscallargs.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.89 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.90 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.76 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -784,6 +784,13 @@ struct linux_sys_fcntl64_args {
 };
 check_syscall_args(linux_sys_fcntl64)
 
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
+
 struct linux_sys_setxattr_args {
 	syscallarg(char *) path;
 	syscallarg(char *) name;
@@ -1247,6 +1254,22 @@ struct linux_sys_set_tls_args {
 };
 check_syscall_args(linux_sys_set_tls)
 
+struct linux_sys_statx_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) flag;
+	syscallarg(unsigned int) mask;
+	syscallarg(struct linux_statx *) sp;
+};
+check_syscall_args(linux_sys_statx)
+
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1610,6 +1633,8 @@ int	linux_sys_fcntl64(struct lwp *, cons
 
 int	linux_sys_gettid(struct lwp *, const void *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 int	linux_sys_setxattr(struct lwp *, const struct linux_sys_setxattr_args *, register_t *);
 
 int	linux_sys_lsetxattr(struct lwp *, const struct linux_sys_lsetxattr_args *, register_t *);
@@ -1752,6 +1777,10 @@ int	linux_sys_cacheflush(struct lwp *, c
 
 int	linux_sys_set_tls(struct lwp *, const struct linux_sys_set_tls_args *, register_t *);
 
+int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
+
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux/arch/arm/linux_syscalls.c
diff -u src/sys/compat/linux/arch/arm/linux_syscalls.c:1.89 src/sys/compat/linux/arch/arm/linux_syscalls.c:1.90
--- src/sys/compat/linux/arch/arm/linux_syscalls.c:1.89	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/arm/linux_syscalls.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.89 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.90 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.76 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.89 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.90 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -260,7 +260,7 @@ const char *const linux_syscallnames[] =
 	/* 222 */	"#222 (unimplemented / * for tux * /)",
 	/* 223 */	"#223 (unimplemented / * unused * /)",
 	/* 224 */	"gettid",
-	/* 225 */	"#225 (unimplemented readahead)",
+	/* 225 */	"readahead",
 	/* 226 */	"setxattr",
 	/* 227 */	"lsetxattr",
 	/* 228 */	"fsetxattr",
@@ -432,7 +432,7 @@ const char *const linux_syscallnames[] =
 	/* 394 */	"#394 (unimplemented)",
 	/* 395 */	"#395 (unimplemented)",
 	/* 396 */	"#396 (unimplemented)",
-	/* 397 */	"#397 (unimplemented)",
+	/* 397 */	"statx",
 	/* 398 */	"#398 (unimplemented)",
 	/* 399 */	"#399 (unimplemented)",
 	/* 400 */	"#400 (unimplemented)",
@@ -471,7 +471,7 @@ const char *const linux_syscallnames[] =
 	/* 433 */	"#433 (unimplemented)",
 	/* 434 */	"#434 (unimplemented)",
 	/* 435 */	"#435 (unimplemented)",
-	/* 436 */	"#436 (unimplemented)",
+	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented)",
 	/* 438 */	"#438 (unimplemented)",
 	/* 439 */	"#439 (unimplemented)",
@@ -782,7 +782,7 @@ const char *const altlinux_syscallnames[
 	/* 222 */	NULL, /* unimplemented / * for tux * / */
 	/* 223 */	NULL, /* unimplemented / * unused * / */
 	/* 224 */	NULL, /* gettid */
-	/* 225 */	NULL, /* unimplemented readahead */
+	/* 225 */	NULL, /* readahead */
 	/* 226 */	NULL, /* setxattr */
 	/* 227 */	NULL, /* lsetxattr */
 	/* 228 */	NULL, /* fsetxattr */
@@ -954,7 +954,7 @@ const char *const altlinux_syscallnames[
 	/* 394 */	NULL, /* unimplemented */
 	/* 395 */	NULL, /* unimplemented */
 	/* 396 */	NULL, /* unimplemented */
-	/* 397 */	NULL, /* unimplemented */
+	/* 397 */	NULL, /* statx */
 	/* 398 */	NULL, /* unimplemented */
 	/* 399 */	NULL, /* unimplemented */
 	/* 400 */	NULL, /* unimplemented */
@@ -993,7 +993,7 @@ const char *const altlinux_syscallnames[
 	/* 433 */	NULL, /* unimplemented */
 	/* 434 */	NULL, /* unimplemented */
 	/* 435 */	NULL, /* unimplemented */
-	/* 436 */	NULL, /* unimplemented */
+	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented */
 	/* 438 */	NULL, /* unimplemented */
 	/* 439 */	NULL, /* unimplemented */
Index: src/sys/compat/linux/arch/arm/linux_sysent.c
diff -u src/sys/compat/linux/arch/arm/linux_sysent.c:1.89 src/sys/compat/linux/arch/arm/linux_sysent.c:1.90
--- src/sys/compat/linux/arch/arm/linux_sysent.c:1.89	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/arm/linux_sysent.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.89 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.90 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.76 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.89 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.90 2023/07/29 15:05:45 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -986,8 +986,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_gettid
 	},		/* 224 = gettid */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 225 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 225 = readahead */
 	{
 		ns(struct linux_sys_setxattr_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1630,8 +1632,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 396 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 397 = filler */
+		ns(struct linux_sys_statx_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_statx
+	},		/* 397 = statx */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 398 = filler */
@@ -1747,8 +1751,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 435 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 436 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 436 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 437 = filler */

Index: src/sys/compat/linux/arch/arm/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.22 src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.23
--- src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.22	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/arm/linux_systrace_args.c	Sat Jul 29 11:05:45 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.22 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.23 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -1431,6 +1431,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 0;
 		break;
 	}
+	/* linux_sys_readahead */
+	case 225: {
+		const struct linux_sys_readahead_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		iarg[1] = SCARG(p, offset); /* off_t */
+		uarg[2] = SCARG(p, count); /* size_t */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_setxattr */
 	case 226: {
 		const struct linux_sys_setxattr_args *p = params;
@@ -2080,6 +2089,26 @@ systrace_args(register_t sysnum, const v
 		*n_args = 1;
 		break;
 	}
+	/* linux_sys_statx */
+	case 397: {
+		const struct linux_sys_statx_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, path); /* const char * */
+		iarg[2] = SCARG(p, flag); /* int */
+		uarg[3] = SCARG(p, mask); /* unsigned int */
+		uarg[4] = (intptr_t) SCARG(p, sp); /* struct linux_statx * */
+		*n_args = 5;
+		break;
+	}
+	/* linux_sys_close_range */
+	case 436: {
+		const struct linux_sys_close_range_args *p = params;
+		uarg[0] = SCARG(p, first); /* unsigned int */
+		uarg[1] = SCARG(p, last); /* unsigned int */
+		uarg[2] = SCARG(p, flags); /* unsigned int */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_epoll_pwait2 */
 	case 441: {
 		const struct linux_sys_epoll_pwait2_args *p = params;
@@ -4338,6 +4367,22 @@ systrace_entry_setargdesc(int sysnum, in
 	/* linux_sys_gettid */
 	case 224:
 		break;
+	/* linux_sys_readahead */
+	case 225:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "off_t";
+			break;
+		case 2:
+			p = "size_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_setxattr */
 	case 226:
 		switch(ndx) {
@@ -5503,6 +5548,44 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_statx */
+	case 397:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "unsigned int";
+			break;
+		case 4:
+			p = "struct linux_statx *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_close_range */
+	case 436:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int";
+			break;
+		case 1:
+			p = "unsigned int";
+			break;
+		case 2:
+			p = "unsigned int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		switch(ndx) {
@@ -6382,6 +6465,11 @@ systrace_return_setargdesc(int sysnum, i
 		break;
 	/* linux_sys_gettid */
 	case 224:
+	/* linux_sys_readahead */
+	case 225:
+		if (ndx == 0 || ndx == 1)
+			p = "ssize_t";
+		break;
 	/* linux_sys_setxattr */
 	case 226:
 		if (ndx == 0 || ndx == 1)
@@ -6734,6 +6822,16 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_statx */
+	case 397:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_close_range */
+	case 436:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		if (ndx == 0 || ndx == 1)

Index: src/sys/compat/linux/arch/i386/linux_syscall.h
diff -u src/sys/compat/linux/arch/i386/linux_syscall.h:1.123 src/sys/compat/linux/arch/i386/linux_syscall.h:1.124
--- src/sys/compat/linux/arch/i386/linux_syscall.h:1.123	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/i386/linux_syscall.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.123 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.124 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.131 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.132 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -584,6 +584,9 @@
 /* syscall: "gettid" ret: "pid_t" args: */
 #define	LINUX_SYS_gettid	224
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	225
+
 /* syscall: "setxattr" ret: "int" args: "char *" "char *" "void *" "size_t" "int" */
 #define	LINUX_SYS_setxattr	226
 
@@ -794,6 +797,12 @@
 /* syscall: "memfd_create" ret: "int" args: "const char *" "unsigned int" */
 #define	LINUX_SYS_memfd_create	356
 
+/* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
+#define	LINUX_SYS_statx	397
+
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	436
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/i386/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.123 src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.124
--- src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.123	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/i386/linux_syscallargs.h	Sat Jul 29 11:05:45 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.123 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.124 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.131 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.132 2023/07/29 15:04:28 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -813,6 +813,13 @@ struct linux_sys_fcntl64_args {
 };
 check_syscall_args(linux_sys_fcntl64)
 
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
+
 struct linux_sys_setxattr_args {
 	syscallarg(char *) path;
 	syscallarg(char *) name;
@@ -1265,6 +1272,22 @@ struct linux_sys_memfd_create_args {
 };
 check_syscall_args(linux_sys_memfd_create)
 
+struct linux_sys_statx_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) flag;
+	syscallarg(unsigned int) mask;
+	syscallarg(struct linux_statx *) sp;
+};
+check_syscall_args(linux_sys_statx)
+
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1638,6 +1661,8 @@ int	linux_sys_fcntl64(struct lwp *, cons
 
 int	linux_sys_gettid(struct lwp *, const void *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 int	linux_sys_setxattr(struct lwp *, const struct linux_sys_setxattr_args *, register_t *);
 
 int	linux_sys_lsetxattr(struct lwp *, const struct linux_sys_lsetxattr_args *, register_t *);
@@ -1778,6 +1803,10 @@ int	sys_getrandom(struct lwp *, const st
 
 int	linux_sys_memfd_create(struct lwp *, const struct linux_sys_memfd_create_args *, register_t *);
 
+int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
+
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux/arch/i386/linux_sysent.c
diff -u src/sys/compat/linux/arch/i386/linux_sysent.c:1.123 src/sys/compat/linux/arch/i386/linux_sysent.c:1.124
--- src/sys/compat/linux/arch/i386/linux_sysent.c:1.123	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/i386/linux_sysent.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.123 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.124 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.131 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.132 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.123 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.124 2023/07/29 15:05:45 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -993,8 +993,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_gettid
 	},		/* 224 = gettid */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 225 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 225 = readahead */
 	{
 		ns(struct linux_sys_setxattr_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1638,8 +1640,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 396 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 397 = filler */
+		ns(struct linux_sys_statx_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_statx
+	},		/* 397 = statx */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 398 = filler */
@@ -1755,8 +1759,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 435 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 436 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 436 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 437 = filler */

Index: src/sys/compat/linux/arch/i386/linux_syscalls.c
diff -u src/sys/compat/linux/arch/i386/linux_syscalls.c:1.124 src/sys/compat/linux/arch/i386/linux_syscalls.c:1.125
--- src/sys/compat/linux/arch/i386/linux_syscalls.c:1.124	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/i386/linux_syscalls.c	Sat Jul 29 11:05:45 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.124 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.125 2023/07/29 15:05:45 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.131 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.132 2023/07/29 15:04:28 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.124 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.125 2023/07/29 15:05:45 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -259,7 +259,7 @@ const char *const linux_syscallnames[] =
 	/* 222 */	"#222 (unimplemented / * unused * /)",
 	/* 223 */	"#223 (unimplemented / * unused * /)",
 	/* 224 */	"gettid",
-	/* 225 */	"#225 (unimplemented readahead)",
+	/* 225 */	"readahead",
 	/* 226 */	"setxattr",
 	/* 227 */	"lsetxattr",
 	/* 228 */	"fsetxattr",
@@ -431,7 +431,7 @@ const char *const linux_syscallnames[] =
 	/* 394 */	"#394 (unimplemented semctl)",
 	/* 395 */	"#395 (unimplemented shmget)",
 	/* 396 */	"#396 (unimplemented shmctl)",
-	/* 397 */	"#397 (unimplemented shmat)",
+	/* 397 */	"statx",
 	/* 398 */	"#398 (unimplemented shmdt)",
 	/* 399 */	"#399 (unimplemented msgget)",
 	/* 400 */	"#400 (unimplemented msgsnd)",
@@ -470,7 +470,7 @@ const char *const linux_syscallnames[] =
 	/* 433 */	"#433 (unimplemented fspick)",
 	/* 434 */	"#434 (unimplemented pidfd_open)",
 	/* 435 */	"#435 (unimplemented clone3)",
-	/* 436 */	"#436 (unimplemented close_range)",
+	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented openat2)",
 	/* 438 */	"#438 (unimplemented pidfd_getfd)",
 	/* 439 */	"#439 (unimplemented faccessat2)",
@@ -781,7 +781,7 @@ const char *const altlinux_syscallnames[
 	/* 222 */	NULL, /* unimplemented / * unused * / */
 	/* 223 */	NULL, /* unimplemented / * unused * / */
 	/* 224 */	NULL, /* gettid */
-	/* 225 */	NULL, /* unimplemented readahead */
+	/* 225 */	NULL, /* readahead */
 	/* 226 */	NULL, /* setxattr */
 	/* 227 */	NULL, /* lsetxattr */
 	/* 228 */	NULL, /* fsetxattr */
@@ -953,7 +953,7 @@ const char *const altlinux_syscallnames[
 	/* 394 */	NULL, /* unimplemented semctl */
 	/* 395 */	NULL, /* unimplemented shmget */
 	/* 396 */	NULL, /* unimplemented shmctl */
-	/* 397 */	NULL, /* unimplemented shmat */
+	/* 397 */	NULL, /* statx */
 	/* 398 */	NULL, /* unimplemented shmdt */
 	/* 399 */	NULL, /* unimplemented msgget */
 	/* 400 */	NULL, /* unimplemented msgsnd */
@@ -992,7 +992,7 @@ const char *const altlinux_syscallnames[
 	/* 433 */	NULL, /* unimplemented fspick */
 	/* 434 */	NULL, /* unimplemented pidfd_open */
 	/* 435 */	NULL, /* unimplemented clone3 */
-	/* 436 */	NULL, /* unimplemented close_range */
+	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented openat2 */
 	/* 438 */	NULL, /* unimplemented pidfd_getfd */
 	/* 439 */	NULL, /* unimplemented faccessat2 */

Index: src/sys/compat/linux/arch/i386/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.18 src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.19
--- src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.18	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/i386/linux_systrace_args.c	Sat Jul 29 11:05:46 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.18 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.19 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -1470,6 +1470,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 0;
 		break;
 	}
+	/* linux_sys_readahead */
+	case 225: {
+		const struct linux_sys_readahead_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		iarg[1] = SCARG(p, offset); /* off_t */
+		uarg[2] = SCARG(p, count); /* size_t */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_setxattr */
 	case 226: {
 		const struct linux_sys_setxattr_args *p = params;
@@ -2108,6 +2117,26 @@ systrace_args(register_t sysnum, const v
 		*n_args = 2;
 		break;
 	}
+	/* linux_sys_statx */
+	case 397: {
+		const struct linux_sys_statx_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, path); /* const char * */
+		iarg[2] = SCARG(p, flag); /* int */
+		uarg[3] = SCARG(p, mask); /* unsigned int */
+		uarg[4] = (intptr_t) SCARG(p, sp); /* struct linux_statx * */
+		*n_args = 5;
+		break;
+	}
+	/* linux_sys_close_range */
+	case 436: {
+		const struct linux_sys_close_range_args *p = params;
+		uarg[0] = SCARG(p, first); /* unsigned int */
+		uarg[1] = SCARG(p, last); /* unsigned int */
+		uarg[2] = SCARG(p, flags); /* unsigned int */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_epoll_pwait2 */
 	case 441: {
 		const struct linux_sys_epoll_pwait2_args *p = params;
@@ -4428,6 +4457,22 @@ systrace_entry_setargdesc(int sysnum, in
 	/* linux_sys_gettid */
 	case 224:
 		break;
+	/* linux_sys_readahead */
+	case 225:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "off_t";
+			break;
+		case 2:
+			p = "size_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_setxattr */
 	case 226:
 		switch(ndx) {
@@ -5572,6 +5617,44 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_statx */
+	case 397:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "unsigned int";
+			break;
+		case 4:
+			p = "struct linux_statx *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_close_range */
+	case 436:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int";
+			break;
+		case 1:
+			p = "unsigned int";
+			break;
+		case 2:
+			p = "unsigned int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		switch(ndx) {
@@ -6476,6 +6559,11 @@ systrace_return_setargdesc(int sysnum, i
 		break;
 	/* linux_sys_gettid */
 	case 224:
+	/* linux_sys_readahead */
+	case 225:
+		if (ndx == 0 || ndx == 1)
+			p = "ssize_t";
+		break;
 	/* linux_sys_setxattr */
 	case 226:
 		if (ndx == 0 || ndx == 1)
@@ -6826,6 +6914,16 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_statx */
+	case 397:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_close_range */
+	case 436:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		if (ndx == 0 || ndx == 1)

Index: src/sys/compat/linux/arch/m68k/linux_syscall.h
diff -u src/sys/compat/linux/arch/m68k/linux_syscall.h:1.115 src/sys/compat/linux/arch/m68k/linux_syscall.h:1.116
--- src/sys/compat/linux/arch/m68k/linux_syscall.h:1.115	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/m68k/linux_syscall.h	Sat Jul 29 11:05:46 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.115 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.116 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.102 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -624,6 +624,9 @@
 /* syscall: "fcntl64" ret: "int" args: "int" "int" "void *" */
 #define	LINUX_SYS_fcntl64	239
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	240
+
 /* syscall: "fadvise64" ret: "int" args: "int" "off_t" "size_t" "int" */
 #define	LINUX_SYS_fadvise64	246
 
@@ -789,6 +792,12 @@
 /* syscall: "sendmmsg" ret: "int" args: "int" "struct linux_mmsghdr *" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_sendmmsg	372
 
+/* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
+#define	LINUX_SYS_statx	379
+
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	436
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/m68k/linux_syscalls.c
diff -u src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.115 src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.116
--- src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.115	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/m68k/linux_syscalls.c	Sat Jul 29 11:05:46 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.115 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.116 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.102 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.115 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.116 2023/07/29 15:05:46 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -294,7 +294,7 @@ const char *const linux_syscallnames[] =
 	/* 237 */	"mincore",
 	/* 238 */	"madvise",
 	/* 239 */	"fcntl64",
-	/* 240 */	"#240 (unimplemented readahead)",
+	/* 240 */	"readahead",
 	/* 241 */	"#241 (unimplemented io_setup)",
 	/* 242 */	"#242 (unimplemented io_destroy)",
 	/* 243 */	"#243 (unimplemented io_getevents)",
@@ -433,7 +433,7 @@ const char *const linux_syscallnames[] =
 	/* 376 */	"#376 (unimplemented copy_file_range)",
 	/* 377 */	"#377 (unimplemented preadv2)",
 	/* 378 */	"#378 (unimplemented pwritev2)",
-	/* 379 */	"#379 (unimplemented)",
+	/* 379 */	"statx",
 	/* 380 */	"#380 (unimplemented)",
 	/* 381 */	"#381 (unimplemented)",
 	/* 382 */	"#382 (unimplemented)",
@@ -490,7 +490,7 @@ const char *const linux_syscallnames[] =
 	/* 433 */	"#433 (unimplemented)",
 	/* 434 */	"#434 (unimplemented)",
 	/* 435 */	"#435 (unimplemented)",
-	/* 436 */	"#436 (unimplemented)",
+	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented)",
 	/* 438 */	"#438 (unimplemented)",
 	/* 439 */	"#439 (unimplemented)",
@@ -832,7 +832,7 @@ const char *const altlinux_syscallnames[
 	/* 237 */	NULL, /* mincore */
 	/* 238 */	NULL, /* madvise */
 	/* 239 */	NULL, /* fcntl64 */
-	/* 240 */	NULL, /* unimplemented readahead */
+	/* 240 */	NULL, /* readahead */
 	/* 241 */	NULL, /* unimplemented io_setup */
 	/* 242 */	NULL, /* unimplemented io_destroy */
 	/* 243 */	NULL, /* unimplemented io_getevents */
@@ -971,7 +971,7 @@ const char *const altlinux_syscallnames[
 	/* 376 */	NULL, /* unimplemented copy_file_range */
 	/* 377 */	NULL, /* unimplemented preadv2 */
 	/* 378 */	NULL, /* unimplemented pwritev2 */
-	/* 379 */	NULL, /* unimplemented */
+	/* 379 */	NULL, /* statx */
 	/* 380 */	NULL, /* unimplemented */
 	/* 381 */	NULL, /* unimplemented */
 	/* 382 */	NULL, /* unimplemented */
@@ -1028,7 +1028,7 @@ const char *const altlinux_syscallnames[
 	/* 433 */	NULL, /* unimplemented */
 	/* 434 */	NULL, /* unimplemented */
 	/* 435 */	NULL, /* unimplemented */
-	/* 436 */	NULL, /* unimplemented */
+	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented */
 	/* 438 */	NULL, /* unimplemented */
 	/* 439 */	NULL, /* unimplemented */
Index: src/sys/compat/linux/arch/m68k/linux_sysent.c
diff -u src/sys/compat/linux/arch/m68k/linux_sysent.c:1.115 src/sys/compat/linux/arch/m68k/linux_sysent.c:1.116
--- src/sys/compat/linux/arch/m68k/linux_sysent.c:1.115	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/m68k/linux_sysent.c	Sat Jul 29 11:05:46 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.115 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.116 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.102 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.115 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.116 2023/07/29 15:05:46 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -1080,8 +1080,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_fcntl64
 	},		/* 239 = fcntl64 */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 240 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 240 = readahead */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 241 = filler */
@@ -1598,8 +1600,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 378 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 379 = filler */
+		ns(struct linux_sys_statx_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_statx
+	},		/* 379 = statx */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 380 = filler */
@@ -1769,8 +1773,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 435 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 436 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 436 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 437 = filler */

Index: src/sys/compat/linux/arch/m68k/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.114 src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.115
--- src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.114	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/m68k/linux_syscallargs.h	Sat Jul 29 11:05:46 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.114 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.115 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.102 2023/07/28 19:01:11 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -895,6 +895,13 @@ struct linux_sys_fcntl64_args {
 };
 check_syscall_args(linux_sys_fcntl64)
 
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
+
 struct linux_sys_fadvise64_args {
 	syscallarg(int) fd;
 	syscallarg(off_t) offset;
@@ -1245,6 +1252,22 @@ struct linux_sys_sendmmsg_args {
 };
 check_syscall_args(linux_sys_sendmmsg)
 
+struct linux_sys_statx_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) flag;
+	syscallarg(unsigned int) mask;
+	syscallarg(struct linux_statx *) sp;
+};
+check_syscall_args(linux_sys_statx)
+
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1648,6 +1671,8 @@ int	sys_madvise(struct lwp *, const stru
 
 int	linux_sys_fcntl64(struct lwp *, const struct linux_sys_fcntl64_args *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 int	linux_sys_fadvise64(struct lwp *, const struct linux_sys_fadvise64_args *, register_t *);
 
 int	linux_sys_epoll_create(struct lwp *, const struct linux_sys_epoll_create_args *, register_t *);
@@ -1758,6 +1783,10 @@ int	linux_sys_recvmmsg(struct lwp *, con
 
 int	linux_sys_sendmmsg(struct lwp *, const struct linux_sys_sendmmsg_args *, register_t *);
 
+int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
+
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */

Index: src/sys/compat/linux/arch/mips/linux_syscall.h
diff -u src/sys/compat/linux/arch/mips/linux_syscall.h:1.87 src/sys/compat/linux/arch/mips/linux_syscall.h:1.88
--- src/sys/compat/linux/arch/mips/linux_syscall.h:1.87	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/mips/linux_syscall.h	Sat Jul 29 11:05:46 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.87 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.88 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.75 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:05:31 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -547,6 +547,9 @@
 /* syscall: "gettid" ret: "pid_t" args: */
 #define	LINUX_SYS_gettid	222
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	223
+
 /* syscall: "setxattr" ret: "int" args: "char *" "char *" "void *" "size_t" "int" */
 #define	LINUX_SYS_setxattr	224
 
@@ -755,7 +758,16 @@
 #define	LINUX_SYS_sendmmsg	344
 
 /* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */
-#define	LINUX_SYS_getrandom	354
+#define	LINUX_SYS_getrandom	353
+
+/* syscall: "memfd_create" ret: "int" args: "const char *" "unsigned int" */
+#define	LINUX_SYS_memfd_create	354
+
+/* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
+#define	LINUX_SYS_statx	366
+
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	436
 
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441

Index: src/sys/compat/linux/arch/mips/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.86 src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.87
--- src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.86	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/mips/linux_syscallargs.h	Sat Jul 29 11:05:46 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.86 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.87 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.75 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:05:31 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -825,6 +825,13 @@ struct linux_sys_fcntl64_args {
 };
 check_syscall_args(linux_sys_fcntl64)
 
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
+
 struct linux_sys_setxattr_args {
 	syscallarg(char *) path;
 	syscallarg(char *) name;
@@ -1283,6 +1290,28 @@ check_syscall_args(linux_sys_sendmmsg)
 
 struct sys_getrandom_args;
 
+struct linux_sys_memfd_create_args {
+	syscallarg(const char *) name;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_memfd_create)
+
+struct linux_sys_statx_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) flag;
+	syscallarg(unsigned int) mask;
+	syscallarg(struct linux_statx *) sp;
+};
+check_syscall_args(linux_sys_statx)
+
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1650,6 +1679,8 @@ int	linux_sys_fcntl64(struct lwp *, cons
 
 int	linux_sys_gettid(struct lwp *, const void *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 int	linux_sys_setxattr(struct lwp *, const struct linux_sys_setxattr_args *, register_t *);
 
 int	linux_sys_lsetxattr(struct lwp *, const struct linux_sys_lsetxattr_args *, register_t *);
@@ -1790,6 +1821,12 @@ int	linux_sys_sendmmsg(struct lwp *, con
 
 int	sys_getrandom(struct lwp *, const struct sys_getrandom_args *, register_t *);
 
+int	linux_sys_memfd_create(struct lwp *, const struct linux_sys_memfd_create_args *, register_t *);
+
+int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
+
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux/arch/mips/linux_syscalls.c
diff -u src/sys/compat/linux/arch/mips/linux_syscalls.c:1.86 src/sys/compat/linux/arch/mips/linux_syscalls.c:1.87
--- src/sys/compat/linux/arch/mips/linux_syscalls.c:1.86	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/mips/linux_syscalls.c	Sat Jul 29 11:05:46 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.86 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.87 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.75 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:05:31 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.86 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.87 2023/07/29 15:05:46 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -253,7 +253,7 @@ const char *const linux_syscallnames[] =
 	/* 220 */	"fcntl64",
 	/* 221 */	"#221 (unimplemented / * reserved * /)",
 	/* 222 */	"gettid",
-	/* 223 */	"#223 (unimplemented readahead)",
+	/* 223 */	"readahead",
 	/* 224 */	"setxattr",
 	/* 225 */	"lsetxattr",
 	/* 226 */	"fsetxattr",
@@ -383,20 +383,20 @@ const char *const linux_syscallnames[] =
 	/* 350 */	"#350 (unimplemented sched_setattr)",
 	/* 351 */	"#351 (unimplemented sched_getattr)",
 	/* 352 */	"#352 (unimplemented renameat2)",
-	/* 353 */	"#353 (unimplemented seccomp)",
-	/* 354 */	"getrandom",
-	/* 355 */	"#355 (unimplemented memfd_create)",
-	/* 356 */	"#356 (unimplemented bpf)",
-	/* 357 */	"#357 (unimplemented execveat)",
-	/* 358 */	"#358 (unimplemented userfaultfd)",
-	/* 359 */	"#359 (unimplemented membarrier)",
-	/* 360 */	"#360 (unimplemented mlock2)",
-	/* 361 */	"#361 (unimplemented copy_file_range)",
-	/* 362 */	"#362 (unimplemented preadv2)",
-	/* 363 */	"#363 (unimplemented pwritev2)",
-	/* 364 */	"#364 (unimplemented pkey_mprotect)",
-	/* 365 */	"#365 (unimplemented pkey_alloc)",
-	/* 366 */	"#366 (unimplemented pkey_free)",
+	/* 353 */	"getrandom",
+	/* 354 */	"memfd_create",
+	/* 355 */	"#355 (unimplemented bpf)",
+	/* 356 */	"#356 (unimplemented execveat)",
+	/* 357 */	"#357 (unimplemented userfaultfd)",
+	/* 358 */	"#358 (unimplemented membarrier)",
+	/* 359 */	"#359 (unimplemented mlock2)",
+	/* 360 */	"#360 (unimplemented copy_file_range)",
+	/* 361 */	"#361 (unimplemented preadv2)",
+	/* 362 */	"#362 (unimplemented pwritev2)",
+	/* 363 */	"#363 (unimplemented pkey_mprotect)",
+	/* 364 */	"#364 (unimplemented pkey_alloc)",
+	/* 365 */	"#365 (unimplemented pkey_free)",
+	/* 366 */	"statx",
 	/* 367 */	"#367 (unimplemented)",
 	/* 368 */	"#368 (unimplemented)",
 	/* 369 */	"#369 (unimplemented)",
@@ -466,7 +466,7 @@ const char *const linux_syscallnames[] =
 	/* 433 */	"#433 (unimplemented)",
 	/* 434 */	"#434 (unimplemented)",
 	/* 435 */	"#435 (unimplemented)",
-	/* 436 */	"#436 (unimplemented)",
+	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented)",
 	/* 438 */	"#438 (unimplemented)",
 	/* 439 */	"#439 (unimplemented)",
@@ -770,7 +770,7 @@ const char *const altlinux_syscallnames[
 	/* 220 */	NULL, /* fcntl64 */
 	/* 221 */	NULL, /* unimplemented / * reserved * / */
 	/* 222 */	NULL, /* gettid */
-	/* 223 */	NULL, /* unimplemented readahead */
+	/* 223 */	NULL, /* readahead */
 	/* 224 */	NULL, /* setxattr */
 	/* 225 */	NULL, /* lsetxattr */
 	/* 226 */	NULL, /* fsetxattr */
@@ -900,20 +900,20 @@ const char *const altlinux_syscallnames[
 	/* 350 */	NULL, /* unimplemented sched_setattr */
 	/* 351 */	NULL, /* unimplemented sched_getattr */
 	/* 352 */	NULL, /* unimplemented renameat2 */
-	/* 353 */	NULL, /* unimplemented seccomp */
-	/* 354 */	NULL, /* getrandom */
-	/* 355 */	NULL, /* unimplemented memfd_create */
-	/* 356 */	NULL, /* unimplemented bpf */
-	/* 357 */	NULL, /* unimplemented execveat */
-	/* 358 */	NULL, /* unimplemented userfaultfd */
-	/* 359 */	NULL, /* unimplemented membarrier */
-	/* 360 */	NULL, /* unimplemented mlock2 */
-	/* 361 */	NULL, /* unimplemented copy_file_range */
-	/* 362 */	NULL, /* unimplemented preadv2 */
-	/* 363 */	NULL, /* unimplemented pwritev2 */
-	/* 364 */	NULL, /* unimplemented pkey_mprotect */
-	/* 365 */	NULL, /* unimplemented pkey_alloc */
-	/* 366 */	NULL, /* unimplemented pkey_free */
+	/* 353 */	NULL, /* getrandom */
+	/* 354 */	NULL, /* memfd_create */
+	/* 355 */	NULL, /* unimplemented bpf */
+	/* 356 */	NULL, /* unimplemented execveat */
+	/* 357 */	NULL, /* unimplemented userfaultfd */
+	/* 358 */	NULL, /* unimplemented membarrier */
+	/* 359 */	NULL, /* unimplemented mlock2 */
+	/* 360 */	NULL, /* unimplemented copy_file_range */
+	/* 361 */	NULL, /* unimplemented preadv2 */
+	/* 362 */	NULL, /* unimplemented pwritev2 */
+	/* 363 */	NULL, /* unimplemented pkey_mprotect */
+	/* 364 */	NULL, /* unimplemented pkey_alloc */
+	/* 365 */	NULL, /* unimplemented pkey_free */
+	/* 366 */	NULL, /* statx */
 	/* 367 */	NULL, /* unimplemented */
 	/* 368 */	NULL, /* unimplemented */
 	/* 369 */	NULL, /* unimplemented */
@@ -983,7 +983,7 @@ const char *const altlinux_syscallnames[
 	/* 433 */	NULL, /* unimplemented */
 	/* 434 */	NULL, /* unimplemented */
 	/* 435 */	NULL, /* unimplemented */
-	/* 436 */	NULL, /* unimplemented */
+	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented */
 	/* 438 */	NULL, /* unimplemented */
 	/* 439 */	NULL, /* unimplemented */
Index: src/sys/compat/linux/arch/mips/linux_sysent.c
diff -u src/sys/compat/linux/arch/mips/linux_sysent.c:1.86 src/sys/compat/linux/arch/mips/linux_sysent.c:1.87
--- src/sys/compat/linux/arch/mips/linux_sysent.c:1.86	Fri Jul 28 15:01:44 2023
+++ src/sys/compat/linux/arch/mips/linux_sysent.c	Sat Jul 29 11:05:46 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.86 2023/07/28 19:01:44 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.87 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.75 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.77 2023/07/29 15:05:31 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.86 2023/07/28 19:01:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.87 2023/07/29 15:05:46 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -979,8 +979,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_gettid
 	},		/* 222 = gettid */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 223 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 223 = readahead */
 	{
 		ns(struct linux_sys_setxattr_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1496,13 +1498,15 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 352 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 353 = filler */
-	{
 		ns(struct sys_getrandom_args),
 		.sy_flags = SYCALL_ARG_PTR,
 		.sy_call = (sy_call_t *)sys_getrandom
-	},		/* 354 = getrandom */
+	},		/* 353 = getrandom */
+	{
+		ns(struct linux_sys_memfd_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_memfd_create
+	},		/* 354 = memfd_create */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 355 = filler */
@@ -1537,8 +1541,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 365 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 366 = filler */
+		ns(struct linux_sys_statx_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_statx
+	},		/* 366 = statx */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 367 = filler */
@@ -1747,8 +1753,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 435 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 436 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 436 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 437 = filler */

Index: src/sys/compat/linux/arch/powerpc/linux_syscall.h
diff -u src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.93 src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.94
--- src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.93	Fri Jul 28 15:01:45 2023
+++ src/sys/compat/linux/arch/powerpc/linux_syscall.h	Sat Jul 29 11:05:46 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.93 2023/07/28 19:01:45 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.94 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.81 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.82 2023/07/29 15:04:29 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -482,6 +482,9 @@
 /* syscall: "ugetrlimit" ret: "int" args: "int" "struct rlimit *" */
 #define	LINUX_SYS_ugetrlimit	190
 
+/* syscall: "readahead" ret: "ssize_t" args: "int" "off_t" "size_t" */
+#define	LINUX_SYS_readahead	191
+
 #define linux_sys_mmap2_args linux_sys_mmap_args
 /* syscall: "mmap2" ret: "linux_off_t" args: "unsigned long" "size_t" "int" "int" "int" "linux_off_t" */
 #define	LINUX_SYS_mmap2	192
@@ -726,6 +729,12 @@
 /* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */
 #define	LINUX_SYS_getrandom	359
 
+/* syscall: "statx" ret: "int" args: "int" "const char *" "int" "unsigned int" "struct linux_statx *" */
+#define	LINUX_SYS_statx	383
+
+/* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
+#define	LINUX_SYS_close_range	436
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/powerpc/linux_sysent.c
diff -u src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.93 src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.94
--- src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.93	Fri Jul 28 15:01:45 2023
+++ src/sys/compat/linux/arch/powerpc/linux_sysent.c	Sat Jul 29 11:05:46 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.93 2023/07/28 19:01:45 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.94 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.81 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.82 2023/07/29 15:04:29 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.93 2023/07/28 19:01:45 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.94 2023/07/29 15:05:46 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -842,8 +842,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_ugetrlimit
 	},		/* 190 = ugetrlimit */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 191 = filler */
+		ns(struct linux_sys_readahead_args),
+		.sy_flags = SYCALL_NARGS64_VAL(1) | SYCALL_ARG1_64,
+		.sy_call = (sy_call_t *)linux_sys_readahead
+	},		/* 191 = readahead */
 #define linux_sys_mmap2_args linux_sys_mmap_args
 	{
 		ns(struct linux_sys_mmap2_args),
@@ -1567,8 +1569,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 382 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 383 = filler */
+		ns(struct linux_sys_statx_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_statx
+	},		/* 383 = statx */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 384 = filler */
@@ -1726,8 +1730,9 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 435 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 436 = filler */
+		ns(struct linux_sys_close_range_args),
+		.sy_call = (sy_call_t *)linux_sys_close_range
+	},		/* 436 = close_range */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 437 = filler */

Index: src/sys/compat/linux/arch/powerpc/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.92 src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.93
--- src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.92	Fri Jul 28 15:01:45 2023
+++ src/sys/compat/linux/arch/powerpc/linux_syscallargs.h	Sat Jul 29 11:05:46 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.92 2023/07/28 19:01:45 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.93 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.81 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.82 2023/07/29 15:04:29 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -657,6 +657,13 @@ struct linux_sys_ugetrlimit_args {
 	syscallarg(struct rlimit *) rlp;
 };
 check_syscall_args(linux_sys_ugetrlimit)
+
+struct linux_sys_readahead_args {
+	syscallarg(int) fd;
+	syscallarg(off_t) offset;
+	syscallarg(size_t) count;
+};
+check_syscall_args(linux_sys_readahead)
 #define linux_sys_mmap2_args linux_sys_mmap_args
 
 struct linux_sys_mmap2_args;
@@ -1170,6 +1177,22 @@ check_syscall_args(linux_sys_sendmmsg)
 
 struct sys_getrandom_args;
 
+struct linux_sys_statx_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) flag;
+	syscallarg(unsigned int) mask;
+	syscallarg(struct linux_statx *) sp;
+};
+check_syscall_args(linux_sys_statx)
+
+struct linux_sys_close_range_args {
+	syscallarg(unsigned int) first;
+	syscallarg(unsigned int) last;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(linux_sys_close_range)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1490,6 +1513,8 @@ int	sys___vfork14(struct lwp *, const vo
 
 int	linux_sys_ugetrlimit(struct lwp *, const struct linux_sys_ugetrlimit_args *, register_t *);
 
+int	linux_sys_readahead(struct lwp *, const struct linux_sys_readahead_args *, register_t *);
+
 #define linux_sys_mmap2_args linux_sys_mmap_args
 int	linux_sys_mmap2(struct lwp *, const struct linux_sys_mmap2_args *, register_t *);
 
@@ -1653,6 +1678,10 @@ int	linux_sys_sendmmsg(struct lwp *, con
 
 int	sys_getrandom(struct lwp *, const struct sys_getrandom_args *, register_t *);
 
+int	linux_sys_statx(struct lwp *, const struct linux_sys_statx_args *, register_t *);
+
+int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux/arch/powerpc/linux_syscalls.c
diff -u src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.92 src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.93
--- src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.92	Fri Jul 28 15:01:45 2023
+++ src/sys/compat/linux/arch/powerpc/linux_syscalls.c	Sat Jul 29 11:05:46 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.92 2023/07/28 19:01:45 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.93 2023/07/29 15:05:46 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.81 2023/07/28 19:01:11 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.82 2023/07/29 15:04:29 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.92 2023/07/28 19:01:45 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.93 2023/07/29 15:05:46 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -223,7 +223,7 @@ const char *const linux_syscallnames[] =
 	/* 188 */	"#188 (unimplemented putpmsg)",
 	/* 189 */	"__vfork14",
 	/* 190 */	"ugetrlimit",
-	/* 191 */	"#191 (unimplemented / * unused * /)",
+	/* 191 */	"readahead",
 #define linux_sys_mmap2_args linux_sys_mmap_args
 	/* 192 */	"mmap2",
 	/* 193 */	"truncate64",
@@ -416,7 +416,7 @@ const char *const linux_syscallnames[] =
 	/* 380 */	"#380 (unimplemented preadv2)",
 	/* 381 */	"#381 (unimplemented pwritev2)",
 	/* 382 */	"#382 (unimplemented kexec_file_load)",
-	/* 383 */	"#383 (unimplemented)",
+	/* 383 */	"statx",
 	/* 384 */	"#384 (unimplemented)",
 	/* 385 */	"#385 (unimplemented)",
 	/* 386 */	"#386 (unimplemented)",
@@ -469,7 +469,7 @@ const char *const linux_syscallnames[] =
 	/* 433 */	"#433 (unimplemented)",
 	/* 434 */	"#434 (unimplemented)",
 	/* 435 */	"#435 (unimplemented)",
-	/* 436 */	"#436 (unimplemented)",
+	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented)",
 	/* 438 */	"#438 (unimplemented)",
 	/* 439 */	"#439 (unimplemented)",
@@ -745,7 +745,7 @@ const char *const altlinux_syscallnames[
 	/* 188 */	NULL, /* unimplemented putpmsg */
 	/* 189 */	"vfork",
 	/* 190 */	NULL, /* ugetrlimit */
-	/* 191 */	NULL, /* unimplemented / * unused * / */
+	/* 191 */	NULL, /* readahead */
 #define linux_sys_mmap2_args linux_sys_mmap_args
 	/* 192 */	NULL, /* mmap2 */
 	/* 193 */	NULL, /* truncate64 */
@@ -938,7 +938,7 @@ const char *const altlinux_syscallnames[
 	/* 380 */	NULL, /* unimplemented preadv2 */
 	/* 381 */	NULL, /* unimplemented pwritev2 */
 	/* 382 */	NULL, /* unimplemented kexec_file_load */
-	/* 383 */	NULL, /* unimplemented */
+	/* 383 */	NULL, /* statx */
 	/* 384 */	NULL, /* unimplemented */
 	/* 385 */	NULL, /* unimplemented */
 	/* 386 */	NULL, /* unimplemented */
@@ -991,7 +991,7 @@ const char *const altlinux_syscallnames[
 	/* 433 */	NULL, /* unimplemented */
 	/* 434 */	NULL, /* unimplemented */
 	/* 435 */	NULL, /* unimplemented */
-	/* 436 */	NULL, /* unimplemented */
+	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented */
 	/* 438 */	NULL, /* unimplemented */
 	/* 439 */	NULL, /* unimplemented */

Reply via email to