Skip to content

Commit 17b153c

Browse files
committed
procctl for freebsd 15 upgrade.
adding missing PROC_SPROTECT helpers while at it. ref: https://github.com/freebsd/freebsd-src/blob/c992ac6213276f54d868f317cc5092f8aed4ff54/sys/sys/procctl.h#L68
1 parent e2404b4 commit 17b153c

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

libc-test/build.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2741,6 +2741,17 @@ fn test_freebsd(target: &str) {
27412741
// Added in FreeBSD 14.2
27422742
"SO_SPLICE" if Some(14) > freebsd_ver => true,
27432743

2744+
// Added in FreeBSD 15
2745+
"PROC_LOGSIGEXIT_CTL"
2746+
| "PROC_LOGSIGEXIT_STATUS"
2747+
| "PROC_LOGSIGEXIT_CTL_NOFORCE"
2748+
| "PROC_LOGSIGEXIT_CTL_FORCE_ENABLE"
2749+
| "PROC_LOGSIGEXIT_FORCE_DISABLE"
2750+
if Some(15) > freebsd_ver =>
2751+
{
2752+
true
2753+
}
2754+
27442755
_ => false,
27452756
}
27462757
});

libc-test/semver/freebsd.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1046,6 +1046,12 @@ POSIX_SPAWN_SETSCHEDPARAM
10461046
POSIX_SPAWN_SETSCHEDULER
10471047
POSIX_SPAWN_SETSIGDEF
10481048
POSIX_SPAWN_SETSIGMASK
1049+
PPROC_CLEAR
1050+
PPROC_DESCEND
1051+
PPROC_FLAGS
1052+
PPROC_INHERIT
1053+
PPROC_OP
1054+
PPROC_SET
10491055
PPPDISC
10501056
PROC_NO_NEW_PRIVS_CTL
10511057
PROC_NO_NEW_PRIVS_DISABLE

src/unix/bsd/freebsdlike/freebsd/mod.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3012,6 +3012,11 @@ pub const PROC_NO_NEW_PRIVS_STATUS: c_int = 20;
30123012
pub const PROC_WXMAP_CTL: c_int = 21;
30133013
pub const PROC_WXMAP_STATUS: c_int = 22;
30143014
pub const PROC_PROCCTL_MD_MIN: c_int = 0x10000000;
3015+
pub const PROC_LOGSIGEXIT_CTL: c_int = 23;
3016+
pub const PROC_LOGSIGEXIT_STATUS: c_int = 24;
3017+
pub const PROC_LOGSIGEXIT_CTL_NOFORCE: c_int = 1;
3018+
pub const PROC_LOGSIGEXIT_CTL_FORCE_ENABLE: c_int = 2;
3019+
pub const PROC_LOGSIGEXIT_CTL_FORCE_DISABLE: c_int = 3;
30153020

30163021
pub const PPROT_SET: c_int = 1;
30173022
pub const PPROT_CLEAR: c_int = 2;
@@ -4788,6 +4793,14 @@ safe_f! {
47884793
pub {const} fn PR_SCTP_VALID_POLICY(x: c_int) -> bool {
47894794
PR_SCTP_POLICY(x) <= SCTP_PR_SCTP_MAX
47904795
}
4796+
4797+
pub {const} fn PPROT_OP(o: c_int) -> c_int {
4798+
o & 0xf
4799+
}
4800+
4801+
pub {const} fn PPROT_FLAGS(o: c_int) -> c_int {
4802+
o & !0xf
4803+
}
47914804
}
47924805

47934806
cfg_if! {

0 commit comments

Comments
 (0)