linux_dsm_epyc7002/drivers/net/wireless/broadcom
Daniel Stone 58f36b4526 brcmfmac: Don't grow SKB by negative size
The commit to rework the headroom check in start_xmit() now calls
pxskb_expand_head() unconditionally if the header is CoW. Unfortunately,
it does so with the delta between the extant headroom and the header
length, which may be negative if there is already sufficient headroom.

pskb_expand_head() does allow for size being 0, in which case it just
copies, so clamp the header delta to zero.

Opening Chrome (and all my tabs) on a PCIE device was enough to reliably
hit this.

Fixes: 270a6c1f65 ("brcmfmac: rework headroom check in .start_xmit()")
Signed-off-by: Daniel Stone <daniels@collabora.com>
Cc: Arend Van Spriel <arend.vanspriel@broadcom.com>
Cc: James Hughes <james.hughes@raspberrypi.org>
Cc: Hante Meuleman <hante.meuleman@broadcom.com>
Cc: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Cc: Franky Lin <franky.lin@broadcom.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2017-07-27 14:02:16 +03:00
..
b43 b43: Add missing MODULE_FIRMWARE() 2017-05-22 12:02:46 +03:00
b43legacy networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
brcm80211 brcmfmac: Don't grow SKB by negative size 2017-07-27 14:02:16 +03:00
Kconfig brcm80211: move under broadcom vendor directory 2015-11-18 11:24:22 +02:00
Makefile brcm80211: move under broadcom vendor directory 2015-11-18 11:24:22 +02:00