Skip to contentSkip to conversation

FAILED: patch "[PATCH] brcmfmac: Add check for short event packets" failed to apply to 4.4-stable tree

PATCH [email protected] 1 participant 1 message Oct 24, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From dd2349121bb1b8ff688c3ca6a2a0bea9d8c142ca Mon Sep 17 00:00:00 2001

From: Kevin Cernekee <[email protected]>
Date: Sat, 16 Sep 2017 21:08:24 -0700
Subject: [PATCH] brcmfmac: Add check for short event packets

The length of the data in the received skb is currently passed into brcmf_fweh_process_event() as packet_len, but this value is not checked. event_packet should be followed by DATALEN bytes of additional event data. Ensure that the received packet actually contains at least DATALEN bytes of additional data, to avoid copying uninitialized memory into event->data.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c +2 -1
index 4eb1e1ce9ace..ef72baf6dd96 100644
@@ -429,7 +429,8 @@ void brcmf_fweh_process_event(struct brcmf_pub *drvr,
 	if (code != BRCMF_E_IF && !fweh->evt_handler[code])
 		return;
 
-	if (datalen > BRCMF_DCMD_MAXLEN)
+	if (datalen > BRCMF_DCMD_MAXLEN ||
+	    datalen + sizeof(*event_packet) > packet_len)
 		return;
 
 	if (in_interrupt())