Skip to content

Commit 76baec6

Browse files
authored
Merge pull request #4400 from rusty-snake/prctl-mdwe
Add constants for Memory-Deny-Write-Execute prctls
2 parents fb23c0b + 4ed4eb6 commit 76baec6

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

libc-test/build.rs

+7
Original file line numberDiff line numberDiff line change
@@ -4218,6 +4218,10 @@ fn test_linux(target: &str) {
42184218
if loongarch64 && (name == "MFD_NOEXEC_SEAL" || name == "MFD_EXEC") {
42194219
return true;
42204220
}
4221+
// FIXME: Requires >= 6.3 (6.6) kernel headers
4222+
if name == "PR_GET_MDWE" || name == "PR_MDWE_NO_INHERIT" || name == "PR_MDWE_REFUSE_EXEC_GAIN" || name == "PR_SET_MDWE" {
4223+
return true;
4224+
}
42214225
// FIXME(musl): Requires musl >= 1.2
42224226
if name == "SO_PREFER_BUSY_POLL"
42234227
|| name == "SO_BUSY_POLL_BUDGET"
@@ -4499,6 +4503,9 @@ fn test_linux(target: &str) {
44994503
true
45004504
}
45014505

4506+
// FIXME(linux): Requires >= 6.6 kernel headers.
4507+
"PR_MDWE_NO_INHERIT" => true,
4508+
45024509
// FIXME(linux): Requires >= 6.8 kernel headers.
45034510
"XDP_UMEM_TX_SW_CSUM"
45044511
| "XDP_TXMD_FLAGS_TIMESTAMP"

libc-test/semver/linux.txt

+4
Original file line numberDiff line numberDiff line change
@@ -2256,6 +2256,7 @@ PR_GET_FPEMU
22562256
PR_GET_FPEXC
22572257
PR_GET_FP_MODE
22582258
PR_GET_KEEPCAPS
2259+
PR_GET_MDWE
22592260
PR_GET_NAME
22602261
PR_GET_NO_NEW_PRIVS
22612262
PR_GET_PDEATHSIG
@@ -2274,6 +2275,8 @@ PR_MCE_KILL_EARLY
22742275
PR_MCE_KILL_GET
22752276
PR_MCE_KILL_LATE
22762277
PR_MCE_KILL_SET
2278+
PR_MDWE_NO_INHERIT
2279+
PR_MDWE_REFUSE_EXEC_GAIN
22772280
PR_MPX_DISABLE_MANAGEMENT
22782281
PR_MPX_ENABLE_MANAGEMENT
22792282
PR_SCHED_CORE
@@ -2292,6 +2295,7 @@ PR_SET_FPEMU
22922295
PR_SET_FPEXC
22932296
PR_SET_FP_MODE
22942297
PR_SET_KEEPCAPS
2298+
PR_SET_MDWE
22952299
PR_SET_MM
22962300
PR_SET_MM_ARG_END
22972301
PR_SET_MM_ARG_START

src/unix/linux_like/linux/mod.rs

+5
Original file line numberDiff line numberDiff line change
@@ -3303,6 +3303,11 @@ pub const PR_GET_CHILD_SUBREAPER: c_int = 37;
33033303
pub const PR_SET_NO_NEW_PRIVS: c_int = 38;
33043304
pub const PR_GET_NO_NEW_PRIVS: c_int = 39;
33053305

3306+
pub const PR_SET_MDWE: c_int = 65;
3307+
pub const PR_GET_MDWE: c_int = 66;
3308+
pub const PR_MDWE_REFUSE_EXEC_GAIN: c_uint = 1 << 0;
3309+
pub const PR_MDWE_NO_INHERIT: c_uint = 1 << 1;
3310+
33063311
pub const PR_GET_TID_ADDRESS: c_int = 40;
33073312

33083313
pub const PR_SET_THP_DISABLE: c_int = 41;

0 commit comments

Comments
 (0)