浏览代码

mac80211: Ensure enough headroom when forwarding mesh pkt

When a buffer is duplicated during MESH packet forwarding,
this patch ensures that the new buffer has enough headroom.

Signed-off-by: Cedric Izoard <cedric.izoard@ceva-dsp.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Cedric Izoard 8 年之前
父节点
当前提交
d8da0b5d64
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      net/mac80211/rx.c

+ 1 - 1
net/mac80211/rx.c

@@ -2472,7 +2472,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
 	if (!ifmsh->mshcfg.dot11MeshForwarding)
 	if (!ifmsh->mshcfg.dot11MeshForwarding)
 		goto out;
 		goto out;
 
 
-	fwd_skb = skb_copy(skb, GFP_ATOMIC);
+	fwd_skb = skb_copy_expand(skb, local->tx_headroom, 0, GFP_ATOMIC);
 	if (!fwd_skb) {
 	if (!fwd_skb) {
 		net_info_ratelimited("%s: failed to clone mesh frame\n",
 		net_info_ratelimited("%s: failed to clone mesh frame\n",
 				    sdata->name);
 				    sdata->name);