git: 16ff23d1a702 - main - Regen

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Fri, 28 Aug 2026 12:05:10 UTC
The branch main has been updated by kib:

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

commit 16ff23d1a702e09764fd0fa517cc1783348518e0
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-08-21 09:39:34 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-08-28 11:52:32 +0000

    Regen
---
 lib/libsys/_libsys.h                           |  2 ++
 lib/libsys/syscalls.map                        |  2 ++
 sys/compat/freebsd32/freebsd32_proto.h         |  9 ++++++
 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 | 38 ++++++++++++++++++++++++++
 sys/kern/init_sysent.c                         |  1 +
 sys/kern/syscalls.c                            |  1 +
 sys/kern/systrace_args.c                       | 38 ++++++++++++++++++++++++++
 sys/sys/syscall.h                              |  3 +-
 sys/sys/syscall.mk                             |  3 +-
 sys/sys/sysproto.h                             |  9 ++++++
 13 files changed, 108 insertions(+), 3 deletions(-)

diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h
index 713e67bb8616..0af5e09f31e7 100644
--- a/lib/libsys/_libsys.h
+++ b/lib/libsys/_libsys.h
@@ -477,6 +477,7 @@ typedef int (__sys_pdwait_t)(int, int *, int, struct __wrusage *, struct __sigin
 typedef int (__sys_renameat2_t)(int, const char *, int, const char *, int);
 typedef int (__sys_pdopenpid_t)(pid_t, int);
 typedef int (__sys_pddupfd_t)(int, int, int);
+typedef int (__sys_pdptrace_t)(int, int, int, void *, int);
 
 _Noreturn void __sys__exit(int rval);
 int __sys_fork(void);
@@ -889,6 +890,7 @@ int __sys_pdwait(int fd, int * status, int options, struct __wrusage * wrusage,
 int __sys_renameat2(int oldfd, const char * old, int newfd, const char * new, int flags);
 int __sys_pdopenpid(pid_t pid, int flags);
 int __sys_pddupfd(int pd, int fd, int flags);
+int __sys_pdptrace(int req, int pfd, int lwpid, void * addr, int data);
 __END_DECLS
 
 #endif /* __LIBSYS_H_ */
diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map
index 2e4fa4b27ed4..c30f1c013f21 100644
--- a/lib/libsys/syscalls.map
+++ b/lib/libsys/syscalls.map
@@ -829,4 +829,6 @@ FBSDprivate_1.0 {
 	__sys_pdopenpid;
 	_pddupfd;
 	__sys_pddupfd;
+	_pdptrace;
+	__sys_pdptrace;
 };
diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h
index 12458ed4cc4d..3be07464c967 100644
--- a/sys/compat/freebsd32/freebsd32_proto.h
+++ b/sys/compat/freebsd32/freebsd32_proto.h
@@ -706,6 +706,13 @@ struct freebsd32_pdwait_args {
 	char wrusage_l_[PADL_(struct __wrusage32 *)]; struct __wrusage32 * wrusage; char wrusage_r_[PADR_(struct __wrusage32 *)];
 	char info_l_[PADL_(struct __siginfo32 *)]; struct __siginfo32 * info; char info_r_[PADR_(struct __siginfo32 *)];
 };
+struct freebsd32_pdptrace_args {
+	char req_l_[PADL_(int)]; int req; char req_r_[PADR_(int)];
+	char pfd_l_[PADL_(int)]; int pfd; char pfd_r_[PADR_(int)];
+	char lwpid_l_[PADL_(int)]; int lwpid; char lwpid_r_[PADR_(int)];
+	char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
+	char data_l_[PADL_(int)]; int data; char data_r_[PADR_(int)];
+};
 int	freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *);
 int	freebsd32_ptrace(struct thread *, struct freebsd32_ptrace_args *);
 int	freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *);
@@ -825,6 +832,7 @@ int	freebsd32_timerfd_gettime(struct thread *, struct freebsd32_timerfd_gettime_
 int	freebsd32_timerfd_settime(struct thread *, struct freebsd32_timerfd_settime_args *);
 int	freebsd32_setcred(struct thread *, struct freebsd32_setcred_args *);
 int	freebsd32_pdwait(struct thread *, struct freebsd32_pdwait_args *);
+int	freebsd32_pdptrace(struct thread *, struct freebsd32_pdptrace_args *);
 
 #ifdef COMPAT_43
 
@@ -1328,6 +1336,7 @@ int	freebsd11_freebsd32_fstatat(struct thread *, struct freebsd11_freebsd32_fsta
 #define	FREEBSD32_SYS_AUE_freebsd32_timerfd_settime	AUE_TIMERFD
 #define	FREEBSD32_SYS_AUE_freebsd32_setcred	AUE_SETCRED
 #define	FREEBSD32_SYS_AUE_freebsd32_pdwait	AUE_PDWAIT
+#define	FREEBSD32_SYS_AUE_freebsd32_pdptrace	AUE_PDPTRACE
 
 #undef PAD_
 #undef PADL_
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 22704174e366..89928b09314b 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -522,4 +522,5 @@
 #define	FREEBSD32_SYS_renameat2	602
 #define	FREEBSD32_SYS_pdopenpid	603
 #define	FREEBSD32_SYS_pddupfd	604
-#define	FREEBSD32_SYS_MAXSYSCALL	605
+#define	FREEBSD32_SYS_freebsd32_pdptrace	605
+#define	FREEBSD32_SYS_MAXSYSCALL	606
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 06606de6f52b..21b502da676f 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -610,4 +610,5 @@ const char *freebsd32_syscallnames[] = {
 	"renameat2",			/* 602 = renameat2 */
 	"pdopenpid",			/* 603 = pdopenpid */
 	"pddupfd",			/* 604 = pddupfd */
+	"freebsd32_pdptrace",			/* 605 = freebsd32_pdptrace */
 };
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index d8c276d7669c..544e8441cb0c 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -672,4 +672,5 @@ struct sysent freebsd32_sysent[] = {
 	{ .sy_narg = AS(renameat2_args), .sy_call = (sy_call_t *)sys_renameat2, .sy_auevent = AUE_RENAMEAT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 602 = renameat2 */
 	{ .sy_narg = AS(pdopenpid_args), .sy_call = (sy_call_t *)sys_pdopenpid, .sy_auevent = AUE_PDOPENPID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 603 = pdopenpid */
 	{ .sy_narg = AS(pddupfd_args), .sy_call = (sy_call_t *)sys_pddupfd, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 604 = pddupfd */
+	{ .sy_narg = AS(freebsd32_pdptrace_args), .sy_call = (sy_call_t *)freebsd32_pdptrace, .sy_auevent = AUE_PDPTRACE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 605 = freebsd32_pdptrace */
 };
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index b2b52338e84d..e2dfd5a59975 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -3475,6 +3475,17 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 		*n_args = 3;
 		break;
 	}
+	/* freebsd32_pdptrace */
+	case 605: {
+		struct freebsd32_pdptrace_args *p = params;
+		iarg[a++] = p->req; /* int */
+		iarg[a++] = p->pfd; /* int */
+		iarg[a++] = p->lwpid; /* int */
+		uarg[a++] = (intptr_t)p->addr; /* void * */
+		iarg[a++] = p->data; /* int */
+		*n_args = 5;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9393,6 +9404,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 			break;
 		};
 		break;
+	/* freebsd32_pdptrace */
+	case 605:
+		switch (ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "int";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland void *";
+			break;
+		case 4:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -11336,6 +11369,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* freebsd32_pdptrace */
+	case 605:
+		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 1f1b26d16b7a..f5971a891765 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -671,4 +671,5 @@ struct sysent sysent[] = {
 	{ .sy_narg = AS(renameat2_args), .sy_call = (sy_call_t *)sys_renameat2, .sy_auevent = AUE_RENAMEAT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 602 = renameat2 */
 	{ .sy_narg = AS(pdopenpid_args), .sy_call = (sy_call_t *)sys_pdopenpid, .sy_auevent = AUE_PDOPENPID, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 603 = pdopenpid */
 	{ .sy_narg = AS(pddupfd_args), .sy_call = (sy_call_t *)sys_pddupfd, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 604 = pddupfd */
+	{ .sy_narg = AS(pdptrace_args), .sy_call = (sy_call_t *)sys_pdptrace, .sy_auevent = AUE_PDPTRACE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 605 = pdptrace */
 };
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index 6d36e8c7f814..21fba39fe09b 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -610,4 +610,5 @@ const char *syscallnames[] = {
 	"renameat2",			/* 602 = renameat2 */
 	"pdopenpid",			/* 603 = pdopenpid */
 	"pddupfd",			/* 604 = pddupfd */
+	"pdptrace",			/* 605 = pdptrace */
 };
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c
index 417c75e380a4..f6b6548a2450 100644
--- a/sys/kern/systrace_args.c
+++ b/sys/kern/systrace_args.c
@@ -3572,6 +3572,17 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 		*n_args = 3;
 		break;
 	}
+	/* pdptrace */
+	case 605: {
+		struct pdptrace_args *p = params;
+		iarg[a++] = p->req; /* int */
+		iarg[a++] = p->pfd; /* int */
+		iarg[a++] = p->lwpid; /* int */
+		uarg[a++] = (intptr_t)p->addr; /* void * */
+		iarg[a++] = p->data; /* int */
+		*n_args = 5;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9567,6 +9578,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 			break;
 		};
 		break;
+	/* pdptrace */
+	case 605:
+		switch (ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "int";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland void *";
+			break;
+		case 4:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -11605,6 +11638,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* pdptrace */
+	case 605:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	default:
 		break;
 	};
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index 94321263756f..5fe775e06e4c 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -543,4 +543,5 @@
 #define	SYS_renameat2	602
 #define	SYS_pdopenpid	603
 #define	SYS_pddupfd	604
-#define	SYS_MAXSYSCALL	605
+#define	SYS_pdptrace	605
+#define	SYS_MAXSYSCALL	606
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index 0e1b0c91943b..5c7503a10264 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -446,4 +446,5 @@ MIASM =  \
 	pdwait.o \
 	renameat2.o \
 	pdopenpid.o \
-	pddupfd.o
+	pddupfd.o \
+	pdptrace.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 09afc8bb7bf4..62eef4e185df 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -1941,6 +1941,13 @@ struct pddupfd_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
 	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
 };
+struct pdptrace_args {
+	char req_l_[PADL_(int)]; int req; char req_r_[PADR_(int)];
+	char pfd_l_[PADL_(int)]; int pfd; char pfd_r_[PADR_(int)];
+	char lwpid_l_[PADL_(int)]; int lwpid; char lwpid_r_[PADR_(int)];
+	char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
+	char data_l_[PADL_(int)]; int data; char data_r_[PADR_(int)];
+};
 int	sys__exit(struct thread *, struct _exit_args *);
 int	sys_fork(struct thread *, struct fork_args *);
 int	sys_read(struct thread *, struct read_args *);
@@ -2353,6 +2360,7 @@ int	sys_pdwait(struct thread *, struct pdwait_args *);
 int	sys_renameat2(struct thread *, struct renameat2_args *);
 int	sys_pdopenpid(struct thread *, struct pdopenpid_args *);
 int	sys_pddupfd(struct thread *, struct pddupfd_args *);
+int	sys_pdptrace(struct thread *, struct pdptrace_args *);
 
 #ifdef COMPAT_43
 
@@ -3357,6 +3365,7 @@ int	freebsd14_setgroups(struct thread *, struct freebsd14_setgroups_args *);
 #define	SYS_AUE_renameat2	AUE_RENAMEAT
 #define	SYS_AUE_pdopenpid	AUE_PDOPENPID
 #define	SYS_AUE_pddupfd	AUE_NULL
+#define	SYS_AUE_pdptrace	AUE_PDPTRACE
 
 #undef PAD_
 #undef PADL_