Description
In the Linux kernel, the following vulnerability has been resolved: ipvs: clear the svc scheduler ptr early on edit ip_vs_edit_service() while unbinding the old scheduler clears the svc->scheduler ptr after the scheduler module initiates RCU callbacks. This can cause packets to use the old scheduler at the time when svc->sched_data is already freed after RCU grace period. Fix it by clearing the ptr early in ip_vs_unbind_scheduler(), before the done_service method schedules any RCU callbacks. Also, if the new scheduler fails to initialize when replacing the old scheduler, try to restore the old scheduler while still returning the error code.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < d10730a1f2caf08088e0db1b19b242f3e6fa5f06affected05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < e4feec3174036ba772006be74beee0efa09a9eb8affected05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < 7d4f5004511757e3984901ffb412fcf858d80ed5affected05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < c6376b9b1b4d2bad638256b1b3588e073344ae69affected05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < 14e4689c113b4c06af1069364ade24fdd7055f33affected05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < 25918720ba97f974a4f8d433b5a0132c5b43f6f3affected05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < 19a9493faa4bf3c7bd0a386f30b60b1bb4a3da03affected05f00505a89acd21f5d0d20f5797dfbc4cf85243 to < 193989cc6d80dd8e0460fb3992e69fa03bf0ff9baffectedc803fddd2a95a70873c68dbff42d4c59fd2e674eaffected4ec8fb23158797affae7993c15beba080488482faffected3.18.23 to < 3.19affected4.1.11 to < 4.2affected
Linux Linux
Default version status: affected
4.2affected0 to < 4.2unaffected5.10.259 to ≤ 5.10.*unaffected5.15.210 to ≤ 5.15.*unaffected6.1.176 to ≤ 6.1.*unaffected6.6.143 to ≤ 6.6.*unaffected6.12.94 to ≤ 6.12.*unaffected6.18.36 to ≤ 6.18.*unaffected7.0.13 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d10730a1f2caf08088e0db1b19b242f3e6fa5f06 ↗
- https://git.kernel.org/stable/c/e4feec3174036ba772006be74beee0efa09a9eb8 ↗
- https://git.kernel.org/stable/c/7d4f5004511757e3984901ffb412fcf858d80ed5 ↗
- https://git.kernel.org/stable/c/c6376b9b1b4d2bad638256b1b3588e073344ae69 ↗
- https://git.kernel.org/stable/c/14e4689c113b4c06af1069364ade24fdd7055f33 ↗
- https://git.kernel.org/stable/c/25918720ba97f974a4f8d433b5a0132c5b43f6f3 ↗
- https://git.kernel.org/stable/c/19a9493faa4bf3c7bd0a386f30b60b1bb4a3da03 ↗
- https://git.kernel.org/stable/c/193989cc6d80dd8e0460fb3992e69fa03bf0ff9b ↗