В ядре Linux устранена следующая уязвимость:
хронометраж: отрегулируйте состояние прыжка для правильного вспомогательного хронометриста. Когда была введена __do_ajdtimex() для обработки adjtimex для любого
хронометрист, эта ссылка на tk_core не обновлялась. При вызове на
вспомогательный хронометрист, основной хронометрист будет обновляться неправильно.
Это фиксируется диагностикой отладки блокировки, поскольку
Блокировка последовательности хронометристов записывается без удержания ее
связанная спин-блокировка:
ВНИМАНИЕ: включите/linux/seqlock.h:226 в __do_adjtimex+0x394/0x3b0, CPU#2: test/125
aux_clock_adj (ядро/время/timekeeping.c:2979)
__do_sys_clock_adjtime (kernel/time/posix-timers.c:1161 kernel/time/posix-timers.c:1173)
do_syscall_64 (arch/x86/entry/syscall_64.c:63 (дискриминатор 1) Arch/x86/entry/syscall_64.c:94 (дискриминатор 1))
запись_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:131)
Обновите правильный вспомогательный хронометрист.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: timekeeping: Adjust the leap state for the correct auxiliary timekeeper When __do_ajdtimex() was introduced to handle adjtimex for any timekeeper, this reference to tk_core was not updated. When called on an auxiliary timekeeper, the core timekeeper would be updated incorrectly. This gets caught by the lock debugging diagnostics because the timekeepers sequence lock gets written to without holding its associated spinlock: WARNING: include/linux/seqlock.h:226 at __do_adjtimex+0x394/0x3b0, CPU#2: test/125 aux_clock_adj (kernel/time/timekeeping.c:2979) __do_sys_clock_adjtime (kernel/time/posix-timers.c:1161 kernel/time/posix-timers.c:1173) do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:131) Update the correct auxiliary timekeeper.