В сентябре 2025 в
6.1 stable бэкпортировали батч для мелкого бага. Как stable-dep затянулись два коммита David Howells по работе sendpage API:73d7409cfdad — оборачивает цикл в
if (1) { ... } (затычка к следующему патчу)fb800fa4c1f5 —
sendpage становится wrapper над sendmsg
Третий коммит серии c662b043cdca добавляет zero-copy path в sendmsg для MSG_SPLICE_PAGES. Он не был нужен и не попал в бэкпорт.Почему это фикс
Без c662b043cdca
sendmsg не знает про MSG_SPLICE_PAGES. Временная заглушка if (1 /* TODO check MSG_SPLICE_PAGES */) стала постоянной — sendmsg безусловно аллоцирует новые pages и копирует данные. Page cache pages никогда не попадают в SGL по ссылке. Exploit закрыт.В mainline
if (1) прожил ровно один коммит — следующий сразу заменил его на реальную проверку. Промежуточное же состояние не существовало в рабочем ядре.В
6.1 stable оно стало постоянным. И именно это незаконченное TODO оказалось рабочей защитой от 9-летней LPE.
