Skip to content

Commit 9fa8a1a

Browse files
committed
test: linux: Unskip types and constants that are now available
CI runs with the 6.11 kernel, so stop skipping tests on everything that was added before then where possible. (backport <#4761>) (cherry picked from commit dd44cb6)
1 parent 51cd82a commit 9fa8a1a

File tree

1 file changed

+44
-118
lines changed

1 file changed

+44
-118
lines changed

libc-test/build.rs

Lines changed: 44 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)