Skip to content

Commit ed7f951

Browse files
committed
procctl for freebsd 15 upgrade.
adding missing PROC_SPROTECT helpers while at it. ref: freebsd/freebsd-src@dabf006#diff-769c07b1f90eef1351a20f40593b254f85925859273219036320baa1d086774cR68
1 parent 048162d commit ed7f951

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
@@ -2743,6 +2743,17 @@ fn test_freebsd(target: &str) {
27432743
// Added in FreeBSD 14.2
27442744
"SO_SPLICE" if Some(14) > freebsd_ver => true,
27452745

2746+
// Added in FreeBSD 15
2747+
"PROC_LOGSIGEXIT_CTL"
2748+
| "PROC_LOGSIGEXIT_STATUS"
2749+
| "PROC_LOGSIGEXIT_CTL_NOFORCE"
2750+
| "PROC_LOGSIGEXIT_CTL_FORCE_ENABLE"
2751+
| "PROC_LOGSIGEXIT_CTL_FORCE_DISABLE"
2752+
if Some(15) > freebsd_ver =>
2753+
{
2754+
true
2755+
}
2756+
27462757
_ => false,
27472758
}
27482759
});

libc-test/semver/freebsd.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1047,6 +1047,12 @@ POSIX_SPAWN_SETSCHEDULER
10471047
POSIX_SPAWN_SETSIGDEF
10481048
POSIX_SPAWN_SETSIGMASK
10491049
PPPDISC
1050+
PPROT_CLEAR
1051+
PPROT_DESCEND
1052+
PPROT_FLAGS
1053+
PPROT_INHERIT
1054+
PPROT_OP
1055+
PPROT_SET
10501056
PROC_NO_NEW_PRIVS_CTL
10511057
PROC_NO_NEW_PRIVS_DISABLE
10521058
PROC_NO_NEW_PRIVS_ENABLE

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3011,6 +3011,11 @@ pub const PROC_NO_NEW_PRIVS_CTL: c_int = 19;
30113011
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;
3014+
pub const PROC_LOGSIGEXIT_CTL: c_int = 23;
3015+
pub const PROC_LOGSIGEXIT_STATUS: c_int = 24;
3016+
pub const PROC_LOGSIGEXIT_CTL_NOFORCE: c_int = 1;
3017+
pub const PROC_LOGSIGEXIT_CTL_FORCE_ENABLE: c_int = 2;
3018+
pub const PROC_LOGSIGEXIT_CTL_FORCE_DISABLE: c_int = 3;
30143019
pub const PROC_PROCCTL_MD_MIN: c_int = 0x10000000;
30153020

30163021
pub const PPROT_SET: c_int = 1;
@@ -4809,6 +4814,14 @@ safe_f! {
48094814
pub {const} fn PR_SCTP_VALID_POLICY(x: c_int) -> bool {
48104815
PR_SCTP_POLICY(x) <= SCTP_PR_SCTP_MAX
48114816
}
4817+
4818+
pub {const} fn PPROT_OP(o: c_int) -> c_int {
4819+
o & 0xf
4820+
}
4821+
4822+
pub {const} fn PPROT_FLAGS(o: c_int) -> c_int {
4823+
o & !0xf
4824+
}
48124825
}
48134826

48144827
cfg_if! {

0 commit comments

Comments
 (0)