wifi: iwlwifi: mvm: Add locking to the rate read flow
authorAriel Malamud <ariel.malamud@intel.com>
Sun, 14 May 2023 09:15:55 +0000 (12:15 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 16 May 2023 17:27:05 +0000 (10:27 -0700)
commita8938bc881d2a03f9b77f19fae924fe798a01285
tree8bb712b785c475c893b59c3f4a1a07d3d4059726
parent207be64f4e60bf5de13fc69fcf7fe2441bf71a97
wifi: iwlwifi: mvm: Add locking to the rate read flow

The rs_drv_get_rate flow reads the lq_sta to return the optimal rate
for tx frames. This read flow is not protected thereby leaving
a small window, a few instructions wide, open to contention by an
asynchronous rate update. Indeed this race condition was hit and the
update occurred in the middle of the read.

Fix this by locking the lq_sta struct during read.

Signed-off-by: Ariel Malamud <ariel.malamud@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230514120631.b52c9ed5c379.I15290b78e0d966c1b68278263776ca9de841d5fe@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/rs.c