Skip to content

Commit cef4fa4

Browse files
devnexentgross35
authored andcommitted
procctl for freebsd 15 upgrade.
adding missing PROC_SPROTECT helpers while at it. ref: freebsd/freebsd-src@dabf006#diff-769c07b1f90eef1351a20f40593b254f85925859273219036320baa1d086774cR68
1 parent 1a9bdc4 commit cef4fa4

3 files changed

Lines changed: 30 additions & 0 deletions

File tree

libc-test/build.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2770,6 +2770,17 @@ fn test_freebsd(target: &str) {
27702770
// Added in FreeBSD 15
27712771
"DTYPE_INOTIFY" | "DTYPE_JAILDESC" if Some(15) > freebsd_ver => true,
27722772

2773+
// Added in FreeBSD 15
2774+
"PROC_LOGSIGEXIT_CTL"
2775+
| "PROC_LOGSIGEXIT_STATUS"
2776+
| "PROC_LOGSIGEXIT_CTL_NOFORCE"
2777+
| "PROC_LOGSIGEXIT_CTL_FORCE_ENABLE"
2778+
| "PROC_LOGSIGEXIT_CTL_FORCE_DISABLE"
2779+
if Some(15) > freebsd_ver =>
2780+
{
2781+
true
2782+
}
2783+
27732784
_ => false,
27742785
}
27752786
});

libc-test/semver/freebsd.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,6 +1048,12 @@ POSIX_SPAWN_SETSCHEDULER
10481048
POSIX_SPAWN_SETSIGDEF
10491049
POSIX_SPAWN_SETSIGMASK
10501050
PPPDISC
1051+
PPROT_CLEAR
1052+
PPROT_DESCEND
1053+
PPROT_FLAGS
1054+
PPROT_INHERIT
1055+
PPROT_OP
1056+
PPROT_SET
10511057
PROC_NO_NEW_PRIVS_CTL
10521058
PROC_NO_NEW_PRIVS_DISABLE
10531059
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
@@ -2530,6 +2530,11 @@ pub const PROC_NO_NEW_PRIVS_CTL: c_int = 19;
25302530
pub const PROC_NO_NEW_PRIVS_STATUS: c_int = 20;
25312531
pub const PROC_WXMAP_CTL: c_int = 21;
25322532
pub const PROC_WXMAP_STATUS: c_int = 22;
2533+
pub const PROC_LOGSIGEXIT_CTL: c_int = 23;
2534+
pub const PROC_LOGSIGEXIT_STATUS: c_int = 24;
2535+
pub const PROC_LOGSIGEXIT_CTL_NOFORCE: c_int = 1;
2536+
pub const PROC_LOGSIGEXIT_CTL_FORCE_ENABLE: c_int = 2;
2537+
pub const PROC_LOGSIGEXIT_CTL_FORCE_DISABLE: c_int = 3;
25332538
pub const PROC_PROCCTL_MD_MIN: c_int = 0x10000000;
25342539

25352540
pub const PPROT_SET: c_int = 1;
@@ -4324,6 +4329,14 @@ safe_f! {
43244329
pub const fn PR_SCTP_VALID_POLICY(x: c_int) -> bool {
43254330
PR_SCTP_POLICY(x) <= SCTP_PR_SCTP_MAX
43264331
}
4332+
4333+
pub const fn PPROT_OP(o: c_int) -> c_int {
4334+
o & 0xf
4335+
}
4336+
4337+
pub const fn PPROT_FLAGS(o: c_int) -> c_int {
4338+
o & !0xf
4339+
}
43274340
}
43284341

43294342
cfg_if! {

0 commit comments

Comments
 (0)