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:30:40 +0000 (10:30 +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 b4f45234cfc89a25169ab9989aeb48fdca7f6113..3d2eb15a9662103614e962ed2d0140fc4e728c17 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));