git: bfe9e97a23af - main - Regen

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Sat, 31 May 2025 19:52:59 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=bfe9e97a23af40f9d6343c92f6adf137b2ca23f1

commit bfe9e97a23af40f9d6343c92f6adf137b2ca23f1
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-05-23 05:07:21 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-05-31 19:52:42 +0000

    Regen
---
 lib/libsys/_libsys.h                           |  2 ++
 lib/libsys/syscalls.map                        |  2 ++
 sys/compat/freebsd32/freebsd32_syscall.h       |  3 ++-
 sys/compat/freebsd32/freebsd32_syscalls.c      |  1 +
 sys/compat/freebsd32/freebsd32_sysent.c        |  1 +
 sys/compat/freebsd32/freebsd32_systrace_args.c | 30 ++++++++++++++++++++++++++
 sys/kern/init_sysent.c                         |  1 +
 sys/kern/syscalls.c                            |  1 +
 sys/kern/systrace_args.c                       | 30 ++++++++++++++++++++++++++
 sys/sys/syscall.h                              |  3 ++-
 sys/sys/syscall.mk                             |  3 ++-
 sys/sys/sysproto.h                             |  7 ++++++
 12 files changed, 81 insertions(+), 3 deletions(-)

diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h
index d06017edf6d9..e2a8f2253814 100644
--- a/lib/libsys/_libsys.h
+++ b/lib/libsys/_libsys.h
@@ -465,6 +465,7 @@ typedef int (__sys_kcmp_t)(pid_t, pid_t, int, uintptr_t, uintptr_t);
 typedef int (__sys_getrlimitusage_t)(u_int, int, rlim_t *);
 typedef int (__sys_fchroot_t)(int);
 typedef int (__sys_setcred_t)(u_int, const struct setcred *, size_t);
+typedef int (__sys_exterrctl_t)(u_int, u_int, void *);
 
 void __sys_exit(int rval);
 int __sys_fork(void);
@@ -866,6 +867,7 @@ int __sys_kcmp(pid_t pid1, pid_t pid2, int type, uintptr_t idx1, uintptr_t idx2)
 int __sys_getrlimitusage(u_int which, int flags, rlim_t * res);
 int __sys_fchroot(int fd);
 int __sys_setcred(u_int flags, const struct setcred * wcred, size_t size);
+int __sys_exterrctl(u_int op, u_int flags, void * ptr);
 __END_DECLS
 
 #endif /* __LIBSYS_H_ */
diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map
index 474df2cd8b1c..51be88203c17 100644
--- a/lib/libsys/syscalls.map
+++ b/lib/libsys/syscalls.map
@@ -807,4 +807,6 @@ FBSDprivate_1.0 {
 	__sys_fchroot;
 	_setcred;
 	__sys_setcred;
+	_exterrctl;
+	__sys_exterrctl;
 };
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 37be6137289e..eaa086188b5f 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -510,4 +510,5 @@
 #define	FREEBSD32_SYS_getrlimitusage	589
 #define	FREEBSD32_SYS_fchroot	590
 #define	FREEBSD32_SYS_freebsd32_setcred	591
-#define	FREEBSD32_SYS_MAXSYSCALL	592
+#define	FREEBSD32_SYS_exterrctl	592
+#define	FREEBSD32_SYS_MAXSYSCALL	593
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 45d5563d6660..989f32a5c6f0 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -597,4 +597,5 @@ const char *freebsd32_syscallnames[] = {
 	"getrlimitusage",			/* 589 = getrlimitusage */
 	"fchroot",			/* 590 = fchroot */
 	"freebsd32_setcred",			/* 591 = freebsd32_setcred */
+	"exterrctl",			/* 592 = exterrctl */
 };
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 321d2264b65e..476fe2ac3f80 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -659,4 +659,5 @@ struct sysent freebsd32_sysent[] = {
 	{ .sy_narg = AS(getrlimitusage_args), .sy_call = (sy_call_t *)sys_getrlimitusage, .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 589 = getrlimitusage */
 	{ .sy_narg = AS(fchroot_args), .sy_call = (sy_call_t *)sys_fchroot, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 590 = fchroot */
 	{ .sy_narg = AS(freebsd32_setcred_args), .sy_call = (sy_call_t *)freebsd32_setcred, .sy_auevent = AUE_SETCRED, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 591 = freebsd32_setcred */
+	{ .sy_narg = AS(exterrctl_args), .sy_call = (sy_call_t *)sys_exterrctl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 592 = exterrctl */
 };
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index 6ffb00784d10..cf08938cd5de 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -3386,6 +3386,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 		*n_args = 3;
 		break;
 	}
+	/* exterrctl */
+	case 592: {
+		struct exterrctl_args *p = params;
+		uarg[a++] = p->op; /* u_int */
+		uarg[a++] = p->flags; /* u_int */
+		uarg[a++] = (intptr_t)p->ptr; /* void * */
+		*n_args = 3;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9147,6 +9156,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 			break;
 		};
 		break;
+	/* exterrctl */
+	case 592:
+		switch (ndx) {
+		case 0:
+			p = "u_int";
+			break;
+		case 1:
+			p = "u_int";
+			break;
+		case 2:
+			p = "userland void *";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -11040,6 +11065,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* exterrctl */
+	case 592:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	default:
 		break;
 	};
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index f34fae00f532..a48a513aa3b5 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -658,4 +658,5 @@ struct sysent sysent[] = {
 	{ .sy_narg = AS(getrlimitusage_args), .sy_call = (sy_call_t *)sys_getrlimitusage, .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 589 = getrlimitusage */
 	{ .sy_narg = AS(fchroot_args), .sy_call = (sy_call_t *)sys_fchroot, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 590 = fchroot */
 	{ .sy_narg = AS(setcred_args), .sy_call = (sy_call_t *)sys_setcred, .sy_auevent = AUE_SETCRED, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 591 = setcred */
+	{ .sy_narg = AS(exterrctl_args), .sy_call = (sy_call_t *)sys_exterrctl, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 592 = exterrctl */
 };
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index f8543cfa611d..fa36cc824078 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -597,4 +597,5 @@ const char *syscallnames[] = {
 	"getrlimitusage",			/* 589 = getrlimitusage */
 	"fchroot",			/* 590 = fchroot */
 	"setcred",			/* 591 = setcred */
+	"exterrctl",			/* 592 = exterrctl */
 };
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c
index d1877f3c9333..15789d3eb5fa 100644
--- a/sys/kern/systrace_args.c
+++ b/sys/kern/systrace_args.c
@@ -3473,6 +3473,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 		*n_args = 3;
 		break;
 	}
+	/* exterrctl */
+	case 592: {
+		struct exterrctl_args *p = params;
+		uarg[a++] = p->op; /* u_int */
+		uarg[a++] = p->flags; /* u_int */
+		uarg[a++] = (intptr_t)p->ptr; /* void * */
+		*n_args = 3;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9292,6 +9301,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 			break;
 		};
 		break;
+	/* exterrctl */
+	case 592:
+		switch (ndx) {
+		case 0:
+			p = "u_int";
+			break;
+		case 1:
+			p = "u_int";
+			break;
+		case 2:
+			p = "userland void *";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -11275,6 +11300,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* exterrctl */
+	case 592:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	default:
 		break;
 	};
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index 1e1a36c8951b..68406a2dfc29 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -528,4 +528,5 @@
 #define	SYS_getrlimitusage	589
 #define	SYS_fchroot	590
 #define	SYS_setcred	591
-#define	SYS_MAXSYSCALL	592
+#define	SYS_exterrctl	592
+#define	SYS_MAXSYSCALL	593
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index d1f2b0e2dbb7..9a90a63f35a3 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -433,4 +433,5 @@ MIASM =  \
 	kcmp.o \
 	getrlimitusage.o \
 	fchroot.o \
-	setcred.o
+	setcred.o \
+	exterrctl.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 55f91424d16f..94da81c84d25 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -1886,6 +1886,11 @@ struct setcred_args {
 	char wcred_l_[PADL_(const struct setcred *)]; const struct setcred * wcred; char wcred_r_[PADR_(const struct setcred *)];
 	char size_l_[PADL_(size_t)]; size_t size; char size_r_[PADR_(size_t)];
 };
+struct exterrctl_args {
+	char op_l_[PADL_(u_int)]; u_int op; char op_r_[PADR_(u_int)];
+	char flags_l_[PADL_(u_int)]; u_int flags; char flags_r_[PADR_(u_int)];
+	char ptr_l_[PADL_(void *)]; void * ptr; char ptr_r_[PADR_(void *)];
+};
 int	sys_exit(struct thread *, struct exit_args *);
 int	sys_fork(struct thread *, struct fork_args *);
 int	sys_read(struct thread *, struct read_args *);
@@ -2287,6 +2292,7 @@ int	sys_kcmp(struct thread *, struct kcmp_args *);
 int	sys_getrlimitusage(struct thread *, struct getrlimitusage_args *);
 int	sys_fchroot(struct thread *, struct fchroot_args *);
 int	sys_setcred(struct thread *, struct setcred_args *);
+int	sys_exterrctl(struct thread *, struct exterrctl_args *);
 
 #ifdef COMPAT_43
 
@@ -3268,6 +3274,7 @@ int	freebsd13_swapoff(struct thread *, struct freebsd13_swapoff_args *);
 #define	SYS_AUE_getrlimitusage	AUE_NULL
 #define	SYS_AUE_fchroot	AUE_NULL
 #define	SYS_AUE_setcred	AUE_SETCRED
+#define	SYS_AUE_exterrctl	AUE_NULL
 
 #undef PAD_
 #undef PADL_