rtlwifi: Fix error when accessing unmapped memory in skb
authorLarry Finger <Larry.Finger@lwfinger.net>
Wed, 31 Dec 2014 03:33:07 +0000 (21:33 -0600)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 5 Jan 2015 08:05:44 +0000 (10:05 +0200)
commite9538cf4f90713eca71b1d6a74b4eae1d445c664
treef3c3eff86b136edf1890099ffc184b61db05fd4c
parent7ce67a38f799d1fb332f672b117efbadedaa5352
rtlwifi: Fix error when accessing unmapped memory in skb

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>
drivers/net/wireless/rtlwifi/pci.c