Commit 35ec896b authored by Sophie Brun's avatar Sophie Brun

Fix kali-wifi-injection.patch

parent 8a4423fb
linux (5.4.13-1kali1) kali-experimental; urgency=medium
* Sync with Debian
* Fix kali-wifi-injection.patch
-- Sophie Brun <[email protected]> Mon, 20 Jan 2020 12:32:57 +0100
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -750,7 +750,8 @@ static int ieee80211_set_monitor_channel
@@ -784,7 +784,8 @@ static int ieee80211_set_monitor_channel
ret = ieee80211_vif_use_channel(sdata, chandef,
IEEE80211_CHANCTX_EXCLUSIVE);
}
......@@ -12,7 +12,7 @@
}
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -806,11 +806,19 @@ ieee80211_tx_h_sequence(struct ieee80211
@@ -803,11 +803,19 @@ ieee80211_tx_h_sequence(struct ieee80211
/*
* Packet injection may want to control the sequence
......@@ -35,10 +35,11 @@
if (unlikely(ieee80211_is_ctl(hdr->frame_control)))
return TX_CONTINUE;
@@ -1977,6 +1985,10 @@ void ieee80211_xmit(struct ieee80211_sub
@@ -2012,7 +2020,10 @@ void ieee80211_xmit(struct ieee80211_sub
}
}
ieee80211_set_qos_hdr(sdata, skb);
- ieee80211_set_qos_hdr(sdata, skb);
+ // Don't overwrite QoS header in monitor mode
+ if (likely(info->control.vif->type != NL80211_IFTYPE_MONITOR)) {
+ ieee80211_set_qos_hdr(sdata, skb);
......@@ -48,7 +49,7 @@
--- a/net/wireless/chan.c
+++ b/net/wireless/chan.c
@@ -980,8 +980,10 @@ int cfg80211_set_monitor_channel(struct
@@ -1148,8 +1148,10 @@ int cfg80211_set_monitor_channel(struct
{
if (!rdev->ops->set_monitor_channel)
return -EOPNOTSUPP;
......@@ -63,7 +64,7 @@
}
--- a/drivers/net/wireless/zydas/zd1211rw/zd_mac.c
+++ b/drivers/net/wireless/zydas/zd1211rw/zd_mac.c
@@ -242,14 +242,19 @@ void zd_mac_clear(struct zd_mac *mac)
@@ -229,14 +229,19 @@ void zd_mac_clear(struct zd_mac *mac)
static int set_rx_filter(struct zd_mac *mac)
{
unsigned long flags;
......@@ -87,7 +88,7 @@
}
static int set_mac_and_bssid(struct zd_mac *mac)
@@ -1056,7 +1061,8 @@ int zd_mac_rx(struct ieee80211_hw *hw, c
@@ -1043,7 +1048,8 @@ int zd_mac_rx(struct ieee80211_hw *hw, c
/* Caller has to ensure that length >= sizeof(struct rx_status). */
status = (struct rx_status *)
(buffer + (length - sizeof(struct rx_status)));
......@@ -97,7 +98,7 @@
if (mac->pass_failed_fcs &&
(status->frame_status & ZD_RX_CRC32_ERROR)) {
stats.flag |= RX_FLAG_FAILED_FCS_CRC;
@@ -1399,7 +1405,7 @@ struct ieee80211_hw *zd_mac_alloc_hw(str
@@ -1386,7 +1392,7 @@ struct ieee80211_hw *zd_mac_alloc_hw(str
ieee80211_hw_set(hw, MFP_CAPABLE);
ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING);
ieee80211_hw_set(hw, RX_INCLUDES_FCS);
......@@ -108,7 +109,7 @@
BIT(NL80211_IFTYPE_MESH_POINT) |
--- a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
+++ b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
@@ -251,8 +251,17 @@ static void rtl8187_tx(struct ieee80211_
@@ -248,8 +248,17 @@ static void rtl8187_tx(struct ieee80211_
flags |= RTL818X_TX_DESC_FLAG_NO_ENC;
flags |= ieee80211_get_tx_rate(dev, info)->hw_value << 24;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment