From: Daniel Gabay Date: Thu, 26 Dec 2024 15:44:54 +0000 (+0200) Subject: wifi: iwlwifi: mvm: Use IWL_FW_CHECK() for BAR notif size validation X-Git-Tag: microblaze-v6.16~163^2~20^2~112 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=1532c5d67d97cacbe83dd9b7f74b8844ee42b2e6;p=linux-2.6-microblaze.git wifi: iwlwifi: mvm: Use IWL_FW_CHECK() for BAR notif size validation Use IWL_FW_CHECK() for BAR notification size validation, improving diagnostics with a clear error message on failure. Signed-off-by: Daniel Gabay Reviewed-by: Johannes Berg Signed-off-by: Miri Korenblit Link: https://patch.msgid.link/20241226174257.913d5d476929.I8cd62f45bacc088c309b0152fc392dc2579e82e0@changeid Signed-off-by: Johannes Berg --- diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c index e8ea48936c2d..c03cb7cc2f1c 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c @@ -2507,9 +2507,12 @@ void iwl_mvm_rx_bar_frame_release(struct iwl_mvm *mvm, struct napi_struct *napi, struct iwl_rx_packet *pkt = rxb_addr(rxb); struct iwl_bar_frame_release *release = (void *)pkt->data; struct iwl_mvm_baid_data *baid_data; + u32 pkt_len = iwl_rx_packet_payload_len(pkt); unsigned int baid, nssn, sta_id, tid; - if (unlikely(iwl_rx_packet_payload_len(pkt) < sizeof(*release))) + if (IWL_FW_CHECK(mvm, pkt_len < sizeof(*release), + "Unexpected frame release notif size %d (expected %zu)\n", + pkt_len, sizeof(*release))) return; baid = le32_get_bits(release->ba_info,