CVE-2026-98538 in Linuxinformación

Resumen

por VulDB • 2026-10-18

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

writeback: cleanup_offline_cgwb() limita las reescaneos rotando los inodos escaneados

cleanup_offline_cgwb() prepara como máximo WB_MAX_INODES_PER_ISW inodos por llamada y se vuelve a invocar hasta que el wb moribundo (dying) se vacíe, pero cada llamada recorre wb->b_attached y luego wb->b_dirty_time desde el mismo extremo. Los inodos ya preparados (permanecen en la lista con I_WB_SWITCH establecido hasta que se ejecute el trabajador de cambio) y los inodos que no pueden cambiarse (I_FREEING, I_WILL_FREE, !SB_ACTIVE, DAX, ya presentes en el wb objetivo) permanecen donde están; por lo tanto, cada pasada reescanea una secuencia creciente de ellos bajo wb->list_lock, y un vaciado completo es cuadrático respecto al número de inodos en la lista. Con aproximadamente 17 millones de inodos adjuntos a un cgwb moribundo, observamos que esto terminaba en bloqueos suaves (soft lockups), con CPUs reportadas como atascadas durante 21-48 segundos.

Recorrer ambas listas desde el extremo más antiguo y mover cada inodo escaneado al extremo más nuevo hace que la siguiente pasada comience donde terminó la anterior, convirtiendo el vaciado en lineal. b_attached es desordenada, por lo que nadie observa el reordenamiento allí. b_dirty_time está ordenada por dirtied_when, pero el inodo no escaneado más antiguo permanece al final del punto de selección de move_expired_inodes(), sync toma toda la lista independientemente del orden, y los inodos preparados abandonan la lista tan pronto como se ejecuta el trabajo de cambio y obtienen un nuevo dirtied_time_when en el wb nuevo; por lo tanto, los únicos inodos que quedan fuera de orden son aquellos que nunca pueden cambiarse (DAX), y solo en el wb moribundo.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-18

Moderación

aceptado

Artículo

VDB-421808

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!