From ed3b7317771d780c5371717ec3c252d4dc47900c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Mon, 31 Aug 2026 12:21:08 +0200 Subject: [PATCH] musl: Add `*_SUPER_MAGIC` constants IIUC, they were not added as part of https://github.com/rust-lang/libc/pull/2639 because Musl kernel headers were too old. --- src/unix/linux_like/linux/gnu/mod.rs | 13 ------------- src/unix/linux_like/linux/mod.rs | 14 ++++++++++++++ src/unix/linux_like/linux/uclibc/mod.rs | 6 ------ 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 5202303d196c..eee5a9fd3072 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -767,19 +767,6 @@ pub const O_ACCMODE: c_int = 3; pub const ST_RELATIME: c_ulong = 4096; pub const NI_MAXHOST: crate::socklen_t = 1025; -// Most `*_SUPER_MAGIC` constants are defined at the `linux_like` level; the -// following are only available on newer Linux versions than the versions -// currently used in CI in some configurations, so we define them here. -cfg_if! { - if #[cfg(not(target_arch = "s390x"))] { - pub const BINDERFS_SUPER_MAGIC: c_long = 0x6c6f6f70; - pub const XFS_SUPER_MAGIC: c_long = 0x58465342; - } else if #[cfg(target_arch = "s390x")] { - pub const BINDERFS_SUPER_MAGIC: c_uint = 0x6c6f6f70; - pub const XFS_SUPER_MAGIC: c_uint = 0x58465342; - } -} - pub const CPU_SETSIZE: c_int = 0x400; pub const PTRACE_TRACEME: c_uint = 0; diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index cb3cfeae1f19..1d92a24cef28 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -2558,6 +2558,20 @@ pub const IN_ONLYDIR: u32 = 0x0100_0000; pub const IN_DONT_FOLLOW: u32 = 0x0200_0000; pub const IN_EXCL_UNLINK: u32 = 0x0400_0000; +// uapi/linux/magic.h +// Most `*_SUPER_MAGIC` constants are defined at the `linux_like` level; the +// following are only available on newer Linux versions than the versions +// currently used in CI in some configurations, so we define them here. +cfg_if! { + if #[cfg(not(target_arch = "s390x"))] { + pub const BINDERFS_SUPER_MAGIC: c_long = 0x6c6f6f70; + pub const XFS_SUPER_MAGIC: c_long = 0x58465342; + } else if #[cfg(target_arch = "s390x")] { + pub const BINDERFS_SUPER_MAGIC: c_uint = 0x6c6f6f70; + pub const XFS_SUPER_MAGIC: c_uint = 0x58465342; + } +} + // uapi/linux/securebits.h const SECURE_NOROOT: c_int = 0; const SECURE_NOROOT_LOCKED: c_int = 1; diff --git a/src/unix/linux_like/linux/uclibc/mod.rs b/src/unix/linux_like/linux/uclibc/mod.rs index 4bc4848b429f..d7a904979511 100644 --- a/src/unix/linux_like/linux/uclibc/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mod.rs @@ -229,12 +229,6 @@ pub const MCL_ONFAULT: c_int = 0x0004; pub const AF_VSOCK: c_int = 40; -// Most `*_SUPER_MAGIC` constants are defined at the `linux_like` level; the -// following are only available on newer Linux versions than the versions -// currently used in CI in some configurations, so we define them here. -pub const BINDERFS_SUPER_MAGIC: c_long = 0x6c6f6f70; -pub const XFS_SUPER_MAGIC: c_long = 0x58465342; - pub const PTRACE_TRACEME: c_int = 0; pub const PTRACE_PEEKTEXT: c_int = 1; pub const PTRACE_PEEKDATA: c_int = 2;