lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20160808070610.20563-1-yanivma@ti.com> Date: Mon, 8 Aug 2016 10:06:04 +0300 From: Yaniv Machani <yanivma@...com> To: <linux-kernel@...r.kernel.org> CC: Meirav Kama <meiravk@...com>, Yaniv Machani <yanivma@...com>, Johannes Berg <johannes@...solutions.net>, "David S. Miller" <davem@...emloft.net>, <linux-wireless@...r.kernel.org>, <netdev@...r.kernel.org> Subject: [PATCH v3] mac80211: mesh: set tx_info->hw_queue to the correct queue upon packet forwarding From: Meirav Kama <meiravk@...com> MP received data frames from another MP. Frames are forwarded from Rx to Tx to be transmitted to a third MP. Upon cloning the skb, the tx_info was zeroed, and the hw_queue wasn't set correctly, causing frames to be inserted to queue 0 (VOICE). If re-queue occurred for some reason, frame will be inserted to correct queue 2 (BE). In this case frames are now dequeued from 2 different queues and sent out of order. Signed-off-by: Meirav Kama <meiravk@...com> Signed-off-by: Yaniv Machani <yanivma@...com> --- v3 - update the headline net/mac80211/rx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 9a1eb70..88dc744 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2392,6 +2392,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING; info->control.vif = &rx->sdata->vif; info->control.jiffies = jiffies; + info->hw_queue = q; if (is_multicast_ether_addr(fwd_hdr->addr1)) { IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, fwded_mcast); memcpy(fwd_hdr->addr2, sdata->vif.addr, ETH_ALEN); -- 2.9.0
Powered by blists - more mailing lists