posix-timers: Prevent RT livelock in itimer_delete()
In the Linux kernel, the following vulnerability has been resolved: posix-timers: Prevent RT livelock in itimer_delete() itimer_delete() has a retry loop when the timer is concurrently expired. On non-RT kernels this just spin-waits until the timer callback has completed, except for posix CPU timers which have HAVE_POSIX_CPU_TIMERS_TASK_WORK enabled. In that case and on RT kernels the existing task could live lock when preempting the task which does the timer delivery. Replace spin_unlock() with an invocation of timer_wait_running() to handle it the same way as the other retry loops in the posix timer code.
02 / AFFECTED SOFTWARE
Affected packages
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: posix-timers: Prevent RT livelock in itimer_delete() itimer_delete() has a retry loop when the timer is concurrently expired. On non-RT kernels this just spin-waits until the timer callback has completed, except for posix CPU timers which have HAVE_POSIX_CPU_TIMERS_TASK_WORK enabled. In that case and on RT kernels the existing task could live lock when preempting the task which does the timer delivery. Replace spin_unlock() with an invocation of timer_wait_running() to handle it the same way as the other retry loops in the posix timer code.
05 / REFERENCES
Further evidence
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- https://git.kernel.org/stable/c/0670c4c567b27bd8f999a943028f4fe60d1a1106
- https://git.kernel.org/stable/c/9d9e522010eb5685d8b53e8a24320653d9d4cbbf
- https://git.kernel.org/stable/c/c1968bb8a28625cc95d2ad3ca872ab98c9c36d59
- https://git.kernel.org/stable/c/e7aff15ba29ba4b3052786b1636fa5c4aa39e179
- https://git.kernel.org/stable/c/f1be1ed32daa053484222f7f9beb2b16c624dffd
- https://git.kernel.org/stable/c/f9bd298e3e4d3fd6e19f017789a42d0f332cd555
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53815.json
- https://nvd.nist.gov/vuln/detail/CVE-2023-53815