Añadir Mangas Verdes como fuente preferida de Google de forma gratuita.
Mantente informado con las últimas noticias de actualidad.
Hay fallos que tumban un sistema y fallos peores, los que dejan todo en pie mientras los datos se estropean por debajo.
Eso es lo que Linux acaba de corregir con un parche de una sola línea para un error activo desde julio de 2023, presente en versiones públicas a partir de Linux 6.6. El problema no provocaba un cuelgue claro ni mostraba un aviso inmediato, de modo que la aplicación podía seguir funcionando aunque la información ya no fuera la esperada.
El kernel borraba una pista clave de que la memoria había cambiado
En el centro del fallo estaba la función pmd_modify() eliminaba el bit PAGE_DIRTY, una marca interna que indica que el contenido de una página de memoria ha sido modificado. Si esa pista desaparecía, Linux podía creer que esa página seguía intacta cuando en realidad ya no lo estaba.
Bajo presión de memoria, el sistema liberaba esa página como si no hubiera cambios pendientes. El resultado era una corrupción silenciosa de memoria, un tipo de avería especialmente incómodo porque no siempre deja una escena del crimen visible.
Desde ahí se entiende por qué el daño podía tardar en aflorar.
Polars sufrió pérdidas reales mientras las aplicaciones seguían vivas
Los efectos no quedaron en una hipótesis técnica. Usuarios de Polars, la biblioteca de análisis de datos, registraron pérdidas de datos reales en entornos de producción, justo el lugar donde un error silencioso duele más porque no siempre da una segunda oportunidad.
Además, un caso así obliga a desconfiar de algo básico. Si una aplicación no se cae, muchos dan por hecho que el resultado sigue siendo válido, pero aquí ocurría lo contrario, una normalidad aparente que escondía datos alterados.
Esa contradicción ya ha aparecido otras veces en la historia del software, donde el mayor problema no es que algo falle, sino que falle sin hacerse notar, como una calculadora que entrega cifras plausibles pero equivocadas. En sistemas de análisis, esa clase de desvío puede arrastrarse durante bastante tiempo antes de que alguien detecte el origen.
La corrección conserva el estado dirty y corta la cadena del error
Ahora el parche modifica la máscara para conservar ese estado dirty que nunca debió perderse. Dicho de forma simple, el kernel vuelve a recordar qué páginas sí habían sido tocadas antes de decidir si puede descartarlas.
Un desarrollador confirmó además que había sufrido el mismo problema en otro kernel derivado y que la corrección lo solucionó, una señal útil porque apunta a un comportamiento reproducible más allá del caso inicial. fallos de gestión de memoria como este suelen parecer lejanos hasta que terminan afectando al dato que uno da por seguro.
La solución ya forma parte de Linux 7.3 RC2.
Cuesta encontrar una ironía más precisa que esta. Un solo bit mal conservado desde julio de 2023 bastó para que el sistema pareciera estable mientras algunos datos dejaban de serlo.