Patch "staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory." has been added to the 4.11-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory.
to the 4.11-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
staging-rtl8192e-rtl92e_fill_tx_desc-fix-write-to-mapped-out-memory.patch
and it can be found in the queue-4.11 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
baabd567f87be05330faa5140f72a91960e7405aMon Sep 17 00:00:00 2001
From: Malcolm Priestley <[email protected]>
Date: Thu, 11 May 2017 18:57:43 +0100
Subject: staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory.
From: Malcolm Priestley <[email protected]>
commit baabd567f87be05330faa5140f72a91960e7405a upstream.
The driver attempts to alter memory that is mapped to PCI device.
This is because tx_fwinfo_8190pci points to skb->data
Move the pci_map_single to when completed buffer is ready to be mapped with psdec is empty to drop on mapping error.
--- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +9 -4
@@ -1184,8 +1184,7 @@ void rtl92e_fill_tx_desc(struct net_dev struct cb_desc *cb_desc, struct sk_buff *skb) { struct r8192_priv *priv = rtllib_priv(dev); -dma_addr_t mapping =pci_map_single (priv->pdev, skb->data, skb->len, -PCI_DMA_TODEVICE ); +dma_addr_t mapping;struct tx_fwinfo_8190pci *pTxFwInfo; pTxFwInfo = (struct tx_fwinfo_8190pci *)skb->data;
@@ -1196,8 +1195,6 @@ void rtl92e_fill_tx_desc(struct net_dev pTxFwInfo->Short =_rtl92e_query_is_short (pTxFwInfo->TxHT, pTxFwInfo->TxRate, cb_desc); -if (pci_dma_mapping_error (priv->pdev, mapping)) -netdev_err (dev,"%s(): DMA Mapping error\n" , __func__);if (cb_desc->bAMPDUEnable) { pTxFwInfo->AllowAggregation =1 ; pTxFwInfo->RxMF = cb_desc->ampdu_factor;
@@ -1232,6 +1229,14 @@ void rtl92e_fill_tx_desc(struct net_dev }memset ((u8 *)pdesc,0 ,12 ); + + mapping =pci_map_single (priv->pdev, skb->data, skb->len, +PCI_DMA_TODEVICE ); +if (pci_dma_mapping_error (priv->pdev, mapping)) { +netdev_err (dev,"%s(): DMA Mapping error\n" , __func__); +return ; + } + pdesc->LINIP =0 ; pdesc->CmdInit =1 ; pdesc->Offset =sizeof (struct tx_fwinfo_8190pci ) +8 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.11/staging-rtl8192e-rtl92e_get_eeprom_size-fix-read-size-of-eprom_cmd.patch queue-4.11/staging-rtl8192e-getts-fix-invalid-tid-7-warning.patch queue-4.11/staging-rtl8192e-rtl92e_fill_tx_desc-fix-write-to-mapped-out-memory.patch queue-4.11/staging-rtl8192e-fix-2-byte-alignment-of-register-bssidr.patch