summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariano Baragiola <mbaragiola@linux.com>2026-08-09 09:49:47 -0300
committerJohannes Berg <johannes.berg@intel.com>2026-09-04 10:08:00 +0200
commitf9edf7cf63b96d2b776fca8d258d3c5256e40c8e (patch)
tree94feb962ea69a99693ae246af9c083781842c7b1
parentba6cb7c0868a412c2eb68e8efd5aa38bfb258a14 (diff)
downloadlinux-next-f9edf7cf63b96d2b776fca8d258d3c5256e40c8e.tar.gz
linux-next-f9edf7cf63b96d2b776fca8d258d3c5256e40c8e.zip
wifi: virt_wifi: free skb when disconnected
When the simulated link is disconnected, virt_wifi_start_xmit() returns NET_XMIT_DROP without freeing the skb. dev_hard_start_xmit() treats this return value as consumed, so every packet sent while disconnected leaks its skb. Free the skb before returning the drop status. Fixes: c7cdba31ed8b ("mac80211-next: rtnetlink wifi simulation device") Signed-off-by: Mariano Baragiola <mbaragiola@linux.com> Link: https://patch.msgid.link/20260809124947.3590270-1-mbaragiola@linux.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--drivers/net/wireless/virtual/virt_wifi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/virtual/virt_wifi.c b/drivers/net/wireless/virtual/virt_wifi.c
index 2335e45db8b8..b69a4650fba8 100644
--- a/drivers/net/wireless/virtual/virt_wifi.c
+++ b/drivers/net/wireless/virtual/virt_wifi.c
@@ -434,6 +434,7 @@ static netdev_tx_t virt_wifi_start_xmit(struct sk_buff *skb,
priv->tx_packets++;
if (!priv->is_connected) {
priv->tx_failed++;
+ dev_kfree_skb_any(skb);
return NET_XMIT_DROP;
}