Descubren un bug en la última versión estable del kernel Linux
Definido como un fallo escurridizo “tipo Lance Armstrong”, difícil de detectar, provoca la pérdida de datos del sistema a través de una grieta en la aplicación ext4.
El desarrollador Theodore “Ted” Ts’o ha publicado una serie de parches para lo que ha definido como un bug “tipo Lance Armstrong” presente en el núcleo de Linux.
Esto es, cuyo comportamiento irregular no dispara las alarmas de los tests pero provoca que el kernel funciona de manera diferente a lo previsto. Y que ha sido especialmente difícil de localizar, ya que sólo se manifiesta al reiniciar dos veces un sistema en un periodo de tiempo relativamente corto.
El problema en cuestión provoca la pérdida de datos por una grieta en la aplicación ext4, que se introdujo con la versión 3.6.2 de Linux hace poco más de una semana. Y se produce cuando el bloque de inicio en el sistema de archivos es cero. El sistema de archivos se monta y desmonta con tanta rapidez que el registro del diario no alcanza la oportunidad de ser escrito por completo.
La primera vez que esto sucede, el controlador ext4 puede recuperar el diario sin que se produzcan efectos adversos. Pero, si se el fallo se repite por segunda vez, los datos de la sesión de montaje más reciente se escribirán antes que los datos de la fase anterior, dando lugar a bloques de metadatos realmente revueltos.
Además de afectar a Linux 3.6.2 y versiones posteriores, se ha seguido el rastro de este bug en la rama estable del kernel 3.5.x. Actualmente no se sabe cuándo se parchearán esta última versión, aunque los desarrolladores de Linux siguen trabajando para resolver el problema.