These drivers use 9100-byte receive buffers, thus allocating an skb requires an O(3) memory allocation. Under heavy memory loads and fragmentation, such a request can fail. Previous versions of the driver have dropped the packet and reused the old buffer; however, the new version introduced a bug in that it released the old buffer before trying to allocate a new one. The previous method is implemented here. The skb is unmapped before any attempt is made to allocate another. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> [v3.18] Reported-by: Eric Biggers <ebiggers3@gmail.com> Cc: Eric Biggers <ebiggers3@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
||
|---|---|---|
| .. | ||
| btcoexist | ||
| rtl8188ee | ||
| rtl8192c | ||
| rtl8192ce | ||
| rtl8192cu | ||
| rtl8192de | ||
| rtl8192ee | ||
| rtl8192se | ||
| rtl8723ae | ||
| rtl8723be | ||
| rtl8723com | ||
| rtl8821ae | ||
| base.c | ||
| base.h | ||
| cam.c | ||
| cam.h | ||
| core.c | ||
| core.h | ||
| debug.c | ||
| debug.h | ||
| efuse.c | ||
| efuse.h | ||
| Kconfig | ||
| Makefile | ||
| pci.c | ||
| pci.h | ||
| ps.c | ||
| ps.h | ||
| pwrseqcmd.h | ||
| rc.c | ||
| rc.h | ||
| regd.c | ||
| regd.h | ||
| stats.c | ||
| stats.h | ||
| usb.c | ||
| usb.h | ||
| wifi.h | ||