diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2016-09-29 14:58:53 +0200 |
---|---|---|
committer | Zoltan HERPAI <wigyori@uid0.hu> | 2016-09-29 14:58:53 +0200 |
commit | bc004132213820368cc3af1e54e18f5cdb760972 (patch) | |
tree | 499f23dda28368b36385209c3ceb0a5227ab9fad /package/kernel/mac80211/patches/860-brcmfmac-add-missing-eth_type_trans-call.patch | |
parent | 396e838bd6a8e8df8ea2f0fdb8b70be449682b8f (diff) | |
download | upstream-bc004132213820368cc3af1e54e18f5cdb760972.tar.gz upstream-bc004132213820368cc3af1e54e18f5cdb760972.tar.bz2 upstream-bc004132213820368cc3af1e54e18f5cdb760972.zip |
mac80211: brcmfmac: backport patches that were skipped previously #2
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'package/kernel/mac80211/patches/860-brcmfmac-add-missing-eth_type_trans-call.patch')
-rw-r--r-- | package/kernel/mac80211/patches/860-brcmfmac-add-missing-eth_type_trans-call.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/860-brcmfmac-add-missing-eth_type_trans-call.patch b/package/kernel/mac80211/patches/860-brcmfmac-add-missing-eth_type_trans-call.patch new file mode 100644 index 0000000000..e2653542de --- /dev/null +++ b/package/kernel/mac80211/patches/860-brcmfmac-add-missing-eth_type_trans-call.patch @@ -0,0 +1,26 @@ +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> +Subject: [PATCH] brcmfmac: add missing eth_type_trans call +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +There are 2 protocols supported by brcmfmac and msgbuf one was missing a +proper skb setup before passing it to the netif. This was triggering +"NULL pointer dereference". + +Fixes: 9c349892ccc9 ("brcmfmac: revise handling events in receive path") +Signed-off-by: RafaÅ MiÅecki <zajec5@gmail.com> +--- + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c +@@ -1157,6 +1157,9 @@ brcmf_msgbuf_process_rx_complete(struct + brcmu_pkt_buf_free_skb(skb); + return; + } ++ ++ skb->protocol = eth_type_trans(skb, ifp->ndev); ++ + brcmf_netif_rx(ifp, skb); + } + |