26 октября 2026 Грег Кроа-Хартман объявил два стабильных ядра почти в одну минуту. 6.18.59 ушло в рассылку в 16:31:01 (UTC+1), 7.2.13 через пять секунд, в 16:31:06. На LWN оба письма собрали в одну заметку того же дня, Two stable kernels for Monday. В каждом письме одна и та же просьба: обновиться должны все, кто сидит на этой серии.
Это точечные стабильные сборки, не новое большое ядро и не пакет из репозитория Ubuntu. 7.2.13 меняет 225 файлов: 2040 строк добавлено, 873 удалено. 6.18.59 меняет 209 файлов: 2201 строка добавлена, 1896 удалено. Деревья Грег называет прямо. Ветка linux-7.2.y и ветка linux-6.18.y лежат в git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git. Смотреть их можно в веб-интерфейсе kernel.org, ссылка в обоих письмах одна.
Ветки linux-7.2.y и linux-6.18.y
На обычном VPS с WordPress ядро приезжает пакетом дистрибутива. У Ubuntu строка uname -r кончается на -generic, у Debian на -amd64, а посередине номер их сборки. Номера 7.2.13 и 6.18.59 так не выглядят. Пока строка не начинается с 7.2. или 6.18., эти письма ваш текущий linux-image не меняют. nginx, PHP-FPM и MariaDB от тега на kernel.org сами не переключатся.
Письмо адресовано тем, кто уже на серии: сам собирает stable, ставит готовые сборки с kernel.org или взял образ, где uname -r уже показывает 7.2.x или 6.18.x. Остальным список полезен как карта того, что позже может приехать бэкпортом. apt сегодня эти два номера не обещает. Ставить deb ядра с другого релиза дистрибутива, чтобы «номер был новее», не нужно: модули и загрузчик разъедутся, а сайт от этого не станет ближе к 7.2.13.
TCP, шары SMB и dm-crypt
Списки коммитов у двух писем сильно пересекаются. Для сервера важнее не звуковые карты и не пины Qualcomm, а сеть, шары и диск.
В TCP две правки рядом. do_tcp_getsockopt для опций TCP_CONGESTION и TCP_CC_INFO обращался к памяти, которую ядро уже отдало. Запрос сведений об алгоритме перегрузки мог уронить машину. На VPS это не ответ 500 от nginx: падает ядро, хостер поднимает гостя заново, PHP-FPM и MariaDB стартуют с чистого uptime. Опции читает мониторинг, ss из iproute2, иногда тюнер BBR. Самому nginx они не нужны, чтобы отдавать WordPress.
Дальше клиент SMB, он же cifs. В cifs_do_set_acl() можно вылезти за выделенный буфер (heap overflow). Речь про установку ACL на файл, который смонтирован с Windows-шары или с Samba. В ядре такой выход за буфер роняет хост, а при неудачном раскладе даёт выполнить чужой код. Рядом три правки Пауло Алкантары, они есть в обоих письмах. Одновременная запись и открытие с O_TRUNC портили данные на шаре. Перед усечением файла ядро теперь дожидается уже отправленных операций. Отдельно починен многопользовательский монтаж с krb5. И ещё строка Фрэнка Соренсона: cifs_do_truncate не обновляет размер файла, если нет закэшированного хендла.
Если uploads лежат на локальном ext4, а бэкап уходит на тот же диск, клиент cifs в работе сайта не участвует. Другое дело, когда медиа или выгрузки смонтированы через mount.cifs. Тогда 7.2.13 и 6.18.59 как раз про целостность этих файлов. В ksmbd, это уже сервер SMB внутри ядра, тоже есть правки полей информации о файловой системе. На типичном VPS с nginx его нет. Кто раздаёт шару самим ядром, тот эти коммиты получает вместе с клиентскими.
В dm-crypt поправили гонку в crypt_dec_pending. Если корень или том с базой лежит на LUKS, каждый ввод-вывод идёт через этот модуль. В dm-integrity убрали бесконечный цикл на discard при большом размере тега. Для режимов, где целостность считается своим хешем, потребовали stable writes: запись не считается законченной, пока она не устойчива, а не просто попала в кэш диска. У dm-cache поправили блокировку фоновой работы и статистику вытеснения в режиме passthrough. У dm-ebs поправили проверку смещения устройства. На VPS без шифрования и без dm-integrity эти строки мимо. На выделенной машине с LUKS они в пути диска: ядро тут меняется ребутом, не reload.
Есть и более узкие случаи. В cgroup убрали ложный SIGKILL у процессов, созданных с CLONE_INTO_CGROUP. Так детей заводит systemd и контейнерный рантайм: процесс мог умереть без systemctl stop. В vsock для virtio и VMCI на уже установленном сокете проверяют источник пакета. Это канал к гипервизору, не порт 443 сайта. В sctp проверяют длину чанка во входной очереди. На сайте с nginx и MariaDB SCTP обычно нет. В планировщике трафика закрыли обращение к уже отданной памяти в __tcf_action_put. Свои дисциплины tc на VPS с WordPress редкость.
По файловым системам Кристиан Браунер в обеих ветках освобождает суперблок ext4 только после grace period. То же сделано для ntfs3, afs и таблицы unicode. После размонтирования никто не должен читать структуру, которую уже отдали. В xfs поправили проверку привилегий и флаги iomap для зонированной записи. Сайт на ext4 или xfs от этих коммитов не получает новой опции в fstab. Это фон, чтобы размонтирование и проверка прав не оставляли дырку в самом ядре.
Драйвер ice в 6.18.59
В 6.18.59 есть кусок, которого в списке 7.2.13 нет. Драйвер ice перевели на page pool: убрали старый путь приёма и сборки skb, отказались от разрезания страниц, починили приём на виртуальных функциях и падение в офлайн-тесте ethtool. У файла ice_txrx.c в статистике diff 647 строк, и полоска почти целиком на удаление. Для VPS на virtio_net это чужая сетевая карта. Для машины, где линк висит на Intel ice, ребут на 6.18.59 лучше делать с консолью хостера открытой. Путь приёма пакетов переписали, а не подвинули одну проверку.
Там же из nft_byteorder убрали поддержку нескольких регистров. Если свои правила nftables гоняют byteorder сразу по нескольким регистрам, набор на 6.18.59 поведёт себя иначе. Перед ребутом правила стоит перечитать. В списке 7.2.13 этой строки нет. Общая с 7.2 правка io_uring тоже на месте: отмена больше не крутится на локальной работе, которую эта задача выполнить не может. В 6.18 код отмены ещё и переехал в отдельный файл, это коммиты Йенса Аксбо. nginx и PHP-FPM io_uring сами не включают. Кто собрал свой сервис с ним, на 6.18 получает и перенос, и остановку холостого цикла.
Samsung 990 PRO в 7.2.13
В 7.2.13 отдельно стоит PCI. Immediate Readiness больше не считают признаком готовности у Samsung 990 PRO и 990 EVO Plus. Гостю на KVM диск обычно приезжает как virtio или virtio-scsi, модель NVMe он не видит, и строка мимо. На выделенной машине, где 990 PRO системный диск, это как раз ваш коммит. Рядом в обеих ветках более общая правка: в pci_dev_wait() значение «все биты единицы» при включённом RRS SV не считают готовностью устройства. Её легко не заметить, пока диск после сброса линка не начинает отвечать мусором.
В том же письме правка проверки прав BPF-токена в SELinux. Ubuntu на VPS чаще живёт с AppArmor. Alma и Rocky с enforcing эту строку заметят, nginx из-за неё не перезапускают. В sched_ext закрыли обращение к уже уничтоженной пользовательской очереди DSQ. Обычный планировщик VPS этот каркас не включает. Ещё в 7.2.13 есть пачка правок старого драйвера ntfs, не ntfs3: fallocate, размер записи MFT, блокировка при смене размера. Раздел с архивами на старом ntfs такую ветку получает. В списке 6.18.59 этих коммитов нет, там правки идут в ntfs3.
uname -r своей ветки
Сначала посмотрите, какая серия уже загружена. Второе поле, uname -v, показывает сборку: по нему видно, дистрибутив это или своё дерево.
uname -r uname -v
Если строка начинается с 7.2. и это ещё не 7.2.13, цель этого понедельника именно 7.2.13, ветка linux-7.2.y. Если с 6.18. и номер меньше 6.18.59, цель 6.18.59, ветка linux-6.18.y. Способ, которым ядро у вас уже ставится, письмо не описывает: кто собирает из git, обновляет это дерево, кто ставит готовый образ своей сборки, берёт новый образ той же серии. После того как новое ядро появилось в загрузчике, нужен ребут. systemctl reload nginx ядро не подхватывает. PHP-FPM и MariaDB тоже поднимутся уже на новом ядре, отдельной миграции базы тут нет.
Пока в меню загрузчика нет 7.2.13 или 6.18.59, ребут оставит старый номер. Перед ним имеет смысл убедиться, что в /boot лежит и образ, и initramfs, а не только исходники в /usr/src. Консоль в панели хостера на этот ребут лучше держать открытой: если сеть не поднялась из-за модуля, SSH уже не поможет. Конфиг загрузчика, если правите его руками, скопируйте рядом до правки.
На ядре дистрибутива сегодняшняя работа короче. uname -r показал чужую серию, и на этом можно остановиться. Тащить дерево kernel.org рядом с пакетом Ubuntu или Debian незачем: два набора модулей на одной машине путают следующий apt upgrade. Когда бэкпорт приедет своим linux-image, номер будет дистрибутивный, не 7.2.13 и не 6.18.59. Сверять его надо с бюллетенем дистрибутива, не с этим письмом Грега.
Два письма, одна дата, общий набор по TCP, SMB и dm, и разный хвост по железу. 6.18.59 тяжелее для сетевой карты ice. 7.2.13 отдельно закрывает Ready у Samsung 990 PRO и 990 EVO Plus. Кому ветка своя, тому обновление кончается ребутом в окно, когда сайт можно на минуту остановить. Кому ветка дистрибутива, тому эти номера пока справочник, не команда на установку.