iwlwifi: mei: clear the sap data header before sending
authorAvraham Stern <avraham.stern@intel.com>
Tue, 17 May 2022 09:05:13 +0000 (12:05 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:26:17 +0000 (10:26 +0200)
commit 55cf10488d7a9fa1b1b473a5e44a80666932e094 upstream.

The SAP data header has some fields that are marked as reserved
but are actually in use by CSME. Clear those fields before sending
the data to avoid having random values in those fields.

Cc: stable@vger.kernel.org
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20220517120045.8dd3423cf683.I02976028eaa6aab395cb2e701fa7127212762eb7@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/intel/iwlwifi/mei/main.c

index 2f7f0f994ca32805d2c5cb7e9c0af28ab981a64e..506fe5f2573bc63c4c6b3eec5541bb0be2fc5bee 100644 (file)
@@ -493,6 +493,7 @@ void iwl_mei_add_data_to_ring(struct sk_buff *skb, bool cb_tx)
        if (cb_tx) {
                struct iwl_sap_cb_data *cb_hdr = skb_push(skb, sizeof(*cb_hdr));
 
+               memset(cb_hdr, 0, sizeof(*cb_hdr));
                cb_hdr->hdr.type = cpu_to_le16(SAP_MSG_CB_DATA_PACKET);
                cb_hdr->hdr.len = cpu_to_le16(skb->len - sizeof(cb_hdr->hdr));
                cb_hdr->hdr.seq_num = cpu_to_le32(atomic_inc_return(&mei->sap_seq_no));