Module Name: src Committed By: ryo Date: Wed Nov 24 18:57:25 UTC 2021
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/arm: 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.1 -r1.2 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.86 -r1.87 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.19 -r1.20 \ src/sys/compat/linux/arch/arm/linux_systrace_args.c cvs rdiff -u -r1.112 -r1.113 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.111 -r1.112 \ src/sys/compat/linux/arch/m68k/linux_syscallargs.h cvs rdiff -u -r1.84 -r1.85 src/sys/compat/linux/arch/mips/linux_syscall.h cvs rdiff -u -r1.83 -r1.84 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.90 -r1.91 src/sys/compat/linux/arch/powerpc/linux_syscall.h \ src/sys/compat/linux/arch/powerpc/linux_sysent.c cvs rdiff -u -r1.89 -r1.90 \ 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.1 src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.2 --- src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.1 Thu Sep 23 06:56:27 2021 +++ src/sys/compat/linux/arch/aarch64/linux_syscall.h Wed Nov 24 18:57:24 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.1 2021/09/23 06:56:27 ryo Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.2 2021/11/24 18:57:24 ryo Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD + * created from NetBSD: syscalls.master,v 1.1 2021/09/23 06:56:27 ryo Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -582,6 +582,9 @@ /* syscall: "sendmmsg" ret: "int" args: "int" "struct linux_mmsghdr *" "unsigned int" "unsigned int" */ #define LINUX_SYS_sendmmsg 269 +/* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */ +#define LINUX_SYS_getrandom 278 + /* 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.1 src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.2 --- src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.1 Thu Sep 23 06:56:27 2021 +++ src/sys/compat/linux/arch/aarch64/linux_syscallargs.h Wed Nov 24 18:57:24 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.1 2021/09/23 06:56:27 ryo Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.2 2021/11/24 18:57:24 ryo Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD + * created from NetBSD: syscalls.master,v 1.1 2021/09/23 06:56:27 ryo Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -965,6 +965,8 @@ struct linux_sys_sendmmsg_args { }; check_syscall_args(linux_sys_sendmmsg) +struct sys_getrandom_args; + /* * System call prototypes. */ @@ -1352,6 +1354,8 @@ int linux_sys_wait4(struct lwp *, const int linux_sys_sendmmsg(struct lwp *, const struct linux_sys_sendmmsg_args *, register_t *); +int sys_getrandom(struct lwp *, const struct sys_getrandom_args *, register_t *); + int linux_sys_nosys(struct lwp *, const void *, register_t *); #endif /* _LINUX_SYS_SYSCALLARGS_H_ */ Index: src/sys/compat/linux/arch/aarch64/linux_syscalls.c diff -u src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.1 src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.2 --- src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.1 Thu Sep 23 06:56:27 2021 +++ src/sys/compat/linux/arch/aarch64/linux_syscalls.c Wed Nov 24 18:57:24 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.1 2021/09/23 06:56:27 ryo Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.2 2021/11/24 18:57:24 ryo Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD + * created from NetBSD: syscalls.master,v 1.1 2021/09/23 06:56:27 ryo Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.1 2021/09/23 06:56:27 ryo Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.2 2021/11/24 18:57:24 ryo Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -339,7 +339,7 @@ const char *const linux_syscallnames[] = /* 275 */ "#275 (unimplemented sched_getattr)", /* 276 */ "#276 (unimplemented renameat2)", /* 277 */ "#277 (unimplemented seccomp)", - /* 278 */ "#278 (unimplemented getrandom)", + /* 278 */ "getrandom", /* 279 */ "#279 (unimplemented memfd_create)", /* 280 */ "#280 (unimplemented bpf)", /* 281 */ "#281 (unimplemented execveat)", @@ -877,7 +877,7 @@ const char *const altlinux_syscallnames[ /* 275 */ NULL, /* unimplemented sched_getattr */ /* 276 */ NULL, /* unimplemented renameat2 */ /* 277 */ NULL, /* unimplemented seccomp */ - /* 278 */ NULL, /* unimplemented getrandom */ + /* 278 */ NULL, /* getrandom */ /* 279 */ NULL, /* unimplemented memfd_create */ /* 280 */ NULL, /* unimplemented bpf */ /* 281 */ NULL, /* unimplemented execveat */ Index: src/sys/compat/linux/arch/aarch64/linux_sysent.c diff -u src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.1 src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.2 --- src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.1 Thu Sep 23 06:56:27 2021 +++ src/sys/compat/linux/arch/aarch64/linux_sysent.c Wed Nov 24 18:57:24 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.1 2021/09/23 06:56:27 ryo Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.2 2021/11/24 18:57:24 ryo Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD + * created from NetBSD: syscalls.master,v 1.1 2021/09/23 06:56:27 ryo Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.1 2021/09/23 06:56:27 ryo Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.2 2021/11/24 18:57:24 ryo Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -1223,8 +1223,10 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 277 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 278 = filler */ + ns(struct sys_getrandom_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)sys_getrandom + }, /* 278 = getrandom */ { .sy_call = linux_sys_nosys, }, /* 279 = 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.1 src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.2 --- src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.1 Thu Sep 23 06:56:27 2021 +++ src/sys/compat/linux/arch/aarch64/linux_systrace_args.c Wed Nov 24 18:57:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.1 2021/09/23 06:56:27 ryo Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.2 2021/11/24 18:57:24 ryo Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1611,6 +1611,15 @@ systrace_args(register_t sysnum, const v *n_args = 4; break; } + /* sys_getrandom */ + case 278: { + const struct sys_getrandom_args *p = params; + uarg[0] = (intptr_t) SCARG(p, buf); /* void * */ + uarg[1] = SCARG(p, buflen); /* size_t */ + uarg[2] = SCARG(p, flags); /* unsigned int */ + *n_args = 3; + break; + } /* linux_sys_nosys */ case 440: { *n_args = 0; @@ -4336,6 +4345,22 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; + /* sys_getrandom */ + case 278: + switch(ndx) { + case 0: + p = "void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "unsigned int"; + break; + default: + break; + }; + break; /* linux_sys_nosys */ case 440: break; @@ -5258,6 +5283,11 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; + /* sys_getrandom */ + case 278: + if (ndx == 0 || ndx == 1) + p = "ssize_t"; + break; /* linux_sys_nosys */ case 440: default: Index: src/sys/compat/linux/arch/arm/linux_syscall.h diff -u src/sys/compat/linux/arch/arm/linux_syscall.h:1.86 src/sys/compat/linux/arch/arm/linux_syscall.h:1.87 --- src/sys/compat/linux/arch/arm/linux_syscall.h:1.86 Mon Sep 20 02:20:30 2021 +++ src/sys/compat/linux/arch/arm/linux_syscall.h Wed Nov 24 18:57:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscall.h,v 1.86 2021/09/20 02:20:30 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.87 2021/11/24 18:57:24 ryo Exp $ */ /* * System call numbers. Index: src/sys/compat/linux/arch/arm/linux_syscallargs.h diff -u src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.86 src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.87 --- src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.86 Mon Sep 20 02:20:30 2021 +++ src/sys/compat/linux/arch/arm/linux_syscallargs.h Wed Nov 24 18:57:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscallargs.h,v 1.86 2021/09/20 02:20:30 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.87 2021/11/24 18:57:24 ryo Exp $ */ /* * System call argument lists. Index: src/sys/compat/linux/arch/arm/linux_syscalls.c diff -u src/sys/compat/linux/arch/arm/linux_syscalls.c:1.86 src/sys/compat/linux/arch/arm/linux_syscalls.c:1.87 --- src/sys/compat/linux/arch/arm/linux_syscalls.c:1.86 Mon Sep 20 02:20:30 2021 +++ src/sys/compat/linux/arch/arm/linux_syscalls.c Wed Nov 24 18:57:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscalls.c,v 1.86 2021/09/20 02:20:30 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.87 2021/11/24 18:57:24 ryo Exp $ */ /* * System call names. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.86 2021/09/20 02:20:30 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.87 2021/11/24 18:57:24 ryo Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> Index: src/sys/compat/linux/arch/arm/linux_sysent.c diff -u src/sys/compat/linux/arch/arm/linux_sysent.c:1.86 src/sys/compat/linux/arch/arm/linux_sysent.c:1.87 --- src/sys/compat/linux/arch/arm/linux_sysent.c:1.86 Mon Sep 20 02:20:30 2021 +++ src/sys/compat/linux/arch/arm/linux_sysent.c Wed Nov 24 18:57:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_sysent.c,v 1.86 2021/09/20 02:20:30 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.87 2021/11/24 18:57:24 ryo Exp $ */ /* * System call switch table. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.86 2021/09/20 02:20:30 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.87 2021/11/24 18:57:24 ryo Exp $"); #include <sys/param.h> #include <sys/poll.h> Index: src/sys/compat/linux/arch/arm/linux_systrace_args.c diff -u src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.19 src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.20 --- src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.19 Mon Sep 20 02:20:30 2021 +++ src/sys/compat/linux/arch/arm/linux_systrace_args.c Wed Nov 24 18:57:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.19 2021/09/20 02:20:30 thorpej Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.20 2021/11/24 18:57:24 ryo Exp $ */ /* * System call argument to DTrace register array conversion. Index: src/sys/compat/linux/arch/m68k/linux_syscall.h diff -u src/sys/compat/linux/arch/m68k/linux_syscall.h:1.112 src/sys/compat/linux/arch/m68k/linux_syscall.h:1.113 --- src/sys/compat/linux/arch/m68k/linux_syscall.h:1.112 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/m68k/linux_syscall.h Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscall.h,v 1.112 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.113 2021/11/24 18:57:25 ryo Exp $ */ /* * System call numbers. @@ -759,6 +759,9 @@ /* syscall: "pwritev" ret: "int" args: "int" "const struct iovcnt *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_pwritev 330 +/* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */ +#define LINUX_SYS_getrandom 352 + /* syscall: "accept4" ret: "int" args: "int" "struct osockaddr *" "int *" "int" */ #define LINUX_SYS_accept4 361 Index: src/sys/compat/linux/arch/m68k/linux_syscalls.c diff -u src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.112 src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.113 --- src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.112 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/m68k/linux_syscalls.c Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscalls.c,v 1.112 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.113 2021/11/24 18:57:25 ryo Exp $ */ /* * System call names. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.112 2021/09/20 02:20:31 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.113 2021/11/24 18:57:25 ryo Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -406,7 +406,7 @@ const char *const linux_syscallnames[] = /* 349 */ "#349 (unimplemented sched_setattr)", /* 350 */ "#350 (unimplemented sched_getattr)", /* 351 */ "#351 (unimplemented renameat2)", - /* 352 */ "#352 (unimplemented getrandom)", + /* 352 */ "getrandom", /* 353 */ "#353 (unimplemented memfd_create)", /* 354 */ "#354 (unimplemented bpf)", /* 355 */ "#355 (unimplemented execveat)", @@ -944,7 +944,7 @@ const char *const altlinux_syscallnames[ /* 349 */ NULL, /* unimplemented sched_setattr */ /* 350 */ NULL, /* unimplemented sched_getattr */ /* 351 */ NULL, /* unimplemented renameat2 */ - /* 352 */ NULL, /* unimplemented getrandom */ + /* 352 */ NULL, /* getrandom */ /* 353 */ NULL, /* unimplemented memfd_create */ /* 354 */ NULL, /* unimplemented bpf */ /* 355 */ NULL, /* unimplemented execveat */ Index: src/sys/compat/linux/arch/m68k/linux_sysent.c diff -u src/sys/compat/linux/arch/m68k/linux_sysent.c:1.112 src/sys/compat/linux/arch/m68k/linux_sysent.c:1.113 --- src/sys/compat/linux/arch/m68k/linux_sysent.c:1.112 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/m68k/linux_sysent.c Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_sysent.c,v 1.112 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.113 2021/11/24 18:57:25 ryo Exp $ */ /* * System call switch table. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.112 2021/09/20 02:20:31 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.113 2021/11/24 18:57:25 ryo Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -1499,8 +1499,10 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 351 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 352 = filler */ + ns(struct sys_getrandom_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)sys_getrandom + }, /* 352 = getrandom */ { .sy_call = linux_sys_nosys, }, /* 353 = filler */ Index: src/sys/compat/linux/arch/m68k/linux_syscallargs.h diff -u src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.111 src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.112 --- src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.111 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/m68k/linux_syscallargs.h Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscallargs.h,v 1.111 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.112 2021/11/24 18:57:25 ryo Exp $ */ /* * System call argument lists. @@ -1175,6 +1175,8 @@ struct linux_sys_pwritev_args { }; check_syscall_args(linux_sys_pwritev) +struct sys_getrandom_args; + struct linux_sys_accept4_args { syscallarg(int) s; syscallarg(struct osockaddr *) name; @@ -1684,6 +1686,8 @@ int linux_sys_preadv(struct lwp *, const int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); +int sys_getrandom(struct lwp *, const struct sys_getrandom_args *, register_t *); + int linux_sys_accept4(struct lwp *, const struct linux_sys_accept4_args *, register_t *); int linux_sys_recvmmsg(struct lwp *, const struct linux_sys_recvmmsg_args *, register_t *); Index: src/sys/compat/linux/arch/mips/linux_syscall.h diff -u src/sys/compat/linux/arch/mips/linux_syscall.h:1.84 src/sys/compat/linux/arch/mips/linux_syscall.h:1.85 --- src/sys/compat/linux/arch/mips/linux_syscall.h:1.84 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/mips/linux_syscall.h Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscall.h,v 1.84 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.85 2021/11/24 18:57:25 ryo Exp $ */ /* * System call numbers. @@ -736,6 +736,9 @@ /* syscall: "sendmmsg" ret: "int" args: "int" "struct linux_mmsghdr *" "unsigned int" "unsigned int" */ #define LINUX_SYS_sendmmsg 344 +/* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */ +#define LINUX_SYS_getrandom 354 + #define LINUX_SYS_MAXSYSCALL 367 #define LINUX_SYS_NSYSENT 512 #endif /* _LINUX_SYS_SYSCALL_H_ */ Index: src/sys/compat/linux/arch/mips/linux_syscallargs.h diff -u src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.83 src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.84 --- src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.83 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/mips/linux_syscallargs.h Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscallargs.h,v 1.83 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.84 2021/11/24 18:57:25 ryo Exp $ */ /* * System call argument lists. @@ -1238,6 +1238,8 @@ struct linux_sys_sendmmsg_args { }; check_syscall_args(linux_sys_sendmmsg) +struct sys_getrandom_args; + /* * System call prototypes. */ @@ -1722,4 +1724,6 @@ int linux_sys_recvmmsg(struct lwp *, con int linux_sys_sendmmsg(struct lwp *, const struct linux_sys_sendmmsg_args *, register_t *); +int sys_getrandom(struct lwp *, const struct sys_getrandom_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.83 src/sys/compat/linux/arch/mips/linux_syscalls.c:1.84 --- src/sys/compat/linux/arch/mips/linux_syscalls.c:1.83 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/mips/linux_syscalls.c Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscalls.c,v 1.83 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.84 2021/11/24 18:57:25 ryo Exp $ */ /* * System call names. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.83 2021/09/20 02:20:31 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.84 2021/11/24 18:57:25 ryo Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> @@ -384,7 +384,7 @@ const char *const linux_syscallnames[] = /* 351 */ "#351 (unimplemented sched_getattr)", /* 352 */ "#352 (unimplemented renameat2)", /* 353 */ "#353 (unimplemented seccomp)", - /* 354 */ "#354 (unimplemented getrandom)", + /* 354 */ "getrandom", /* 355 */ "#355 (unimplemented memfd_create)", /* 356 */ "#356 (unimplemented bpf)", /* 357 */ "#357 (unimplemented execveat)", @@ -901,7 +901,7 @@ const char *const altlinux_syscallnames[ /* 351 */ NULL, /* unimplemented sched_getattr */ /* 352 */ NULL, /* unimplemented renameat2 */ /* 353 */ NULL, /* unimplemented seccomp */ - /* 354 */ NULL, /* unimplemented getrandom */ + /* 354 */ NULL, /* getrandom */ /* 355 */ NULL, /* unimplemented memfd_create */ /* 356 */ NULL, /* unimplemented bpf */ /* 357 */ NULL, /* unimplemented execveat */ Index: src/sys/compat/linux/arch/mips/linux_sysent.c diff -u src/sys/compat/linux/arch/mips/linux_sysent.c:1.83 src/sys/compat/linux/arch/mips/linux_sysent.c:1.84 --- src/sys/compat/linux/arch/mips/linux_sysent.c:1.83 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/mips/linux_sysent.c Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_sysent.c,v 1.83 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.84 2021/11/24 18:57:25 ryo Exp $ */ /* * System call switch table. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.83 2021/09/20 02:20:31 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.84 2021/11/24 18:57:25 ryo Exp $"); #include <sys/param.h> #include <sys/poll.h> @@ -1489,8 +1489,10 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 353 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 354 = filler */ + ns(struct sys_getrandom_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)sys_getrandom + }, /* 354 = getrandom */ { .sy_call = linux_sys_nosys, }, /* 355 = filler */ Index: src/sys/compat/linux/arch/powerpc/linux_syscall.h diff -u src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.90 src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.91 --- src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.90 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/powerpc/linux_syscall.h Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscall.h,v 1.90 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.91 2021/11/24 18:57:25 ryo Exp $ */ /* * System call numbers. @@ -705,6 +705,9 @@ /* syscall: "sendmmsg" ret: "int" args: "int" "struct linux_mmsghdr *" "unsigned int" "unsigned int" */ #define LINUX_SYS_sendmmsg 349 +/* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */ +#define LINUX_SYS_getrandom 359 + #define LINUX_SYS_MAXSYSCALL 383 #define LINUX_SYS_NSYSENT 512 #endif /* _LINUX_SYS_SYSCALL_H_ */ Index: src/sys/compat/linux/arch/powerpc/linux_sysent.c diff -u src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.90 src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.91 --- src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.90 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/powerpc/linux_sysent.c Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_sysent.c,v 1.90 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.91 2021/11/24 18:57:25 ryo Exp $ */ /* * System call switch table. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.90 2021/09/20 02:20:31 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.91 2021/11/24 18:57:25 ryo Exp $"); #include <sys/param.h> #include <sys/poll.h> @@ -1483,8 +1483,10 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 358 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 359 = filler */ + ns(struct sys_getrandom_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)sys_getrandom + }, /* 359 = getrandom */ { .sy_call = linux_sys_nosys, }, /* 360 = filler */ Index: src/sys/compat/linux/arch/powerpc/linux_syscallargs.h diff -u src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.89 src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.90 --- src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.89 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/powerpc/linux_syscallargs.h Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscallargs.h,v 1.89 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.90 2021/11/24 18:57:25 ryo Exp $ */ /* * System call argument lists. @@ -1125,6 +1125,8 @@ struct linux_sys_sendmmsg_args { }; check_syscall_args(linux_sys_sendmmsg) +struct sys_getrandom_args; + /* * System call prototypes. */ @@ -1585,4 +1587,6 @@ int linux_sys_accept4(struct lwp *, cons int linux_sys_sendmmsg(struct lwp *, const struct linux_sys_sendmmsg_args *, register_t *); +int sys_getrandom(struct lwp *, const struct sys_getrandom_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.89 src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.90 --- src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.89 Mon Sep 20 02:20:31 2021 +++ src/sys/compat/linux/arch/powerpc/linux_syscalls.c Wed Nov 24 18:57:25 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscalls.c,v 1.89 2021/09/20 02:20:31 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.90 2021/11/24 18:57:25 ryo Exp $ */ /* * System call names. @@ -8,7 +8,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.89 2021/09/20 02:20:31 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.90 2021/11/24 18:57:25 ryo Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> @@ -392,7 +392,7 @@ const char *const linux_syscallnames[] = /* 356 */ "#356 (unimplemented sched_getattr)", /* 357 */ "#357 (unimplemented renameat2)", /* 358 */ "#358 (unimplemented seccomp)", - /* 359 */ "#359 (unimplemented getrandom)", + /* 359 */ "getrandom", /* 360 */ "#360 (unimplemented memfd_create)", /* 361 */ "#361 (unimplemented bpf)", /* 362 */ "#362 (unimplemented execveat)", @@ -914,7 +914,7 @@ const char *const altlinux_syscallnames[ /* 356 */ NULL, /* unimplemented sched_getattr */ /* 357 */ NULL, /* unimplemented renameat2 */ /* 358 */ NULL, /* unimplemented seccomp */ - /* 359 */ NULL, /* unimplemented getrandom */ + /* 359 */ NULL, /* getrandom */ /* 360 */ NULL, /* unimplemented memfd_create */ /* 361 */ NULL, /* unimplemented bpf */ /* 362 */ NULL, /* unimplemented execveat */