Skip to content

Commit 54943db

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 586ccc1 commit 54943db

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

2749+
// Added in FreeBSD 15
2750+
"PROC_LOGSIGEXIT_CTL"
2751+
| "PROC_LOGSIGEXIT_STATUS"
2752+
| "PROC_LOGSIGEXIT_CTL_NOFORCE"
2753+
| "PROC_LOGSIGEXIT_CTL_FORCE_ENABLE"
2754+
| "PROC_LOGSIGEXIT_CTL_FORCE_DISABLE"
2755+
if Some(15) > freebsd_ver =>
2756+
{
2757+
true
2758+
}
2759+
27492760
_ => false,
27502761
}
27512762
});

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
@@ -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)