Patch "rtlwifi: rtl_pci: Fix kernel panic" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
rtlwifi: rtl_pci: Fix kernel panic
to the 4.4-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:
rtlwifi-rtl_pci-fix-kernel-panic.patch
and it can be found in the queue-4.4 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
f99551a2d39dc26ea03dc6761be11ac913eb2d57Mon Sep 17 00:00:00 2001
From: Larry Finger <[email protected]>
Date: Mon, 21 Dec 2015 17:05:08 -0600
Subject: rtlwifi: rtl_pci: Fix kernel panic
From: Larry Finger <[email protected]>
commit f99551a2d39dc26ea03dc6761be11ac913eb2d57 upstream.
In commit 38506ecefab9 (rtlwifi: rtl_pci: Start modification for new drivers), a bug was introduced that causes a NULL pointer dereference. As this bug only affects the infrequently used RTL8192EE and only under low-memory conditions, it has taken a long time for the bug to show up.
The bug was reported on the linux-wireless mailing list and also at
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/ as bug #1527603 (kernel crashes due to rtl8192ee driver on ubuntu 15.10).
--- drivers/net/wireless/realtek/rtlwifi/pci.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
drivers/net/wireless/realtek/rtlwifi/pci.c +3 -8
@@ -801,7 +801,9 @@ static void _rtl_pci_rx_interrupt(struct hw_queue);if (rx_remained_cnt ==0 )return ; - + buffer_desc = &rtlpci->rx_ring[rxring_idx].buffer_desc[ + rtlpci->rx_ring[rxring_idx].idx]; + pdesc = (struct rtl_rx_desc *)skb->data; }else {/* rx descriptor */ pdesc = &rtlpci->rx_ring[rxring_idx].desc[ rtlpci->rx_ring[rxring_idx].idx];
@@ -824,13 +826,6 @@ static void _rtl_pci_rx_interrupt(struct new_skb =dev_alloc_skb (rtlpci->rxbuffersize);if (unlikely (!new_skb)) goto no_new; -if (rtlpriv->use_new_trx_flow) { - buffer_desc = - &rtlpci->rx_ring[rxring_idx].buffer_desc - [rtlpci->rx_ring[rxring_idx].idx]; -/*means rx wifi info*/ - pdesc = (struct rtl_rx_desc *)skb->data; - }memset (&rx_status ,0 ,sizeof (rx_status)); rtlpriv->cfg->ops->query_rx_desc (hw, &stats, &rx_status, (u8 *)pdesc, skb);
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/rtlwifi-rtl8723be-fix-module-parameter-initialization.patch queue-4.4/rtlwifi-rtl8192de-fix-incorrect-module-parameter-descriptions.patch queue-4.4/rtlwifi-rtl8192se-fix-module-parameter-initialization.patch queue-4.4/rtlwifi-rtl8192cu-add-missing-parameter-setup.patch queue-4.4/rtlwifi-rtl8723ae-fix-initialization-of-module-parameters.patch queue-4.4/rtlwifi-rtl_pci-fix-kernel-panic.patch queue-4.4/rtlwifi-rtl8188ee-fix-module-parameter-initialization.patch queue-4.4/rtlwifi-rtl8192ce-fix-handling-of-module-parameters.patch