В Linux обнаружен баг в файловой системе ext4, который может привести к повреждению данных. Ошибку внесли в ядро с коммитом для версии 3.6.2, которая вышла 12 октября 2012 года. Затем её перенесли в версии стабильных релизов 3.4.* и 3.5.*. Таким образом, если вы в последние две недели обновляли ядро Linux, то вполне вероятно, что глючный код мог попасть в вашу систему.

Собственно, баг обнаружен в этом коммите для 3.6.2:

jbd2: don't write superblock when if its empty

Хорошая новость в том, что баг проявляет себя в довольно редких ситуациях. Только если значение стартового блока журнала является нулевым, то сбоит перезапись журнала при отключении файловой системы. Другими словами, столкнуться с потерей данных можно только в том случае, если раздел часто монтируется и отмонтируется. Например, при неоднократном подключении флэшки или перезагрузке компьютера. Когда баг проявляется в первый раз, он не приводит к катастрофическим последствиям, но начиная со второго раза запись транзакций в журнал уже ведётся некорректно.

Хотя баг проявляется относительно редко, уже нашлись пользователи, которых он всё-таки затронул. Один из них пишет, что всего за пару минут была уничтожена значительная часть содержимого в папке /home, пользователь вовремя заметил и успел выключить компьютер. Если же оставить файловую систему работать ещё недолго в активном режиме, то ущерб может быть гораздо более значительным.

Естественно, разработчики уже выпустили обновлённые версии ядра.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии