diff --git a/sys/compat/linux/arch/aarch64/linux_syscall.h b/sys/compat/linux/arch/aarch64/linux_syscall.h index 25f1633555c1..0f6975949b25 100644 --- a/sys/compat/linux/arch/aarch64/linux_syscall.h +++ b/sys/compat/linux/arch/aarch64/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.9 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.10 2023/08/19 17:50:24 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.10 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -72,6 +72,15 @@ /* syscall: "fcntl" ret: "int" args: "int" "int" "void *" */ #define LINUX_SYS_fcntl 25 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 26 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 27 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 28 + /* syscall: "ioctl" ret: "int" args: "int" "u_long" "void *" */ #define LINUX_SYS_ioctl 29 diff --git a/sys/compat/linux/arch/aarch64/linux_syscallargs.h b/sys/compat/linux/arch/aarch64/linux_syscallargs.h index 7e23862de209..65d6545f014f 100644 --- a/sys/compat/linux/arch/aarch64/linux_syscallargs.h +++ b/sys/compat/linux/arch/aarch64/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.9 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.10 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.10 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -170,6 +170,24 @@ struct linux_sys_fcntl_args { }; check_syscall_args(linux_sys_fcntl) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_ioctl_args { syscallarg(int) fd; syscallarg(u_long) com; @@ -1088,6 +1106,12 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_fcntl(struct lwp *, const struct linux_sys_fcntl_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_ioctl(struct lwp *, const struct linux_sys_ioctl_args *, register_t *); int sys_flock(struct lwp *, const struct sys_flock_args *, register_t *); diff --git a/sys/compat/linux/arch/aarch64/linux_syscalls.c b/sys/compat/linux/arch/aarch64/linux_syscalls.c index 4d1a860f7d3f..2e9483ecd153 100644 --- a/sys/compat/linux/arch/aarch64/linux_syscalls.c +++ b/sys/compat/linux/arch/aarch64/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.9 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.10 2023/08/19 17:50:24 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.10 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.9 2023/08/18 19:42:05 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.10 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -66,9 +66,9 @@ const char *const linux_syscallnames[] = { /* 23 */ "dup", /* 24 */ "dup3", /* 25 */ "fcntl", - /* 26 */ "#26 (unimplemented inotify_init1)", - /* 27 */ "#27 (unimplemented inotify_add_watch)", - /* 28 */ "#28 (unimplemented inotify_rm_watch)", + /* 26 */ "inotify_init1", + /* 27 */ "inotify_add_watch", + /* 28 */ "inotify_rm_watch", /* 29 */ "ioctl", /* 30 */ "#30 (unimplemented ioprio_set)", /* 31 */ "#31 (unimplemented ioprio_get)", @@ -604,9 +604,9 @@ const char *const altlinux_syscallnames[] = { /* 23 */ NULL, /* dup */ /* 24 */ NULL, /* dup3 */ /* 25 */ NULL, /* fcntl */ - /* 26 */ NULL, /* unimplemented inotify_init1 */ - /* 27 */ NULL, /* unimplemented inotify_add_watch */ - /* 28 */ NULL, /* unimplemented inotify_rm_watch */ + /* 26 */ NULL, /* inotify_init1 */ + /* 27 */ NULL, /* inotify_add_watch */ + /* 28 */ NULL, /* inotify_rm_watch */ /* 29 */ NULL, /* ioctl */ /* 30 */ NULL, /* unimplemented ioprio_set */ /* 31 */ NULL, /* unimplemented ioprio_get */ diff --git a/sys/compat/linux/arch/aarch64/linux_sysent.c b/sys/compat/linux/arch/aarch64/linux_sysent.c index 159f94292078..ffa6f00dc87f 100644 --- a/sys/compat/linux/arch/aarch64/linux_sysent.c +++ b/sys/compat/linux/arch/aarch64/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.9 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.10 2023/08/19 17:50:24 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.10 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.9 2023/08/18 19:42:05 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.10 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -155,14 +155,18 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_fcntl }, /* 25 = fcntl */ { - .sy_call = linux_sys_nosys, - }, /* 26 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 26 = inotify_init1 */ { - .sy_call = linux_sys_nosys, - }, /* 27 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 27 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 28 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 28 = inotify_rm_watch */ { ns(struct linux_sys_ioctl_args), .sy_flags = SYCALL_ARG_PTR, diff --git a/sys/compat/linux/arch/aarch64/linux_systrace_args.c b/sys/compat/linux/arch/aarch64/linux_systrace_args.c index 81ef3e35a562..1faf91e87759 100644 --- a/sys/compat/linux/arch/aarch64/linux_systrace_args.c +++ b/sys/compat/linux/arch/aarch64/linux_systrace_args.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.9 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.10 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument to DTrace register array conversion. @@ -195,6 +195,30 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 3; break; } + /* linux_sys_inotify_init1 */ + case 26: { + const struct linux_sys_inotify_init1_args *p = params; + iarg[0] = SCARG(p, flags); /* int */ + *n_args = 1; + break; + } + /* linux_sys_inotify_add_watch */ + case 27: { + const struct linux_sys_inotify_add_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, pathname); /* const char * */ + uarg[2] = SCARG(p, mask); /* uint32_t */ + *n_args = 3; + break; + } + /* linux_sys_inotify_rm_watch */ + case 28: { + const struct linux_sys_inotify_rm_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, wd); /* int */ + *n_args = 2; + break; + } /* linux_sys_ioctl */ case 29: { const struct linux_sys_ioctl_args *p = params; @@ -2061,6 +2085,45 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_inotify_init1 */ + case 26: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* linux_sys_inotify_add_watch */ + case 27: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "const char *"; + break; + case 2: + p = "uint32_t"; + break; + default: + break; + }; + break; + /* linux_sys_inotify_rm_watch */ + case 28: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_ioctl */ case 29: switch(ndx) { @@ -4753,6 +4816,21 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_inotify_init1 */ + case 26: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_inotify_add_watch */ + case 27: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_inotify_rm_watch */ + case 28: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_ioctl */ case 29: if (ndx == 0 || ndx == 1) diff --git a/sys/compat/linux/arch/alpha/linux_syscall.h b/sys/compat/linux/arch/alpha/linux_syscall.h index b4a9669d7f82..0daa7211440e 100644 --- a/sys/compat/linux/arch/alpha/linux_syscall.h +++ b/sys/compat/linux/arch/alpha/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.118 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.119 2023/08/19 17:50:24 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.105 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -678,6 +678,15 @@ /* syscall: "waitid" ret: "int" args: "int" "id_t" "linux_siginfo_t *" "int" "struct rusage50 *" */ #define LINUX_SYS_waitid 438 +/* syscall: "inotify_init" ret: "int" args: */ +#define LINUX_SYS_inotify_init 444 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 445 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 446 + /* syscall: "openat" ret: "int" args: "int" "const char *" "int" "..." */ #define LINUX_SYS_openat 450 @@ -762,6 +771,9 @@ /* syscall: "pipe2" ret: "int" args: "int *" "int" */ #define LINUX_SYS_pipe2 488 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 489 + /* syscall: "preadv" ret: "int" args: "int" "const struct iovec *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_preadv 490 diff --git a/sys/compat/linux/arch/alpha/linux_syscallargs.h b/sys/compat/linux/arch/alpha/linux_syscallargs.h index af0d35dbf007..99db2fb13384 100644 --- a/sys/compat/linux/arch/alpha/linux_syscallargs.h +++ b/sys/compat/linux/arch/alpha/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.117 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.118 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.105 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1069,6 +1069,19 @@ struct linux_sys_waitid_args { }; check_syscall_args(linux_sys_waitid) +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_openat_args { syscallarg(int) fd; syscallarg(const char *) path; @@ -1245,6 +1258,11 @@ struct linux_sys_pipe2_args { }; check_syscall_args(linux_sys_pipe2) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + struct linux_sys_preadv_args { syscallarg(int) fd; syscallarg(const struct iovec *) iovp; @@ -1764,6 +1782,12 @@ int linux_sys_fstat64(struct lwp *, const struct linux_sys_fstat64_args *, regis int linux_sys_waitid(struct lwp *, const struct linux_sys_waitid_args *, register_t *); +int linux_sys_inotify_init(struct lwp *, const void *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_openat(struct lwp *, const struct linux_sys_openat_args *, register_t *); int sys_mkdirat(struct lwp *, const struct sys_mkdirat_args *, register_t *); @@ -1820,6 +1844,8 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + int linux_sys_preadv(struct lwp *, const struct linux_sys_preadv_args *, register_t *); int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); diff --git a/sys/compat/linux/arch/alpha/linux_syscalls.c b/sys/compat/linux/arch/alpha/linux_syscalls.c index 079edfd4c347..08e336792385 100644 --- a/sys/compat/linux/arch/alpha/linux_syscalls.c +++ b/sys/compat/linux/arch/alpha/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.119 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.120 2023/08/19 17:50:24 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.105 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.119 2023/08/18 19:42:05 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.120 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -503,9 +503,9 @@ const char *const linux_syscallnames[] = { /* 441 */ "#441 (unimplemented keyctl)", /* 442 */ "#442 (unimplemented ioprio_set)", /* 443 */ "#443 (unimplemented ioprio_get)", - /* 444 */ "#444 (unimplemented inotify_init)", - /* 445 */ "#445 (unimplemented inotify_add_watch)", - /* 446 */ "#446 (unimplemented inotify_rm_watch)", + /* 444 */ "inotify_init", + /* 445 */ "inotify_add_watch", + /* 446 */ "inotify_rm_watch", /* 447 */ "#447 (unimplemented fdatasync)", /* 448 */ "#448 (unimplemented kexec_load)", /* 449 */ "#449 (unimplemented migrate_pages)", @@ -548,7 +548,7 @@ const char *const linux_syscallnames[] = { /* 486 */ "epoll_create1", /* 487 */ "dup3", /* 488 */ "pipe2", - /* 489 */ "#489 (unimplemented inotify_init1)", + /* 489 */ "inotify_init1", /* 490 */ "preadv", /* 491 */ "pwritev", /* 492 */ "#492 (unimplemented rt_tgsigqueueinfo)", @@ -1556,9 +1556,9 @@ const char *const altlinux_syscallnames[] = { /* 441 */ NULL, /* unimplemented keyctl */ /* 442 */ NULL, /* unimplemented ioprio_set */ /* 443 */ NULL, /* unimplemented ioprio_get */ - /* 444 */ NULL, /* unimplemented inotify_init */ - /* 445 */ NULL, /* unimplemented inotify_add_watch */ - /* 446 */ NULL, /* unimplemented inotify_rm_watch */ + /* 444 */ NULL, /* inotify_init */ + /* 445 */ NULL, /* inotify_add_watch */ + /* 446 */ NULL, /* inotify_rm_watch */ /* 447 */ NULL, /* unimplemented fdatasync */ /* 448 */ NULL, /* unimplemented kexec_load */ /* 449 */ NULL, /* unimplemented migrate_pages */ @@ -1601,7 +1601,7 @@ const char *const altlinux_syscallnames[] = { /* 486 */ NULL, /* epoll_create1 */ /* 487 */ NULL, /* dup3 */ /* 488 */ NULL, /* pipe2 */ - /* 489 */ NULL, /* unimplemented inotify_init1 */ + /* 489 */ NULL, /* inotify_init1 */ /* 490 */ NULL, /* preadv */ /* 491 */ NULL, /* pwritev */ /* 492 */ NULL, /* unimplemented rt_tgsigqueueinfo */ diff --git a/sys/compat/linux/arch/alpha/linux_sysent.c b/sys/compat/linux/arch/alpha/linux_sysent.c index 57a59b4de6d5..6d113bb3b521 100644 --- a/sys/compat/linux/arch/alpha/linux_sysent.c +++ b/sys/compat/linux/arch/alpha/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.118 2023/08/18 19:42:05 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.119 2023/08/19 17:50:24 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.105 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.118 2023/08/18 19:42:05 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.119 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -1777,14 +1777,17 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 443 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 444 = filler */ + .sy_call = (sy_call_t *)linux_sys_inotify_init + }, /* 444 = inotify_init */ { - .sy_call = linux_sys_nosys, - }, /* 445 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 445 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 446 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 446 = inotify_rm_watch */ { .sy_call = linux_sys_nosys, }, /* 447 = filler */ @@ -1963,8 +1966,9 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_pipe2 }, /* 488 = pipe2 */ { - .sy_call = linux_sys_nosys, - }, /* 489 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 489 = inotify_init1 */ { ns(struct linux_sys_preadv_args), .sy_flags = SYCALL_ARG_PTR, diff --git a/sys/compat/linux/arch/amd64/linux_syscall.h b/sys/compat/linux/arch/amd64/linux_syscall.h index f817fee1d969..dc1218557498 100644 --- a/sys/compat/linux/arch/amd64/linux_syscall.h +++ b/sys/compat/linux/arch/amd64/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.80 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.81 2023/08/19 17:50:24 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.71 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -624,6 +624,15 @@ /* syscall: "waitid" ret: "int" args: "int" "id_t" "linux_siginfo_t *" "int" "struct rusage50 *" */ #define LINUX_SYS_waitid 247 +/* syscall: "inotify_init" ret: "int" args: */ +#define LINUX_SYS_inotify_init 253 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 254 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 255 + /* syscall: "openat" ret: "int" args: "int" "const char *" "int" "..." */ #define LINUX_SYS_openat 257 @@ -708,6 +717,9 @@ /* syscall: "pipe2" ret: "int" args: "int *" "int" */ #define LINUX_SYS_pipe2 293 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 294 + /* syscall: "preadv" ret: "int" args: "int" "const struct iovec *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_preadv 295 diff --git a/sys/compat/linux/arch/amd64/linux_syscallargs.h b/sys/compat/linux/arch/amd64/linux_syscallargs.h index 7aa2cb9c2152..f605800f6945 100644 --- a/sys/compat/linux/arch/amd64/linux_syscallargs.h +++ b/sys/compat/linux/arch/amd64/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.80 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.81 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.71 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -959,6 +959,19 @@ struct linux_sys_waitid_args { }; check_syscall_args(linux_sys_waitid) +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_openat_args { syscallarg(int) fd; syscallarg(const char *) path; @@ -1134,6 +1147,11 @@ struct linux_sys_pipe2_args { }; check_syscall_args(linux_sys_pipe2) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + struct linux_sys_preadv_args { syscallarg(int) fd; syscallarg(const struct iovec *) iovp; @@ -1627,6 +1645,12 @@ int compat_50_sys_utimes(struct lwp *, const struct compat_50_sys_utimes_args *, int linux_sys_waitid(struct lwp *, const struct linux_sys_waitid_args *, register_t *); +int linux_sys_inotify_init(struct lwp *, const void *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_openat(struct lwp *, const struct linux_sys_openat_args *, register_t *); int sys_mkdirat(struct lwp *, const struct sys_mkdirat_args *, register_t *); @@ -1683,6 +1707,8 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + int linux_sys_preadv(struct lwp *, const struct linux_sys_preadv_args *, register_t *); int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); diff --git a/sys/compat/linux/arch/amd64/linux_syscalls.c b/sys/compat/linux/arch/amd64/linux_syscalls.c index 05328f202a46..f4674a6272a9 100644 --- a/sys/compat/linux/arch/amd64/linux_syscalls.c +++ b/sys/compat/linux/arch/amd64/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.80 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.81 2023/08/19 17:50:24 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.71 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.80 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.81 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -320,9 +320,9 @@ const char *const linux_syscallnames[] = { /* 250 */ "#250 (unimplemented keyctl)", /* 251 */ "#251 (unimplemented ioprio_set)", /* 252 */ "#252 (unimplemented ioprio_get)", - /* 253 */ "#253 (unimplemented inotify_init)", - /* 254 */ "#254 (unimplemented inotify_add_watch)", - /* 255 */ "#255 (unimplemented inotify_rm_watch)", + /* 253 */ "inotify_init", + /* 254 */ "inotify_add_watch", + /* 255 */ "inotify_rm_watch", /* 256 */ "#256 (unimplemented migrate_pages)", /* 257 */ "openat", /* 258 */ "mkdirat", @@ -361,7 +361,7 @@ const char *const linux_syscallnames[] = { /* 291 */ "epoll_create1", /* 292 */ "dup3", /* 293 */ "pipe2", - /* 294 */ "#294 (unimplemented inotify_init1)", + /* 294 */ "inotify_init1", /* 295 */ "preadv", /* 296 */ "pwritev", /* 297 */ "#297 (unimplemented rt_tgsigqueueinfo)", @@ -864,9 +864,9 @@ const char *const altlinux_syscallnames[] = { /* 250 */ NULL, /* unimplemented keyctl */ /* 251 */ NULL, /* unimplemented ioprio_set */ /* 252 */ NULL, /* unimplemented ioprio_get */ - /* 253 */ NULL, /* unimplemented inotify_init */ - /* 254 */ NULL, /* unimplemented inotify_add_watch */ - /* 255 */ NULL, /* unimplemented inotify_rm_watch */ + /* 253 */ NULL, /* inotify_init */ + /* 254 */ NULL, /* inotify_add_watch */ + /* 255 */ NULL, /* inotify_rm_watch */ /* 256 */ NULL, /* unimplemented migrate_pages */ /* 257 */ NULL, /* openat */ /* 258 */ NULL, /* mkdirat */ @@ -905,7 +905,7 @@ const char *const altlinux_syscallnames[] = { /* 291 */ NULL, /* epoll_create1 */ /* 292 */ NULL, /* dup3 */ /* 293 */ NULL, /* pipe2 */ - /* 294 */ NULL, /* unimplemented inotify_init1 */ + /* 294 */ NULL, /* inotify_init1 */ /* 295 */ NULL, /* preadv */ /* 296 */ NULL, /* pwritev */ /* 297 */ NULL, /* unimplemented rt_tgsigqueueinfo */ diff --git a/sys/compat/linux/arch/amd64/linux_sysent.c b/sys/compat/linux/arch/amd64/linux_sysent.c index fc8f83abc95e..b210656e56b4 100644 --- a/sys/compat/linux/arch/amd64/linux_sysent.c +++ b/sys/compat/linux/arch/amd64/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.80 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.81 2023/08/19 17:50:24 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.71 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.80 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.81 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -1167,14 +1167,17 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 252 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 253 = filler */ + .sy_call = (sy_call_t *)linux_sys_inotify_init + }, /* 253 = inotify_init */ { - .sy_call = linux_sys_nosys, - }, /* 254 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 254 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 255 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 255 = inotify_rm_watch */ { .sy_call = linux_sys_nosys, }, /* 256 = filler */ @@ -1341,8 +1344,9 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_pipe2 }, /* 293 = pipe2 */ { - .sy_call = linux_sys_nosys, - }, /* 294 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 294 = inotify_init1 */ { ns(struct linux_sys_preadv_args), .sy_flags = SYCALL_ARG_PTR, diff --git a/sys/compat/linux/arch/amd64/linux_systrace_args.c b/sys/compat/linux/arch/amd64/linux_systrace_args.c index e39ae8d725e1..eb728756051f 100644 --- a/sys/compat/linux/arch/amd64/linux_systrace_args.c +++ b/sys/compat/linux/arch/amd64/linux_systrace_args.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.24 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.25 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1665,6 +1665,28 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 5; break; } + /* linux_sys_inotify_init */ + case 253: { + *n_args = 0; + break; + } + /* linux_sys_inotify_add_watch */ + case 254: { + const struct linux_sys_inotify_add_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, pathname); /* const char * */ + uarg[2] = SCARG(p, mask); /* uint32_t */ + *n_args = 3; + break; + } + /* linux_sys_inotify_rm_watch */ + case 255: { + const struct linux_sys_inotify_rm_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, wd); /* int */ + *n_args = 2; + break; + } /* linux_sys_openat */ case 257: { const struct linux_sys_openat_args *p = params; @@ -1927,6 +1949,13 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 2; break; } + /* linux_sys_inotify_init1 */ + case 294: { + const struct linux_sys_inotify_init1_args *p = params; + iarg[0] = SCARG(p, flags); /* int */ + *n_args = 1; + break; + } /* linux_sys_preadv */ case 295: { const struct linux_sys_preadv_args *p = params; @@ -4767,6 +4796,38 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_inotify_init */ + case 253: + break; + /* linux_sys_inotify_add_watch */ + case 254: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "const char *"; + break; + case 2: + p = "uint32_t"; + break; + default: + break; + }; + break; + /* linux_sys_inotify_rm_watch */ + case 255: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_openat */ case 257: switch(ndx) { @@ -5245,6 +5306,16 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_inotify_init1 */ + case 294: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_preadv */ case 295: switch(ndx) { @@ -6414,6 +6485,18 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_inotify_init */ + case 253: + /* linux_sys_inotify_add_watch */ + case 254: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_inotify_rm_watch */ + case 255: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_openat */ case 257: if (ndx == 0 || ndx == 1) @@ -6554,6 +6637,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_inotify_init1 */ + case 294: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_preadv */ case 295: if (ndx == 0 || ndx == 1) diff --git a/sys/compat/linux/arch/arm/linux_syscall.h b/sys/compat/linux/arch/arm/linux_syscall.h index e454c3ecb6ed..968fc6977828 100644 --- a/sys/compat/linux/arch/arm/linux_syscall.h +++ b/sys/compat/linux/arch/arm/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.91 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.92 2023/08/19 17:50:24 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -682,6 +682,15 @@ /* syscall: "waitid" ret: "int" args: "int" "id_t" "linux_siginfo_t *" "int" "struct rusage50 *" */ #define LINUX_SYS_waitid 280 +/* syscall: "inotify_init" ret: "int" args: */ +#define LINUX_SYS_inotify_init 316 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 317 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 318 + /* syscall: "openat" ret: "int" args: "int" "const char *" "int" "..." */ #define LINUX_SYS_openat 322 @@ -763,6 +772,9 @@ /* syscall: "pipe2" ret: "int" args: "int *" "int" */ #define LINUX_SYS_pipe2 359 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 360 + /* syscall: "preadv" ret: "int" args: "int" "const struct iovec *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_preadv 361 diff --git a/sys/compat/linux/arch/arm/linux_syscallargs.h b/sys/compat/linux/arch/arm/linux_syscallargs.h index ccc83e7c20e1..96b0d7d80a0e 100644 --- a/sys/compat/linux/arch/arm/linux_syscallargs.h +++ b/sys/compat/linux/arch/arm/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.91 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.92 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1033,6 +1033,19 @@ struct linux_sys_waitid_args { }; check_syscall_args(linux_sys_waitid) +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_openat_args { syscallarg(int) fd; syscallarg(const char *) path; @@ -1200,6 +1213,11 @@ struct linux_sys_pipe2_args { }; check_syscall_args(linux_sys_pipe2) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + struct linux_sys_preadv_args { syscallarg(int) fd; syscallarg(const struct iovec *) iovp; @@ -1716,6 +1734,12 @@ int linux_sys_fadvise64_64(struct lwp *, const struct linux_sys_fadvise64_64_arg int linux_sys_waitid(struct lwp *, const struct linux_sys_waitid_args *, register_t *); +int linux_sys_inotify_init(struct lwp *, const void *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_openat(struct lwp *, const struct linux_sys_openat_args *, register_t *); int sys_mkdirat(struct lwp *, const struct sys_mkdirat_args *, register_t *); @@ -1770,6 +1794,8 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + int linux_sys_preadv(struct lwp *, const struct linux_sys_preadv_args *, register_t *); int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); diff --git a/sys/compat/linux/arch/arm/linux_syscalls.c b/sys/compat/linux/arch/arm/linux_syscalls.c index 8ca225e42090..aa9b669c0ed9 100644 --- a/sys/compat/linux/arch/arm/linux_syscalls.c +++ b/sys/compat/linux/arch/arm/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.91 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.92 2023/08/19 17:50:24 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.91 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.92 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #include @@ -351,9 +351,9 @@ const char *const linux_syscallnames[] = { /* 313 */ "#313 (unimplemented vserver)", /* 314 */ "#314 (unimplemented ioptio_set)", /* 315 */ "#315 (unimplemented ioptio_get)", - /* 316 */ "#316 (unimplemented inotify_init)", - /* 317 */ "#317 (unimplemented inotify_add_watch)", - /* 318 */ "#318 (unimplemented inotify_rm_watch)", + /* 316 */ "inotify_init", + /* 317 */ "inotify_add_watch", + /* 318 */ "inotify_rm_watch", /* 319 */ "#319 (unimplemented mbind)", /* 320 */ "#320 (unimplemented get_mempolicy)", /* 321 */ "#321 (unimplemented set_mempolicy)", @@ -395,7 +395,7 @@ const char *const linux_syscallnames[] = { /* 357 */ "epoll_create1", /* 358 */ "dup3", /* 359 */ "pipe2", - /* 360 */ "#360 (unimplemented inotify_init1)", + /* 360 */ "inotify_init1", /* 361 */ "preadv", /* 362 */ "pwritev", /* 363 */ "#363 (unimplemented rt_tgsigqueueinfo)", @@ -873,9 +873,9 @@ const char *const altlinux_syscallnames[] = { /* 313 */ NULL, /* unimplemented vserver */ /* 314 */ NULL, /* unimplemented ioptio_set */ /* 315 */ NULL, /* unimplemented ioptio_get */ - /* 316 */ NULL, /* unimplemented inotify_init */ - /* 317 */ NULL, /* unimplemented inotify_add_watch */ - /* 318 */ NULL, /* unimplemented inotify_rm_watch */ + /* 316 */ NULL, /* inotify_init */ + /* 317 */ NULL, /* inotify_add_watch */ + /* 318 */ NULL, /* inotify_rm_watch */ /* 319 */ NULL, /* unimplemented mbind */ /* 320 */ NULL, /* unimplemented get_mempolicy */ /* 321 */ NULL, /* unimplemented set_mempolicy */ @@ -917,7 +917,7 @@ const char *const altlinux_syscallnames[] = { /* 357 */ NULL, /* epoll_create1 */ /* 358 */ NULL, /* dup3 */ /* 359 */ NULL, /* pipe2 */ - /* 360 */ NULL, /* unimplemented inotify_init1 */ + /* 360 */ NULL, /* inotify_init1 */ /* 361 */ NULL, /* preadv */ /* 362 */ NULL, /* pwritev */ /* 363 */ NULL, /* unimplemented rt_tgsigqueueinfo */ diff --git a/sys/compat/linux/arch/arm/linux_sysent.c b/sys/compat/linux/arch/arm/linux_sysent.c index 204f29081327..131cec1be2f6 100644 --- a/sys/compat/linux/arch/arm/linux_sysent.c +++ b/sys/compat/linux/arch/arm/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.91 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.92 2023/08/19 17:50:24 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.91 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.92 2023/08/19 17:50:24 christos Exp $"); #include #include @@ -1327,14 +1327,17 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 315 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 316 = filler */ + .sy_call = (sy_call_t *)linux_sys_inotify_init + }, /* 316 = inotify_init */ { - .sy_call = linux_sys_nosys, - }, /* 317 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 317 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 318 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 318 = inotify_rm_watch */ { .sy_call = linux_sys_nosys, }, /* 319 = filler */ @@ -1508,8 +1511,9 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_pipe2 }, /* 359 = pipe2 */ { - .sy_call = linux_sys_nosys, - }, /* 360 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 360 = inotify_init1 */ { ns(struct linux_sys_preadv_args), .sy_flags = SYCALL_ARG_PTR, diff --git a/sys/compat/linux/arch/arm/linux_systrace_args.c b/sys/compat/linux/arch/arm/linux_systrace_args.c index dc60c352e069..5ed664d8cc60 100644 --- a/sys/compat/linux/arch/arm/linux_systrace_args.c +++ b/sys/compat/linux/arch/arm/linux_systrace_args.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.24 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.25 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1764,6 +1764,28 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 5; break; } + /* linux_sys_inotify_init */ + case 316: { + *n_args = 0; + break; + } + /* linux_sys_inotify_add_watch */ + case 317: { + const struct linux_sys_inotify_add_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, pathname); /* const char * */ + uarg[2] = SCARG(p, mask); /* uint32_t */ + *n_args = 3; + break; + } + /* linux_sys_inotify_rm_watch */ + case 318: { + const struct linux_sys_inotify_rm_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, wd); /* int */ + *n_args = 2; + break; + } /* linux_sys_openat */ case 322: { const struct linux_sys_openat_args *p = params; @@ -2016,6 +2038,13 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 2; break; } + /* linux_sys_inotify_init1 */ + case 360: { + const struct linux_sys_inotify_init1_args *p = params; + iarg[0] = SCARG(p, flags); /* int */ + *n_args = 1; + break; + } /* linux_sys_preadv */ case 361: { const struct linux_sys_preadv_args *p = params; @@ -4970,6 +4999,38 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_inotify_init */ + case 316: + break; + /* linux_sys_inotify_add_watch */ + case 317: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "const char *"; + break; + case 2: + p = "uint32_t"; + break; + default: + break; + }; + break; + /* linux_sys_inotify_rm_watch */ + case 318: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_openat */ case 322: switch(ndx) { @@ -5429,6 +5490,16 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_inotify_init1 */ + case 360: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_preadv */ case 361: switch(ndx) { @@ -6683,6 +6754,18 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_inotify_init */ + case 316: + /* linux_sys_inotify_add_watch */ + case 317: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_inotify_rm_watch */ + case 318: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_openat */ case 322: if (ndx == 0 || ndx == 1) @@ -6818,6 +6901,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_inotify_init1 */ + case 360: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_preadv */ case 361: if (ndx == 0 || ndx == 1) diff --git a/sys/compat/linux/arch/i386/linux_syscall.h b/sys/compat/linux/arch/i386/linux_syscall.h index ec06a2dd8960..2d392927c3ef 100644 --- a/sys/compat/linux/arch/i386/linux_syscall.h +++ b/sys/compat/linux/arch/i386/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.125 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.126 2023/08/19 17:50:24 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.133 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -704,6 +704,15 @@ /* syscall: "waitid" ret: "int" args: "int" "id_t" "linux_siginfo_t *" "int" "struct rusage50 *" */ #define LINUX_SYS_waitid 284 +/* syscall: "inotify_init" ret: "int" args: */ +#define LINUX_SYS_inotify_init 291 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 292 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 293 + /* syscall: "openat" ret: "int" args: "int" "const char *" "int" "..." */ #define LINUX_SYS_openat 295 @@ -785,6 +794,9 @@ /* syscall: "pipe2" ret: "int" args: "int *" "int" */ #define LINUX_SYS_pipe2 331 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 332 + /* syscall: "preadv" ret: "int" args: "int" "const struct iovec *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_preadv 333 diff --git a/sys/compat/linux/arch/i386/linux_syscallargs.h b/sys/compat/linux/arch/i386/linux_syscallargs.h index 089ce472406c..12f2bac0a234 100644 --- a/sys/compat/linux/arch/i386/linux_syscallargs.h +++ b/sys/compat/linux/arch/i386/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.125 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.126 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.133 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1080,6 +1080,19 @@ struct linux_sys_waitid_args { }; check_syscall_args(linux_sys_waitid) +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_openat_args { syscallarg(int) fd; syscallarg(const char *) path; @@ -1247,6 +1260,11 @@ struct linux_sys_pipe2_args { }; check_syscall_args(linux_sys_pipe2) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + struct linux_sys_preadv_args { syscallarg(int) fd; syscallarg(const struct iovec *) iovp; @@ -1750,6 +1768,12 @@ int linux_sys_fadvise64_64(struct lwp *, const struct linux_sys_fadvise64_64_arg int linux_sys_waitid(struct lwp *, const struct linux_sys_waitid_args *, register_t *); +int linux_sys_inotify_init(struct lwp *, const void *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_openat(struct lwp *, const struct linux_sys_openat_args *, register_t *); int sys_mkdirat(struct lwp *, const struct sys_mkdirat_args *, register_t *); @@ -1804,6 +1828,8 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + int linux_sys_preadv(struct lwp *, const struct linux_sys_preadv_args *, register_t *); int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); diff --git a/sys/compat/linux/arch/i386/linux_syscalls.c b/sys/compat/linux/arch/i386/linux_syscalls.c index 8ac2786340b7..e314ab570cee 100644 --- a/sys/compat/linux/arch/i386/linux_syscalls.c +++ b/sys/compat/linux/arch/i386/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.126 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.127 2023/08/19 17:50:24 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.133 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.126 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.127 2023/08/19 17:50:24 christos Exp $"); #if defined(_KERNEL_OPT) #include @@ -325,9 +325,9 @@ const char *const linux_syscallnames[] = { /* 288 */ "#288 (unimplemented keyctl)", /* 289 */ "#289 (unimplemented ioprio_set)", /* 290 */ "#290 (unimplemented ioprio_get)", - /* 291 */ "#291 (unimplemented inotify_init)", - /* 292 */ "#292 (unimplemented inotify_add_watch)", - /* 293 */ "#293 (unimplemented inotify_rm_watch)", + /* 291 */ "inotify_init", + /* 292 */ "inotify_add_watch", + /* 293 */ "inotify_rm_watch", /* 294 */ "#294 (unimplemented migrate_pages)", /* 295 */ "openat", /* 296 */ "mkdirat", @@ -366,7 +366,7 @@ const char *const linux_syscallnames[] = { /* 329 */ "epoll_create1", /* 330 */ "dup3", /* 331 */ "pipe2", - /* 332 */ "#332 (unimplemented inotify_init1)", + /* 332 */ "inotify_init1", /* 333 */ "preadv", /* 334 */ "pwritev", /* 335 */ "#335 (unimplemented rt_tgsigqueueinfo)", @@ -847,9 +847,9 @@ const char *const altlinux_syscallnames[] = { /* 288 */ NULL, /* unimplemented keyctl */ /* 289 */ NULL, /* unimplemented ioprio_set */ /* 290 */ NULL, /* unimplemented ioprio_get */ - /* 291 */ NULL, /* unimplemented inotify_init */ - /* 292 */ NULL, /* unimplemented inotify_add_watch */ - /* 293 */ NULL, /* unimplemented inotify_rm_watch */ + /* 291 */ NULL, /* inotify_init */ + /* 292 */ NULL, /* inotify_add_watch */ + /* 293 */ NULL, /* inotify_rm_watch */ /* 294 */ NULL, /* unimplemented migrate_pages */ /* 295 */ NULL, /* openat */ /* 296 */ NULL, /* mkdirat */ @@ -888,7 +888,7 @@ const char *const altlinux_syscallnames[] = { /* 329 */ NULL, /* epoll_create1 */ /* 330 */ NULL, /* dup3 */ /* 331 */ NULL, /* pipe2 */ - /* 332 */ NULL, /* unimplemented inotify_init1 */ + /* 332 */ NULL, /* inotify_init1 */ /* 333 */ NULL, /* preadv */ /* 334 */ NULL, /* pwritev */ /* 335 */ NULL, /* unimplemented rt_tgsigqueueinfo */ diff --git a/sys/compat/linux/arch/i386/linux_sysent.c b/sys/compat/linux/arch/i386/linux_sysent.c index db3d535019f6..1669f227b266 100644 --- a/sys/compat/linux/arch/i386/linux_sysent.c +++ b/sys/compat/linux/arch/i386/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.125 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.126 2023/08/19 17:50:24 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.133 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.125 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.126 2023/08/19 17:50:24 christos Exp $"); #include #include @@ -1265,14 +1265,17 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 290 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 291 = filler */ + .sy_call = (sy_call_t *)linux_sys_inotify_init + }, /* 291 = inotify_init */ { - .sy_call = linux_sys_nosys, - }, /* 292 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 292 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 293 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 293 = inotify_rm_watch */ { .sy_call = linux_sys_nosys, }, /* 294 = filler */ @@ -1437,8 +1440,9 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_pipe2 }, /* 331 = pipe2 */ { - .sy_call = linux_sys_nosys, - }, /* 332 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 332 = inotify_init1 */ { ns(struct linux_sys_preadv_args), .sy_flags = SYCALL_ARG_PTR, diff --git a/sys/compat/linux/arch/i386/linux_systrace_args.c b/sys/compat/linux/arch/i386/linux_systrace_args.c index 1594ded95853..3f282be24115 100644 --- a/sys/compat/linux/arch/i386/linux_systrace_args.c +++ b/sys/compat/linux/arch/i386/linux_systrace_args.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.20 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.21 2023/08/19 17:50:24 christos Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1827,6 +1827,28 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 5; break; } + /* linux_sys_inotify_init */ + case 291: { + *n_args = 0; + break; + } + /* linux_sys_inotify_add_watch */ + case 292: { + const struct linux_sys_inotify_add_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, pathname); /* const char * */ + uarg[2] = SCARG(p, mask); /* uint32_t */ + *n_args = 3; + break; + } + /* linux_sys_inotify_rm_watch */ + case 293: { + const struct linux_sys_inotify_rm_watch_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, wd); /* int */ + *n_args = 2; + break; + } /* linux_sys_openat */ case 295: { const struct linux_sys_openat_args *p = params; @@ -2079,6 +2101,13 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 2; break; } + /* linux_sys_inotify_init1 */ + case 332: { + const struct linux_sys_inotify_init1_args *p = params; + iarg[0] = SCARG(p, flags); /* int */ + *n_args = 1; + break; + } /* linux_sys_preadv */ case 333: { const struct linux_sys_preadv_args *p = params; @@ -5099,6 +5128,38 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_inotify_init */ + case 291: + break; + /* linux_sys_inotify_add_watch */ + case 292: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "const char *"; + break; + case 2: + p = "uint32_t"; + break; + default: + break; + }; + break; + /* linux_sys_inotify_rm_watch */ + case 293: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_openat */ case 295: switch(ndx) { @@ -5558,6 +5619,16 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_inotify_init1 */ + case 332: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_preadv */ case 333: switch(ndx) { @@ -6792,6 +6863,18 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_inotify_init */ + case 291: + /* linux_sys_inotify_add_watch */ + case 292: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_inotify_rm_watch */ + case 293: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_openat */ case 295: if (ndx == 0 || ndx == 1) @@ -6927,6 +7010,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_inotify_init1 */ + case 332: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_preadv */ case 333: if (ndx == 0 || ndx == 1) diff --git a/sys/compat/linux/arch/m68k/linux_syscall.h b/sys/compat/linux/arch/m68k/linux_syscall.h index 09c77ed0772d..d23d190a4a07 100644 --- a/sys/compat/linux/arch/m68k/linux_syscall.h +++ b/sys/compat/linux/arch/m68k/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.116 2023/07/29 15:05:46 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.117 2023/08/19 17:50:25 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp + * created from NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -684,6 +684,15 @@ /* syscall: "fadvise64_64" ret: "int" args: "int" "off_t" "off_t" "int" */ #define LINUX_SYS_fadvise64_64 267 +/* syscall: "inotify_init" ret: "int" args: */ +#define LINUX_SYS_inotify_init 284 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 285 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 286 + /* syscall: "openat" ret: "int" args: "int" "const char *" "int" "..." */ #define LINUX_SYS_openat 288 @@ -771,6 +780,9 @@ /* syscall: "pipe2" ret: "int" args: "int *" "int" */ #define LINUX_SYS_pipe2 327 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 328 + /* syscall: "preadv" ret: "int" args: "int" "const struct iovec *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_preadv 329 diff --git a/sys/compat/linux/arch/m68k/linux_syscallargs.h b/sys/compat/linux/arch/m68k/linux_syscallargs.h index 4e9cd527640d..1171c560dfab 100644 --- a/sys/compat/linux/arch/m68k/linux_syscallargs.h +++ b/sys/compat/linux/arch/m68k/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.115 2023/07/29 15:05:46 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.116 2023/08/19 17:50:25 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp + * created from NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1018,6 +1018,19 @@ struct linux_sys_fadvise64_64_args { }; check_syscall_args(linux_sys_fadvise64_64) +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_openat_args { syscallarg(int) fd; syscallarg(const char *) path; @@ -1199,6 +1212,11 @@ struct linux_sys_pipe2_args { }; check_syscall_args(linux_sys_pipe2) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + struct linux_sys_preadv_args { syscallarg(int) fd; syscallarg(const struct iovec *) iovp; @@ -1711,6 +1729,12 @@ int compat_50_sys_utimes(struct lwp *, const struct compat_50_sys_utimes_args *, int linux_sys_fadvise64_64(struct lwp *, const struct linux_sys_fadvise64_64_args *, register_t *); +int linux_sys_inotify_init(struct lwp *, const void *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_openat(struct lwp *, const struct linux_sys_openat_args *, register_t *); int sys_mkdirat(struct lwp *, const struct sys_mkdirat_args *, register_t *); @@ -1769,6 +1793,8 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + int linux_sys_preadv(struct lwp *, const struct linux_sys_preadv_args *, register_t *); int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); diff --git a/sys/compat/linux/arch/m68k/linux_syscalls.c b/sys/compat/linux/arch/m68k/linux_syscalls.c index dfeb323d387c..0f924f1051f4 100644 --- a/sys/compat/linux/arch/m68k/linux_syscalls.c +++ b/sys/compat/linux/arch/m68k/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.116 2023/07/29 15:05:46 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.117 2023/08/19 17:50:25 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp + * created from NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.116 2023/07/29 15:05:46 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.117 2023/08/19 17:50:25 christos Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -338,9 +338,9 @@ const char *const linux_syscallnames[] = { /* 281 */ "#281 (unimplemented keyctl)", /* 282 */ "#282 (unimplemented ioprio_set)", /* 283 */ "#283 (unimplemented ioprio_get)", - /* 284 */ "#284 (unimplemented inotify_init)", - /* 285 */ "#285 (unimplemented inotify_add_watch)", - /* 286 */ "#286 (unimplemented inotify_rm_watch)", + /* 284 */ "inotify_init", + /* 285 */ "inotify_add_watch", + /* 286 */ "inotify_rm_watch", /* 287 */ "#287 (unimplemented migrate_pages)", /* 288 */ "openat", /* 289 */ "mkdirat", @@ -382,7 +382,7 @@ const char *const linux_syscallnames[] = { /* 325 */ "epoll_create1", /* 326 */ "dup3", /* 327 */ "pipe2", - /* 328 */ "#328 (unimplemented inotify_init1)", + /* 328 */ "inotify_init1", /* 329 */ "preadv", /* 330 */ "pwritev", /* 331 */ "#331 (unimplemented rt_tgsigqueueinfo)", @@ -876,9 +876,9 @@ const char *const altlinux_syscallnames[] = { /* 281 */ NULL, /* unimplemented keyctl */ /* 282 */ NULL, /* unimplemented ioprio_set */ /* 283 */ NULL, /* unimplemented ioprio_get */ - /* 284 */ NULL, /* unimplemented inotify_init */ - /* 285 */ NULL, /* unimplemented inotify_add_watch */ - /* 286 */ NULL, /* unimplemented inotify_rm_watch */ + /* 284 */ NULL, /* inotify_init */ + /* 285 */ NULL, /* inotify_add_watch */ + /* 286 */ NULL, /* inotify_rm_watch */ /* 287 */ NULL, /* unimplemented migrate_pages */ /* 288 */ NULL, /* openat */ /* 289 */ NULL, /* mkdirat */ @@ -920,7 +920,7 @@ const char *const altlinux_syscallnames[] = { /* 325 */ NULL, /* epoll_create1 */ /* 326 */ NULL, /* dup3 */ /* 327 */ NULL, /* pipe2 */ - /* 328 */ NULL, /* unimplemented inotify_init1 */ + /* 328 */ NULL, /* inotify_init1 */ /* 329 */ NULL, /* preadv */ /* 330 */ NULL, /* pwritev */ /* 331 */ NULL, /* unimplemented rt_tgsigqueueinfo */ diff --git a/sys/compat/linux/arch/m68k/linux_sysent.c b/sys/compat/linux/arch/m68k/linux_sysent.c index 11f754f73928..710c7fa83db1 100644 --- a/sys/compat/linux/arch/m68k/linux_sysent.c +++ b/sys/compat/linux/arch/m68k/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.116 2023/07/29 15:05:46 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.117 2023/08/19 17:50:25 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 christos Exp + * created from NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.116 2023/07/29 15:05:46 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.117 2023/08/19 17:50:25 christos Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -1248,14 +1248,17 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 283 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 284 = filler */ + .sy_call = (sy_call_t *)linux_sys_inotify_init + }, /* 284 = inotify_init */ { - .sy_call = linux_sys_nosys, - }, /* 285 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 285 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 286 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 286 = inotify_rm_watch */ { .sy_call = linux_sys_nosys, }, /* 287 = filler */ @@ -1433,8 +1436,9 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_pipe2 }, /* 327 = pipe2 */ { - .sy_call = linux_sys_nosys, - }, /* 328 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 328 = inotify_init1 */ { ns(struct linux_sys_preadv_args), .sy_flags = SYCALL_ARG_PTR, diff --git a/sys/compat/linux/arch/mips/linux_syscall.h b/sys/compat/linux/arch/mips/linux_syscall.h index 5c17fd2fedc6..420d6e39b79e 100644 --- a/sys/compat/linux/arch/mips/linux_syscall.h +++ b/sys/compat/linux/arch/mips/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.89 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.90 2023/08/19 17:50:25 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -661,6 +661,15 @@ /* syscall: "set_thread_area" ret: "int" args: "void *" */ #define LINUX_SYS_set_thread_area 283 +/* syscall: "inotify_init" ret: "int" args: */ +#define LINUX_SYS_inotify_init 284 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 285 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 286 + /* syscall: "openat" ret: "int" args: "int" "const char *" "int" "..." */ #define LINUX_SYS_openat 288 @@ -742,6 +751,9 @@ /* syscall: "pipe2" ret: "int" args: "int *" "int" */ #define LINUX_SYS_pipe2 328 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 329 + /* syscall: "preadv" ret: "int" args: "int" "const struct iovec *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_preadv 330 diff --git a/sys/compat/linux/arch/mips/linux_syscallargs.h b/sys/compat/linux/arch/mips/linux_syscallargs.h index 41cea7ffc71c..8385591c42aa 100644 --- a/sys/compat/linux/arch/mips/linux_syscallargs.h +++ b/sys/compat/linux/arch/mips/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.88 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.89 2023/08/19 17:50:25 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1079,6 +1079,19 @@ struct linux_sys_set_thread_area_args { }; check_syscall_args(linux_sys_set_thread_area) +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_openat_args { syscallarg(int) fd; syscallarg(const char *) path; @@ -1246,6 +1259,11 @@ struct linux_sys_pipe2_args { }; check_syscall_args(linux_sys_pipe2) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + struct linux_sys_preadv_args { syscallarg(int) fd; syscallarg(const struct iovec *) iovp; @@ -1764,6 +1782,12 @@ int linux_sys_waitid(struct lwp *, const struct linux_sys_waitid_args *, registe int linux_sys_set_thread_area(struct lwp *, const struct linux_sys_set_thread_area_args *, register_t *); +int linux_sys_inotify_init(struct lwp *, const void *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_openat(struct lwp *, const struct linux_sys_openat_args *, register_t *); int sys_mkdirat(struct lwp *, const struct sys_mkdirat_args *, register_t *); @@ -1818,6 +1842,8 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + int linux_sys_preadv(struct lwp *, const struct linux_sys_preadv_args *, register_t *); int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); diff --git a/sys/compat/linux/arch/mips/linux_syscalls.c b/sys/compat/linux/arch/mips/linux_syscalls.c index 65b41f916aa9..4f42675caf3d 100644 --- a/sys/compat/linux/arch/mips/linux_syscalls.c +++ b/sys/compat/linux/arch/mips/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.88 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.89 2023/08/19 17:50:25 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.88 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.89 2023/08/19 17:50:25 christos Exp $"); #if defined(_KERNEL_OPT) #include @@ -314,9 +314,9 @@ const char *const linux_syscallnames[] = { /* 281 */ "#281 (unimplemented request_key)", /* 282 */ "#282 (unimplemented keyctl)", /* 283 */ "set_thread_area", - /* 284 */ "#284 (unimplemented inotify_init)", - /* 285 */ "#285 (unimplemented inotify_add_watch)", - /* 286 */ "#286 (unimplemented inotify_rm_watch)", + /* 284 */ "inotify_init", + /* 285 */ "inotify_add_watch", + /* 286 */ "inotify_rm_watch", /* 287 */ "#287 (unimplemented migrate_pages)", /* 288 */ "openat", /* 289 */ "mkdirat", @@ -359,7 +359,7 @@ const char *const linux_syscallnames[] = { /* 326 */ "epoll_create1", /* 327 */ "dup3", /* 328 */ "pipe2", - /* 329 */ "#329 (unimplemented inotify_init1)", + /* 329 */ "inotify_init1", /* 330 */ "preadv", /* 331 */ "pwritev", /* 332 */ "#332 (unimplemented rt_tgsigqueueinfo)", @@ -831,9 +831,9 @@ const char *const altlinux_syscallnames[] = { /* 281 */ NULL, /* unimplemented request_key */ /* 282 */ NULL, /* unimplemented keyctl */ /* 283 */ NULL, /* set_thread_area */ - /* 284 */ NULL, /* unimplemented inotify_init */ - /* 285 */ NULL, /* unimplemented inotify_add_watch */ - /* 286 */ NULL, /* unimplemented inotify_rm_watch */ + /* 284 */ NULL, /* inotify_init */ + /* 285 */ NULL, /* inotify_add_watch */ + /* 286 */ NULL, /* inotify_rm_watch */ /* 287 */ NULL, /* unimplemented migrate_pages */ /* 288 */ NULL, /* openat */ /* 289 */ NULL, /* mkdirat */ @@ -876,7 +876,7 @@ const char *const altlinux_syscallnames[] = { /* 326 */ NULL, /* epoll_create1 */ /* 327 */ NULL, /* dup3 */ /* 328 */ NULL, /* pipe2 */ - /* 329 */ NULL, /* unimplemented inotify_init1 */ + /* 329 */ NULL, /* inotify_init1 */ /* 330 */ NULL, /* preadv */ /* 331 */ NULL, /* pwritev */ /* 332 */ NULL, /* unimplemented rt_tgsigqueueinfo */ diff --git a/sys/compat/linux/arch/mips/linux_sysent.c b/sys/compat/linux/arch/mips/linux_sysent.c index b1f48620cf4d..ec2ce71dd949 100644 --- a/sys/compat/linux/arch/mips/linux_sysent.c +++ b/sys/compat/linux/arch/mips/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.88 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.89 2023/08/19 17:50:25 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.88 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.89 2023/08/19 17:50:25 christos Exp $"); #include #include @@ -1232,14 +1232,17 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_set_thread_area }, /* 283 = set_thread_area */ { - .sy_call = linux_sys_nosys, - }, /* 284 = filler */ + .sy_call = (sy_call_t *)linux_sys_inotify_init + }, /* 284 = inotify_init */ { - .sy_call = linux_sys_nosys, - }, /* 285 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 285 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 286 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 286 = inotify_rm_watch */ { .sy_call = linux_sys_nosys, }, /* 287 = filler */ @@ -1416,8 +1419,9 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_pipe2 }, /* 328 = pipe2 */ { - .sy_call = linux_sys_nosys, - }, /* 329 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 329 = inotify_init1 */ { ns(struct linux_sys_preadv_args), .sy_flags = SYCALL_ARG_PTR, diff --git a/sys/compat/linux/arch/powerpc/linux_syscall.h b/sys/compat/linux/arch/powerpc/linux_syscall.h index 8e01d7d35eb3..a6509d6bb9e0 100644 --- a/sys/compat/linux/arch/powerpc/linux_syscall.h +++ b/sys/compat/linux/arch/powerpc/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.95 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.96 2023/08/19 17:50:25 christos Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.83 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -630,6 +630,15 @@ /* syscall: "waitid" ret: "int" args: "int" "id_t" "linux_siginfo_t *" "int" "struct rusage50 *" */ #define LINUX_SYS_waitid 272 +/* syscall: "inotify_init" ret: "int" args: */ +#define LINUX_SYS_inotify_init 275 + +/* syscall: "inotify_add_watch" ret: "int" args: "int" "const char *" "uint32_t" */ +#define LINUX_SYS_inotify_add_watch 276 + +/* syscall: "inotify_rm_watch" ret: "int" args: "int" "int" */ +#define LINUX_SYS_inotify_rm_watch 277 + /* syscall: "pselect6" ret: "int" args: "int" "fd_set *" "fd_set *" "fd_set *" "struct linux_timespec *" "linux_sized_sigset_t *" */ #define LINUX_SYS_pselect6 280 @@ -711,6 +720,9 @@ /* syscall: "pipe2" ret: "int" args: "int *" "int" */ #define LINUX_SYS_pipe2 317 +/* syscall: "inotify_init1" ret: "int" args: "int" */ +#define LINUX_SYS_inotify_init1 318 + /* syscall: "preadv" ret: "int" args: "int" "const struct iovec *" "int" "unsigned long" "unsigned long" */ #define LINUX_SYS_preadv 320 diff --git a/sys/compat/linux/arch/powerpc/linux_syscallargs.h b/sys/compat/linux/arch/powerpc/linux_syscallargs.h index 72b46ad3f283..e9c81067c679 100644 --- a/sys/compat/linux/arch/powerpc/linux_syscallargs.h +++ b/sys/compat/linux/arch/powerpc/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.94 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.95 2023/08/19 17:50:25 christos Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.83 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -966,6 +966,19 @@ struct linux_sys_waitid_args { }; check_syscall_args(linux_sys_waitid) +struct linux_sys_inotify_add_watch_args { + syscallarg(int) fd; + syscallarg(const char *) pathname; + syscallarg(uint32_t) mask; +}; +check_syscall_args(linux_sys_inotify_add_watch) + +struct linux_sys_inotify_rm_watch_args { + syscallarg(int) fd; + syscallarg(int) wd; +}; +check_syscall_args(linux_sys_inotify_rm_watch) + struct linux_sys_pselect6_args { syscallarg(int) nfds; syscallarg(fd_set *) readfds; @@ -1133,6 +1146,11 @@ struct linux_sys_pipe2_args { }; check_syscall_args(linux_sys_pipe2) +struct linux_sys_inotify_init1_args { + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_inotify_init1) + struct linux_sys_preadv_args { syscallarg(int) fd; syscallarg(const struct iovec *) iovp; @@ -1621,6 +1639,12 @@ int linux_sys_fadvise64_64(struct lwp *, const struct linux_sys_fadvise64_64_arg int linux_sys_waitid(struct lwp *, const struct linux_sys_waitid_args *, register_t *); +int linux_sys_inotify_init(struct lwp *, const void *, register_t *); + +int linux_sys_inotify_add_watch(struct lwp *, const struct linux_sys_inotify_add_watch_args *, register_t *); + +int linux_sys_inotify_rm_watch(struct lwp *, const struct linux_sys_inotify_rm_watch_args *, register_t *); + int linux_sys_pselect6(struct lwp *, const struct linux_sys_pselect6_args *, register_t *); int linux_sys_ppoll(struct lwp *, const struct linux_sys_ppoll_args *, register_t *); @@ -1675,6 +1699,8 @@ int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); +int linux_sys_inotify_init1(struct lwp *, const struct linux_sys_inotify_init1_args *, register_t *); + int linux_sys_preadv(struct lwp *, const struct linux_sys_preadv_args *, register_t *); int linux_sys_pwritev(struct lwp *, const struct linux_sys_pwritev_args *, register_t *); diff --git a/sys/compat/linux/arch/powerpc/linux_syscalls.c b/sys/compat/linux/arch/powerpc/linux_syscalls.c index b0b8d38e7ce6..0aacd9b8790a 100644 --- a/sys/compat/linux/arch/powerpc/linux_syscalls.c +++ b/sys/compat/linux/arch/powerpc/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.94 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.95 2023/08/19 17:50:25 christos Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.83 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.94 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.95 2023/08/19 17:50:25 christos Exp $"); #if defined(_KERNEL_OPT) #include @@ -308,9 +308,9 @@ const char *const linux_syscallnames[] = { /* 272 */ "waitid", /* 273 */ "#273 (unimplemented ioprio_set)", /* 274 */ "#274 (unimplemented ioprio_get)", - /* 275 */ "#275 (unimplemented inotify_init)", - /* 276 */ "#276 (unimplemented inotify_add_watch)", - /* 277 */ "#277 (unimplemented inotify_rm_watch)", + /* 275 */ "inotify_init", + /* 276 */ "inotify_add_watch", + /* 277 */ "inotify_rm_watch", /* 278 */ "#278 (unimplemented spu_run)", /* 279 */ "#279 (unimplemented spu_create)", /* 280 */ "pselect6", @@ -351,7 +351,7 @@ const char *const linux_syscallnames[] = { /* 315 */ "epoll_create1", /* 316 */ "dup3", /* 317 */ "pipe2", - /* 318 */ "#318 (unimplemented inotify_init1)", + /* 318 */ "inotify_init1", /* 319 */ "#319 (unimplemented perf_event_open)", /* 320 */ "preadv", /* 321 */ "pwritev", @@ -830,9 +830,9 @@ const char *const altlinux_syscallnames[] = { /* 272 */ NULL, /* waitid */ /* 273 */ NULL, /* unimplemented ioprio_set */ /* 274 */ NULL, /* unimplemented ioprio_get */ - /* 275 */ NULL, /* unimplemented inotify_init */ - /* 276 */ NULL, /* unimplemented inotify_add_watch */ - /* 277 */ NULL, /* unimplemented inotify_rm_watch */ + /* 275 */ NULL, /* inotify_init */ + /* 276 */ NULL, /* inotify_add_watch */ + /* 277 */ NULL, /* inotify_rm_watch */ /* 278 */ NULL, /* unimplemented spu_run */ /* 279 */ NULL, /* unimplemented spu_create */ /* 280 */ NULL, /* pselect6 */ @@ -873,7 +873,7 @@ const char *const altlinux_syscallnames[] = { /* 315 */ NULL, /* epoll_create1 */ /* 316 */ NULL, /* dup3 */ /* 317 */ NULL, /* pipe2 */ - /* 318 */ NULL, /* unimplemented inotify_init1 */ + /* 318 */ NULL, /* inotify_init1 */ /* 319 */ NULL, /* unimplemented perf_event_open */ /* 320 */ NULL, /* preadv */ /* 321 */ NULL, /* pwritev */ diff --git a/sys/compat/linux/arch/powerpc/linux_sysent.c b/sys/compat/linux/arch/powerpc/linux_sysent.c index dbf331b5982f..7f2b50fdbc86 100644 --- a/sys/compat/linux/arch/powerpc/linux_sysent.c +++ b/sys/compat/linux/arch/powerpc/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.95 2023/08/18 19:42:06 christos Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.96 2023/08/19 17:50:25 christos Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.83 2023/08/18 19:41:19 christos Exp + * created from NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.95 2023/08/18 19:42:06 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.96 2023/08/19 17:50:25 christos Exp $"); #include #include @@ -1184,14 +1184,17 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 274 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 275 = filler */ + .sy_call = (sy_call_t *)linux_sys_inotify_init + }, /* 275 = inotify_init */ { - .sy_call = linux_sys_nosys, - }, /* 276 = filler */ + ns(struct linux_sys_inotify_add_watch_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_inotify_add_watch + }, /* 276 = inotify_add_watch */ { - .sy_call = linux_sys_nosys, - }, /* 277 = filler */ + ns(struct linux_sys_inotify_rm_watch_args), + .sy_call = (sy_call_t *)linux_sys_inotify_rm_watch + }, /* 277 = inotify_rm_watch */ { .sy_call = linux_sys_nosys, }, /* 278 = filler */ @@ -1362,8 +1365,9 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_pipe2 }, /* 317 = pipe2 */ { - .sy_call = linux_sys_nosys, - }, /* 318 = filler */ + ns(struct linux_sys_inotify_init1_args), + .sy_call = (sy_call_t *)linux_sys_inotify_init1 + }, /* 318 = inotify_init1 */ { .sy_call = linux_sys_nosys, }, /* 319 = filler */