Skip to content

Commit 4634afd

Browse files
committed
Auto merge of #2511 - niluxv:freebsd_procctl_data_constants, r=JohnTitor
Add `procctl` data constants on freebsd The constants to be passed in the `data` argument of `procctl` on freebsd. Source for the constants: <https://github.com/freebsd/freebsd-src/blob/main/sys/sys/procctl.h>.
2 parents 4827531 + e4bc201 commit 4634afd

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

libc-test/build.rs

+20-3
Original file line numberDiff line numberDiff line change
@@ -2003,15 +2003,32 @@ fn test_freebsd(target: &str) {
20032003
// Added in FreeBSD 13.0 (r356667)
20042004
"GRND_INSECURE" if Some(13) > freebsd_ver => true,
20052005

2006-
// Added in FreeBSD 12.1 (r343964 and r345228)
2007-
"PROC_ASLR_CTL" | "PROC_ASLR_STATUS" | "PROC_PROCCTL_MD_MIN"
2006+
// Added in FreeBSD 12.1 (r343964)
2007+
"PROC_ASLR_CTL"
2008+
| "PROC_ASLR_STATUS"
2009+
| "PROC_ASLR_FORCE_ENABLE"
2010+
| "PROC_ASLR_FORCE_DISABLE"
2011+
| "PROC_ASLR_NOFORCE"
2012+
| "PROC_ASLR_ACTIVE"
20082013
if Some(11) == freebsd_ver =>
20092014
{
20102015
true
20112016
}
20122017

2018+
// Added in FreeBSD 12.1 (r345228)
2019+
"PROC_PROCCTL_MD_MIN" if Some(11) == freebsd_ver => true,
2020+
20132021
// Added in FreeBSD 13.0 (r349609)
2014-
"PROC_PROTMAX_CTL" | "PROC_PROTMAX_STATUS" if Some(13) > freebsd_ver => true,
2022+
"PROC_PROTMAX_CTL"
2023+
| "PROC_PROTMAX_STATUS"
2024+
| "PROC_PROTMAX_FORCE_ENABLE"
2025+
| "PROC_PROTMAX_FORCE_DISABLE"
2026+
| "PROC_PROTMAX_NOFORCE"
2027+
| "PROC_PROTMAX_ACTIVE"
2028+
if Some(13) > freebsd_ver =>
2029+
{
2030+
true
2031+
}
20152032

20162033
// Added in in FreeBSD 13.0 (r367776 and r367287)
20172034
"SCM_CREDS2" | "LOCAL_CREDS_PERSISTENT" if Some(13) > freebsd_ver => true,

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

+27
Original file line numberDiff line numberDiff line change
@@ -1178,6 +1178,33 @@ pub const PROC_STACKGAP_CTL: ::c_int = 17;
11781178
pub const PROC_STACKGAP_STATUS: ::c_int = 18;
11791179
pub const PROC_PROCCTL_MD_MIN: ::c_int = 0x10000000;
11801180

1181+
pub const PPROT_SET: ::c_int = 1;
1182+
pub const PPROT_CLEAR: ::c_int = 2;
1183+
pub const PPROT_DESCEND: ::c_int = 0x10;
1184+
pub const PPROT_INHERIT: ::c_int = 0x20;
1185+
1186+
pub const PROC_TRACE_CTL_ENABLE: ::c_int = 1;
1187+
pub const PROC_TRACE_CTL_DISABLE: ::c_int = 2;
1188+
pub const PROC_TRACE_CTL_DISABLE_EXEC: ::c_int = 3;
1189+
1190+
pub const PROC_TRAPCAP_CTL_ENABLE: ::c_int = 1;
1191+
pub const PROC_TRAPCAP_CTL_DISABLE: ::c_int = 2;
1192+
1193+
pub const PROC_ASLR_FORCE_ENABLE: ::c_int = 1;
1194+
pub const PROC_ASLR_FORCE_DISABLE: ::c_int = 2;
1195+
pub const PROC_ASLR_NOFORCE: ::c_int = 3;
1196+
pub const PROC_ASLR_ACTIVE: ::c_int = 0x80000000;
1197+
1198+
pub const PROC_PROTMAX_FORCE_ENABLE: ::c_int = 1;
1199+
pub const PROC_PROTMAX_FORCE_DISABLE: ::c_int = 2;
1200+
pub const PROC_PROTMAX_NOFORCE: ::c_int = 3;
1201+
pub const PROC_PROTMAX_ACTIVE: ::c_int = 0x80000000;
1202+
1203+
pub const PROC_STACKGAP_ENABLE: ::c_int = 0x0001;
1204+
pub const PROC_STACKGAP_DISABLE: ::c_int = 0x0002;
1205+
pub const PROC_STACKGAP_ENABLE_EXEC: ::c_int = 0x0004;
1206+
pub const PROC_STACKGAP_DISABLE_EXEC: ::c_int = 0x0008;
1207+
11811208
pub const AF_SLOW: ::c_int = 33;
11821209
pub const AF_SCLUSTER: ::c_int = 34;
11831210
pub const AF_ARP: ::c_int = 35;

0 commit comments

Comments
 (0)