git: 606061ea463d - main - sys: add AUE_PDOPENPID
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 07 Jul 2026 01:57:18 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=606061ea463dd1d7c3664b296e569b4b25d0f275
commit 606061ea463dd1d7c3664b296e569b4b25d0f275
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-05-20 02:14:24 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-07-07 01:25:08 +0000
sys: add AUE_PDOPENPID
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D57124
---
sys/bsm/audit_kevents.h | 1 +
sys/kern/sys_procdesc.c | 3 +++
sys/kern/syscalls.master | 2 +-
sys/security/audit/audit_bsm.c | 10 ++++++++++
4 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/sys/bsm/audit_kevents.h b/sys/bsm/audit_kevents.h
index ac6f5d69f07d..fb54f179d677 100644
--- a/sys/bsm/audit_kevents.h
+++ b/sys/bsm/audit_kevents.h
@@ -665,6 +665,7 @@
#define AUE_SETCRED 43271 /* FreeBSD-specific. */
#define AUE_INOTIFY 43272 /* FreeBSD/Linux. */
#define AUE_PDRFORK 43273 /* FreeBSD-specific. */
+#define AUE_PDOPENPID 43274 /* FreeBSD-specific. */
/*
* Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the
diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c
index 3fca3ea29b18..4749a9b8bf7e 100644
--- a/sys/kern/sys_procdesc.c
+++ b/sys/kern/sys_procdesc.c
@@ -695,6 +695,9 @@ kern_pdopenpid(struct thread *td, pid_t pid, int flags)
int
sys_pdopenpid(struct thread *td, struct pdopenpid_args *args)
{
+ AUDIT_ARG_PID(args->pid);
+ AUDIT_ARG_FFLAGS(args->flags);
+
if ((args->flags & ~(PD_ALLOWED_AT_FORK)) != 0)
return (EINVAL);
return (kern_pdopenpid(td, args->pid, args->flags));
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index 41580d0c4595..8ea32a7b0058 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -3429,7 +3429,7 @@
int flags
);
}
-603 AUE_NULL STD {
+603 AUE_PDOPENPID STD {
int pdopenpid(
pid_t pid,
int flags
diff --git a/sys/security/audit/audit_bsm.c b/sys/security/audit/audit_bsm.c
index 4654b607aea5..8873eb877234 100644
--- a/sys/security/audit/audit_bsm.c
+++ b/sys/security/audit/audit_bsm.c
@@ -1412,6 +1412,16 @@ kaudit_to_bsm(struct kaudit_record *kar, struct au_record **pau)
kau_write(rec, tok);
}
break;
+ case AUE_PDOPENPID:
+ if (ARG_IS_VALID(kar, ARG_PID)) {
+ tok = au_to_arg32(1, "PID", ar->ar_arg_pid);
+ kau_write(rec, tok);
+ }
+ if (ARG_IS_VALID(kar, ARG_FFLAGS)) {
+ tok = au_to_arg32(2, "flags", ar->ar_arg_fflags);
+ kau_write(rec, tok);
+ }
+ break;
case AUE_PROCCTL:
if (ARG_IS_VALID(kar, ARG_VALUE)) {