@@ -4186,9 +4186,6 @@ fn test_linux(target: &str) {
41864186 // FIXME(linux): Requires >= 6.12 kernel headers.
41874187 "mnt_ns_info" => true ,
41884188
4189- // FIXME(linux): Requires >= 6.4 kernel headers.
4190- "ptrace_sud_config" => true ,
4191-
41924189 // Struct has changed for new musl versions
41934190 "tcp_info" if old_musl => true ,
41944191
@@ -4244,20 +4241,6 @@ fn test_linux(target: &str) {
42444241 if name. starts_with ( "NI_IDN" ) {
42454242 return true ;
42464243 }
4247- // FIXME: Requires >= 6.3 kernel headers
4248- if loongarch64 && ( name == "MFD_NOEXEC_SEAL" || name == "MFD_EXEC" ) {
4249- return true ;
4250- }
4251- // FIXME: Requires >= 6.3 (6.6) kernel headers
4252- if name == "PR_GET_MDWE" || name == "PR_MDWE_NO_INHERIT" || name == "PR_MDWE_REFUSE_EXEC_GAIN" || name == "PR_SET_MDWE" {
4253- return true ;
4254- }
4255- // Requires musl >= 1.2
4256- if old_musl && ( name == "SO_PREFER_BUSY_POLL"
4257- || name == "SO_BUSY_POLL_BUDGET" )
4258- {
4259- return true ;
4260- }
42614244 // FIXME(musl): Not in musl yet
42624245 if name == "SO_NETNS_COOKIE"
42634246 || name == "SO_BUF_LOCK"
@@ -4278,20 +4261,45 @@ fn test_linux(target: &str) {
42784261 {
42794262 return true ;
42804263 }
4281- // Values changed in newer musl versions on these arches
4282- if old_musl && ( riscv64 || x86_64) && name == "O_LARGEFILE" {
4283- return true ;
4284- }
4285- // Values changed in newer musl versions
4286- if old_musl && name == "RLIM_NLIMITS" {
4287- return true ;
4288- }
42894264 // FIXME: Does not exist on non-x86 architectures, slated for removal
42904265 // in libc in 1.0
42914266 if ppc64 && name == "MAP_32BIT" {
42924267 return true ;
42934268 }
42944269 }
4270+ if old_musl {
4271+ // Constants that don't exist on the old version of musl we test with, but do exist
4272+ // on newer versions.
4273+ match name {
4274+ | "FAN_EVENT_INFO_TYPE_ERROR"
4275+ | "FAN_EVENT_INFO_TYPE_NEW_DFID_NAME"
4276+ | "FAN_EVENT_INFO_TYPE_OLD_DFID_NAME"
4277+ | "FAN_FS_ERROR"
4278+ | "FAN_INFO"
4279+ | "FAN_MARK_EVICTABLE"
4280+ | "FAN_MARK_IGNORE"
4281+ | "FAN_MARK_IGNORE_SURV"
4282+ | "FAN_RENAME"
4283+ | "FAN_REPORT_DFID_NAME_TARGET"
4284+ | "FAN_REPORT_TARGET_FID"
4285+ | "FAN_RESPONSE_INFO_AUDIT_RULE"
4286+ | "FAN_RESPONSE_INFO_NONE"
4287+ | "IPPROTO_ETHERNET"
4288+ | "IPPROTO_MPTCP"
4289+ | "PR_GET_MDWE"
4290+ | "PR_MDWE_NO_INHERIT"
4291+ | "PR_MDWE_REFUSE_EXEC_GAIN"
4292+ | "PR_SET_MDWE"
4293+ | "RLIM_NLIMITS"
4294+ | "SI_DETHREAD"
4295+ | "SO_BUSY_POLL_BUDGET"
4296+ | "SO_PREFER_BUSY_POLL"
4297+ => return true ,
4298+ // Values changed in newer musl versions on these arches
4299+ "O_LARGEFILE" if riscv64 || x86_64 => return true ,
4300+ _ => ( ) ,
4301+ }
4302+ }
42954303 match name {
42964304 // These constants are not available if gnu headers have been included
42974305 // and can therefore not be tested here
@@ -4344,43 +4352,17 @@ fn test_linux(target: &str) {
43444352 // deprecated: not available from Linux kernel 5.6:
43454353 "VMADDR_CID_RESERVED" => true ,
43464354
4347- // IPPROTO_MAX was increased in 5.6 for IPPROTO_MPTCP:
4348- | "IPPROTO_MAX"
4349- | "IPPROTO_ETHERNET"
4350- | "IPPROTO_MPTCP" => true ,
4355+ // FIXME(value): IPPROTO_MAX was increased in 5.6 for IPPROTO_MPTCP:
4356+ "IPPROTO_MAX" => true ,
43514357
43524358 // FIXME(linux): Not yet implemented on sparc64
43534359 "SYS_clone3" if sparc64 => true ,
43544360
43554361 // FIXME(linux): Not defined on ARM, gnueabihf, mips, musl, PowerPC, riscv64, s390x, and sparc64.
43564362 "SYS_memfd_secret" if arm | gnueabihf | mips | musl | ppc | riscv64 | s390x | sparc64 => true ,
43574363
4358- // FIXME(linux): Added in Linux 5.16
4359- // https://github.com/torvalds/linux/commit/039c0ec9bb77446d7ada7f55f90af9299b28ca49
4360- "SYS_futex_waitv" => true ,
4361-
4362- // FIXME(linux): Added in Linux 5.17
4363- // https://github.com/torvalds/linux/commit/c6018b4b254971863bd0ad36bb5e7d0fa0f0ddb0
4364- "SYS_set_mempolicy_home_node" => true ,
4365-
4366- // FIXME(linux): Added in Linux 5.18
4367- // https://github.com/torvalds/linux/commit/8b5413647262dda8d8d0e07e14ea1de9ac7cf0b2
4368- "NFQA_PRIORITY" => true ,
4369-
4370- // FIXME(linux): requires more recent kernel headers on CI
4371- | "UINPUT_VERSION"
4372- | "SW_MAX"
4373- | "SW_CNT"
4374- if ppc64 || riscv64 => true ,
4375-
4376- // FIXME(linux): requires more recent kernel headers on CI
4377- "SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV" if sparc64 => true ,
4378-
4379- // FIXME(linux): Not currently available in headers on ARM and musl.
4380- "NETLINK_GET_STRICT_CHK" if arm => true ,
4381-
43824364 // Skip as this signal codes and trap reasons need newer headers
4383- "SI_DETHREAD" | " TRAP_PERF" => true ,
4365+ "TRAP_PERF" => true ,
43844366
43854367 // kernel constants not available in uclibc 1.0.34
43864368 | "EXTPROC"
@@ -4457,12 +4439,6 @@ fn test_linux(target: &str) {
44574439 // DIFF(main): fixed in 1.0 with e9abac9ac2
44584440 "CLONE_CLEAR_SIGHAND" | "CLONE_INTO_CGROUP" => true ,
44594441
4460- // kernel 6.1 minimum
4461- "MADV_COLLAPSE" => true ,
4462-
4463- // kernel 6.2 minimum
4464- "TUN_F_USO4" | "TUN_F_USO6" | "IFF_NO_CARRIER" => true ,
4465-
44664442 // kernel 6.9 minimum
44674443 "RWF_NOAPPEND" => true ,
44684444
@@ -4472,38 +4448,6 @@ fn test_linux(target: &str) {
44724448 // kernel 6.14 minimum
44734449 "RWF_DONTCACHE" => true ,
44744450
4475- // FIXME(linux): Requires more recent kernel headers
4476- | "IFLA_PARENT_DEV_NAME" // linux v5.13+
4477- | "IFLA_PARENT_DEV_BUS_NAME" // linux v5.13+
4478- | "IFLA_GRO_MAX_SIZE" // linux v5.16+
4479- | "IFLA_TSO_MAX_SIZE" // linux v5.18+
4480- | "IFLA_TSO_MAX_SEGS" // linux v5.18+
4481- | "IFLA_ALLMULTI" // linux v6.0+
4482- | "MADV_DONTNEED_LOCKED" // linux v5.18+
4483- => true ,
4484- "SCTP_FUTURE_ASSOC" | "SCTP_CURRENT_ASSOC" | "SCTP_ALL_ASSOC" | "SCTP_PEER_ADDR_THLDS_V2" => true , // linux 5.5+
4485-
4486- // kernel 6.5 minimum
4487- "MOVE_MOUNT_BENEATH" => true ,
4488- // FIXME(linux): Requires linux 6.1
4489- "ALG_SET_KEY_BY_KEY_SERIAL" | "ALG_SET_DRBG_ENTROPY" => true ,
4490-
4491- // FIXME(linux): Requires more recent kernel headers
4492- | "FAN_FS_ERROR" // linux v5.16+
4493- | "FAN_RENAME" // linux v5.17+
4494- | "FAN_REPORT_TARGET_FID" // linux v5.17+
4495- | "FAN_REPORT_DFID_NAME_TARGET" // linux v5.17+
4496- | "FAN_MARK_EVICTABLE" // linux v5.19+
4497- | "FAN_MARK_IGNORE" // linux v6.0+
4498- | "FAN_MARK_IGNORE_SURV" // linux v6.0+
4499- | "FAN_EVENT_INFO_TYPE_ERROR" // linux v5.16+
4500- | "FAN_EVENT_INFO_TYPE_OLD_DFID_NAME" // linux v5.17+
4501- | "FAN_EVENT_INFO_TYPE_NEW_DFID_NAME" // linux v5.17+
4502- | "FAN_RESPONSE_INFO_NONE" // linux v5.16+
4503- | "FAN_RESPONSE_INFO_AUDIT_RULE" // linux v5.16+
4504- | "FAN_INFO" // linux v5.16+
4505- => true ,
4506-
45074451 // musl doesn't use <linux/fanotify.h> in <sys/fanotify.h>
45084452 "FAN_REPORT_PIDFD"
45094453 | "FAN_REPORT_DIR_FID"
@@ -4516,36 +4460,24 @@ fn test_linux(target: &str) {
45164460 | "FAN_EPIDFD"
45174461 if musl => true ,
45184462
4519- // FIXME(linux ): Requires linux 6.5
4463+ // FIXME(value ): value needs update
45204464 "NFT_MSG_MAX" => true ,
45214465
45224466 // FIXME(linux): Requires >= 6.6 kernel headers.
4523- "XDP_USE_SG"
4524- | "XDP_PKT_CONTD"
4525- =>
4526- {
4527- true
4528- }
4467+ "XDP_USE_SG" | "XDP_PKT_CONTD" => true ,
45294468
4530- // FIXME(linux): Requires >= 6.6 kernel headers.
4531- "PR_MDWE_NO_INHERIT" => true ,
4469+ // FIXME(linux): Missing only on this platform for some reason
4470+ "PR_MDWE_NO_INHERIT" if gnueabihf => true ,
45324471
45334472 // FIXME(linux): Requires >= 6.8 kernel headers.
45344473 "XDP_UMEM_TX_SW_CSUM"
45354474 | "XDP_TXMD_FLAGS_TIMESTAMP"
45364475 | "XDP_TXMD_FLAGS_CHECKSUM"
45374476 | "XDP_TX_METADATA"
4538- =>
4539- {
4540- true
4541- }
4477+ => true ,
45424478
45434479 // FIXME(linux): Requires >= 6.11 kernel headers.
4544- "XDP_UMEM_TX_METADATA_LEN"
4545- =>
4546- {
4547- true
4548- }
4480+ "XDP_UMEM_TX_METADATA_LEN" => true ,
45494481
45504482 // FIXME(linux): Requires >= 6.11 kernel headers.
45514483 "NS_GET_MNTNS_ID" | "NS_GET_PID_FROM_PIDNS" | "NS_GET_TGID_FROM_PIDNS" | "NS_GET_PID_IN_PIDNS" | "NS_GET_TGID_IN_PIDNS" => true ,
@@ -4588,15 +4520,11 @@ fn test_linux(target: &str) {
45884520 | "PF_SUSPEND_TASK" => true ,
45894521
45904522 // FIXME(linux): Requires >= 6.9 kernel headers.
4591- "EPIOCSPARAMS"
4592- | "EPIOCGPARAMS" => true ,
4523+ "EPIOCSPARAMS" | "EPIOCGPARAMS" => true ,
45934524
45944525 // FIXME(linux): Requires >= 6.11 kernel headers.
45954526 "MAP_DROPPABLE" => true ,
45964527
4597- // FIXME(linux): Requires >= 6.2 kernel headers.
4598- "SOF_TIMESTAMPING_OPT_ID_TCP" => true ,
4599-
46004528 // FIXME(linux): Requires >= 6.12 kernel headers.
46014529 "SOF_TIMESTAMPING_OPT_RX_FILTER" => true ,
46024530
@@ -4606,12 +4534,10 @@ fn test_linux(target: &str) {
46064534 | "SO_DEVMEM_DONTNEED"
46074535 | "SCM_DEVMEM_LINEAR"
46084536 | "SCM_DEVMEM_DMABUF" => true ,
4537+
46094538 // FIXME(linux): Requires >= 6.4 kernel headers.
46104539 "PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG" | "PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG" => true ,
46114540
4612- // FIXME(linux): Requires >= 6.6 kernel headers.
4613- "PROC_EVENT_NONZERO_EXIT" => true ,
4614-
46154541 // FIXME(linux): Requires >= 6.14 kernel headers.
46164542 "SECBIT_EXEC_DENY_INTERACTIVE"
46174543 | "SECBIT_EXEC_DENY_INTERACTIVE_LOCKED"
0 commit comments