Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: clocksource/drivers/timer-sp804: Fix an Oops when read_current_timer is called on ARM32 platforms where the SP804 is not registered as the sched_clock. On SP804, the delay timer shares the same clkevt instance with sched_clock. On some platforms, when sp804_clocksource_and_sched_clock_init is called with use_sched_clock not set to 1, sched_clkevt is not properly initialized. However, sp804_register_delay_timer is invoked unconditionally, and read_current_timer() subsequently calls sp804_read on an uninitialized sched_clkevt, leading to a kernel Oops when accessing sched_clkevt->value. Declare a dedicated clkevt instance exclusively for delay timer, instead of sharing the same clkevt with sched_clock. This ensures that read_current_timer continues to work correctly regardless of whether SP804 is selected as the sched_clock.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 640594a04f119338019b0aeed70c7301216595b3 before 693b0b594b0f278bafa784984129c0c0f988e352; affected 640594a04f119338019b0aeed70c7301216595b3 before 694921a93f3e3621e067afc545cedf6fe3b234a9 |
| Linux / Linux | affected 6.19; unaffected 0 before 6.19; unaffected 6.19.4 through 6.19.*; unaffected 7.0 through * |
CWE
No CWE identifiers supplied.