]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: iwlwifi: mvm: don't read past the mfuart notifcation
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 13 May 2024 10:27:14 +0000 (13:27 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jul 2024 07:08:11 +0000 (09:08 +0200)
[ Upstream commit 4bb95f4535489ed830cf9b34b0a891e384d1aee4 ]

In case the firmware sends a notification that claims it has more data
than it has, we will read past that was allocated for the notification.
Remove the print of the buffer, we won't see it by default. If needed,
we can see the content with tracing.

This was reported by KFENCE.

Fixes: bdccdb854f2f ("iwlwifi: mvm: support MFUART dump in case of MFUART assert")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240513132416.ba82a01a559e.Ia91dd20f5e1ca1ad380b95e68aebf2794f553d9b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/mvm/fw.c

index c5b08a68f6fa1ff5485976bf7044f78ba69859b3..27bd9ed48bec4b3785cae5c491d38c62e97d4897 100644 (file)
@@ -197,20 +197,10 @@ void iwl_mvm_mfu_assert_dump_notif(struct iwl_mvm *mvm,
 {
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
        struct iwl_mfu_assert_dump_notif *mfu_dump_notif = (void *)pkt->data;
-       __le32 *dump_data = mfu_dump_notif->data;
-       int n_words = le32_to_cpu(mfu_dump_notif->data_size) / sizeof(__le32);
-       int i;
 
        if (mfu_dump_notif->index_num == 0)
                IWL_INFO(mvm, "MFUART assert id 0x%x occurred\n",
                         le32_to_cpu(mfu_dump_notif->assert_id));
-
-       for (i = 0; i < n_words; i++)
-               IWL_DEBUG_INFO(mvm,
-                              "MFUART assert dump, dword %u: 0x%08x\n",
-                              le16_to_cpu(mfu_dump_notif->index_num) *
-                              n_words + i,
-                              le32_to_cpu(dump_data[i]));
 }
 
 static bool iwl_alive_fn(struct iwl_notif_wait_data *notif_wait,