В ядре Linux устранена следующая уязвимость: тортектор: баланс regfunc() на func_add() отказ в tracepoint_add_func() Когда точка прослежива…
В ядре Linux устранена следующая уязвимость: тортектор: баланс regfunc() на func_add() отказ в tracepoint_add_func() Когда точка прослеживания проходит через переход 0 -> 1, tracepoint_add_func() вызывает ext->regfunc() подсистемы перед попыткой установить новый зонд через func_add(). Если func_add() то не удается (например, когда tribute_probes() не может выделить новый массив зондов под давлением памяти и возвращает -ENOMEM), функция возвращает ошибку без вызова соответствующего ext-> unregfunc(), оставляя побочные эффекты regfunc() позади без установленного зонда, чтобы оправдать их. Для syscoall tracepoints это особенно неприятно: syscoall_regfunc() bumps sys_tracepoint_refcount и устанавливает SYSCALL_TRACEPOINT на каждую задачу. После утечки сбоя пересчет застрял в ненулевом значении без потребитель, и каждая задача продолжает оплачивать сископическую трассу входа/выхода Накладные расходы до перезагрузки. Другие подсистемы, обеспечивающие regfunc(/unregfunc() пары демонстрируют аналогично устойчивое состояние. Отразите существующую 1 -> 0 очистку и вызовите ext->unregfunc() в func_add() путь ошибки, закрытый на том же состоянии, что используется там, поэтому Разматывание симметрично с регистрацией.
| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux_kernel | * | Отслеживается |
| kernel-doc-6.12 | Отслеживается | |
| kernel-doc-6.12 | Отслеживается | |
| kernel-doc-6.12 | Отслеживается | |
| kernel-doc-6.18 | Отслеживается | |
| kernel-doc-6.18 | Отслеживается | |
| kernel-doc-7.0 | Отслеживается | |
| kernel-headers-6.12 | Отслеживается | |
| kernel-headers-6.12 | Отслеживается | |
| kernel-headers-6.12 | Отслеживается | |
| kernel-headers-6.18 | Отслеживается | |
| kernel-headers-6.18 | Отслеживается | |
| kernel-headers-7.0 | Отслеживается | |
| kernel-headers-modules-6.12 | Отслеживается | |
| kernel-headers-modules-6.12 | Отслеживается | |
| kernel-headers-modules-6.12 | Отслеживается | |
| kernel-headers-modules-6.18 | Отслеживается | |
| kernel-headers-modules-6.18 | Отслеживается |