batman-adv: v: stop OGMv2 on disabled interface
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: tpmeter: avoid use of uninit sender vars
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: tpmeter: directly shut down timer on cleanup
batadvtpsendercleanup() was calling timerdeletesync() followed by timerdelete() to guard against the timer handler re-arming itself between the two calls. This double-deletion hack relied on the sending status being set to 0 to suppress re-arming.
Replace both calls with a single timershutdownsync(). This function both waits for any running timer callback to complete (like timerdeletesync()) and permanently disarms the timer so it cannot be re-armed afterwards, making re-arming prevention unconditional and self-documenting.
The re-arming property is also required because otherwise:
1. context 0 (batadvtprecvack()) checks in batadvtpresetsendertimer() if sending is still 1 -> it is 2. context 1 changes in batadvtpsendershutdown() sending to 0 and in this process forces the kthread to stop timer in batadvtpsendercleanup() 3. context 0 continues in batadvtpresetsendertimer() and rearms the timer -> but the reference for it is already gone
batman-adv: reject new tpmeter sessions during teardown
batman-adv: clear current gateway during teardown
batman-adv: frag: disallow unicast fragment in fragment
batman-adv: tpmeter: restrict number of unacked list entries