11 октября 2026 года опубликованы Linux Kernel 7.2.10 и 6.18.56 — обновления стабильной и долгосрочно поддерживаемой веток ядра. В обе версии вошли исправления, связанные с повреждением данных на сетевых SMB-дисках, раскрытием адресов ядра через perf и ошибками обработки TCP-соединений; отдельные изменения затрагивают виртуальные машины и драйверы устройств.

Ошибка SMB могла заменить содержимое файлов нулями на Windows Server 2022
Одна из наиболее заметных правок касается SMB — протокола, через который Linux работает с общими папками на Windows Server и других файловых серверах. При определённых операциях с файлом клиентское ядро могло принять уже записанный участок за свободное пространство и заполнить его нулями. Разработчики воспроизвели такое повреждение данных в тесте generic/363 при обращении к Windows Server 2022.
Причина заключалась в порядке запросов. Для предварительного выделения места в файле клиент SMB использовал команду FSCTL_QUERY_ALLOCATED_RANGES, выясняя, какие диапазоны содержат данные. Windows Server мог вернуть устаревшую информацию о только что записанном участке. В результате Linux считал его пустым и допускал обнуление существующих данных.
В исправленной реализации ядро сначала завершает ожидающие операции записи, отправляет серверу команду SMB2 FLUSH и лишь затем запрашивает список занятых диапазонов. В changelog указано, что после правки тест прошёл 100 000 операций как с Windows Server 2022, так и с Samba. До исправления ошибка воспроизводилась в тестовом сценарии именно с Windows Server, тогда как Samba такого поведения не показывала.
В обе ветки вошли и другие изменения клиента SMB. Например, при обнулении части файла ядро теперь дожидается записи изменённых данных, чтобы отложенная операция не вернула в файл устаревшее содержимое. Для серверов с общими документами, виртуальными дисками или рабочими каталогами это непосредственно связано с сохранностью данных при одновременных файловых операциях.
Через perf можно было узнать адрес размещения ядра Linux в памяти
Второе исправление связано с механизмом perf, который Linux использует для анализа производительности. При определённой настройке события PERF_RECORD_TEXT_POKE процесс без разрешения на профилирование ядра мог получить адреса изменённых инструкций в его памяти.
Откуда брались эти адреса, если приложение исключало сбор данных о самом ядре? Параметр exclude_kernel=1 ограничивал обычное профилирование, но не блокировал вспомогательные записи text_poke. Такие записи содержали реальные адреса инструкций. По ним можно было вычислить базовый адрес загруженного ядра и тем самым ослабить защиту KASLR — рандомизацию адресного пространства ядра.
В Linux 7.2.10 и 6.18.56 запрос событий text_poke дополнительно проходит проверку perf_allow_kernel(). Сопутствующая правка проверяет привилегии и при запросе цепочек вызовов ядра. Исправление закрывает описанный канал раскрытия адресов; в официальном описании этого патча не утверждается, что он сам по себе позволял получить права администратора.
В IPv4/TCP исправлено использование памяти после её освобождения
Ещё одна общая правка устраняет ошибку use-after-free в сетевом стеке IPv4. Под этим названием скрывается ситуация, когда программа продолжает обращаться к области памяти, которая уже освобождена и может использоваться для других задач.
Проблема возникала при обработке TCP-соединений на нескольких процессорных ядрах. Пока один поток завершал создание соединения и освобождал структуру с параметрами IPv4, другой мог обрабатывать повторно отправленный пакет SYN и читать те же параметры для ответа SYN-ACK. Похожее состояние гонки было возможно при переносе ожидающих TCP-запросов между сокетами.
Разработчик патча Эрик Дюмазе заменил немедленное освобождение соответствующих структур на отложенное с помощью RCU (Read-Copy-Update). Этот механизм даёт уже начатым операциям чтения завершиться до освобождения памяти. Исправление вошло в обе выпущенные ветки. В changelog описан дефект управления памятью, без заявления о подтверждённой удалённой эксплуатации.
KVM, процессоры Arm и графика MacBook получили отдельные исправления
Для хостов с виртуальными машинами заметно изменение KVM — встроенного в Linux механизма аппаратной виртуализации. При вложенной виртуализации, когда виртуальная машина запускает другую виртуальную машину, гонка между созданием области памяти и обработкой ошибки отображения могла привести к обращению по нулевому указателю и аварийному сбою ядра. Обе версии прерывают обход таблиц памяти, если KVM обнаруживает недействительный или фиктивный корень таблицы страниц.
На архитектуре Arm исправлена обработка аппаратной ошибки Cortex-A725 erratum 3821522. После перехода процессора в режим ожидания и выхода из него счётчик CNT_CYCLES мог давать неверные значения. Ядро теперь исключает затронутый счётчик из тех путей AMU, где он использовался как опорный для расчётов частоты. При этом обработка события в PMUv3 данным патчем не меняется — это прямо оговорено разработчиками.
Есть и более узкие аппаратные исправления. Для MacBookPro14,3 с Radeon Pro 555, а также MacBookPro15,1 с Radeon Pro 555X или 560X добавлены специальные условия сброса GPU: они устраняют проблемы повторной инициализации видеокарты после сна, из-за которых экран мог оставаться чёрным. В тесте на MacBookPro14,3 обновлённый драйвер выдержал девять циклов сна и пробуждения, хотя проверка проводилась на ядре 6.18.49 с отдельно перенесённым патчем.
Драйвер qmi_wwan получил поддержку сотового модуля Quectel EG120K-EA с USB-идентификатором 2c7c:030b. Раньше его интерфейс передачи данных мог оставаться без драйвера. Разработчики проверили появление сетевого интерфейса wwan0 и подключение через ModemManager на устройстве GL.iNet GL-X2000.
Почему Linux 7.2.10 и 6.18.56 получили похожие исправления
Kernel.org относит 7.2.10 к ветке stable, а 6.18.56 — к longterm. Первая продолжает обычный цикл исправлений серии 7.2, вторая сохраняет поддержку кода серии 6.18 для систем, использующих долгосрочную ветку. Предыдущими версиями были 7.2.9 и 6.18.55, опубликованные 3 октября 2026 года.
Многие записи в двух новых changelog ссылаются на один и тот же исходный патч. Разработчики переносят такие исправления в поддерживаемые ветки с учётом различий их кода — этот процесс называется backport. Поэтому закрытие одной ошибки не требует от всех систем перехода на одинаковую основную версию ядра.
Обе версии опубликованы в официальном архиве Linux 11 октября. Когда соответствующие исправления попадут в готовые пакеты Debian, Ubuntu, Fedora и других дистрибутивов, зависит от их собственных графиков сопровождения и набора перенесённых патчей. Содержимое релизов подтверждает общий фокус на целостности данных, защите адресов ядра и устранении сбоев в сетевых и виртуализированных средах.