Description
In the Linux kernel, the following vulnerability has been resolved: batman-adv: fix tp_meter counter underflow during shutdown batadv_tp_sender_shutdown() unconditionally decrements the "sending" atomic counter. If multiple paths (e.g. timeout, user cancel, and normal finish) call this function, the counter can underflow to -1. Since the sender logic treats any non-zero value as "still sending", a negative value causes the sender kthread to loop indefinitely. This leads to a use-after-free when the interface is removed while the zombie thread is still active. Fix this by using atomic_xchg() to ensure the counter only transitions from 1 to 0 once. [sven: added missing change in batadv_tp_send]
Product status
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before e75e2ab463b5b34df6b98f94d740aff327ce9f6b
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before abae88fa254f2981d39ac003a7b302528a22af64
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before c66d20a3ff095e3f000551d208ec2606616db15c
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before c1bac194733aabd731aafa6a01350c229e187dba
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before 01cefc5923889e29dbb5f281c3d457714ceb9c00
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before 90ae3eae06b7b8ab9f6250b9497c860915b4c17b
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before aeae11c5dad9cd0d50723890bdd866f8e6db2e7d
33a3bb4a3345bb511f9c69c913da95d4693e2a4e (git) before 94f3b133168d1c49895e7cc6afbcf1cc0b354602
4.8
Any version before 4.8
5.10.258 (semver)
5.15.209 (semver)
6.1.175 (semver)
6.6.142 (semver)
6.12.92 (semver)
6.18.34 (semver)
7.0.11 (semver)
7.1 (original_commit_for_fix)
References
git.kernel.org/...c/e75e2ab463b5b34df6b98f94d740aff327ce9f6b
git.kernel.org/...c/abae88fa254f2981d39ac003a7b302528a22af64
git.kernel.org/...c/c66d20a3ff095e3f000551d208ec2606616db15c
git.kernel.org/...c/c1bac194733aabd731aafa6a01350c229e187dba
git.kernel.org/...c/01cefc5923889e29dbb5f281c3d457714ceb9c00
git.kernel.org/...c/90ae3eae06b7b8ab9f6250b9497c860915b4c17b
git.kernel.org/...c/aeae11c5dad9cd0d50723890bdd866f8e6db2e7d
git.kernel.org/...c/94f3b133168d1c49895e7cc6afbcf1cc0b354602