Patch "brcmfmac: Make skb header writable before use" has been added to the 3.18-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
brcmfmac: Make skb header writable before use
to the 3.18-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:
brcmfmac-make-skb-header-writable-before-use.patch
and it can be found in the queue-3.18 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
9cc4b7cb86cbcc6330a3faa8cd65268cd2d3c227Mon Sep 17 00:00:00 2001
From: James Hughes <[email protected]>
Date: Tue, 25 Apr 2017 10:15:06 +0100
Subject: brcmfmac: Make skb header writable before use
From: James Hughes <[email protected]>
commit 9cc4b7cb86cbcc6330a3faa8cd65268cd2d3c227 upstream.
The driver was making changes to the skb_header without ensuring it was writable (i.e. uncloned).
This patch also removes some boiler plate header size checking/adjustment code as that is also handled by the skb_cow_header function used to make header writable.
--- drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-)
drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c +5 -14
@@ -213,22 +213,13 @@ static netdev_tx_t brcmf_netdev_start_xm goto done; } -/* Make sure there's enough room for any header */ -if (skb_headroom (skb) < drvr->hdrlen) { -struct sk_buff *skb2; - -brcmf_dbg (INFO ,"%s: insufficient headroom\n" , +/* Make sure there's enough writable headroom*/ + ret =skb_cow_head (skb, drvr->hdrlen); +if (ret <0 ) { +brcmf_err ("%s: skb_cow_head failed\n" ,brcmf_ifname (drvr, ifp->bssidx)); - drvr->bus_if->tx_realloc++; - skb2 =skb_realloc_headroom (skb, drvr->hdrlen);dev_kfree_skb (skb); - skb = skb2; -if (skb ==NULL ) { -brcmf_err ("%s: skb_realloc_headroom failed\n" , -brcmf_ifname (drvr, ifp->bssidx)); - ret = -ENOMEM ; - goto done; - } + goto done; }/* validate length for ether packet */
Patches currently in stable-queue which might be from [email protected] are
queue-3.18/brcmfmac-make-skb-header-writable-before-use.patch queue-3.18/brcmfmac-ensure-pointer-correctly-set-if-skb-data-location-changes.patch