From nobody Sat Sep 05 00:35:23 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hcDrX3KsDz6qZQ3 for ; Sat, 05 Sep 2026 00:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hcDrW64WNz448s for ; Sat, 05 Sep 2026 00:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788568523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdhIRIRApflHJnGYqjKMYC6kIEU7epuFpsg1LUUTdnM=; b=r7W4QaT7sEI4HVRSKQQ7qqdcEjQzcwnsJ9pEXikLI0X8RgDrSzCrzZc4lWAVRpABjbHjaX ROPG0Alw32Z321QiEpHbremLu+xcf0TzF3tclCiPMFlP/gGub2PrqyBTfWOESkNeMfiD5o jHXNsQ0RnyrAR34LW3qEYy0twHSHnwJ9RKct85CpOIa7db7g1vh2ls9zCYpHFvy5T2nyWs J+x4AZY9aVjP27mvwCWTaBj/ZlOk5+0rjlCAKIBSPl+HF8MNW9VdayioEa3uw+UDCYP/r9 SXu74czk5nIalha5hHJkEvZpBugKbmuxSioGHSG8XnE5o5Y3P0HFHmgLD6gHow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1788568523; a=rsa-sha256; cv=none; b=QOsnEb8VkPdE5JwdeGXe/ZhkTnrO0+Dtvv2zACMxYw53+ILdVODJ/arzn2guYw5RHWbj0K mRVz09SWyx1ZbMJbsmROCxrocUvR536e7EDntarTHaALG3hnI3zNYWYfd6DTufAJJE39o2 4Ui6B0luIL3Se7hW89UZ7WwiQEF/4pu14K4dz2dirNpWgsLT6YNHVynvEAa122uQQyHy8J i8fgpVP/4lgr/hoWHrkb4h1T7NtKFYy37VCqB6w0iuyDiTujeC0rPSh+SuTi6JzjViTTbp +BPdgM9be2pcROqV4WHP54j8vPLZU7lss/Jzi4QmAqjK60TOJCGM+oYjfuaJlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788568523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdhIRIRApflHJnGYqjKMYC6kIEU7epuFpsg1LUUTdnM=; b=JWX/4HNDRZqSrI12C5nnmhVnpWDHDOkBy1eVx4YviOjZo6F4qwcA/0vkvQ9u5rnnwMiXY7 UEb/WpNCSdUmUuFAb5EbQt3OfdQ0IXnjfocp2JzFyc1ZgpxXgWgxS1fT4mPxHJfj6MaMnt hejamleTUZP3v0Mz7A2S+O/ePeDY4gFZ20zCpNZSstG/TyPg21tjOZHDBc7KIMGRk7T9NY XZlv07bLSM92u42eXTsTrcDTO59z/l78C2OfH+3VpcgYHwJ7Jp8CN/z7GYfBkiTaJQ4l7b PNRHFdWeyWefB7K4+4Tqsl6BwH61w80zH9KC+KmL8cJBZlub8OlVu/t2uMca1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hcDrW4vjCz7vT for ; Sat, 05 Sep 2026 00:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d6f2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 05 Sep 2026 00:35:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c3d0110e12f0 - stable/15 - Regen List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c3d0110e12f053277ad9e22ac38b321bc0a261fe Auto-Submitted: auto-generated Date: Sat, 05 Sep 2026 00:35:23 +0000 Message-Id: <6a9b63cb.1d6f2.22eaa444@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c3d0110e12f053277ad9e22ac38b321bc0a261fe commit c3d0110e12f053277ad9e22ac38b321bc0a261fe Author: Konstantin Belousov AuthorDate: 2026-08-21 09:39:34 +0000 Commit: Konstantin Belousov CommitDate: 2026-09-05 00:33:39 +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 e90f82acf0c5..0bcd38e0c883 100644 --- a/lib/libsys/_libsys.h +++ b/lib/libsys/_libsys.h @@ -475,6 +475,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); @@ -886,6 +887,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 79d167d1de19..8f3f0fcea833 100644 --- a/lib/libsys/syscalls.map +++ b/lib/libsys/syscalls.map @@ -827,4 +827,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 106c398b3e2b..abb74a9eb9dc 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 ea5991bd019b..a30c8d41a3fd 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 2067393993f0..585ec22ef8fa 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 074de274d77e..da3ff9221391 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 644335830ea9..8108b52d182d 100644 --- a/sys/kern/systrace_args.c +++ b/sys/kern/systrace_args.c @@ -3562,6 +3562,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; @@ -9538,6 +9549,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; }; @@ -11571,6 +11604,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 8246b0c16983..c86e653e550e 100644 --- a/sys/sys/syscall.h +++ b/sys/sys/syscall.h @@ -542,4 +542,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 a9ec6dc53b0a..6184f1f92bcc 100644 --- a/sys/sys/syscall.mk +++ b/sys/sys/syscall.mk @@ -445,4 +445,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 d76141f29db3..7f21763abfbb 100644 --- a/sys/sys/sysproto.h +++ b/sys/sys/sysproto.h @@ -1935,6 +1935,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 *); @@ -2346,6 +2353,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 @@ -3349,6 +3357,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_