diff --git a/libc-test/build.rs b/libc-test/build.rs index 1187cc499742c..c4d79480347d1 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -4079,6 +4079,9 @@ fn test_linux(target: &str) { // FIXME(linux): Requires >= 6.12 kernel headers. "dmabuf_cmsg" | "dmabuf_token" => true, + // FIXME(linux): Requires >= 6.4 kernel headers. + "ptrace_sud_config" => true, + _ => false, } }); @@ -4503,6 +4506,8 @@ fn test_linux(target: &str) { | "SO_DEVMEM_DONTNEED" | "SCM_DEVMEM_LINEAR" | "SCM_DEVMEM_DMABUF" => true, + // FIXME(linux): Requires >= 6.4 kernel headers. + "PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG" | "PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG" => true, _ => false, } diff --git a/libc-test/semver/linux-gnu.txt b/libc-test/semver/linux-gnu.txt index 9001de4c4ff3a..7f04169042c14 100644 --- a/libc-test/semver/linux-gnu.txt +++ b/libc-test/semver/linux-gnu.txt @@ -348,6 +348,8 @@ PR_SET_VMA PR_SET_VMA_ANON_NAME PTHREAD_MUTEX_ADAPTIVE_NP PTRACE_GET_SYSCALL_INFO +PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG PTRACE_SYSCALL_INFO_ENTRY PTRACE_SYSCALL_INFO_EXIT PTRACE_SYSCALL_INFO_NONE @@ -652,6 +654,7 @@ pthread_rwlockattr_getkind_np pthread_rwlockattr_getpshared pthread_rwlockattr_setkind_np ptrace_peeksiginfo_args +ptrace_sud_config ptrace_syscall_info putgrent putpwent diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index f0a051457ac05..c1772eaa47eea 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -310,6 +310,13 @@ s! { pub u: __c_anonymous_ptrace_syscall_info_data, } + pub struct ptrace_sud_config { + pub mode: crate::__u64, + pub selector: crate::__u64, + pub offset: crate::__u64, + pub len: crate::__u64, + } + pub struct iocb { pub aio_data: crate::__u64, #[cfg(target_endian = "little")] @@ -915,6 +922,8 @@ pub const PTRACE_SYSCALL_INFO_NONE: crate::__u8 = 0; pub const PTRACE_SYSCALL_INFO_ENTRY: crate::__u8 = 1; pub const PTRACE_SYSCALL_INFO_EXIT: crate::__u8 = 2; pub const PTRACE_SYSCALL_INFO_SECCOMP: crate::__u8 = 3; +pub const PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG: crate::__u8 = 0x4210; +pub const PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG: crate::__u8 = 0x4211; // linux/fs.h diff --git a/src/unix/solarish/solaris.rs b/src/unix/solarish/solaris.rs index 96a8ad5b085dd..b2f306ea078bf 100644 --- a/src/unix/solarish/solaris.rs +++ b/src/unix/solarish/solaris.rs @@ -1,7 +1,7 @@ use crate::prelude::*; use crate::{ - exit_status, off_t, NET_MAC_AWARE, NET_MAC_AWARE_INHERIT, PRIV_AWARE_RESET, PRIV_DEBUG, - PRIV_PFEXEC, PRIV_XPOLICY, termios, + exit_status, off_t, termios, NET_MAC_AWARE, NET_MAC_AWARE_INHERIT, PRIV_AWARE_RESET, + PRIV_DEBUG, PRIV_PFEXEC, PRIV_XPOLICY, }; pub type door_attr_t = c_uint;