Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: always free skb on ieee80211_tx_prepare_skb() failure ieee80211_tx_prepare_skb() has three error paths, but only two of them free the skb. The first error path (ieee80211_tx_prepare() returning TX_DROP) does not free it, while invoke_tx_handlers() failure and the fragmentation check both do. Add kfree_skb() to the first error path so all three are consistent, and remove the now-redundant frees in callers (ath9k, mt76, mac80211_hwsim) to avoid double-free. Document the skb ownership guarantee in the function's kdoc.
Product status
06be6b149f7e406bcf16098567f5a6c9f042bced (git) before f77b51bcee7be2bb686b5f7a2d4a1921e4bdb9f4
06be6b149f7e406bcf16098567f5a6c9f042bced (git) before 3b4d27acafaeab478fd24f79ad6e593a892828b9
06be6b149f7e406bcf16098567f5a6c9f042bced (git) before 06e769dddcbeb3baf2ce346273b53dd61fdbecf4
06be6b149f7e406bcf16098567f5a6c9f042bced (git) before 50f1b690b4868923fbd242298def2fb88662f108
06be6b149f7e406bcf16098567f5a6c9f042bced (git) before d5ad6ab61cbd89afdb60881f6274f74328af3ee9
3.13
Any version before 3.13
6.6.136 (semver)
6.12.84 (semver)
6.18.20 (semver)
6.19.10 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/f77b51bcee7be2bb686b5f7a2d4a1921e4bdb9f4
git.kernel.org/...c/3b4d27acafaeab478fd24f79ad6e593a892828b9
git.kernel.org/...c/06e769dddcbeb3baf2ce346273b53dd61fdbecf4
git.kernel.org/...c/50f1b690b4868923fbd242298def2fb88662f108
git.kernel.org/...c/d5ad6ab61cbd89afdb60881f6274f74328af3ee9