Skip to content

Commit fec3ebb

Browse files
nbd168kuba-moo
authored andcommitted
wifi: cfg80211: fix receiving mesh packets without RFC1042 header
Fix ethernet header length field after stripping the mesh header Cc: stable@vger.kernel.org Link: https://lore.kernel.org/all/CT5GNZSK28AI.2K6M69OXM9RW5@syracuse/ Fixes: 986e43b ("wifi: mac80211: fix receiving A-MSDU frames on mesh interfaces") Reported-and-tested-by: Nicolas Escande <nico.escande@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> Link: https://lore.kernel.org/r/20230711115052.68430-1-nbd@nbd.name Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 4f4626c commit fec3ebb

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

net/wireless/util.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,8 @@ int ieee80211_strip_8023_mesh_hdr(struct sk_buff *skb)
580580
hdrlen += ETH_ALEN + 2;
581581
else if (!pskb_may_pull(skb, hdrlen))
582582
return -EINVAL;
583+
else
584+
payload.eth.h_proto = htons(skb->len - hdrlen);
583585

584586
mesh_addr = skb->data + sizeof(payload.eth) + ETH_ALEN;
585587
switch (payload.flags & MESH_FLAGS_AE) {

0 commit comments

Comments
 (0)