diff --git a/src/basic/linux/bpf.h b/src/basic/linux/bpf.h index 858a89984e..f4d7e495dd 100644 --- a/src/basic/linux/bpf.h +++ b/src/basic/linux/bpf.h @@ -1425,6 +1425,8 @@ enum { #define BPF_F_TEST_RUN_ON_CPU (1U << 0) /* If set, XDP frames will be transmitted after processing */ #define BPF_F_TEST_XDP_LIVE_FRAMES (1U << 1) +/* If set, apply CHECKSUM_COMPLETE to skb and validate the checksum */ +#define BPF_F_TEST_SKB_CHECKSUM_COMPLETE (1U << 2) /* type for BPF_ENABLE_STATS */ enum bpf_stats_type { @@ -6207,12 +6209,17 @@ union { \ __u64 :64; \ } __attribute__((aligned(8))) +/* The enum used in skb->tstamp_type. It specifies the clock type + * of the time stored in the skb->tstamp. + */ enum { - BPF_SKB_TSTAMP_UNSPEC, - BPF_SKB_TSTAMP_DELIVERY_MONO, /* tstamp has mono delivery time */ - /* For any BPF_SKB_TSTAMP_* that the bpf prog cannot handle, - * the bpf prog should handle it like BPF_SKB_TSTAMP_UNSPEC - * and try to deduce it by ingress, egress or skb->sk->sk_clockid. + BPF_SKB_TSTAMP_UNSPEC = 0, /* DEPRECATED */ + BPF_SKB_TSTAMP_DELIVERY_MONO = 1, /* DEPRECATED */ + BPF_SKB_CLOCK_REALTIME = 0, + BPF_SKB_CLOCK_MONOTONIC = 1, + BPF_SKB_CLOCK_TAI = 2, + /* For any future BPF_SKB_CLOCK_* that the bpf prog cannot handle, + * the bpf prog can try to deduce it by ingress/egress/skb->sk->sk_clockid. */ }; diff --git a/src/basic/linux/btrfs_tree.h b/src/basic/linux/btrfs_tree.h index ae5e4be887..86242120a7 100644 --- a/src/basic/linux/btrfs_tree.h +++ b/src/basic/linux/btrfs_tree.h @@ -743,21 +743,9 @@ struct btrfs_raid_stride { __le64 physical; } __attribute__ ((__packed__)); -/* The stripe_extent::encoding, 1:1 mapping of enum btrfs_raid_types. */ -#define BTRFS_STRIPE_RAID0 1 -#define BTRFS_STRIPE_RAID1 2 -#define BTRFS_STRIPE_DUP 3 -#define BTRFS_STRIPE_RAID10 4 -#define BTRFS_STRIPE_RAID5 5 -#define BTRFS_STRIPE_RAID6 6 -#define BTRFS_STRIPE_RAID1C3 7 -#define BTRFS_STRIPE_RAID1C4 8 - struct btrfs_stripe_extent { - __u8 encoding; - __u8 reserved[7]; /* An array of raid strides this stripe is composed of. */ - struct btrfs_raid_stride strides[]; + __DECLARE_FLEX_ARRAY(struct btrfs_raid_stride, strides); } __attribute__ ((__packed__)); #define BTRFS_HEADER_FLAG_WRITTEN (1ULL << 0) @@ -773,6 +761,14 @@ struct btrfs_stripe_extent { #define BTRFS_SUPER_FLAG_CHANGING_FSID (1ULL << 35) #define BTRFS_SUPER_FLAG_CHANGING_FSID_V2 (1ULL << 36) +/* + * Those are temporaray flags utilized by btrfs-progs to do offline conversion. + * They are rejected by kernel. + * But still keep them all here to avoid conflicts. + */ +#define BTRFS_SUPER_FLAG_CHANGING_BG_TREE (1ULL << 38) +#define BTRFS_SUPER_FLAG_CHANGING_DATA_CSUM (1ULL << 39) +#define BTRFS_SUPER_FLAG_CHANGING_META_CSUM (1ULL << 40) /* * items in the extent btree are used to record the objectid of the diff --git a/src/basic/linux/ethtool.h b/src/basic/linux/ethtool.h index 1a7169b59d..5aa2ae0a4b 100644 --- a/src/basic/linux/ethtool.h +++ b/src/basic/linux/ethtool.h @@ -750,6 +750,197 @@ enum ethtool_module_power_mode { ETHTOOL_MODULE_POWER_MODE_HIGH, }; +/** + * enum ethtool_c33_pse_ext_state - groups of PSE extended states + * functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION: Group of error_condition states + * @ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID: Group of mr_mps_valid states + * @ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE: Group of mr_pse_enable states + * @ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED: Group of option_detect_ted + * states + * @ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM: Group of option_vport_lim states + * @ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED: Group of ovld_detected states + * @ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE: Group of pd_dll_power_type + * states + * @ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE: Group of power_not_available + * states + * @ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED: Group of short_detected states + */ +enum ethtool_c33_pse_ext_state { + ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1, + ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID, + ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE, + ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED, + ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM, + ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED, + ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE, + ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE, + ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED, +}; + +/** + * enum ethtool_c33_pse_ext_substate_mr_mps_valid - mr_mps_valid states + * functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_MPS_VALID_DETECTED_UNDERLOAD: Underload + * state + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_MPS_VALID_CONNECTION_OPEN: Port is not + * connected + * + * The PSE monitors either the DC or AC Maintain Power Signature + * (MPS, see 33.2.9.1). This variable indicates the presence or absence of + * a valid MPS. + */ +enum ethtool_c33_pse_ext_substate_mr_mps_valid { + ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_MPS_VALID_DETECTED_UNDERLOAD = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_MPS_VALID_CONNECTION_OPEN, +}; + +/** + * enum ethtool_c33_pse_ext_substate_error_condition - error_condition states + * functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT: Non-existing + * port number + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT: Undefined port + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT: Internal + * hardware fault + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON: + * Communication error after force on + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS: Unknown + * port status + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF: Host + * crash turn off + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN: + * Host crash force shutdown + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE: Configuration + * change + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP: Over + * temperature detected + * + * error_condition is a variable indicating the status of + * implementation-specific fault conditions or optionally other system faults + * that prevent the PSE from meeting the specifications in Table 33–11 and that + * require the PSE not to source power. These error conditions are different + * from those monitored by the state diagrams in Figure 33–10. + */ +enum ethtool_c33_pse_ext_substate_error_condition { + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP, +}; + +/** + * enum ethtool_c33_pse_ext_substate_mr_pse_enable - mr_pse_enable states + * functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE: Disable + * pin active + * + * mr_pse_enable is control variable that selects PSE operation and test + * functions. + */ +enum ethtool_c33_pse_ext_substate_mr_pse_enable { + ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1, +}; + +/** + * enum ethtool_c33_pse_ext_substate_option_detect_ted - option_detect_ted + * states functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS: Detection + * in process + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR: + * Connection check error + * + * option_detect_ted is a variable indicating if detection can be performed + * by the PSE during the ted_timer interval. + */ +enum ethtool_c33_pse_ext_substate_option_detect_ted { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR, +}; + +/** + * enum ethtool_c33_pse_ext_substate_option_vport_lim - option_vport_lim states + * functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE: Main supply + * voltage is high + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE: Main supply + * voltage is low + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION: Voltage + * injection into the port + * + * option_vport_lim is an optional variable indicates if VPSE is out of the + * operating range during normal operating state. + */ +enum ethtool_c33_pse_ext_substate_option_vport_lim { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION, +}; + +/** + * enum ethtool_c33_pse_ext_substate_ovld_detected - ovld_detected states + * functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD: Overload state + * + * ovld_detected is a variable indicating if the PSE output current has been + * in an overload condition (see 33.2.7.6) for at least TCUT of a one-second + * sliding time. + */ +enum ethtool_c33_pse_ext_substate_ovld_detected { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1, +}; + +/** + * enum ethtool_c33_pse_ext_substate_power_not_available - power_not_available + * states functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED: Power + * budget exceeded for the controller + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET: + * Configured port power limit exceeded controller power budget + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT: + * Power request from PD exceeds port limit + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT: Power + * denied due to Hardware power limit + * + * power_not_available is a variable that is asserted in an + * implementation-dependent manner when the PSE is no longer capable of + * sourcing sufficient power to support the attached PD. Sufficient power + * is defined by classification; see 33.2.6. + */ +enum ethtool_c33_pse_ext_substate_power_not_available { + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT, +}; + +/** + * enum ethtool_c33_pse_ext_substate_short_detected - short_detected states + * functions. IEEE 802.3-2022 33.2.4.4 Variables + * + * @ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION: Short + * condition was detected + * + * short_detected is a variable indicating if the PSE output current has been + * in a short circuit condition for TLIM within a sliding window (see 33.2.7.7). + */ +enum ethtool_c33_pse_ext_substate_short_detected { + ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1, +}; + /** * enum ethtool_pse_types - Types of PSE controller. * @ETHTOOL_PSE_UNKNOWN: Type of PSE controller is unknown @@ -875,6 +1066,24 @@ enum ethtool_mm_verify_status { ETHTOOL_MM_VERIFY_STATUS_DISABLED, }; +/** + * enum ethtool_module_fw_flash_status - plug-in module firmware flashing status + * @ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED: The firmware flashing process has + * started. + * @ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS: The firmware flashing process + * is in progress. + * @ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED: The firmware flashing process was + * completed successfully. + * @ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR: The firmware flashing process was + * stopped due to an error. + */ +enum ethtool_module_fw_flash_status { + ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1, + ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS, + ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED, + ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR, +}; + /** * struct ethtool_gstrings - string set for data tagging * @cmd: Command number = %ETHTOOL_GSTRINGS @@ -1843,6 +2052,7 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99, ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100, ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101, + ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102, /* must be last entry */ __ETHTOOL_LINK_MODE_MASK_NBITS diff --git a/src/basic/linux/in.h b/src/basic/linux/in.h index 7bdd6843c0..43cfcb010c 100644 --- a/src/basic/linux/in.h +++ b/src/basic/linux/in.h @@ -81,6 +81,8 @@ enum { #define IPPROTO_ETHERNET IPPROTO_ETHERNET IPPROTO_RAW = 255, /* Raw IP packets */ #define IPPROTO_RAW IPPROTO_RAW + IPPROTO_SMC = 256, /* Shared Memory Communications */ +#define IPPROTO_SMC IPPROTO_SMC IPPROTO_MPTCP = 262, /* Multipath TCP connection */ #define IPPROTO_MPTCP IPPROTO_MPTCP IPPROTO_MAX diff --git a/src/basic/linux/netfilter/nf_tables.h b/src/basic/linux/netfilter/nf_tables.h index aa4094ca24..639894ed1b 100644 --- a/src/basic/linux/netfilter/nf_tables.h +++ b/src/basic/linux/netfilter/nf_tables.h @@ -1376,7 +1376,7 @@ enum nft_secmark_attributes { #define NFTA_SECMARK_MAX (__NFTA_SECMARK_MAX - 1) /* Max security context length */ -#define NFT_SECMARK_CTX_MAXLEN 256 +#define NFT_SECMARK_CTX_MAXLEN 4096 /** * enum nft_reject_types - nf_tables reject expression reject types diff --git a/src/basic/linux/nl80211.h b/src/basic/linux/nl80211.h index f917bc6c9b..f97f5adc8d 100644 --- a/src/basic/linux/nl80211.h +++ b/src/basic/linux/nl80211.h @@ -2052,6 +2052,10 @@ enum nl80211_commands { * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported * interface combinations. In each nested item, it contains attributes * defined in &enum nl80211_if_combination_attrs. + * If the wiphy uses multiple radios (@NL80211_ATTR_WIPHY_RADIOS is set), + * this attribute contains the interface combinations of the first radio. + * See @NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS for the global wiphy + * combinations for the sum of all radios. * @NL80211_ATTR_SOFTWARE_IFTYPES: Nested attribute (just like * %NL80211_ATTR_SUPPORTED_IFTYPES) containing the interface types that * are managed in software: interfaces of these types aren't subject to @@ -2856,6 +2860,14 @@ enum nl80211_commands { * %NL80211_CMD_ASSOCIATE indicating the SPP A-MSDUs * are used on this connection * + * @NL80211_ATTR_WIPHY_RADIOS: Nested attribute describing physical radios + * belonging to this wiphy. See &enum nl80211_wiphy_radio_attrs. + * + * @NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS: Nested attribute listing the + * supported interface combinations for all radios combined. In each + * nested item, it contains attributes defined in + * &enum nl80211_if_combination_attrs. + * * @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NL80211_ATTR_MAX: highest attribute number currently defined * @__NL80211_ATTR_AFTER_LAST: internal use @@ -3401,6 +3413,9 @@ enum nl80211_attrs { NL80211_ATTR_ASSOC_SPP_AMSDU, + NL80211_ATTR_WIPHY_RADIOS, + NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS, + /* add attributes here, update the policy in nl80211.c */ __NL80211_ATTR_AFTER_LAST, @@ -4277,6 +4292,8 @@ enum nl80211_wmm_rule { * @NL80211_FREQUENCY_ATTR_CAN_MONITOR: This channel can be used in monitor * mode despite other (regulatory) restrictions, even if the channel is * otherwise completely disabled. + * @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a + * very low power (VLP) AP, despite being NO_IR. * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number * currently defined * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use @@ -4320,6 +4337,7 @@ enum nl80211_frequency_attr { NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT, NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT, NL80211_FREQUENCY_ATTR_CAN_MONITOR, + NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP, /* keep last */ __NL80211_FREQUENCY_ATTR_AFTER_LAST, @@ -4529,6 +4547,8 @@ enum nl80211_sched_scan_match_attr { * Should be used together with %NL80211_RRF_DFS only. * @NL80211_RRF_NO_6GHZ_VLP_CLIENT: Client connection to VLP AP not allowed * @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed + * @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted + * despite NO_IR configuration. */ enum nl80211_reg_rule_flags { NL80211_RRF_NO_OFDM = 1<<0, @@ -4553,6 +4573,7 @@ enum nl80211_reg_rule_flags { NL80211_RRF_DFS_CONCURRENT = 1<<21, NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22, NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23, + NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24, }; #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR @@ -7999,4 +8020,54 @@ enum nl80211_ap_settings_flags { NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1, }; +/** + * enum nl80211_wiphy_radio_attrs - wiphy radio attributes + * + * @__NL80211_WIPHY_RADIO_ATTR_INVALID: Invalid + * + * @NL80211_WIPHY_RADIO_ATTR_INDEX: Index of this radio (u32) + * @NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE: Frequency range supported by this + * radio. Attribute may be present multiple times. + * @NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION: Supported interface + * combination for this radio. Attribute may be present multiple times + * and contains attributes defined in &enum nl80211_if_combination_attrs. + * + * @__NL80211_WIPHY_RADIO_ATTR_LAST: Internal + * @NL80211_WIPHY_RADIO_ATTR_MAX: Highest attribute + */ +enum nl80211_wiphy_radio_attrs { + __NL80211_WIPHY_RADIO_ATTR_INVALID, + + NL80211_WIPHY_RADIO_ATTR_INDEX, + NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE, + NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION, + + /* keep last */ + __NL80211_WIPHY_RADIO_ATTR_LAST, + NL80211_WIPHY_RADIO_ATTR_MAX = __NL80211_WIPHY_RADIO_ATTR_LAST - 1, +}; + +/** + * enum nl80211_wiphy_radio_freq_range - wiphy radio frequency range + * + * @__NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID: Invalid + * + * @NL80211_WIPHY_RADIO_FREQ_ATTR_START: Frequency range start (u32). + * The unit is kHz. + * @NL80211_WIPHY_RADIO_FREQ_ATTR_END: Frequency range end (u32). + * The unit is kHz. + * + * @__NL80211_WIPHY_RADIO_FREQ_ATTR_LAST: Internal + * @NL80211_WIPHY_RADIO_FREQ_ATTR_MAX: Highest attribute + */ +enum nl80211_wiphy_radio_freq_range { + __NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID, + + NL80211_WIPHY_RADIO_FREQ_ATTR_START, + NL80211_WIPHY_RADIO_FREQ_ATTR_END, + + __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST, + NL80211_WIPHY_RADIO_FREQ_ATTR_MAX = __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST - 1, +}; + #endif /* __LINUX_NL80211_H */ diff --git a/src/basic/syscall-list.txt b/src/basic/syscall-list.txt index 4a7b7fbc69..d7e09f4b19 100644 --- a/src/basic/syscall-list.txt +++ b/src/basic/syscall-list.txt @@ -95,6 +95,7 @@ fsopen fspick fstat fstat64 +fstatat fstatat64 fstatfs fstatfs64 @@ -191,6 +192,7 @@ listen listmount listxattr llistxattr +llseek lookup_dcookie lremovexattr lseek @@ -245,6 +247,7 @@ munlockall munmap name_to_handle_at nanosleep +newfstat newfstatat nice old_adjtimex @@ -502,6 +505,7 @@ uname unlink unlinkat unshare +uretprobe userfaultfd ustat utime diff --git a/src/basic/syscalls-alpha.txt b/src/basic/syscalls-alpha.txt index da50c042d2..764ab4ba9d 100644 --- a/src/basic/syscalls-alpha.txt +++ b/src/basic/syscalls-alpha.txt @@ -95,6 +95,7 @@ fsopen 540 fspick 543 fstat 91 fstat64 427 +fstatat fstatat64 455 fstatfs 329 fstatfs64 529 @@ -191,6 +192,7 @@ listen 106 listmount 568 listxattr 388 llistxattr 389 +llseek lookup_dcookie 406 lremovexattr 392 lseek 19 @@ -245,6 +247,7 @@ munlockall 317 munmap 73 name_to_handle_at 497 nanosleep 340 +newfstat newfstatat nice old_adjtimex 303 @@ -502,6 +505,7 @@ uname 339 unlink 10 unlinkat 456 unshare 465 +uretprobe userfaultfd 516 ustat 327 utime diff --git a/src/basic/syscalls-arc.txt b/src/basic/syscalls-arc.txt index cdb8a53593..4baeaa5734 100644 --- a/src/basic/syscalls-arc.txt +++ b/src/basic/syscalls-arc.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat fstat64 80 +fstatat fstatat64 79 fstatfs fstatfs64 44 @@ -191,6 +192,7 @@ listen 201 listmount 458 listxattr 11 llistxattr 12 +llseek 62 lookup_dcookie 18 lremovexattr 15 lseek @@ -245,6 +247,7 @@ munlockall 231 munmap 215 name_to_handle_at 264 nanosleep 101 +newfstat newfstatat nice old_adjtimex @@ -502,6 +505,7 @@ uname 160 unlink unlinkat 35 unshare 97 +uretprobe userfaultfd 282 ustat utime diff --git a/src/basic/syscalls-arm.txt b/src/basic/syscalls-arm.txt index 743dd875b4..d8ddfac402 100644 --- a/src/basic/syscalls-arm.txt +++ b/src/basic/syscalls-arm.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 108 fstat64 197 +fstatat fstatat64 327 fstatfs 100 fstatfs64 267 @@ -191,6 +192,7 @@ listen 284 listmount 458 listxattr 232 llistxattr 233 +llseek lookup_dcookie 249 lremovexattr 236 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 370 nanosleep 162 +newfstat newfstatat nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 122 unlink 10 unlinkat 328 unshare 337 +uretprobe userfaultfd 388 ustat 62 utime diff --git a/src/basic/syscalls-arm64.txt b/src/basic/syscalls-arm64.txt index e2fc5484c9..187e7820cf 100644 --- a/src/basic/syscalls-arm64.txt +++ b/src/basic/syscalls-arm64.txt @@ -93,8 +93,9 @@ fsetxattr 7 fsmount 432 fsopen 430 fspick 433 -fstat 80 +fstat fstat64 +fstatat fstatat64 fstatfs 44 fstatfs64 @@ -191,6 +192,7 @@ listen 201 listmount 458 listxattr 11 llistxattr 12 +llseek lookup_dcookie 18 lremovexattr 15 lseek 62 @@ -245,6 +247,7 @@ munlockall 231 munmap 215 name_to_handle_at 264 nanosleep 101 +newfstat 80 newfstatat 79 nice old_adjtimex @@ -502,6 +505,7 @@ uname 160 unlink unlinkat 35 unshare 97 +uretprobe userfaultfd 282 ustat utime diff --git a/src/basic/syscalls-i386.txt b/src/basic/syscalls-i386.txt index 3c571e87a4..c05b6a50fe 100644 --- a/src/basic/syscalls-i386.txt +++ b/src/basic/syscalls-i386.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 108 fstat64 197 +fstatat fstatat64 300 fstatfs 100 fstatfs64 269 @@ -191,6 +192,7 @@ listen 363 listmount 458 listxattr 232 llistxattr 233 +llseek lookup_dcookie 253 lremovexattr 236 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 341 nanosleep 162 +newfstat newfstatat nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 122 unlink 10 unlinkat 301 unshare 310 +uretprobe userfaultfd 374 ustat 62 utime 30 diff --git a/src/basic/syscalls-loongarch64.txt b/src/basic/syscalls-loongarch64.txt index ba69d80016..b9224f13a4 100644 --- a/src/basic/syscalls-loongarch64.txt +++ b/src/basic/syscalls-loongarch64.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat fstat64 +fstatat fstatat64 fstatfs 44 fstatfs64 @@ -191,6 +192,7 @@ listen 201 listmount 458 listxattr 11 llistxattr 12 +llseek lookup_dcookie 18 lremovexattr 15 lseek 62 @@ -245,7 +247,8 @@ munlockall 231 munmap 215 name_to_handle_at 264 nanosleep 101 -newfstatat +newfstat 80 +newfstatat 79 nice old_adjtimex oldfstat @@ -502,6 +505,7 @@ uname 160 unlink unlinkat 35 unshare 97 +uretprobe userfaultfd 282 ustat utime diff --git a/src/basic/syscalls-m68k.txt b/src/basic/syscalls-m68k.txt index 032e354edb..5c467dcf72 100644 --- a/src/basic/syscalls-m68k.txt +++ b/src/basic/syscalls-m68k.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 108 fstat64 197 +fstatat fstatat64 293 fstatfs 100 fstatfs64 264 @@ -191,6 +192,7 @@ listen 360 listmount 458 listxattr 229 llistxattr 230 +llseek lookup_dcookie 248 lremovexattr 233 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 340 nanosleep 162 +newfstat newfstatat nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 122 unlink 10 unlinkat 294 unshare 303 +uretprobe userfaultfd 373 ustat 62 utime 30 diff --git a/src/basic/syscalls-mips64.txt b/src/basic/syscalls-mips64.txt index b470f8db61..a5d549b85b 100644 --- a/src/basic/syscalls-mips64.txt +++ b/src/basic/syscalls-mips64.txt @@ -95,6 +95,7 @@ fsopen 5430 fspick 5433 fstat 5005 fstat64 +fstatat fstatat64 fstatfs 5135 fstatfs64 @@ -191,6 +192,7 @@ listen 5049 listmount 5458 listxattr 5186 llistxattr 5187 +llseek lookup_dcookie 5206 lremovexattr 5190 lseek 5008 @@ -245,6 +247,7 @@ munlockall 5149 munmap 5011 name_to_handle_at 5298 nanosleep 5034 +newfstat newfstatat 5252 nice old_adjtimex @@ -502,6 +505,7 @@ uname 5061 unlink 5085 unlinkat 5253 unshare 5262 +uretprobe userfaultfd 5317 ustat 5133 utime 5130 diff --git a/src/basic/syscalls-mips64n32.txt b/src/basic/syscalls-mips64n32.txt index 30ddfcaf21..db7235bb59 100644 --- a/src/basic/syscalls-mips64n32.txt +++ b/src/basic/syscalls-mips64n32.txt @@ -95,6 +95,7 @@ fsopen 6430 fspick 6433 fstat 6005 fstat64 +fstatat fstatat64 fstatfs 6135 fstatfs64 6218 @@ -191,6 +192,7 @@ listen 6049 listmount 6458 listxattr 6186 llistxattr 6187 +llseek lookup_dcookie 6206 lremovexattr 6190 lseek 6008 @@ -245,6 +247,7 @@ munlockall 6149 munmap 6011 name_to_handle_at 6303 nanosleep 6034 +newfstat newfstatat 6256 nice old_adjtimex @@ -502,6 +505,7 @@ uname 6061 unlink 6085 unlinkat 6257 unshare 6266 +uretprobe userfaultfd 6321 ustat 6133 utime 6130 diff --git a/src/basic/syscalls-mipso32.txt b/src/basic/syscalls-mipso32.txt index 26cb3c19ad..194470caf2 100644 --- a/src/basic/syscalls-mipso32.txt +++ b/src/basic/syscalls-mipso32.txt @@ -95,6 +95,7 @@ fsopen 4430 fspick 4433 fstat 4108 fstat64 4215 +fstatat fstatat64 4293 fstatfs 4100 fstatfs64 4256 @@ -191,6 +192,7 @@ listen 4174 listmount 4458 listxattr 4230 llistxattr 4231 +llseek lookup_dcookie 4247 lremovexattr 4234 lseek 4019 @@ -245,6 +247,7 @@ munlockall 4157 munmap 4091 name_to_handle_at 4339 nanosleep 4166 +newfstat newfstatat nice 4034 old_adjtimex @@ -502,6 +505,7 @@ uname 4122 unlink 4010 unlinkat 4294 unshare 4303 +uretprobe userfaultfd 4357 ustat 4062 utime 4030 diff --git a/src/basic/syscalls-parisc.txt b/src/basic/syscalls-parisc.txt index 99c7712a38..5d52fc65e4 100644 --- a/src/basic/syscalls-parisc.txt +++ b/src/basic/syscalls-parisc.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 28 fstat64 112 +fstatat fstatat64 280 fstatfs 100 fstatfs64 299 @@ -191,6 +192,7 @@ listen 32 listmount 458 listxattr 244 llistxattr 245 +llseek lookup_dcookie 223 lremovexattr 248 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 325 nanosleep 162 +newfstat newfstatat nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 59 unlink 10 unlinkat 281 unshare 288 +uretprobe userfaultfd 344 ustat 62 utime 30 diff --git a/src/basic/syscalls-powerpc.txt b/src/basic/syscalls-powerpc.txt index a1c64523d2..b4c9a40f9e 100644 --- a/src/basic/syscalls-powerpc.txt +++ b/src/basic/syscalls-powerpc.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 108 fstat64 197 +fstatat fstatat64 291 fstatfs 100 fstatfs64 253 @@ -191,6 +192,7 @@ listen 329 listmount 458 listxattr 215 llistxattr 216 +llseek lookup_dcookie 235 lremovexattr 219 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 345 nanosleep 162 +newfstat newfstatat nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 122 unlink 10 unlinkat 292 unshare 282 +uretprobe userfaultfd 364 ustat 62 utime 30 diff --git a/src/basic/syscalls-powerpc64.txt b/src/basic/syscalls-powerpc64.txt index 992c61d406..0df48c07f6 100644 --- a/src/basic/syscalls-powerpc64.txt +++ b/src/basic/syscalls-powerpc64.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 108 fstat64 +fstatat fstatat64 fstatfs 100 fstatfs64 253 @@ -191,6 +192,7 @@ listen 329 listmount 458 listxattr 215 llistxattr 216 +llseek lookup_dcookie 235 lremovexattr 219 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 345 nanosleep 162 +newfstat newfstatat 291 nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 122 unlink 10 unlinkat 292 unshare 282 +uretprobe userfaultfd 364 ustat 62 utime 30 diff --git a/src/basic/syscalls-riscv32.txt b/src/basic/syscalls-riscv32.txt index 3af7cdb3b2..b38740ebc9 100644 --- a/src/basic/syscalls-riscv32.txt +++ b/src/basic/syscalls-riscv32.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat fstat64 +fstatat fstatat64 fstatfs fstatfs64 44 @@ -191,6 +192,7 @@ listen 201 listmount 458 listxattr 11 llistxattr 12 +llseek 62 lookup_dcookie 18 lremovexattr 15 lseek @@ -245,6 +247,7 @@ munlockall 231 munmap 215 name_to_handle_at 264 nanosleep +newfstat newfstatat nice old_adjtimex @@ -502,6 +505,7 @@ uname 160 unlink unlinkat 35 unshare 97 +uretprobe userfaultfd 282 ustat utime diff --git a/src/basic/syscalls-riscv64.txt b/src/basic/syscalls-riscv64.txt index 7a1882aadd..d948e524da 100644 --- a/src/basic/syscalls-riscv64.txt +++ b/src/basic/syscalls-riscv64.txt @@ -93,8 +93,9 @@ fsetxattr 7 fsmount 432 fsopen 430 fspick 433 -fstat 80 +fstat fstat64 +fstatat fstatat64 fstatfs 44 fstatfs64 @@ -191,6 +192,7 @@ listen 201 listmount 458 listxattr 11 llistxattr 12 +llseek lookup_dcookie 18 lremovexattr 15 lseek 62 @@ -245,6 +247,7 @@ munlockall 231 munmap 215 name_to_handle_at 264 nanosleep 101 +newfstat 80 newfstatat 79 nice old_adjtimex @@ -502,6 +505,7 @@ uname 160 unlink unlinkat 35 unshare 97 +uretprobe userfaultfd 282 ustat utime diff --git a/src/basic/syscalls-s390.txt b/src/basic/syscalls-s390.txt index 855d5c455c..67a3ac56e5 100644 --- a/src/basic/syscalls-s390.txt +++ b/src/basic/syscalls-s390.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 108 fstat64 197 +fstatat fstatat64 293 fstatfs 100 fstatfs64 266 @@ -191,6 +192,7 @@ listen 363 listmount 458 listxattr 230 llistxattr 231 +llseek lookup_dcookie 110 lremovexattr 234 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 335 nanosleep 162 +newfstat newfstatat nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 122 unlink 10 unlinkat 294 unshare 303 +uretprobe userfaultfd 355 ustat 62 utime 30 diff --git a/src/basic/syscalls-s390x.txt b/src/basic/syscalls-s390x.txt index 05dcbe9261..b93e029f57 100644 --- a/src/basic/syscalls-s390x.txt +++ b/src/basic/syscalls-s390x.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 108 fstat64 +fstatat fstatat64 fstatfs 100 fstatfs64 266 @@ -191,6 +192,7 @@ listen 363 listmount 458 listxattr 230 llistxattr 231 +llseek lookup_dcookie 110 lremovexattr 234 lseek 19 @@ -245,6 +247,7 @@ munlockall 153 munmap 91 name_to_handle_at 335 nanosleep 162 +newfstat newfstatat 293 nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 122 unlink 10 unlinkat 294 unshare 303 +uretprobe userfaultfd 355 ustat 62 utime 30 diff --git a/src/basic/syscalls-sparc.txt b/src/basic/syscalls-sparc.txt index f4ff31e227..d50fd5509b 100644 --- a/src/basic/syscalls-sparc.txt +++ b/src/basic/syscalls-sparc.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 62 fstat64 63 +fstatat fstatat64 289 fstatfs 158 fstatfs64 235 @@ -191,6 +192,7 @@ listen 354 listmount 458 listxattr 178 llistxattr 179 +llseek lookup_dcookie 208 lremovexattr 182 lseek 19 @@ -245,6 +247,7 @@ munlockall 240 munmap 73 name_to_handle_at 332 nanosleep 249 +newfstat newfstatat nice 34 old_adjtimex @@ -502,6 +505,7 @@ uname 189 unlink 10 unlinkat 290 unshare 299 +uretprobe userfaultfd 352 ustat 168 utime 30 diff --git a/src/basic/syscalls-x86_64.txt b/src/basic/syscalls-x86_64.txt index f314ed0cda..14aed30f74 100644 --- a/src/basic/syscalls-x86_64.txt +++ b/src/basic/syscalls-x86_64.txt @@ -95,6 +95,7 @@ fsopen 430 fspick 433 fstat 5 fstat64 +fstatat fstatat64 fstatfs 138 fstatfs64 @@ -191,6 +192,7 @@ listen 50 listmount 458 listxattr 194 llistxattr 195 +llseek lookup_dcookie 212 lremovexattr 198 lseek 8 @@ -245,6 +247,7 @@ munlockall 152 munmap 11 name_to_handle_at 303 nanosleep 35 +newfstat newfstatat 262 nice old_adjtimex @@ -502,6 +505,7 @@ uname 63 unlink 87 unlinkat 263 unshare 272 +uretprobe 335 userfaultfd 323 ustat 136 utime 132 diff --git a/src/shared/seccomp-util.c b/src/shared/seccomp-util.c index d31d6b494b..c047aa2288 100644 --- a/src/shared/seccomp-util.c +++ b/src/shared/seccomp-util.c @@ -406,6 +406,7 @@ const SyscallFilterSet syscall_filter_sets[_SYSCALL_FILTER_SET_MAX] = { "dup\0" "dup2\0" "dup3\0" + "llseek\0" "lseek\0" "pread64\0" "preadv\0" @@ -487,6 +488,7 @@ const SyscallFilterSet syscall_filter_sets[_SYSCALL_FILTER_SET_MAX] = { "fsetxattr\0" "fstat\0" "fstat64\0" + "fstatat\0" "fstatat64\0" "fstatfs\0" "fstatfs64\0" @@ -514,6 +516,7 @@ const SyscallFilterSet syscall_filter_sets[_SYSCALL_FILTER_SET_MAX] = { "mkdirat\0" "mknod\0" "mknodat\0" + "newfstat\0" "newfstatat\0" "oldfstat\0" "oldlstat\0"