Re: [PATCH 23/23 V2 for 3.19] rtlwifi: Fix error when accessing unmapped memory in skb
From: Larry Finger <hidden>
Date: 2014-12-31 03:31:47
Also in:
linux-wireless
From: Larry Finger <hidden>
Date: 2014-12-31 03:31:47
Also in:
linux-wireless
On 12/30/2014 06:49 PM, Eric Biggers wrote:
On Sat, Dec 27, 2014 at 02:17:37PM -0600, Larry Finger wrote:quoted
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.It looks like in the out-of-memory path, pci_map_single() gets called while the skb is still mapped. Won't this leak the IOMMU mapping?
Good catch. I do not know much about leaking the IOMMU mapping; however it is easy to do the unmapping before trying to allocate a new skb. Thanks, Larry