CVE-2026-52919 PUBLISHED

batman-adv: fix tp_meter counter underflow during shutdown

Assigner: Linux
Reserved: 09.06.2026 Published: 24.06.2026 Updated: 24.06.2026

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

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to e75e2ab463b5b34df6b98f94d740aff327ce9f6b (excl.)
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to abae88fa254f2981d39ac003a7b302528a22af64 (excl.)
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to c66d20a3ff095e3f000551d208ec2606616db15c (excl.)
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to c1bac194733aabd731aafa6a01350c229e187dba (excl.)
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to 01cefc5923889e29dbb5f281c3d457714ceb9c00 (excl.)
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to 90ae3eae06b7b8ab9f6250b9497c860915b4c17b (excl.)
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to aeae11c5dad9cd0d50723890bdd866f8e6db2e7d (excl.)
  • affected from 33a3bb4a3345bb511f9c69c913da95d4693e2a4e to 94f3b133168d1c49895e7cc6afbcf1cc0b354602 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.8 is affected
  • unaffected from 0 to 4.8 (excl.)
  • unaffected from 5.10.258 to 5.10.* (incl.)
  • unaffected from 5.15.209 to 5.15.* (incl.)
  • unaffected from 6.1.175 to 6.1.* (incl.)
  • unaffected from 6.6.142 to 6.6.* (incl.)
  • unaffected from 6.12.92 to 6.12.* (incl.)
  • unaffected from 6.18.34 to 6.18.* (incl.)
  • unaffected from 7.0.11 to 7.0.* (incl.)
  • unaffected from 7.1 to * (incl.)

References