aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2020-08-28 11:28:06 +0300
committerDmitry Vyukov <dvyukov@google.com>2020-09-22 10:12:23 +0200
commit85685b5d630bd5a08b951c0f091501544ece8982 (patch)
tree17d5e580ce53245e385e477e41728a2f3aadd763 /sys/linux
parent9133037195b4eb6ca586ff9fd3810ae3a780b931 (diff)
sys/linux: adjust nl80211 descriptions to match net_80211.txt
nl80211 descriptions depend on a variety of parameters specific to the wireless devices/networks that we act upon. This patch adjusts these values to match the hard-coded parameters of the pre-created virtual wireless devices.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/net_80211.txt8
-rw-r--r--sys/linux/socket_netlink_generic_80211.txt50
2 files changed, 34 insertions, 24 deletions
diff --git a/sys/linux/net_80211.txt b/sys/linux/net_80211.txt
index 0847b8cd9..d7c5490a5 100644
--- a/sys/linux/net_80211.txt
+++ b/sys/linux/net_80211.txt
@@ -25,6 +25,12 @@ ieee80211_ssid [
type ieee80211_frame array[int8]
+ieee80211_bssid [
+ initial array[const[0x50, int8], 6]
+ from_mac ieee80211_mac_addr
+ random array[int8, 6]
+]
+
# Inject an 802.11 frame.
# mac_addr -- mac address of the device that will receive the message (actually it determines
# the network interface that will receive this message).
@@ -37,7 +43,7 @@ syz_80211_inject_frame(mac_addr ptr[in, ieee80211_mac_addr], buf ptr[in, ieee802
# syscall provokes a much bigger number of issues.
# Also, this pseudo call makes it possible to put interfaces generated by sendmsg$NL80211_CMD_NEW_INTERFACE
# into an operable state at runtime.
-syz_80211_join_ibss(interface ptr[in, string[devnames]], ssid ptr[in, ieee80211_ssid], ssid_len len[ssid], join_mode flags[join_ibss_modes])
+syz_80211_join_ibss(interface ptr[in, string[nl80211_devnames]], ssid ptr[in, ieee80211_ssid], ssid_len len[ssid], join_mode flags[join_ibss_modes])
# Modes of syz_80211_join_ibss operation:
# JOIN_IBSS_NO_SCAN -- channel scan is not performed and syz_80211_join_ibss waits until the interface reaches IF_OPER_UP
diff --git a/sys/linux/socket_netlink_generic_80211.txt b/sys/linux/socket_netlink_generic_80211.txt
index 688f6da4c..d68117b2b 100644
--- a/sys/linux/socket_netlink_generic_80211.txt
+++ b/sys/linux/socket_netlink_generic_80211.txt
@@ -11,12 +11,16 @@ include <linux/ieee80211.h>
# But it makes sense to setup hwsim devices first, otherwise there is not much to test.
resource nl80211_family_id[int16]
+resource nl80211_ifindex[int32]
+
+nl80211_devnames = "wlan0", "wlan1"
type msghdr_nl80211[CMD, POLICY] msghdr_netlink[netlink_msg_t[nl80211_family_id, genlmsghdr_t[CMD], POLICY]]
type nl80211_whipy int32[-1:4]
syz_genetlink_get_family_id$nl80211(name ptr[in, string["nl80211"]]) nl80211_family_id
+ioctl$sock_SIOCGIFINDEX_80211(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_dev_t[nl80211_devnames, nl80211_ifindex[opt]]])
sendmsg$NL80211_CMD_GET_WIPHY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211[NL80211_CMD_GET_WIPHY, nl80211_policy_dev]], f flags[send_flags])
sendmsg$NL80211_CMD_SET_WIPHY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211[NL80211_CMD_SET_WIPHY, nl80211_policy_wiphy]], f flags[send_flags])
@@ -62,13 +66,13 @@ nl80211_wdev {
nl80211_policy_dev [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
] [varlen]
nl80211_policy_wiphy [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
NL80211_ATTR_WIPHY_NAME nlattr[NL80211_ATTR_WIPHY_NAME, devname]
NL80211_ATTR_WIPHY_TXQ_PARAMS nlnest[NL80211_ATTR_WIPHY_TXQ_PARAMS, array[txq_params_policy]]
@@ -90,7 +94,7 @@ nl80211_policy_wiphy [
nl80211_policy_setns [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
NL80211_ATTR_PID nlattr[NL80211_ATTR_PID, pid]
NL80211_ATTR_NETNS_FD nlattr[NL80211_ATTR_NETNS_FD, fd_namespace]
@@ -107,7 +111,7 @@ txq_params_policy [
nl80211_policy_interface [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_IFTYPE nlattr[NL80211_ATTR_IFTYPE, flags[nl80211_iftype, int32]]
NL80211_ATTR_IFNAME nlattr[NL80211_ATTR_IFNAME, devname]
] [varlen]
@@ -123,7 +127,7 @@ nl80211_policy_cmd_key [
NL80211_ATTR_KEY_DATA_WEP40 nlattr[NL80211_ATTR_KEY_DATA, array[int8, WLAN_KEY_LEN_WEP40]]
NL80211_ATTR_KEY_DATA_WEP104 nlattr[NL80211_ATTR_KEY_DATA, array[int8, WLAN_KEY_LEN_WEP104]]
NL80211_ATTR_KEY_SEQ nlattr[NL80211_ATTR_KEY_SEQ, array[int8, 0:16]]
- NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, mac_addr]
+ NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, ieee80211_mac_addr]
NL80211_ATTR_KEY_DEFAULT_TYPES nlnest[NL80211_ATTR_KEY_DEFAULT_TYPES, array[nl80211_key_default_policy]]
NL80211_ATTR_KEY nlnest[NL80211_ATTR_KEY, array[nl80211_key_policy]]
] [varlen]
@@ -153,11 +157,11 @@ ieee80211_akm_suite = WLAN_AKM_SUITE_8021X, WLAN_AKM_SUITE_PSK, WLAN_AKM_SUITE_F
nl80211_policy_beacon [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
NL80211_ATTR_WIPHY_FREQ nlattr[NL80211_ATTR_WIPHY_FREQ, int32]
NL80211_ATTR_FTM_RESPONDER nlnest[NL80211_ATTR_FTM_RESPONDER, array[nl80211_ftm_responder_policy]]
- NL80211_ATTR_SSID nlattr[NL80211_ATTR_SSID, array[int8, 0:IEEE80211_MAX_SSID_LEN]]
+ NL80211_ATTR_SSID nlattr[NL80211_ATTR_SSID, ieee80211_ssid]
NL80211_ATTR_TX_RATES nlnest[NL80211_ATTR_TX_RATES, array[nl80211_tx_rates_policy]]
NL80211_ATTR_SMPS_MODE nlattr[NL80211_ATTR_SMPS_MODE, flags[nl80211_smps_mode, int8]]
NL80211_ATTR_PBSS nlattr[NL80211_ATTR_PBSS, void]
@@ -166,7 +170,7 @@ nl80211_policy_beacon [
NL80211_ATTR_EXTERNAL_AUTH_SUPPORT nlattr[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT, void]
NL80211_ATTR_CIPHER_SUITES_PAIRWISE nlattr[NL80211_ATTR_CIPHER_SUITES_PAIRWISE, array[flags[ieee80211_cipher_suite, int32]]]
NL80211_ATTR_AKM_SUITES nlattr[NL80211_ATTR_AKM_SUITES, array[flags[ieee80211_akm_suite, int32]]]
- NL80211_ATTR_MAC_ADDRS nlnest[NL80211_ATTR_MAC_ADDRS, array[nlattr[0, mac_addr]]]
+ NL80211_ATTR_MAC_ADDRS nlnest[NL80211_ATTR_MAC_ADDRS, array[nlattr[0, ieee80211_mac_addr]]]
NL80211_ATTR_HIDDEN_SSID nlattr[NL80211_ATTR_HIDDEN_SSID, int32[NL80211_HIDDEN_SSID_NOT_IN_USE:NL80211_HIDDEN_SSID_ZERO_CONTENTS]]
NL80211_ATTR_PRIVACY nlattr[NL80211_ATTR_PRIVACY, void]
NL80211_ATTR_CIPHER_SUITE_GROUP nlattr[NL80211_ATTR_CIPHER_SUITE_GROUP, flags[ieee80211_cipher_suite, int32]]
@@ -218,9 +222,9 @@ nl80211_ftm_responder_policy [
nl80211_policy_station [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
- NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, mac_addr]
+ NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, ieee80211_mac_addr]
NL80211_ATTR_MGMT_SUBTYPE nlattr[NL80211_ATTR_MGMT_SUBTYPE, flags[ieee80211_mgmt_subtype, int8]]
NL80211_ATTR_REASON_CODE nlattr[NL80211_ATTR_REASON_CODE, int16]
NL80211_ATTR_STA_AID nlattr[NL80211_ATTR_STA_AID, int16[1:IEEE80211_MAX_AID]]
@@ -244,7 +248,7 @@ nl80211_policy_station [
NL80211_ATTR_STA_WME nlattr[NL80211_ATTR_STA_WME, array[nl80211_sta_wme_policy]]
NL80211_ATTR_PEER_AID nlattr[NL80211_ATTR_PEER_AID, int16[1:IEEE80211_MAX_AID]]
NL80211_ATTR_MESH_PEER_AID nlattr[NL80211_ATTR_MESH_PEER_AID, int16[1:IEEE80211_MAX_AID]]
- NL80211_ATTR_STA_VLAN nlattr[NL80211_ATTR_STA_VLAN, ifindex]
+ NL80211_ATTR_STA_VLAN nlattr[NL80211_ATTR_STA_VLAN, nl80211_ifindex]
] [varlen]
define NUM_NL80211_PLINK_ACTIONS_1 NUM_NL80211_PLINK_ACTIONS - 1
@@ -274,15 +278,15 @@ nl80211_sta_wme_policy [
nl80211_policy_mpath [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
- NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, mac_addr]
- NL80211_ATTR_MPATH_NEXT_HOP nlattr[NL80211_ATTR_MPATH_NEXT_HOP, mac_addr]
+ NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, ieee80211_mac_addr]
+ NL80211_ATTR_MPATH_NEXT_HOP nlattr[NL80211_ATTR_MPATH_NEXT_HOP, ieee80211_mac_addr]
] [varlen]
nl80211_policy_bss [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
NL80211_ATTR_BSS_CTS_PROT nlattr[NL80211_ATTR_BSS_CTS_PROT, int8]
NL80211_ATTR_BSS_SHORT_PREAMBLE nlattr[NL80211_ATTR_BSS_SHORT_PREAMBLE, int8]
@@ -318,14 +322,14 @@ reg_rule_policy [
nl80211_policy_mesh [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
NL80211_ATTR_MESH_CONFIG nlnest[NL80211_ATTR_MESH_CONFIG, array[nl80211_meshconf_params_policy]]
] [varlen]
nl80211_policy_join_mesh [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
NL80211_ATTR_MESH_CONFIG nlnest[NL80211_ATTR_MESH_CONFIG, array[nl80211_meshconf_params_policy]]
NL80211_ATTR_MESH_SETUP nlattr[NL80211_ATTR_MESH_SETUP, array[nl80211_mesh_setup_params_policy]]
@@ -388,12 +392,12 @@ nl80211_mesh_setup_params_policy [
nl80211_policy_scan [
NL80211_ATTR_WIPHY nlattr[NL80211_ATTR_WIPHY, nl80211_whipy]
- NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, ifindex]
+ NL80211_ATTR_IFINDEX nlattr[NL80211_ATTR_IFINDEX, nl80211_ifindex]
NL80211_ATTR_WDEV nlattr[NL80211_ATTR_WDEV, nl80211_wdev]
- NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, mac_addr]
+ NL80211_ATTR_MAC nlattr[NL80211_ATTR_MAC, ieee80211_mac_addr]
NL80211_ATTR_IE nlattr[NL80211_ATTR_IE, array[int8, 0:IEEE80211_MAX_DATA_LEN]]
NL80211_ATTR_SCAN_FREQUENCIES nlnest[NL80211_ATTR_SCAN_FREQUENCIES, array[nlattr[0, int32]]]
- NL80211_ATTR_SCAN_SSIDS nlnest[NL80211_ATTR_SCAN_SSIDS, array[nlattr[0, array[int8[0:IEEE80211_MAX_SSID_LEN]]]]]
+ NL80211_ATTR_SCAN_SSIDS nlnest[NL80211_ATTR_SCAN_SSIDS, array[nlattr[0, ieee80211_ssid]]]
NL80211_ATTR_SCHED_SCAN_INTERVAL nlattr[NL80211_ATTR_SCHED_SCAN_INTERVAL, int32]
NL80211_ATTR_BG_SCAN_PERIOD nlattr[NL80211_ATTR_BG_SCAN_PERIOD, int16]
NL80211_ATTR_SCHED_SCAN_DELAY nlattr[NL80211_ATTR_SCHED_SCAN_DELAY, int32]
@@ -402,7 +406,7 @@ nl80211_policy_scan [
NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY nlattr[NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY, void]
NL80211_ATTR_SCHED_SCAN_MULTI nlattr[NL80211_ATTR_SCHED_SCAN_MULTI, void]
NL80211_ATTR_TX_NO_CCK_RATE nlattr[NL80211_ATTR_TX_NO_CCK_RATE, void]
- NL80211_ATTR_BSSID nlattr[NL80211_ATTR_BSSID, mac_addr]
+ NL80211_ATTR_BSSID nlattr[NL80211_ATTR_BSSID, ieee80211_bssid]
NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST nlattr[NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST, nl80211_bss_select_rssi_adjust]
NL80211_ATTR_SCAN_SUPP_RATES nlnest[NL80211_ATTR_SCAN_SUPP_RATES, array[nl80211_rates_policy]]
NL80211_ATTR_SCHED_SCAN_MATCH nlnest[NL80211_ATTR_SCHED_SCAN_MATCH, array[nl80211_match_policy]]
@@ -421,8 +425,8 @@ nl80211_rates_policy [
] [varlen]
nl80211_match_policy [
- NL80211_SCHED_SCAN_MATCH_ATTR_SSID nlattr[NL80211_SCHED_SCAN_MATCH_ATTR_SSID, array[int8, 0:IEEE80211_MAX_SSID_LEN]]
- NL80211_SCHED_SCAN_MATCH_ATTR_BSSID nlattr[NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, mac_addr]
+ NL80211_SCHED_SCAN_MATCH_ATTR_SSID nlattr[NL80211_SCHED_SCAN_MATCH_ATTR_SSID, ieee80211_ssid]
+ NL80211_SCHED_SCAN_MATCH_ATTR_BSSID nlattr[NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, ieee80211_bssid]
NL80211_SCHED_SCAN_MATCH_ATTR_RSSI nlattr[NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, int32]
NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI nlnest[NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI, array[nl80211_match_band_rssi_policy]]
] [varlen]