@@ -2857,8 +2857,7 @@ fn test_linux(target: &str) {
28572857 "linux/netfilter_ipv6.h" ,
28582858 "linux/netfilter_ipv6/ip6_tables.h" ,
28592859 "linux/netlink.h" ,
2860- // FIXME: requires more recent kernel headers:
2861- // "linux/openat2.h",
2860+ "linux/openat2.h" ,
28622861 [ !musl] : "linux/ptrace.h" ,
28632862 "linux/quota.h" ,
28642863 "linux/random.h" ,
@@ -2956,11 +2955,6 @@ fn test_linux(target: &str) {
29562955 // For internal use only, to define architecture specific ioctl constants with a libc specific type.
29572956 "Ioctl" => true ,
29582957
2959- // FIXME: requires >= 5.4.1 kernel headers
2960- "pgn_t" if musl => true ,
2961- "priority_t" if musl => true ,
2962- "name_t" if musl => true ,
2963-
29642958 _ => false ,
29652959 }
29662960 } ) ;
@@ -3013,11 +3007,6 @@ fn test_linux(target: &str) {
30133007 // which is absent in musl, has to be defined.
30143008 "__exit_status" if musl => true ,
30153009
3016- // FIXME: CI's kernel header version is old.
3017- "sockaddr_can" => true ,
3018-
3019- // Requires glibc 2.33 or newer.
3020- "mallinfo2" => true ,
30213010 // clone_args might differ b/w libc versions
30223011 "clone_args" => true ,
30233012
@@ -3061,12 +3050,6 @@ fn test_linux(target: &str) {
30613050 || name. starts_with ( "TCP_" )
30623051 || name. starts_with ( "UINPUT_" )
30633052 || name. starts_with ( "VMADDR_" )
3064- // FIXME: Requires >= 5.4.1 kernel headers
3065- || name. starts_with ( "J1939" )
3066- // FIXME: Requires >= 5.4.1 kernel headers
3067- || name. starts_with ( "SO_J1939" )
3068- // FIXME: Requires >= 5.4.1 kernel headers
3069- || name. starts_with ( "SCM_J1939" )
30703053 {
30713054 return true ;
30723055 }
@@ -3093,9 +3076,6 @@ fn test_linux(target: &str) {
30933076 // because including `linux/if_arp.h` causes some conflicts:
30943077 "ARPHRD_CAN" => true ,
30953078
3096- // Require Linux kernel 5.1:
3097- "F_SEAL_FUTURE_WRITE" => true ,
3098-
30993079 // FIXME: deprecated: not available in any header
31003080 // See: https://github.com/rust-lang/libc/issues/1356
31013081 "ENOATTR" => true ,
@@ -3124,12 +3104,6 @@ fn test_linux(target: &str) {
31243104 // deprecated: not available from Linux kernel 5.6:
31253105 "VMADDR_CID_RESERVED" => true ,
31263106
3127- // Require Linux kernel 5.6:
3128- "VMADDR_CID_LOCAL" => true ,
3129-
3130- // Requires Linux kernel 5.7:
3131- "MREMAP_DONTUNMAP" => true ,
3132-
31333107 // IPPROTO_MAX was increased in 5.6 for IPPROTO_MPTCP:
31343108 | "IPPROTO_MAX"
31353109 | "IPPROTO_MPTCP" => true ,
@@ -3142,71 +3116,24 @@ fn test_linux(target: &str) {
31423116 // Not yet implemented on sparc64
31433117 "SYS_clone3" if mips | sparc64 => true ,
31443118
3145- // FIXME: these syscalls were added in Linux 5.9 or later
3146- // and are currently not included in the glibc headers.
3147- | "SYS_close_range"
3148- | "SYS_openat2"
3149- | "SYS_pidfd_getfd"
3150- | "SYS_faccessat2"
3151- | "SYS_process_madvise"
3152- | "SYS_epoll_pwait2"
3153- | "SYS_mount_setattr" => true ,
3154-
3155- // FIXME: these syscalls were added in Linux 5.13 or later
3156- // and are currently not included in the glibc headers.
3157- | "SYS_quotactl_fd"
3158- | "SYS_landlock_create_ruleset"
3159- | "SYS_landlock_add_rule"
3160- | "SYS_landlock_restrict_self"
3161- | "SYS_memfd_secret"
3162- | "SYS_process_mrelease"
3163- | "SYS_futex_waitv"
3164- | "SYS_set_mempolicy_home_node" => true ,
3165-
3166- // Requires more recent kernel headers:
3167- | "IFLA_PROP_LIST"
3168- | "IFLA_ALT_IFNAME"
3169- | "IFLA_PERM_ADDRESS"
3170- | "IFLA_PROTO_DOWN_REASON" => true ,
3171-
3172- // FIXME: They require recent kernel header:
3173- | "CAN_J1939"
3174- | "CAN_RAW_FILTER_MAX"
3175- | "CAN_NPROTO" => true ,
3176-
3177- // FIXME: Requires recent kernel headers (5.15)
3178- | "J1939_NLA_TOTAL_SIZE"
3179- | "J1939_NLA_PGN"
3180- | "J1939_NLA_SRC_NAME"
3181- | "J1939_NLA_DEST_NAME"
3182- | "J1939_NLA_SRC_ADDR"
3183- | "J1939_NLA_DEST_ADDR"
3184- | "J1939_EE_INFO_RX_RTS"
3185- | "J1939_EE_INFO_RX_DPO"
3186- | "J1939_EE_INFO_RX_ABORT"
3187- | "SOL_CAN_J1939" => true ,
3188-
3189- // FIXME: Requires recent kernel headers (5.8):
3190- "STATX_MNT_ID" => true ,
3119+ // FIXME: Added in Linux 5.16
3120+ // https://github.com/torvalds/linux/commit/039c0ec9bb77446d7ada7f55f90af9299b28ca49
3121+ "SYS_futex_waitv" => true ,
3122+
3123+ // FIXME: Added in Linux 5.17
3124+ // https://github.com/torvalds/linux/commit/c6018b4b254971863bd0ad36bb5e7d0fa0f0ddb0
3125+ "SYS_set_mempolicy_home_node" => true ,
3126+
3127+ // FIXME: Added in Linux 5.18
3128+ // https://github.com/torvalds/linux/commit/8b5413647262dda8d8d0e07e14ea1de9ac7cf0b2
3129+ "NFQA_PRIORITY" => true ,
31913130
31923131 // FIXME: requires more recent kernel headers on CI
31933132 | "UINPUT_VERSION"
31943133 | "SW_MAX"
31953134 | "SW_CNT"
31963135 if mips || ppc64 || riscv64 || sparc64 => true ,
31973136
3198- // FIXME: Requires more recent kernel headers (5.9 / 5.11):
3199- | "CLOSE_RANGE_UNSHARE"
3200- | "CLOSE_RANGE_CLOEXEC" => true ,
3201-
3202- // FIXME: requires more recent kernel headers:
3203- | "RESOLVE_BENEATH"
3204- | "RESOLVE_CACHED"
3205- | "RESOLVE_IN_ROOT"
3206- | "RESOLVE_NO_MAGICLINKS"
3207- | "RESOLVE_NO_SYMLINKS"
3208- | "RESOLVE_NO_XDEV" => true ,
3209-
32103137 // FIXME: Not currently available in headers on ARM, MIPS and musl.
32113138 "NETLINK_GET_STRICT_CHK" if arm || mips || musl => true ,
32123139
@@ -3233,36 +3160,17 @@ fn test_linux(target: &str) {
32333160
32343161 // is a private value for kernel usage normally
32353162 "FUSE_SUPER_MAGIC" => true ,
3236- // linux 5.12 min
3237- "MPOL_F_NUMA_BALANCING" => true ,
3163+
32383164 // linux 5.17 min
32393165 "PR_SET_VMA" | "PR_SET_VMA_ANON_NAME" => true ,
32403166
3241- // GRND_INSECURE was added in glibc-2.32
3242- "GRND_INSECURE" => true ,
3243-
32443167 // present in recent kernels only
32453168 "PR_PAC_SET_ENABLED_KEYS" | "PR_PAC_GET_ENABLED_KEYS" => true ,
32463169
32473170 // Added in Linux 5.14
32483171 "FUTEX_LOCK_PI2" => true ,
32493172
32503173 // FIXME: Parts of netfilter/nfnetlink*.h require more recent kernel headers:
3251- | "NFNL_SUBSYS_HOOK" // v5.14+
3252- | "NFNL_SUBSYS_COUNT" // bumped in v5.14
3253- | "NFQA_VLAN" // v4.7+
3254- | "NFQA_L2HDR" // v4.7+
3255- | "NFQA_PRIORITY" // v5.18+
3256- | "NFQA_VLAN_UNSPEC" // v4.7+
3257- | "NFQA_VLAN_PROTO" // v4.7+
3258- | "NFQA_VLAN_TCI" // v4.7+
3259- | "NFULA_VLAN" // v5.4+
3260- | "NFULA_L2HDR" // v5.4+
3261- | "NFULA_VLAN_UNSPEC" // v5.4+
3262- | "NFULA_VLAN_PROTO" // v5.4+
3263- | "NFULA_VLAN_TCI" => true , // v5.4+
3264- | "RTNLGRP_NEXTHOP" // linux v5.3+
3265- | "RTNLGRP_BRVLAN" // linux v5.6+
32663174 | "RTNLGRP_MCTP_IFADDR" // linux v5.17+
32673175 | "RTNLGRP_TUNNEL" // linux v5.18+
32683176 | "RTNLGRP_STATS" // linux v5.18+
0 commit comments