aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2026-05-20 02:14:24 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2026-07-07 01:25:08 +0000
commit606061ea463dd1d7c3664b296e569b4b25d0f275 (patch)
tree2f54c4c82147ae5f8bd59a590a8f0e0f9d7d9aed
parent5c32aa785184bb1e646b0b4c73d3c5fd9a6b8951 (diff)
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
-rw-r--r--sys/bsm/audit_kevents.h1
-rw-r--r--sys/kern/sys_procdesc.c3
-rw-r--r--sys/kern/syscalls.master2
-rw-r--r--sys/security/audit/audit_bsm.c10
4 files changed, 15 insertions, 1 deletions
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)) {