aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2020-09-24 17:20:32 +0300
committerDmitry Vyukov <dvyukov@google.com>2020-10-01 10:08:58 +0200
commitc92f1bd150e35b7afe39d846119355bd912590b1 (patch)
tree69f121a3e40efa989e98ac4fff4bfde7f392e1a0 /sys/linux
parent03d10b2b77cd1d4dde5b0028a6849c9d10427386 (diff)
sys/linux/tests: add three new runtests for 802.11
1. A runtest that sets up an access point. 2. A runtest that configures a station. 3. A runtest that configures a mesh device.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/test/80211_setup_ap11
-rw-r--r--sys/linux/test/80211_setup_mesh17
-rw-r--r--sys/linux/test/80211_setup_station13
3 files changed, 41 insertions, 0 deletions
diff --git a/sys/linux/test/80211_setup_ap b/sys/linux/test/80211_setup_ap
new file mode 100644
index 000000000..8e378aa8a
--- /dev/null
+++ b/sys/linux/test/80211_setup_ap
@@ -0,0 +1,11 @@
+r0 = socket$nl_generic(0x10, 0x3, 0x10)
+r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00')
+ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan0\x00', <r2=>0x0})
+
+# set AP mode for wlan0
+
+sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil},@void}}, [@NL80211_ATTR_IFTYPE={AUTO, AUTO, 0x3, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0)
+
+# start AP at wlan0
+
+sendmsg$NL80211_CMD_START_AP(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil},@void}}, [@beacon=[@NL80211_ATTR_BEACON_HEAD={AUTO, AUTO, {@wo_ht={{AUTO, AUTO, AUTO, AUTO, AUTO, 0, 0, 0, 0, AUTO, 0}, {0, AUTO}, @broadcast, @device_a, @from_mac=@device_a, {0,0}}, 0x0, @default, 0xFFFF}, nil}], @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={AUTO,AUTO,@default, nil}], @NL80211_ATTR_BEACON_INTERVAL={AUTO, AUTO, @default, nil},@NL80211_ATTR_DTIM_PERIOD={AUTO, AUTO, 0, nil}, @NL80211_ATTR_SSID={AUTO,AUTO,@default_ap_ssid, nil}, @NL80211_ATTR_AUTH_TYPE={AUTO, AUTO, 0, nil}, @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT={AUTO,AUTO, nil, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0)
diff --git a/sys/linux/test/80211_setup_mesh b/sys/linux/test/80211_setup_mesh
new file mode 100644
index 000000000..ce6c72d86
--- /dev/null
+++ b/sys/linux/test/80211_setup_mesh
@@ -0,0 +1,17 @@
+r0 = socket$nl_generic(0x10, 0x3, 0x10)
+r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00')
+ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan0\x00', <r2=>0x0})
+
+# set mesh mode for wlan0
+
+sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_IFTYPE={AUTO, AUTO, 0x7, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0)
+
+# join mesh at wlan0
+
+sendmsg$NL80211_CMD_JOIN_MESH(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_MESH_ID={AUTO, AUTO, @default, nil}, @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={AUTO, AUTO, @default, nil}]]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0)
+
+# Some sample commands
+
+# get MPP
+
+sendmsg$NL80211_CMD_GET_MPP(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_MAC={AUTO, AUTO, @device_a, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0)
diff --git a/sys/linux/test/80211_setup_station b/sys/linux/test/80211_setup_station
new file mode 100644
index 000000000..19eb83b72
--- /dev/null
+++ b/sys/linux/test/80211_setup_station
@@ -0,0 +1,13 @@
+# requires: -sandbox=namespace
+
+r0 = socket$nl_generic(0x10, 0x3, 0x10)
+r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00')
+ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan1\x00', <r2=>0x0})
+
+# set station mode for wlan1
+
+sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_IFTYPE={AUTO, AUTO, 0x2, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0)
+
+# connect wlan1
+
+sendmsg$NL80211_CMD_CONNECT(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil},@void}}, [@NL80211_ATTR_SSID={AUTO,AUTO,@default_ap_ssid,nil}, @NL80211_ATTR_MAC={AUTO,AUTO,@from_mac=@device_a,nil}, @NL80211_ATTR_AUTH_TYPE={AUTO, AUTO, 0, nil}, @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={AUTO,AUTO,@default,nil}]]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0) \ No newline at end of file