Commit Graph

250 Commits

Author SHA1 Message Date
Chung-Hsien Hsu
b4cb7706e6 nl80211: add WPA3 definition for SAE authentication
Add definition of WPA version 3 for SAE authentication.

Change-Id: I19ca34b8965168f011cc1352eba420f2d54b0258
Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-12-16 01:26:04 +02:00
JohnnLee
f6ea3ea521 Revert "cfg80211: Add support to advertize OCV support"
This reverts commit 94594e5231.

Bug: 223962535
Bug: 223958127
Change-Id: Ic90cf15bd5eb3ccba9f7c1ec6da63c7cf3e2e60d
Signed-off-by: JohnnLee <johnnlee@google.com>
2022-04-20 10:15:48 +08:00
JohnnLee
6d4fc87fcd Merge branch 'LA.UM.9.12.C10.11.00.00.840.265' via branch 'qcom-msm-4.19-7250' into android-msm-pixel-4.19
Conflicts:
	drivers/soc/qcom/qmi_rmnet.c
	drivers/spi/spi-geni-qcom.c
	drivers/usb/gadget/function/f_hid.c
	fs/crypto/keysetup_v1.c
	include/net/cfg80211.h

Bug: 223958127
Signed-off-by: JohnnLee <johnnlee@google.com>
Change-Id: Ib6e435748a2478f760957d66b0db24636191837f
2022-04-20 10:14:03 +08:00
Veerendranath Jakkam
94594e5231 cfg80211: Add support to advertize OCV support
Add a new feature flag that drivers can use to advertize support for
Operating Channel Validation (OCV) when using driver's SME for RSNA
handshakes.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
Link: https://lore.kernel.org/r/20200720074225.8990-1-vjakkam@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo : git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Git-commit: fd17dba1c860d39f655a3a08387c21e3ceca8c55
CRs-Fixed: 3126204
Change-Id: I6329b0ccc85a7bc83ded040673a24506e96ae459
Signed-off-by: Narasimha Rao PVS <quic_npvs@quicinc.com>
2022-02-15 12:23:11 +05:30
JohnnLee
7d1a83e068 Revert "nl80211: add 6GHz band definition to enum nl80211_band"
This reverts commit a29838ef29.

Bug: 185310516
Signed-off-by: JohnnLee <johnnlee@google.com>
Change-Id: I4772b63684d7fbc3c7cb9f58f57b5f35007c020a
2021-05-14 10:43:34 +08:00
JohnnLee
48f7c2808d Revert "cfg80211: Add support for 60GHz band channels 5 and 6"
This reverts commit 7a9151c900.

Bug: 185310516
Signed-off-by: JohnnLee <johnnlee@google.com>
Change-Id: I363199227ec77e2acb1bf40867747d9a6f2c24bf
2021-05-14 10:43:34 +08:00
JohnnLee
526f0882b2 Revert "cfg80211: handle 6 GHz capability of new station"
This reverts commit b383779de8.

Bug: 185310516
Signed-off-by: JohnnLee <johnnlee@google.com>
Change-Id: Id3fb1751313815071d23ba0631ea07f4db8b3f79
2021-05-14 10:43:32 +08:00
JohnnLee
2f43ecd35e Revert "cfg80211: add and expose HE 6 GHz band capabilities"
This reverts commit 519988fed6.

Bug: 185310516
Signed-off-by: JohnnLee <johnnlee@google.com>
Change-Id: I365db0dc75df44dfb84523a4ca2b145c51ece246
2021-05-14 10:43:32 +08:00
JohnnLee
fad96b1c77 Merge branch 'LA.UM.9.12.R1.11.00.00.597.108' via branch 'qcom-msm-4.19-7250' into android-msm-pixel-4.19
Conflicts:
	Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt
	Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
	Documentation/devicetree/bindings/sound/wm8994.txt
	Documentation/devicetree/bindings/usb/dwc3.txt
	arch/arm64/configs/vendor/kona_defconfig
	arch/arm64/mm/init.c
	drivers/base/base.h
	drivers/base/core.c
	drivers/char/diag/diagfwd_rpmsg.c
	drivers/clk/clk.c
	drivers/gpu/msm/kgsl.c
	drivers/hwtracing/coresight/coresight-tmc-etf.c
	drivers/md/dm-default-key.c
	drivers/mmc/core/block.c
	drivers/mmc/core/queue.c
	drivers/mmc/host/sdhci-msm.c
	drivers/platform/msm/ipa/Makefile
	drivers/platform/msm/ipa/ipa_api.h
	drivers/platform/msm/usb_bam.c
	drivers/power/supply/power_supply_sysfs.c
	drivers/power/supply/qcom/qpnp-qg.c
	drivers/scsi/ufs/ufs-qcom.c
	drivers/scsi/ufs/ufshcd-crypto-qti.h
	drivers/scsi/ufs/ufshcd.c
	drivers/slimbus/qcom-ngd-ctrl.c
	drivers/soc/qcom/minidump_log.c
	drivers/soc/qcom/rq_stats.c
	drivers/tty/serial/msm_geni_serial.c
	drivers/usb/dwc3/gadget.c
	fs/crypto/crypto.c
	fs/crypto/keysetup_v1.c
	fs/f2fs/data.c
	fs/proc/task_mmu.c
	fs/sdcardfs/main.c
	include/crypto/ice.h
	include/linux/mm.h
	include/linux/power_supply.h
	include/linux/sched.h
	include/net/cfg80211.h
	include/soc/qcom/socinfo.h
	include/uapi/linux/v4l2-controls.h
	kernel/sched/cpufreq_schedutil.c
	kernel/sched/fair.c
	kernel/signal.c
	kernel/time/tick-sched.c
	mm/memory.c
	mm/oom_kill.c
	mm/vmalloc.c
	net/qrtr/qrtr.c

Bug: 182748782
Change-Id: I81b2744d0ce40a5e524c5e3aa4d505b3ed305f8e
Signed-off-by: JohnnLee <johnnlee@google.com>
2021-05-14 10:40:09 +08:00
Johannes Berg
519988fed6 cfg80211: add and expose HE 6 GHz band capabilities
These capabilities cover what would otherwise be transported
in HT/VHT capabilities, but only a subset thereof that is
actually needed on 6 GHz with HE already present. Expose the
capabilities to userspace, drivers are expected to set them
as using the 6 GHz band (currently) requires HE capability.

Link: https://lore.kernel.org/r/20200528213443.244cd5cb9db8.Icd8c773277a88c837e7e3af1d4d1013cc3b66543@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 223952177296c34d9c8de9cde33204caffe55725
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
CRs-Fixed: 2743684
Change-Id: I38356f750b93cd7964b38e9d0983137b0db665c7
Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
2020-11-16 22:57:47 -08:00
Rajkumar Manoharan
b383779de8 cfg80211: handle 6 GHz capability of new station
Handle 6 GHz HE capability while adding new station. It will be used
later in mac80211 station processing.

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
Link: https://lore.kernel.org/r/1589399105-25472-2-git-send-email-rmanohar@codeaurora.org
Link: https://lore.kernel.org/r/20200528213443.b6b711fd4312.Ic9b97d57b6c4f2b28d4b2d23d2849d8bc20bd8cc@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 43e64bf301fd8c54f0082d91c6ffd4de861baf96
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
CRs-Fixed: 2743684
Change-Id: I79d7a6f1994ca7cd39b3c5f950a52e40cb769971
Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
2020-11-16 22:57:37 -08:00
Alexei Avshalom Lazar
7a9151c900 cfg80211: Add support for 60GHz band channels 5 and 6
The current support in the 60GHz band is for channels 1-4.
Add support for channels 5 and 6.
This requires enlarging ieee80211_channel.center_freq from u16 to u32.

Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 9cf0a0b4b64ae103cf0e7dfaa72b44ecda24c0eb
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
CRs-Fixed: 2743684
Change-Id: I8e38c2e97d1f1e8f8f3e21e91a6a70f335a8447a
Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
2020-11-16 22:54:07 -08:00
Arend van Spriel
a29838ef29 nl80211: add 6GHz band definition to enum nl80211_band
In the 802.11ax specification a new band is introduced, which
is also proposed by FCC for unlicensed use. This band is referred
to as 6GHz spanning frequency range from 5925 to 7125 MHz.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Link: https://lore.kernel.org/r/1564745465-21234-2-git-send-email-arend.vanspriel@broadcom.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: c5b9a7f826735228a38fab4a7b2707f032468c88
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Change-Id: I3f6581e8b4b1bdd2fe76390d93304c1f115d8105
CRs-Fixed: 2536728
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
2020-11-09 11:29:30 +05:30
Jouni Malinen
a78a253c53 BACKPORT: cfg80211: Support key configuration for Beacon protection (BIGTK)
IEEE P802.11-REVmd/D3.0 adds support for protecting Beacon frames using
a new set of keys (BIGTK; key index 6..7) similarly to the way
group-addressed Robust Management frames are protected (IGTK; key index
4..5). Extend cfg80211 and nl80211 to allow the new BIGTK to be
configured. Add an extended feature flag to indicate driver support for
the new key index values to avoid array overflows in driver
implementations and also to indicate to user space when this
functionality is available.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Link: https://lore.kernel.org/r/20200222132548.20835-2-jouni@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit 56be393fa8b40db2d4f54f97614f645eb8d3c32e)
[connoro: resolve conflicts; add preceding enum values to preserve
uapi; drop changes to lines not present in 4.19]
Bug: 154523213
Signed-off-by: Connor O'Brien <connoro@google.com>
Change-Id: Iab2dff167159556167600a88091a8e6b28db4ad8
2020-04-28 16:29:52 -07:00
Veerendranath Jakkam
a7321039a2 BACKPORT: cfg80211: Enhance the AKM advertizement to support per interface.
Commit ab4dfa20534e ("cfg80211: Allow drivers to advertise supported AKM
suites") introduces the support to advertize supported AKMs to userspace.

This needs an enhancement to advertize the AKM support per interface type,
specifically for the cfg80211-based drivers that implement SME and use
different mechanisms to support the AKM's for each interface type (e.g.,
the support for SAE, OWE AKM's take different paths for such drivers on
STA/AP mode).

This commit aims the same and enhances the earlier mechanism of advertizing
the AKMs per wiphy. Add new nl80211 attributes and data structure to
provide supported AKMs per interface type to userspace.

the AKMs advertized in akm_suites are default capabilities if not
advertized for a specific interface type in iftype_akm_suites.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
Link: https://lore.kernel.org/r/20200126203032.21934-1-vjakkam@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit d6039a3416f7af37c04f22c411f120ad46f51663)
[connoro: drop changes to lines not present in android-4.19; add enum
values to nl80211_commands to match uapi]
Bug: 154523213
Signed-off-by: Connor O'Brien <connoro@google.com>
Change-Id: I2aef7de9d477b71432c2547a1cba1728a2d22d14
2020-04-28 23:25:49 +00:00
Sunil Dutt
14cdc153d6 UPSTREAM: cfg80211/nl80211: Offload OWE processing to user space in AP mode
This interface allows the host driver to offload OWE processing
to user space. This intends to support OWE (Opportunistic Wireless
Encryption) AKM by the drivers that implement SME but rely on the
user space for the cryptographic/OWE processing in AP mode. Such
drivers are not capable of processing/deriving the DH IE.

A new NL80211 command - NL80211_CMD_UPDATE_OWE_INFO is introduced
to send the request/event between the host driver and user space.

Driver shall provide the OWE info (MAC address and DH IE) of
the peer to user space for cryptographic processing of the DH IE
through the event. Accordingly, the user space shall update the
OWE info/DH IE to the driver.

Following is the sequence in AP mode for OWE authentication.

Driver passes the OWE info obtained from the peer in the
Association Request to the user space through the event
cfg80211_update_owe_info_event. User space shall process the
OWE info received and generate new OWE info. This OWE info is
passed to the driver through NL80211_CMD_UPDATE_OWE_INFO
request. Driver eventually uses this OWE info to send the
Association Response to the peer.

This OWE info in the command interface carries the IEs that include
PMKID of the peer if the PMKSA is still valid or an updated DH IE
for generating a new PMKSA with the peer.

Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
Signed-off-by: Sunil Dutt <usdutt@codeaurora.org>
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
[remove policy initialization - no longer exists]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit cb74e9775871f8c82a1297cf76209f10ab5bbe3d)
Bug: 154523213
Signed-off-by: Connor O'Brien <connoro@google.com>
Change-Id: I3c5cd950f1777cf62e622fcf774ce1aac456f22c
2020-04-23 14:37:14 -07:00
Liangwei Dong
04b5067d12 ANDROID: GKI: cfg80211: Sync nl80211 commands/feature with upstream
Update header for nl80211 nl80211_ext_feature_index and
nl80211_commands enum from master branch of upstream repoistory
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
which includes the following changes (with changes to extract
"enum" value change only):
91b5ab6289 cfg80211: support 4-way handshake offloading for WPA/WPA2-PSK
3a00df5707 cfg80211: support 4-way handshake offloading for 802.1X
2d23d0736e nl80211: add OCE scan and capability flags
65026002d6 nl80211: add an option to allow MFP without requiring it
5037a00992 nl80211: Introduce scan flags to emphasize requested scan
behavior
13cf6dec93 cfg80211/nl80211: add DFS offload flag
2576a9ace4 nl80211: Implement TX of control port frames
9c06602b1b9 cfg80211: clarify frames covered by average ACK signal report
52539ca89f cfg80211: Expose TXQ stats and parameters to userspace
2e076f1990 nl80211: add scan features for improved scan privac
2b815b04dfe nl80211: Add CAN_REPLACE_PTK0 API
81e54d08d9d cfg80211: support FTM responder configuration/statistics
36647055b37 cfg80211: Add airtime statistics and settings
466b9936bf cfg80211: Add support to notify station's opmode change to
userspace
6a671a50f8 nl80211: Add CMD_CONTROL_PORT_FRAME API
9bb7e0f24e7 cfg80211: add peer measurement with FTM initiator API
30c63115e20 nl80211: Add support to notify radar event info received from
STA.

CRs-Fixed: 2396941
Change-Id: I976a9177b9dd705c6131a3a9a62d64432e3d715a
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
(cherry picked from commit b1096dd100)
Bug: 154523213
Signed-off-by: Connor O'Brien <connoro@google.com>
2020-04-23 14:37:14 -07:00
Ankita Bajaj
8766a7247a BACKPORT: nl80211: Add per peer statistics to compute FCS error rate
Add support for drivers to report the total number of MPDUs received
and the number of MPDUs received with an FCS error from a specific
peer. These counters will be incremented only when the TA of the
frame matches the MAC address of the peer irrespective of FCS
error.

It should be noted that the TA field in the frame might be corrupted
when there is an FCS error and TA matching logic would fail in such
cases. Hence, FCS error counter might not be fully accurate, but it can
provide help in detecting bad RX links in significant number of cases.
This FCS error counter without full accuracy can be used, e.g., to
trigger a kick-out of a connected client with a bad link in AP mode to
force such a client to roam to another AP.

Test: build
Bug: 153912588
Signed-off-by: Ankita Bajaj <bankita@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit 0d4e14a32dcab9c4bd559d02874120fbb86b1322)
[hridya: resolved minor conflicts]
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Change-Id: I5306d36e6df255efcb130b0de5151bebda67c549
2020-04-14 12:57:22 -07:00
Srinivas Dasari
052c2f7381 UPSTREAM: cfg80211: Authentication offload to user space in AP mode
commit 40cbfa9021 ("cfg80211/nl80211: Optional authentication
offload to userspace")' introduced authentication offload to user
space by the host drivers in station mode. This commit extends
the same for the AP mode too.

Extend NL80211_ATTR_EXTERNAL_AUTH_SUPPORT to also claim the
support of external authentication from the user space in AP mode.
A new flag parameter is introduced in cfg80211_ap_settings to
intend the same while "start ap".

Host driver to use NL80211_CMD_FRAME interface to transmit and
receive the authentication frames to / from the user space.

Host driver to indicate the flag NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
while sending the authentication frame to the user space. This
intends to the user space that the driver wishes it to process
the authentication frame for certain protocols, though it had
initially advertised the support for SME functionality.

User space shall accordingly do the authentication and indicate
its final status through the command NL80211_CMD_EXTERNAL_AUTH.
Allow the command even if userspace doesn't include the attribute
NL80211_ATTR_SSID for AP interface.

Host driver shall continue with the association sequence and
indicate the STA connection status through cfg80211_new_sta.

To facilitate the host drivers in AP mode for matching the pmkid
by the stations during the association, NL80211_CMD_EXTERNAL_AUTH
is also enhanced to include the pmkid to drivers after
the authentication.
This pmkid can also be used in the STA mode to include in the
association request.

Also modify nl80211_external_auth to not mandate SSID in AP mode.

Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
[remove useless nla_get_flag() usage]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit fe4943702c850fa07f963eaa6f1530d9d4c2da78)
Bug: 153011874
Signed-off-by: Connor O'Brien <connoro@google.com>
Change-Id: Iecdd38a0b6fa7726938c905c4810b9879bc48530
2020-04-02 12:51:05 -07:00
Alexei Avshalom Lazar
0b546fb9b5 BACKPORT: nl80211: Add support for EDMG channels
802.11ay specification defines Enhanced Directional Multi-Gigabit
(EDMG) STA and AP which allow channel bonding of 2 channels and more.

Introduce new NL attributes that are needed for enabling and
configuring EDMG support.

Two new attributes are used by kernel to publish driver's EDMG
capabilities to the userspace:
NL80211_BAND_ATTR_EDMG_CHANNELS - bitmap field that indicates the 2.16
GHz channel(s) that are supported by the driver.
When this attribute is not set it means driver does not support EDMG.
NL80211_BAND_ATTR_EDMG_BW_CONFIG - represent the channel bandwidth
configurations supported by the driver.

Additional two new attributes are used by the userspace for connect
command and for AP configuration:
NL80211_ATTR_WIPHY_EDMG_CHANNELS
NL80211_ATTR_WIPHY_EDMG_BW_CONFIG

New rate info flag - RATE_INFO_FLAGS_EDMG, can be reported from driver
and used for bitrate calculation that will take into account EDMG
according to the 802.11ay specification.

Change-Id: I06d3f04d16b68d35c1dd9cd3624916302e8725a1
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Link: https://lore.kernel.org/r/1566138918-3823-2-git-send-email-ailizaro@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 2a38075cd0beefa4da326380cf54c7b365ddc035
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
[ailizaro@codeaurora.org: fix conflict due to missing NLA policy]
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
(cherry picked from commit afd697d007)
Bug: 150628559
Signed-off-by: Connor O'Brien <connoro@google.com>
2020-03-26 19:35:27 +00:00
Jouni Malinen
a428dfbf60 cfg80211: Support key configuration for Beacon protection (BIGTK)
IEEE P802.11-REVmd/D3.0 adds support for protecting Beacon frames using
a new set of keys (BIGTK; key index 6..7) similarly to the way
group-addressed Robust Management frames are protected (IGTK; key index
4..5). Extend cfg80211 and nl80211 to allow the new BIGTK to be
configured. Add an extended feature flag to indicate driver support for
the new key index values to avoid array overflows in driver
implementations and also to indicate to user space when this
functionality is available.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Link: https://lore.kernel.org/r/20200222132548.20835-2-jouni@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo : git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Git-commit: 56be393fa8b40db2d4f54f97614f645eb8d3c32e
CRs-Fixed: 2641418
Change-Id: I83013d9d56c939d4154d6e7adb3420d5661bd947
Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
2020-03-18 19:26:27 +05:30
Veerendranath Jakkam
8b5dcb5de1 cfg80211: Enhance the AKM advertizement to support per interface
Commit ab4dfa20534e ("cfg80211: Allow drivers to advertise supported AKM
suites") introduces the support to advertize supported AKMs to userspace.

This needs an enhancement to advertize the AKM support per interface type,
specifically for the cfg80211-based drivers that implement SME and use
different mechanisms to support the AKM's for each interface type (e.g.,
the support for SAE, OWE AKM's take different paths for such drivers on
STA/AP mode).

This commit aims the same and enhances the earlier mechanism of advertizing
the AKMs per wiphy. Add new nl80211 attributes and data structure to
provide supported AKMs per interface type to userspace.

the AKMs advertized in akm_suites are default capabilities if not
advertized for a specific interface type in iftype_akm_suites.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
Link: https://lore.kernel.org/r/20200126203032.21934-1-vjakkam@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
CRs-Fixed: 2632444
Change-Id: I6f33a6b27c38f7be09e9740fccaf750a2c148c31
Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
2020-02-29 23:42:23 +05:30
Alexei Avshalom Lazar
afd697d007 nl80211: Add support for EDMG channels
802.11ay specification defines Enhanced Directional Multi-Gigabit
(EDMG) STA and AP which allow channel bonding of 2 channels and more.

Introduce new NL attributes that are needed for enabling and
configuring EDMG support.

Two new attributes are used by kernel to publish driver's EDMG
capabilities to the userspace:
NL80211_BAND_ATTR_EDMG_CHANNELS - bitmap field that indicates the 2.16
GHz channel(s) that are supported by the driver.
When this attribute is not set it means driver does not support EDMG.
NL80211_BAND_ATTR_EDMG_BW_CONFIG - represent the channel bandwidth
configurations supported by the driver.

Additional two new attributes are used by the userspace for connect
command and for AP configuration:
NL80211_ATTR_WIPHY_EDMG_CHANNELS
NL80211_ATTR_WIPHY_EDMG_BW_CONFIG

New rate info flag - RATE_INFO_FLAGS_EDMG, can be reported from driver
and used for bitrate calculation that will take into account EDMG
according to the 802.11ay specification.

Change-Id: I06d3f04d16b68d35c1dd9cd3624916302e8725a1
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Link: https://lore.kernel.org/r/1566138918-3823-2-git-send-email-ailizaro@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 2a38075cd0beefa4da326380cf54c7b365ddc035
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
[ailizaro@codeaurora.org: fix conflict due to missing NLA policy]
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-09-09 11:15:51 +03:00
qctecmdr
9cce346bda Merge "Merge android-4.19-q.67 (dc87838) into msm-4.19" 2019-08-29 12:21:56 -07:00
Ivaylo Georgiev
e6d80b295d Merge android-4.19-q.67 (dc87838) into msm-4.19
* refs/heads/tmp-dc87838:
  Linux 4.19.67
  iwlwifi: mvm: fix version check for GEO_TX_POWER_LIMIT support
  iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT on version < 41
  iwlwifi: mvm: fix an out-of-bound access
  iwlwifi: don't unmap as page memory that was mapped as single
  mwifiex: fix 802.11n/WPA detection
  KVM: Fix leak vCPU's VMCS value into other pCPU
  NFSv4: Fix an Oops in nfs4_do_setattr
  smb3: send CAP_DFS capability during session setup
  SMB3: Fix deadlock in validate negotiate hits reconnect
  dax: dax_layout_busy_page() should not unmap cow pages
  mac80211: don't WARN on short WMM parameters from AP
  ALSA: hda - Workaround for crackled sound on AMD controller (1022:1457)
  ALSA: hda - Don't override global PCM hw info flag
  ALSA: hiface: fix multiple memory leak bugs
  ALSA: firewire: fix a memory leak bug
  drm/i915: Fix wrong escape clock divisor init for GLK
  hwmon: (nct7802) Fix wrong detection of in4 presence
  can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices
  can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices
  ALSA: usb-audio: fix a memory leak bug
  x86/purgatory: Do not use __builtin_memcpy and __builtin_memset
  HID: sony: Fix race condition between rumble and device remove.
  s390/dma: provide proper ARCH_ZONE_DMA_BITS value
  perf/core: Fix creating kernel counters for PMUs that override event->cpu
  tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop
  test_firmware: fix a memory leak bug
  scsi: scsi_dh_alua: always use a 2 second delay before retrying RTPG
  scsi: ibmvfc: fix WARN_ON during event pool release
  scsi: megaraid_sas: fix panic on loading firmware crashdump
  ARM: dts: bcm: bcm47094: add missing #cells for mdio-bus-mux
  ARM: davinci: fix sleep.S build error on ARMv4
  nvme: fix multipath crash when ANA is deactivated
  ACPI/IORT: Fix off-by-one check in iort_dev_find_its_id()
  drbd: dynamically allocate shash descriptor
  perf probe: Avoid calling freeing routine multiple times for same pointer
  perf tools: Fix proper buffer size for feature processing
  ALSA: compress: Be more restrictive about when a drain is allowed
  ALSA: compress: Don't allow paritial drain operations on capture streams
  ALSA: compress: Prevent bypasses of set_params
  ALSA: compress: Fix regression on compressed capture streams
  s390/qdio: add sanity checks to the fast-requeue path
  cpufreq/pasemi: fix use-after-free in pas_cpufreq_cpu_init()
  drm: silence variable 'conn' set but not used
  hwmon: (nct6775) Fix register address and added missed tolerance for nct6106
  allocate_flower_entry: should check for null deref
  mac80211: don't warn about CW params when not using them
  nl80211: fix NL80211_HE_MAX_CAPABILITY_LEN
  iscsi_ibft: make ISCSI_IBFT dependson ACPI instead of ISCSI_IBFT_FIND
  drm/amd/display: Increase size of audios array
  drm/amd/display: Only enable audio if speaker allocation exists
  drm/amd/display: Fix dc_create failure handling and 666 color depths
  drm/amd/display: use encoder's engine id to find matched free audio device
  drm/amd/display: Wait for backlight programming completion in set backlight level
  scripts/sphinx-pre-install: fix script for RHEL/CentOS
  netfilter: nft_hash: fix symhash with modulus one
  netfilter: conntrack: always store window size un-scaled
  netfilter: Fix rpfilter dropping vrf packets by mistake
  vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn
  netfilter: nfnetlink: avoid deadlock due to synchronous request_module
  can: peak_usb: fix potential double kfree_skb()
  can: rcar_canfd: fix possible IRQ storm on high load
  usb: typec: tcpm: Ignore unsupported/unknown alternate mode requests
  usb: typec: tcpm: Add NULL check before dereferencing config
  usb: typec: tcpm: remove tcpm dir if no children
  usb: typec: tcpm: free log buf memory when remove debug file
  usb: yurex: Fix use-after-free in yurex_delete
  usb: host: xhci-rcar: Fix timeout in xhci_suspend()
  gfs2: gfs2_walk_metadata fix
  x86/purgatory: Use CFLAGS_REMOVE rather than reset KBUILD_CFLAGS
  perf record: Fix module size on s390
  perf db-export: Fix thread__exec_comm()
  perf annotate: Fix s390 gap between kernel end and module start
  mm/vmalloc: Sync unmappings in __purge_vmap_area_lazy()
  x86/mm: Sync also unmappings in vmalloc_sync_all()
  x86/mm: Check for pfn instead of page in vmalloc_sync_one()
  Input: synaptics - enable RMI mode for HP Spectre X360
  Input: elantech - enable SMBus on new (2018+) systems
  Input: usbtouchscreen - initialize PM mutex before using it
  loop: set PF_MEMALLOC_NOIO for the worker thread
  mmc: cavium: Add the missing dma unmap when the dma has finished.
  mmc: cavium: Set the correct dma max segment size for mmc_host
  sound: fix a memory leak bug
  usb: iowarrior: fix deadlock on disconnect
  usb: usbfs: fix double-free of usb memory upon submiturb error
  crypto: ccp - Ignore tag length when decrypting GCM ciphertext
  crypto: ccp - Add support for valid authsize values less than 16
  crypto: ccp - Fix oops by properly managing allocated structures
  staging: android: ion: Bail out upon SIGKILL when allocating memory.
  staging: gasket: apex: fix copy-paste typo
  iio: adc: max9611: Fix misuse of GENMASK macro
  iio: cros_ec_accel_legacy: Fix incorrect channel setting

Conflicts:
	sound/core/compress_offload.c

Change-Id: Ie32bc6ddf4095cc76fc0fe6d315377b60b9645d9
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-08-20 01:36:31 -07:00
John Crispin
f2fd898172 nl80211: fix NL80211_HE_MAX_CAPABILITY_LEN
[ Upstream commit 5edaac063bbf1267260ad2a5b9bb803399343e58 ]

NL80211_HE_MAX_CAPABILITY_LEN has changed between D2.0 and D4.0. It is now
MAC (6) + PHY (11) + MCS (12) + PPE (25) = 54.

Signed-off-by: John Crispin <john@phrozen.org>
Link: https://lore.kernel.org/r/20190627095832.19445-1-john@phrozen.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-08-16 10:12:45 +02:00
Liangwei Dong
db1b3dad24 nl80211: Allow set/del pmksa operations for AP
Host drivers may offload authentication to the user space
through the commit ("cfg80211: Authentication offload to
user space in AP mode").

This interface can be used to implement SAE by having the
userspace do authentication/PMKID key derivation and driver
handle the association.

A step ahead, this interface can get further optimized if the
PMKID is passed to the host driver and also have it respond to
the association request by the STA on a valid PMKID.

This commit enables the userspace to pass the PMKID to the host
drivers through the set/del pmksa operations in AP mode.

Set/Del pmksa is now restricted to STA/P2P client mode only and
thus the drivers might not expect them in any other(AP) mode.

This commit also introduces a feature flag
NL80211_EXT_FEATURE_AP_PMKSA_CACHING (johannes: renamed) to
maintain the backward compatibility of such an expectation by
the host drivers. These operations are allowed in AP mode only
when the drivers advertize the capability through this flag.

Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Git-commit: 6c900360e7c0df6a4846ac97d7b548d72cd801b0
CRs-Fixed: 2396953
Change-Id: I967ec287edb1c685614e965fe67a32e35035ff11
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
2019-06-11 11:00:40 -07:00
qctecmdr
c5df9f311d Merge "Indicate support for reporting rx FCS error rate" 2019-04-28 00:32:51 -07:00
Ankita Bajaj
bcb966a644 nl80211: Add per peer statistics to compute FCS error rate
Add support for drivers to report the total number of MPDUs received
and the number of MPDUs received with an FCS error from a specific
peer. These counters will be incremented only when the TA of the
frame matches the MAC address of the peer irrespective of FCS
error.
It should be noted that the TA field in the frame might be corrupted
when there is an FCS error and TA matching logic would fail in such
cases. Hence, FCS error counter might not be fully accurate, but it can
provide help in detecting bad RX links in significant number of cases.
This FCS error counter without full accuracy can be used, e.g., to
trigger a kick-out of a connected client with a bad link in AP mode to
force such a client to roam to another AP.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 0d4e14a32dcab9c4bd559d02874120fbb86b1322
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
CRs-Fixed: 2336798
Change-Id: I081304f25d50cd875b9d9867819ae3464627de79
Signed-off-by: Ankita Bajaj <bankita@codeaurora.org>
2019-04-16 00:30:33 +05:30
Sunil Dutt
08177d39db cfg80211/nl80211: Offload OWE processing to user space in AP mode
This interface allows the host driver to offload OWE processing
to user space. This intends to support OWE (Opportunistic Wireless
Encryption) AKM by the drivers that implement SME but rely on the
user space for the cryptographic/OWE processing in AP mode. Such
drivers are not capable of processing/deriving the DH IE.

A new NL80211 command - NL80211_CMD_UPDATE_OWE_INFO is introduced
to send the request/event between the host driver and user space.

Driver shall provide the OWE info (MAC address and DH IE) of
the peer to user space for cryptographic processing of the DH IE
through the event. Accordingly, the user space shall update the
OWE info/DH IE to the driver.

Following is the sequence in AP mode for OWE authentication.

Driver passes the OWE info obtained from the peer in the
Association Request to the user space through the event
cfg80211_update_owe_info_event. User space shall process the
OWE info received and generate new OWE info. This OWE info is
passed to the driver through NL80211_CMD_UPDATE_OWE_INFO
request. Driver eventually uses this OWE info to send the
Association Response to the peer.

This OWE info in the command interface carries the IEs that include
PMKID of the peer if the PMKSA is still valid or an updated DH IE
for generating a new PMKSA with the peer.

Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
Signed-off-by: Sunil Dutt <usdutt@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: cb74e9775871f8c82a1297cf76209f10ab5bbe3d
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Change-Id: I3b0391cd6da1ff033f4d8383013deb4ad5ecbe64
CRs-Fixed: 2414077
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
2019-04-09 04:58:11 -07:00
Liangwei Dong
b1096dd100 cfg80211: Sync nl80211 commands/feature with upstream
Update header for nl80211 nl80211_ext_feature_index and
nl80211_commands enum from master branch of upstream repoistory
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
which includes the following changes (with changes to extract
"enum" value change only):
91b5ab6289 cfg80211: support 4-way handshake offloading for WPA/WPA2-PSK
3a00df5707 cfg80211: support 4-way handshake offloading for 802.1X
2d23d0736e nl80211: add OCE scan and capability flags
65026002d6 nl80211: add an option to allow MFP without requiring it
5037a00992 nl80211: Introduce scan flags to emphasize requested scan
behavior
13cf6dec93 cfg80211/nl80211: add DFS offload flag
2576a9ace4 nl80211: Implement TX of control port frames
9c06602b1b9 cfg80211: clarify frames covered by average ACK signal report
52539ca89f cfg80211: Expose TXQ stats and parameters to userspace
2e076f1990 nl80211: add scan features for improved scan privac
2b815b04dfe nl80211: Add CAN_REPLACE_PTK0 API
81e54d08d9d cfg80211: support FTM responder configuration/statistics
36647055b37 cfg80211: Add airtime statistics and settings
466b9936bf cfg80211: Add support to notify station's opmode change to
userspace
6a671a50f8 nl80211: Add CMD_CONTROL_PORT_FRAME API
9bb7e0f24e7 cfg80211: add peer measurement with FTM initiator API
30c63115e20 nl80211: Add support to notify radar event info received from
STA.

CRs-Fixed: 2396941
Change-Id: I976a9177b9dd705c6131a3a9a62d64432e3d715a
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
2019-04-09 15:43:55 +05:30
Srinivas Dasari
d17c7dad25 cfg80211: Authentication offload to user space in AP mode
commit 40cbfa9021 ("cfg80211/nl80211: Optional authentication
offload to userspace")' introduced authentication offload to user
space by the host drivers in station mode. This commit extends
the same for the AP mode too.

Extend NL80211_ATTR_EXTERNAL_AUTH_SUPPORT to also claim the
support of external authentication from the user space in AP mode.
A new flag parameter is introduced in cfg80211_ap_settings to
intend the same while "start ap".

Host driver to use NL80211_CMD_FRAME interface to transmit and
receive the authentication frames to / from the user space.

Host driver to indicate the flag NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
while sending the authentication frame to the user space. This
intends to the user space that the driver wishes it to process
the authentication frame for certain protocols, though it had
initially advertised the support for SME functionality.

User space shall accordingly do the authentication and indicate
its final status through the command NL80211_CMD_EXTERNAL_AUTH.
Allow the command even if userspace doesn't include the attribute
NL80211_ATTR_SSID for AP interface.

Host driver shall continue with the association sequence and
indicate the STA connection status through cfg80211_new_sta.

To facilitate the host drivers in AP mode for matching the pmkid
by the stations during the association, NL80211_CMD_EXTERNAL_AUTH
is also enhanced to include the pmkid to drivers after
the authentication.
This pmkid can also be used in the STA mode to include in the
association request.

Also modify nl80211_external_auth to not mandate SSID in AP mode.
[remove useless nla_get_flag() usage].

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: fe4943702c850fa07f963eaa6f1530d9d4c2da78
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Change-Id: I6341814aa334e25f803953fcb855a439644eb1a9
CRs-Fixed: 2396191
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
2019-02-14 17:20:07 +05:30
David S. Miller
8365da2c05 Merge tag 'mac80211-next-for-davem-2018-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Small merge conflict in net/mac80211/scan.c, I preserved
the kcalloc() conversion. -DaveM

Johannes Berg says:

====================
This round's updates:
 * finally some of the promised HE code, but it turns
   out to be small - but everything kept changing, so
   one part I did in the driver was >30 patches for
   what was ultimately <200 lines of code ... similar
   here for this code.
 * improved scan privacy support - can now specify scan
   flags for randomizing the sequence number as well as
   reducing the probe request element content
 * rfkill cleanups
 * a timekeeping cleanup from Arnd
 * various other cleanups
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2018-06-30 21:08:12 +09:00
Luca Coelho
c4cbaf7973 cfg80211: Add support for HE
Add support for the HE in cfg80211 and also add userspace API to
nl80211 to send rate information out, conforming with P802.11ax_D2.0.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Ido Yariv <idox.yariv@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
2018-06-15 14:03:56 +02:00
Johannes Berg
2e076f1990 nl80211: add scan features for improved scan privacy
Add the scan flags for randomized SN and minimized probe request
content for improved scan privacy.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
2018-06-15 13:34:33 +02:00
Luca Coelho
badbc27df3 nl80211: fix some kernel doc tag mistakes
There is a bunch of tags marking constants with &, which means struct
or enum name.  Replace them with %, which is the correct tag for
constants.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
2018-06-15 13:01:31 +02:00
David S. Miller
5b79c2af66 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Lots of easy overlapping changes in the confict
resolutions here.

Signed-off-by: David S. Miller <davem@davemloft.net>
2018-05-26 19:46:15 -04:00
Vidyullatha Kanchanapally
7f9a3e150e nl80211: Update ERP info using NL80211_CMD_UPDATE_CONNECT_PARAMS
Use NL80211_CMD_UPDATE_CONNECT_PARAMS to update new ERP information,
Association IEs and the Authentication type to driver / firmware which
will be used in subsequent roamings.

Signed-off-by: Vidyullatha Kanchanapally <vidyullatha@codeaurora.org>
[arend: extended fils-sk kernel doc and added check in wiphy_register()]
Reviewed-by: Jithu Jance <jithu.jance@broadcom.com>
Reviewed-by: Eylon Pedinovsky <eylon.pedinovsky@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-23 11:21:35 +02:00
Arend Van Spriel
e841b7b11e nl80211: add FILS related parameters to ROAM event
In case of FILS shared key offload the parameters can change
upon roaming of which user-space needs to be notified.

Reviewed-by: Jithu Jance <jithu.jance@broadcom.com>
Reviewed-by: Eylon Pedinovsky <eylon.pedinovsky@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-23 11:19:02 +02:00
Johannes Berg
dd8070bff2 Merge remote-tracking branch 'net-next/master' into mac80211-next
Bring in net-next which had pulled in net, so I have the changes
from mac80211 and can apply a patch that would otherwise conflict.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-23 11:05:59 +02:00
Eric Biggers
814596495d cfg80211: further limit wiphy names to 64 bytes
wiphy names were recently limited to 128 bytes by commit a7cfebcb75
("cfg80211: limit wiphy names to 128 bytes").  As it turns out though,
this isn't sufficient because dev_vprintk_emit() needs the syslog header
string "SUBSYSTEM=ieee80211\0DEVICE=+ieee80211:$devname" to fit into 128
bytes.  This triggered the "device/subsystem name too long" WARN when
the device name was >= 90 bytes.  As before, this was reproduced by
syzbot by sending an HWSIM_CMD_NEW_RADIO command to the MAC80211_HWSIM
generic netlink family.

Fix it by further limiting wiphy names to 64 bytes.

Reported-by: syzbot+e64565577af34b3768dc@syzkaller.appspotmail.com
Fixes: a7cfebcb75 ("cfg80211: limit wiphy names to 128 bytes")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-18 10:01:06 +02:00
Toke Høiland-Jørgensen
52539ca89f cfg80211: Expose TXQ stats and parameters to userspace
This adds support for exporting the mac80211 TXQ stats via nl80211 by
way of a nested TXQ stats attribute, as well as for configuring the
quantum and limits that were previously only changeable through debugfs.

This commit adds just the nl80211 API, a subsequent commit adds support to
mac80211 itself.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-08 13:19:24 +02:00
Balaji Pothunoori
81d5439da8 cfg80211: average ack rssi support for data frames
Average ack rssi will be given to userspace via NL80211 interface
if firmware is capable. Userspace tool ‘iw’ can process this
information and give the output as one of the fields in
‘iw dev wlanX station dump’.

Example output :

localhost ~ #iw dev wlan-5000mhz station dump Station
34:f3:9a:aa:3b:29 (on wlan-5000mhz)
        inactive time:  5370 ms
        rx bytes:       85321
        rx packets:     576
        tx bytes:       14225
        tx packets:     71
        tx retries:     0
        tx failed:      2
        beacon loss:    0
        rx drop misc:   0
        signal:         -54 dBm
        signal avg:     -53 dBm
        tx bitrate:     866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
        rx bitrate:     866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
        avg ack signal: -56 dBm
        authorized:     yes
        authenticated:  yes
        associated:     yes
        preamble:       short
        WMM/WME:        yes
        MFP:            no
        TDLS peer:      no
        DTIM period:    2
        beacon interval:100
       short preamble: yes
       short slot time:yes
       connected time: 203 seconds

Main use case is to measure the signal strength of a connected station
to AP. Data packet transmit rates and bandwidth used by station can vary
a lot even if the station is at fixed location, especially if the rates
used are multi stream(2stream, 3stream) rates with different bandwidth(20/40/80 Mhz).
These multi stream rates are sensitive and station can use different transmit power
for each of the rate and bandwidth combinations. RSSI measured from these RX packets
on AP will be not stable and can vary a lot with in a short time.
Whereas 802.11 ack frames from station are sent relatively at a constant
rate (6/12/24 Mbps) with constant bandwidth(20 Mhz).
So average rssi of the ack packets is good and more accurate.

Signed-off-by: Balaji Pothunoori <bpothuno@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-07 21:37:20 +02:00
Haim Dreyfuss
50f32718e1 nl80211: Add wmm rule attribute to NL80211_CMD_GET_WIPHY dump command
This will serve userspace entity to maintain its regulatory limitation.
More specifcally APs can use this data to calculate the WMM IE when
building: beacons, probe responses, assoc responses etc...

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-07 20:57:40 +02:00
Johannes Berg
a7cfebcb75 cfg80211: limit wiphy names to 128 bytes
There's currently no limit on wiphy names, other than netlink
message size and memory limitations, but that causes issues when,
for example, the wiphy name is used in a uevent, e.g. in rfkill
where we use the same name for the rfkill instance, and then the
buffer there is "only" 2k for the environment variables.

This was reported by syzkaller, which used a 4k name.

Limit the name to something reasonable, I randomly picked 128.

Reported-by: syzbot+230d9e642a85d3fec29c@syzkaller.appspotmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-04-19 15:46:34 +02:00
Denis Kenzior
64bf3d4bc2 nl80211: Add CONTROL_PORT_OVER_NL80211 attribute
Signed-off-by: Denis Kenzior <denkenz@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-29 13:45:04 +02:00
Denis Kenzior
2576a9ace4 nl80211: Implement TX of control port frames
This commit implements the TX side of NL80211_CMD_CONTROL_PORT_FRAME.
Userspace provides the raw EAPoL frame using NL80211_ATTR_FRAME.
Userspace should also provide the destination address and the protocol
type to use when sending the frame.  This is used to implement TX of
Pre-authentication frames.  If CONTROL_PORT_ETHERTYPE_NO_ENCRYPT is
specified, then the driver will be asked not to encrypt the outgoing
frame.

A new EXT_FEATURE flag is introduced so that nl80211 code can check
whether a given wiphy has capability to pass EAPoL frames over nl80211.

Signed-off-by: Denis Kenzior <denkenz@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-29 13:44:19 +02:00
Denis Kenzior
6a671a50f8 nl80211: Add CMD_CONTROL_PORT_FRAME API
This commit also adds cfg80211_rx_control_port function.  This is used
to generate a CMD_CONTROL_PORT_FRAME event out to userspace.  The
conn_owner_nlportid is used as the unicast destination.  This means that
userspace must specify NL80211_ATTR_SOCKET_OWNER flag if control port
over nl80211 routing is requested in NL80211_CMD_CONNECT,
NL80211_CMD_ASSOCIATE, NL80211_CMD_START_AP or IBSS/mesh join.

Signed-off-by: Denis Kenzior <denkenz@gmail.com>
[johannes: fix return value of cfg80211_rx_control_port()]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-29 13:44:04 +02:00
Denis Kenzior
466a306142 nl80211: Add SOCKET_OWNER support to START_AP
Signed-off-by: Denis Kenzior <denkenz@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-29 10:47:28 +02:00
Denis Kenzior
188c1b3c04 nl80211: Add SOCKET_OWNER support to JOIN_MESH
Signed-off-by: Denis Kenzior <denkenz@gmail.com>
[johannes: fix race with wdev lock/unlock by just acquiring once]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-29 10:38:24 +02:00