The printk buffer is protected by a global raw spinlock for readers
and writers. This restricts the contexts that are allowed to
access the buffer. So large latencies exists when printing to
kmsg done with QDF trace levels WARN, INFO, ERROR. This results
in roaming KPI for maximum transition time exceeding the expected
100ms.
So change info/err prints to debug prints in roaming path
to reduce delays in roaming time.
Change-Id: I9cdf043da6e88d735ab39812e74ed24784ceede3
CRs-Fixed: 2594867
On rekey, the STA resets it’s PN to 0 but, the
AP sends out pending traffic with old PN values
before it resets the PN as well.
This causes traffic to stall and hence, TSC (transmit
sequence counter) should not be set to zero during rekey.
Instead, obtain last PN number for a non-bss peer while
configuring new key and pass the values to hostap.
Change-Id: I4a604f23944c941c6ade2f57ab03781bc78f7b40
In functions that use key values, reset the local variables (key) to
zero after use to avoid security vulnerability.
Change-Id: I105b1abf7c707102ef99bbe4fa213708039d933e
CRs-fixed: 2581402
Prevent delkey to call crypto_ops for FILS cipher
type, as this keys are not present in FW.
Change-Id: Ica13a62b6822ee3cee40acffa98b7cc1cb122120
CRs-Fixed: 2520517
Reduce the log level from err or info to debug so that logs
are not printed on console.
Change-Id: I0d33c2a8f5b4bb4974656ac0d1eb6713a74cb5f4
CRs-Fixed: 2516287
VLAN group keyix is greater than WLAN_CRYPTO_MAXKEYIDX
Each VLAN will have separate group key in single VAP.
CRs-Fixed: 2490599
Change-Id: I585b2deaa13da337c5df7b55ec8e4672221e4edb
wlan_vdev_get_bsspeer() return bss peer without taking the ref count
of the peer and thus if peer is deleted after wlan_vdev_get_bsspeer()
returns a valid peer, the caller will have stale entry of the peer.
Stale entry of peer can lead to Assert.
Use wlan_objmgr_vdev_try_get_bsspeer API for stats to get the BSS
peer which increment the refcount if peer is valid. With this the
peer won't be deleted till the caller release the ref count of the
peer.
Change-Id: I3690f1309cbc7643ed55d8e903814b06f9d8755f
CRs-Fixed: 2454080
wlan_vdev_get_bsspeer() return bss peer without taking the ref count
of the peer and thus if peer is deleted after wlan_vdev_get_bsspeer()
returns a valid peer, the caller will have stale entry of the peer.
Stale entry of peer can lead to Assert.
Use wlan_objmgr_vdev_try_get_bsspeer API for crypto to get the BSS
peer which increment the refcount if peer is valid. With this the
peer won't be deleted till the caller release the ref count of the
peer.
Change-Id: I5472c80d267a6639acaff2d47dbc09e37963bc93
CRs-Fixed: 2447249
Hostapd requests igtk keys with keyix 4,5.
Adding support to wlan_crypto_getkey to send the igtk keys
for keyix 4,5. In absence of the patch, hostapd getkey
call for igtk keys will fail.
Change-Id: I32cd6b417aae92cf3b3ac17bb72e19b581d21bd6
In wlan_crypto_rsn_info, only need to reject STA with PMF disabled
when PMF is required.
Change-Id: I7a7d4b2d1a2d44a95d08eb6bfac14540940f0be3
CRs-Fixed: 2424932
Currently only STA mode is supported in wlan_crypto_set_del_pmksa.
For SAE SAP, need to add AP mode support in this API.
Change-Id: If45a516713e302b3516d163516263bbcbafeaed2
CRs-Fixed: 2424893
MCL code will need to find the supported mgmt cipher
type from crypto component. Add two api for vdev and
peer for it.
Change-Id: Ic33d4f18a04b48ce4699617569585fd1c2ae6f61
CRs-Fixed: 2421463
In roaming offload, PMK will be sent to firmware.
So,save the PMK to pmkcache when supplicant provide
from os interface.
Change-Id: Ibfd3d354b9150b40755ba2ab1dd90c2e3c6ddbc3
CRs-Fixed: 2420359
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within umac crypto replace any such comparisons with
logical operations performed on the pointer itself.
Change-Id: Id6edc4aa8bf0fef455c1359dacabd74fc7163e44
CRs-Fixed: 2418253
BKID is part of only assosciation and reassociation
request frames, So include it only for sta mode.
Change-Id: Ic43e20b46154a957a7290cdcc70615247949cba7
CRs-Fixed: 2398256
Added support for pmksa handling in crypto to
support add_pmksa, del_pmksa and
flush_pmksa function calls from cfg80211.
Added support for adding pmkid in rsnie.
Change-Id: Ic8add9635c2e7fd73da21b1305467e6500f6d73c
CRs-Fixed: 2363632
Define WLAN_AKM_SUITE_FT_8021X and WLAN_AKM_SUITE_FT_PSK for kernel version
less then 4.14.
Change-Id: Id5518511bc4f639fff6d1e20bcf0aad973d9ab46
CRs-Fixed: 2362888
Came up with changes to replace “qdf_print” with crypto_err/
crypto_debug/crypto_info implementing QDF_TRACE in crypto
component, to avoid flooding of error prints on the console.
Change-Id: I411efd78f808f7c893ece9096ebc429c8753fc82
CRs-Fixed: 2299590
Updated error log from qdf_print to crypto_err/
crypto_debug/crypto_info implementing QDF_TRACE
for files in crypto to avoid console cluttering.
Change-Id: I1f7860373c505f4e1d80909662b6673f8263bdcd
CRs-Fixed: 2299591
Add following APIs to translate NL param type to
crypto param type.
1.osif_nl_to_crypto_auth_type()
2.osif_nl_to_crypto_akm_type()
3.osif_nl_to_crypto_cipher_type()
Change-Id: Iba0d57e63db98cf81ed0ce5c0a79ae7f8239d1a9
CRs-Fixed: 2300761
Correct keymgmt addition order in rsnie to match
with hostapd order of addition.
Added support to add new keymgmt values in rsnie.
Change-Id: Ib96ed6b3986f6dd45ab8f926e7a4e4415aed507d
CRs-Fixed: 2302389
Correct the pairwise cipher order in rsnie to match
hostapd ie generation order. as there difference in the order
cipher is added in rsnie between beacon/probe response generated
in driver and rsnie generated in hostapd, clients drop
this particular association.
Change-Id: I6bc5094a3ff03b013ab1672e8c028a1312eebd3b
CRs-Fixed: 2302389
Add new param types for wlan_crypto_auth_mode,
wlan_crypto_key_mgmt, wlan_crypto_cipher_type.
Need as part of convergence while converting
param type received from NL to crypto param type.
Change-Id: I0110990d9d2b4b24a87770ebce2b17312a2894fc
CRs-Fixed: 2258383
Clean up spectral, tif and umac component prints by correcting trace
levels for regularly occurring prints and removing newlines from
converged print APIs since qdf_trace_msg appends them by default.
Change-Id: Ib10f1b1c54ecbcb9f4076be7c2c4708359d488e0
CRs-Fixed: 2243843
Added extra check to prevent buffer overflow pointed out
by static code analyzer tool.
Change-Id: Ieeb3e89089b63eac3dc210447d7ec8e964cd52c9
CRs-Fixed: 2285486
Allow FILS decap for (Re)Association request/response frame
by returning keyid as 0.
Change-Id: Icdf6d325eeccda36eeaf5a5635fcf9cf361d1028
CRs-Fixed: 2217523
key_mgmt was using uint16 datatype and used
to hold more than it's size.
increased its data size to uint32 address this
issue.
Change-Id: I88a4550bff2e0543700ba1470df3340e7020b7f0
CR-Fixed: 2254883
Crypto params are not initalized with default values.
Crypto params initalized with default value during vdev
and peer creation.
Change-Id: I8adacc8b2770e3518bfbfe2da2eb3f6e0d9a5586
Crs-Fixed: 2251816
1. Fetch keyid from pkt during TKIP demic
2. Support to restore keys in h/w keycache, when h/w reset takes place
Change-Id: Icc4039a6cf6b89bd3ec3a874b698445382aff024
CRs-Fixed: 2233228
APIs to retrieve following based on cipher type -
1. Header length
2. Trailer length
3. Miclen
Change-Id: Ia9c3a8d6a1459e637af80fcf73077e2d6b5f310c
CRs-Fixed: 2233228
Some chipsets using Direct-attach architecture need the 802.11 header
padded to a 32-bit boundary for 4-address and QoS frames.
Change-Id: Id29c114b2246cbb1230c9b22f4d04c070069d569
CRs-Fixed: 2233228