diff --git a/libc-test/build.rs b/libc-test/build.rs index 3f7857fe69ff1..588934520cd92 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -4218,6 +4218,10 @@ fn test_linux(target: &str) { if loongarch64 && (name == "MFD_NOEXEC_SEAL" || name == "MFD_EXEC") { return true; } + // FIXME: Requires >= 6.3 (6.6) kernel headers + if name == "PR_GET_MDWE" || name == "PR_MDWE_NO_INHERIT" || name == "PR_MDWE_REFUSE_EXEC_GAIN" || name == "PR_SET_MDWE" { + return true; + } // FIXME(musl): Requires musl >= 1.2 if name == "SO_PREFER_BUSY_POLL" || name == "SO_BUSY_POLL_BUDGET" @@ -4499,6 +4503,9 @@ fn test_linux(target: &str) { true } + // FIXME(linux): Requires >= 6.6 kernel headers. + "PR_MDWE_NO_INHERIT" => true, + // FIXME(linux): Requires >= 6.8 kernel headers. "XDP_UMEM_TX_SW_CSUM" | "XDP_TXMD_FLAGS_TIMESTAMP" diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index 0df79b0dc0b30..17dd56852a82d 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -2256,6 +2256,7 @@ PR_GET_FPEMU PR_GET_FPEXC PR_GET_FP_MODE PR_GET_KEEPCAPS +PR_GET_MDWE PR_GET_NAME PR_GET_NO_NEW_PRIVS PR_GET_PDEATHSIG @@ -2274,6 +2275,8 @@ PR_MCE_KILL_EARLY PR_MCE_KILL_GET PR_MCE_KILL_LATE PR_MCE_KILL_SET +PR_MDWE_NO_INHERIT +PR_MDWE_REFUSE_EXEC_GAIN PR_MPX_DISABLE_MANAGEMENT PR_MPX_ENABLE_MANAGEMENT PR_SCHED_CORE @@ -2292,6 +2295,7 @@ PR_SET_FPEMU PR_SET_FPEXC PR_SET_FP_MODE PR_SET_KEEPCAPS +PR_SET_MDWE PR_SET_MM PR_SET_MM_ARG_END PR_SET_MM_ARG_START diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 56cd1bed5afe6..3c66afaac248c 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -3303,6 +3303,11 @@ pub const PR_GET_CHILD_SUBREAPER: c_int = 37; pub const PR_SET_NO_NEW_PRIVS: c_int = 38; pub const PR_GET_NO_NEW_PRIVS: c_int = 39; +pub const PR_SET_MDWE: c_int = 65; +pub const PR_GET_MDWE: c_int = 66; +pub const PR_MDWE_REFUSE_EXEC_GAIN: c_uint = 1 << 0; +pub const PR_MDWE_NO_INHERIT: c_uint = 1 << 1; + pub const PR_GET_TID_ADDRESS: c_int = 40; pub const PR_SET_THP_DISABLE: c_int = 41;