From 87881c4dd1850a715cac8604a32b2d5fb3099d00 Mon Sep 17 00:00:00 2001 From: Veerendranath Jakkam Date: Sun, 21 May 2023 20:53:02 +0530 Subject: [PATCH] ANDROID: nl80211: reserve UAPI attributes to support backporting after KMI freeze Reserve sufficient nl80211 attributes in enum nl80211_commands, enum nl80211_attr, etc., to support backporting upstream UAPI changes after KMI freeze. Bug: 284023430 Change-Id: Ic66c4658fc690f60ca133f197dbc5400745fb5e2 Signed-off-by: Veerendranath Jakkam --- include/uapi/linux/nl80211.h | 131 +++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 7023e925383f..8fc5fc92adde 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h @@ -1548,6 +1548,16 @@ enum nl80211_commands { NL80211_CMD_ADD_LINK_STA, NL80211_CMD_MODIFY_LINK_STA, NL80211_CMD_REMOVE_LINK_STA, + NL80211_CMD_ANDROID_KABI_RESERVED_1, + NL80211_CMD_ANDROID_KABI_RESERVED_2, + NL80211_CMD_ANDROID_KABI_RESERVED_3, + NL80211_CMD_ANDROID_KABI_RESERVED_4, + NL80211_CMD_ANDROID_KABI_RESERVED_5, + NL80211_CMD_ANDROID_KABI_RESERVED_6, + NL80211_CMD_ANDROID_KABI_RESERVED_7, + NL80211_CMD_ANDROID_KABI_RESERVED_8, + NL80211_CMD_ANDROID_KABI_RESERVED_9, + NL80211_CMD_ANDROID_KABI_RESERVED_10, /* add new commands above here */ @@ -2777,6 +2787,9 @@ enum nl80211_commands { * @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NL80211_ATTR_MAX: highest attribute number currently defined * @__NL80211_ATTR_AFTER_LAST: internal use + * @__NL80211_ATTR_MAX_IMPLEMENTED: Internal use only, assign it with new max + * implemented attribute if NL80211_ATTR_ANDROID_KABI_RESERVED_* attributes + * enabled while backporting upstream UAPI changes. */ enum nl80211_attrs { /* don't change the order or add anything between, this is ABI! */ @@ -3305,8 +3318,35 @@ enum nl80211_attrs { NL80211_ATTR_PUNCT_BITMAP, + NL80211_ATTR_ANDROID_KABI_RESERVED_1, + NL80211_ATTR_ANDROID_KABI_RESERVED_2, + NL80211_ATTR_ANDROID_KABI_RESERVED_3, + NL80211_ATTR_ANDROID_KABI_RESERVED_4, + NL80211_ATTR_ANDROID_KABI_RESERVED_5, + NL80211_ATTR_ANDROID_KABI_RESERVED_6, + NL80211_ATTR_ANDROID_KABI_RESERVED_7, + NL80211_ATTR_ANDROID_KABI_RESERVED_8, + NL80211_ATTR_ANDROID_KABI_RESERVED_9, + NL80211_ATTR_ANDROID_KABI_RESERVED_10, + NL80211_ATTR_ANDROID_KABI_RESERVED_11, + NL80211_ATTR_ANDROID_KABI_RESERVED_12, + NL80211_ATTR_ANDROID_KABI_RESERVED_13, + NL80211_ATTR_ANDROID_KABI_RESERVED_14, + NL80211_ATTR_ANDROID_KABI_RESERVED_15, + NL80211_ATTR_ANDROID_KABI_RESERVED_16, + NL80211_ATTR_ANDROID_KABI_RESERVED_17, + NL80211_ATTR_ANDROID_KABI_RESERVED_18, + NL80211_ATTR_ANDROID_KABI_RESERVED_19, + NL80211_ATTR_ANDROID_KABI_RESERVED_20, + NL80211_ATTR_ANDROID_KABI_RESERVED_21, + NL80211_ATTR_ANDROID_KABI_RESERVED_22, + NL80211_ATTR_ANDROID_KABI_RESERVED_23, + NL80211_ATTR_ANDROID_KABI_RESERVED_24, + NL80211_ATTR_ANDROID_KABI_RESERVED_25, + /* add attributes here, update the policy in nl80211.c */ + __NL80211_ATTR_MAX_IMPLEMENTED = NL80211_ATTR_PUNCT_BITMAP, __NL80211_ATTR_AFTER_LAST, NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST, NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 @@ -3821,6 +3861,11 @@ enum nl80211_sta_info { NL80211_STA_INFO_AIRTIME_LINK_METRIC, NL80211_STA_INFO_ASSOC_AT_BOOTTIME, NL80211_STA_INFO_CONNECTED_TO_AS, + NL80211_STA_INFO_ANDROID_KABI_RESERVED_1, + NL80211_STA_INFO_ANDROID_KABI_RESERVED_2, + NL80211_STA_INFO_ANDROID_KABI_RESERVED_3, + NL80211_STA_INFO_ANDROID_KABI_RESERVED_4, + NL80211_STA_INFO_ANDROID_KABI_RESERVED_5, /* keep last */ __NL80211_STA_INFO_AFTER_LAST, @@ -3996,6 +4041,11 @@ enum nl80211_band_iftype_attr { NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY, NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET, NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE, + NL80211_BAND_IFTYPE_ATTR_ANDROID_KABI_RESERVED_1, + NL80211_BAND_IFTYPE_ATTR_ANDROID_KABI_RESERVED_2, + NL80211_BAND_IFTYPE_ATTR_ANDROID_KABI_RESERVED_3, + NL80211_BAND_IFTYPE_ATTR_ANDROID_KABI_RESERVED_4, + NL80211_BAND_IFTYPE_ATTR_ANDROID_KABI_RESERVED_5, /* keep last */ __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, @@ -4044,6 +4094,11 @@ enum nl80211_band_attr { NL80211_BAND_ATTR_EDMG_CHANNELS, NL80211_BAND_ATTR_EDMG_BW_CONFIG, + NL80211_BAND_ATTR_ANDROID_KABI_RESERVED_1, + NL80211_BAND_ATTR_ANDROID_KABI_RESERVED_2, + NL80211_BAND_ATTR_ANDROID_KABI_RESERVED_3, + NL80211_BAND_ATTR_ANDROID_KABI_RESERVED_4, + NL80211_BAND_ATTR_ANDROID_KABI_RESERVED_5, /* keep last */ __NL80211_BAND_ATTR_AFTER_LAST, @@ -4934,6 +4989,11 @@ enum nl80211_bss_scan_width { NL80211_BSS_CHAN_WIDTH_5, NL80211_BSS_CHAN_WIDTH_1, NL80211_BSS_CHAN_WIDTH_2, + NL80211_BSS_CHAN_WIDTH_ANDROID_KABI_RESERVED_1, + NL80211_BSS_CHAN_WIDTH_ANDROID_KABI_RESERVED_2, + NL80211_BSS_CHAN_WIDTH_ANDROID_KABI_RESERVED_3, + NL80211_BSS_CHAN_WIDTH_ANDROID_KABI_RESERVED_4, + NL80211_BSS_CHAN_WIDTH_ANDROID_KABI_RESERVED_5, }; /** @@ -5015,6 +5075,9 @@ enum nl80211_bss { NL80211_BSS_FREQUENCY_OFFSET, NL80211_BSS_MLO_LINK_ID, NL80211_BSS_MLD_ADDR, + NL80211_BSS_ANDROID_KABI_RESERVED_1, + NL80211_BSS_ANDROID_KABI_RESERVED_2, + NL80211_BSS_ANDROID_KABI_RESERVED_3, /* keep last */ __NL80211_BSS_AFTER_LAST, @@ -5184,6 +5247,9 @@ enum nl80211_key_attributes { * @NL80211_TXRATE_HE_LTF: configure HE LTF, 1XLTF, 2XLTF and 4XLTF. * @__NL80211_TXRATE_AFTER_LAST: internal * @NL80211_TXRATE_MAX: highest TX rate attribute + * @__NL80211_TXRATE_MAX_IMPLEMENTED: Internal use only, assign it with new max + * implemented attribute if NL80211_TXRATE_ANDROID_KABI_RESERVED_* + * attributes enabled while backporting upstream UAPI changes. */ enum nl80211_tx_rate_attributes { __NL80211_TXRATE_INVALID, @@ -5194,8 +5260,14 @@ enum nl80211_tx_rate_attributes { NL80211_TXRATE_HE, NL80211_TXRATE_HE_GI, NL80211_TXRATE_HE_LTF, + NL80211_TXRATE_ANDROID_KABI_RESERVED_1, + NL80211_TXRATE_ANDROID_KABI_RESERVED_2, + NL80211_TXRATE_ANDROID_KABI_RESERVED_3, + NL80211_TXRATE_ANDROID_KABI_RESERVED_4, + NL80211_TXRATE_ANDROID_KABI_RESERVED_5, /* keep last */ + __NL80211_TXRATE_MAX_IMPLEMENTED = NL80211_TXRATE_HE_LTF, __NL80211_TXRATE_AFTER_LAST, NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 }; @@ -5290,6 +5362,9 @@ enum nl80211_ps_state { * RSSI threshold event. * @__NL80211_ATTR_CQM_AFTER_LAST: internal * @NL80211_ATTR_CQM_MAX: highest key attribute + * @__NL80211_ATTR_CQM_MAX_IMPLEMENTED: Internal use only, assign it with new + * max implemented attribute if NL80211_ATTR_CQM_ANDROID_KABI_RESERVED_* + * attributes enabled while backporting upstream UAPI changes. */ enum nl80211_attr_cqm { __NL80211_ATTR_CQM_INVALID, @@ -5302,8 +5377,14 @@ enum nl80211_attr_cqm { NL80211_ATTR_CQM_TXE_INTVL, NL80211_ATTR_CQM_BEACON_LOSS_EVENT, NL80211_ATTR_CQM_RSSI_LEVEL, + NL80211_ATTR_CQM_ANDROID_KABI_RESERVED_1, + NL80211_ATTR_CQM_ANDROID_KABI_RESERVED_2, + NL80211_ATTR_CQM_ANDROID_KABI_RESERVED_3, + NL80211_ATTR_CQM_ANDROID_KABI_RESERVED_4, + NL80211_ATTR_CQM_ANDROID_KABI_RESERVED_5, /* keep last */ + __NL80211_ATTR_CQM_MAX_IMPLEMENTED = NL80211_ATTR_CQM_RSSI_LEVEL, __NL80211_ATTR_CQM_AFTER_LAST, NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1 }; @@ -5320,6 +5401,9 @@ enum nl80211_cqm_rssi_threshold_event { NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, NL80211_CQM_RSSI_BEACON_LOSS_EVENT, + NL80211_CQM_RSSI_ANDROID_KABI_RESERVED_1, + NL80211_CQM_RSSI_ANDROID_KABI_RESERVED_2, + NL80211_CQM_RSSI_ANDROID_KABI_RESERVED_3, }; @@ -5399,6 +5483,10 @@ enum nl80211_tx_rate_setting { * with the parameters passed through %NL80211_ATTR_TX_RATES. * configuration is applied to the data frame for the tid to that connected * station. + * @__NL80211_TID_CONFIG_ATTR_MAX_IMPLEMENTED: Internal use only, assign it with + * new max implemented attribute if + * NL80211_TID_CONFIG_ATTR_ANDROID_KABI_RESERVED_* attributes enabled while + * backporting upstream UAPI changes. */ enum nl80211_tid_config_attr { __NL80211_TID_CONFIG_ATTR_INVALID, @@ -5415,8 +5503,14 @@ enum nl80211_tid_config_attr { NL80211_TID_CONFIG_ATTR_AMSDU_CTRL, NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE, NL80211_TID_CONFIG_ATTR_TX_RATE, + NL80211_TID_CONFIG_ATTR_ANDROID_KABI_RESERVED_1, + NL80211_TID_CONFIG_ATTR_ANDROID_KABI_RESERVED_2, + NL80211_TID_CONFIG_ATTR_ANDROID_KABI_RESERVED_3, + NL80211_TID_CONFIG_ATTR_ANDROID_KABI_RESERVED_4, + NL80211_TID_CONFIG_ATTR_ANDROID_KABI_RESERVED_5, /* keep last */ + __NL80211_TID_CONFIG_ATTR_MAX_IMPLEMENTED = NL80211_TID_CONFIG_ATTR_TX_RATE, __NL80211_TID_CONFIG_ATTR_AFTER_LAST, NL80211_TID_CONFIG_ATTR_MAX = __NL80211_TID_CONFIG_ATTR_AFTER_LAST - 1 }; @@ -5770,6 +5864,9 @@ enum nl80211_iface_limit_attrs { NL80211_IFACE_LIMIT_UNSPEC, NL80211_IFACE_LIMIT_MAX, NL80211_IFACE_LIMIT_TYPES, + NL80211_IFACE_LIMIT_ANDROID_KABI_RESERVED_1, + NL80211_IFACE_LIMIT_ANDROID_KABI_RESERVED_2, + NL80211_IFACE_LIMIT_ANDROID_KABI_RESERVED_3, /* keep last */ NUM_NL80211_IFACE_LIMIT, @@ -5834,6 +5931,11 @@ enum nl80211_if_combination_attrs { NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS, NL80211_IFACE_COMB_RADAR_DETECT_REGIONS, NL80211_IFACE_COMB_BI_MIN_GCD, + NL80211_IFACE_COMB_ANDROID_KABI_RESERVED_1, + NL80211_IFACE_COMB_ANDROID_KABI_RESERVED_2, + NL80211_IFACE_COMB_ANDROID_KABI_RESERVED_3, + NL80211_IFACE_COMB_ANDROID_KABI_RESERVED_4, + NL80211_IFACE_COMB_ANDROID_KABI_RESERVED_5, /* keep last */ NUM_NL80211_IFACE_COMB, @@ -6001,6 +6103,9 @@ enum nl80211_tdls_operation { */ enum nl80211_ap_sme_features { NL80211_AP_SME_SA_QUERY_OFFLOAD = 1 << 0, + NL80211_AP_SME_ANDROID_KABI_RESERVED_1 = 1 << 1, + NL80211_AP_SME_ANDROID_KABI_RESERVED_2 = 1 << 2, + NL80211_AP_SME_ANDROID_KABI_RESERVED_3 = 1 << 3, }; /** @@ -6400,6 +6505,21 @@ enum nl80211_ext_feature_index { NL80211_EXT_FEATURE_PUNCT, NL80211_EXT_FEATURE_SECURE_NAN, NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_1, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_2, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_3, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_4, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_5, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_6, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_7, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_8, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_9, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_10, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_11, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_12, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_13, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_14, + NL80211_EXT_FEATURE_ANDROID_KABI_RESERVED_15, /* add new features before the definition below */ NUM_NL80211_EXT_FEATURES, @@ -6533,6 +6653,11 @@ enum nl80211_scan_flags { NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, NL80211_SCAN_FLAG_FREQ_KHZ = 1<<13, NL80211_SCAN_FLAG_COLOCATED_6GHZ = 1<<14, + NL80211_SCAN_FLAG_ANDROID_KABI_RESERVED_1 = 1<<15, + NL80211_SCAN_FLAG_ANDROID_KABI_RESERVED_2 = 1<<16, + NL80211_SCAN_FLAG_ANDROID_KABI_RESERVED_3 = 1<<17, + NL80211_SCAN_FLAG_ANDROID_KABI_RESERVED_4 = 1<<18, + NL80211_SCAN_FLAG_ANDROID_KABI_RESERVED_5 = 1<<19, }; /** @@ -6704,6 +6829,9 @@ enum nl80211_tdls_peer_capability { NL80211_TDLS_PEER_VHT = 1<<1, NL80211_TDLS_PEER_WMM = 1<<2, NL80211_TDLS_PEER_HE = 1<<3, + NL80211_TDLS_PEER_ANDROID_KABI_RESERVED_1 = 1<<4, + NL80211_TDLS_PEER_ANDROID_KABI_RESERVED_2 = 1<<5, + NL80211_TDLS_PEER_ANDROID_KABI_RESERVED_3 = 1<<6, }; /** @@ -7759,6 +7887,9 @@ enum nl80211_mbssid_config_attributes { enum nl80211_ap_settings_flags { NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 1 << 0, NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1, + NL80211_AP_SETTINGS_ANDROID_KABI_RESERVED_1 = 1 << 2, + NL80211_AP_SETTINGS_ANDROID_KABI_RESERVED_2 = 1 << 3, + NL80211_AP_SETTINGS_ANDROID_KABI_RESERVED_3 = 1 << 4, }; #endif /* __LINUX_NL80211_H */