From 512ad5f9e93d1d763739b90f7c574f03fc4fdfb0 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Fri, 4 Nov 2022 16:28:17 +0000 Subject: [PATCH] freebsd procctl flags update --- libc-test/build.rs | 9 +++++++++ libc-test/semver/freebsd.txt | 11 ++++++++++- src/unix/bsd/freebsdlike/freebsd/mod.rs | 11 +++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/libc-test/build.rs b/libc-test/build.rs index df4e7f1cf022c..b47ece58863d9 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -2088,6 +2088,15 @@ fn test_freebsd(target: &str) { | "PROC_PROTMAX_FORCE_DISABLE" | "PROC_PROTMAX_NOFORCE" | "PROC_PROTMAX_ACTIVE" + | "PROC_NO_NEW_PRIVS_CTL" + | "PROC_NO_NEW_PRIVS_STATUS" + | "PROC_NO_NEW_PRIVS_ENABLE" + | "PROC_NO_NEW_PRIVS_DISABLE" + | "PROC_WXMAP_CTL" + | "PROC_WXMAP_STATUS" + | "PROC_WX_MAPPINGS_PERMIT" + | "PROC_WX_MAPPINGS_DISALLOW_EXEC" + | "PROC_WXORX_ENFORCE" if Some(13) > freebsd_ver => { true diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index 09bda1f2dd64f..5f08177f2442e 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -911,6 +911,10 @@ POSIX_SPAWN_SETSCHEDULER POSIX_SPAWN_SETSIGDEF POSIX_SPAWN_SETSIGMASK PPPDISC +PROC_NO_NEW_PRIVS_CTL +PROC_NO_NEW_PRIVS_DISABLE +PROC_NO_NEW_PRIVS_ENABLE +PROC_NO_NEW_PRIVS_STATUS PROC_PDEATHSIG_CTL PROC_PDEATHSIG_STATUS PROC_REAP_ACQUIRE @@ -924,6 +928,11 @@ PROC_TRACE_CTL PROC_TRACE_STATUS PROC_TRAPCAP_CTL PROC_TRAPCAP_STATUS +PROC_WX_MAPPINGS_DISALLOW_EXEC +PROC_WX_MAPPINGS_PERMIT +PROC_WXMAP_CTL +PROC_WXMAP_STATUS +PROC_WXORX_ENFORCE PTHREAD_CREATE_DETACHED PTHREAD_CREATE_JOINABLE PTHREAD_MUTEX_ADAPTIVE_NP @@ -1927,4 +1936,4 @@ xallocx xucred eaccess dirname -basename \ No newline at end of file +basename diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index f34b24c579a45..2fa72fda6c59a 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -2379,6 +2379,10 @@ pub const PROC_PROTMAX_CTL: ::c_int = 15; pub const PROC_PROTMAX_STATUS: ::c_int = 16; pub const PROC_STACKGAP_CTL: ::c_int = 17; pub const PROC_STACKGAP_STATUS: ::c_int = 18; +pub const PROC_NO_NEW_PRIVS_CTL: ::c_int = 19; +pub const PROC_NO_NEW_PRIVS_STATUS: ::c_int = 20; +pub const PROC_WXMAP_CTL: ::c_int = 21; +pub const PROC_WXMAP_STATUS: ::c_int = 22; pub const PROC_PROCCTL_MD_MIN: ::c_int = 0x10000000; pub const PPROT_SET: ::c_int = 1; @@ -2408,6 +2412,13 @@ pub const PROC_STACKGAP_DISABLE: ::c_int = 0x0002; pub const PROC_STACKGAP_ENABLE_EXEC: ::c_int = 0x0004; pub const PROC_STACKGAP_DISABLE_EXEC: ::c_int = 0x0008; +pub const PROC_NO_NEW_PRIVS_ENABLE: ::c_int = 1; +pub const PROC_NO_NEW_PRIVS_DISABLE: ::c_int = 1; + +pub const PROC_WX_MAPPINGS_PERMIT: ::c_int = 0x0001; +pub const PROC_WX_MAPPINGS_DISALLOW_EXEC: ::c_int = 0x0002; +pub const PROC_WXORX_ENFORCE: ::c_int = 0x80000000; + pub const AF_SLOW: ::c_int = 33; pub const AF_SCLUSTER: ::c_int = 34; pub const AF_ARP: ::c_int = 35;