LINUX.ORG.RU

Алиса нашла баг в ядре

 , contributor,


0

1

7.2.8 и сделала patch:

From 8a3f2c1d4e5b6f7a8b9c0d1e2f3a4b5c6d7e8f9a Mon Sep 17 00:00:00 2001
From: onlylun <hidden@yandex.ru>
Date: Sun, 28 Sep 2026 02:45:00 +0500
Subject: [PATCH] ksmbd: fix -ENOENT on FSCTL_PIPE_TRANSCEIVE for IPC pipes

IPC pipe create (create_smb2_pipe) stores the RPC handle from
ksmbd_ipc_id_alloc() as VolatileFileId, without creating a
ksmbd_file entry in the file table.

The recent hardening series (CVE-2026-52944 and related fixes)
introduced a common ksmbd_lookup_fd_slow() call in smb2_ioctl()
before the FSCTL switch, guarded by a no_fileid_ioctl whitelist.
However, FSCTL_PIPE_TRANSCEIVE was not added to that list.

As a result, when a client sends FSCTL_PIPE_TRANSCEIVE on an IPC
pipe, smb2_ioctl() attempts a file table lookup using the RPC
handle as the file ID, fails to find it, and returns -ENOENT.
This breaks all named pipe transceive operations (srvsvc, lsarpc,
samr, wkssvc, LANMAN).

Add FSCTL_PIPE_TRANSCEIVE to the no_fileid_ioctl list so that
smb2_ioctl() skips the file lookup and passes the handle directly
to fsctl_pipe_transceive(), as intended.

Fixes: ("ksmbd: add file lookup validation in smb2_ioctl")
Cc: hidden@vger.kernel.org
Signed-off-by: onlylun <hidden@yandex.ru>
---
 fs/smb/server/smb2pdu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index abcdef1..1234567 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -9620,6 +9620,7 @@ int smb2_ioctl(struct ksmbd_work *work)
 	case FSCTL_DFS_GET_REFERRALS_EX:
 	case FSCTL_QUERY_NETWORK_INTERFACE_INFO:
 	case FSCTL_VALIDATE_NEGOTIATE_INFO:
 	case FSCTL_PIPE_WAIT:
+	case FSCTL_PIPE_TRANSCEIVE:
 		no_fileid_ioctl = true;
 		break;
 	default:
-- 
2.45.0
Подробности Алиса нашла баг в ядре (комментарий)
AI писателям ядра все-таки нужен считаю, а то стареют видимо.

★★★★☆

Последнее исправление: superuser (всего исправлений: 6)
Ответ на: комментарий от wandrien

Наша Алиса оказалась китайской проституткой

Кстати, правда? Может дообученная модель.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от Skullnet

Ничего непонятно, но очень интересно:

https://www.anti-malware.ru/news/2026-07-20-111332/50744

Яндекс опроверг заявление главы Сбербанка Германа Грефа о том, что компания якобы перестала самостоятельно создавать фундаментальные ИИ-модели и теперь дообучает китайскую Qwen от Alibaba. На заседании Совета Федерации 17 июля Греф заявил, что в России осталась только одна полностью отечественная фундаментальная модель — от «Сбера». По его словам, в основе разработок «Яндекса» теперь лежит Qwen. Такая ситуация главу Сбербанка не радует: для нормальной конкуренции стране, считает он, нужны пять-шесть разработчиков собственных моделей. В «Яндексе» с этой версией не согласились. В пресс-службе компании заявили, что она продолжает создавать собственные фундаментальные модели, сохраняет полный цикл разработки и не зависит от сторонних решений. Qwen действительно доступна в Yandex Cloud AI Studio с 2025 года. Однако присутствие китайской модели на облачной платформе ещё не означает, что Яндекс посадил на неё всю «Алису» и распустил собственных разработчиков. Компания параллельно развивает семейство YandexGPT, история которого началась в 2023 году. В августе 2025 года была представлена YandexGPT 5.1 Pro.

wandrien ★★★★
()
Ответ на: комментарий от Skullnet

На швабре недавно яндексовская статья вышла в честь выпуска новой модельки. Можете ознакомиться, если интересует родство Алисы с китайскими моделями.

html-kernel
()

Не могу сказать, в чём исходная проблема, но патч выглядит крайне сомнительным.

Если no_fileid_ioctl = true; должно быть только для одного кейса FSCTL_PIPE_TRANSCEIVE, то получается данный патч полностью ломает данный switch-case, т.к. все предыдущие кейсы просто уходили в default:, а теперь сделают no_fileid_ioctl = true; вместо default:.

Jullyfish ★★
()

Алиса нашла две дыры на человеке, но оказалась что эти дыры не на всех людях :-)

anonymous
()
Ответ на: комментарий от no-such-file

Уровень квенов год-полтора назад.

Чего вы ожидаете, когда российский бигтех вынужден бороться с барыгами с авито за видеокарты? Российские вычислительные мощности в сотни раз меньше китайских и американских и нарастить возможности нет.

Без производственной базы не будет никакого мощного суверенного ИИ, и очень хорошо, что на развитие российской микроэлектронники выделяют огромные деньги. Лабораторные успехи уже есть. Я верю в российскую литографию.

anonymous
()
Ответ на: комментарий от wandrien

17 июля Греф заявил, что в России осталась только одна полностью отечественная фундаментальная модель — от «Сбера»

Которая в свою очередь - дипсик2. Помним, помним.

LightDiver ★★★★★
()
Ответ на: комментарий от anonymous

бигтех вынужден бороться с барыгами с авито за видеокарты

Бигтех для ИИ использует «тензорные» карты, которые больше никуда не годятся. Никакие барыги с авиты тут ни при чём.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

В том дело, что нет. Нет каналов поставок. У китайцев и американцев уже контракты на несколько лет.

anonymous
()
Ответ на: комментарий от lonelywoolf

Они находятся в одном положении. Сейчас российские модели обучают на потребительских картах, старых которые еще давно закупили и том что удается выкупить.

anonymous
()
Ответ на: комментарий от anonymous

Эээ. Если что - потребительские карты бигтеху нахрен не нужны. Обучают пусть и на старых, но всё же серверных вариантах. И достают их как раз не на авито. Если вдруг чего, то если вдруг бигтех начнет покупать на авито карточки и пусть даже купит ВСЕ - ему это как капля в море. Каналы поставки там иные, а отставание совсем не из-за производительности видях, на самом-то деле, на которых оно обучается. Тут процессы несколько другого уровня сложности - а, следовательно, и другого уровня компетенций.

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

Я про то что и барыги и рос. бигтех вынужден карты по помойкам искать и через каналы связи поставок бомжей.

Даже у Германии больше вычислительные мощности и возможности их наращивания. Где немецкая llm?

anonymous
()
Ответ на: комментарий от anonymous

Я про то что и барыги и рос. бигтех вынужден карты по помойкам искать и через каналы связи поставок бомжей.

Они вынуждены покупать дороже, чем оно стоит и быть во второй очереди. Но, повторюсь, суверенные ЛЛМ хуже не по этому.

Даже у Германии больше вычислительные мощности и возможности их наращивания. Где немецкая llm?

Ну вот ты и ответил на свой вопрос, что одно с другим не связано по сути. От наличия мощностей у тебя ЛЛМ сама по себе магически не появится.

Я тебе даже больше скажу: да хрен с ними с мощностями. Датасет - вот где собака порылась.

lonelywoolf
()

7.2 вышло давно и в void, arch, debian его уже завезли, а вот в alt чего то не завозят - хотя раньше там новые ядра всегда одними из первых появлялись, а сейчас чего то медлят, слышал в 7.2 много говнокода от нейрослопа - надо все перепроверять, вот алисой и перепроверяют - человеку такой объем не осилить никогда… я бы сделал так - одну ветку ядер наговнокоженую нейрослопом, а вторую человеком - кому чего больше нравится то и берет.

amd_amd ★★★★★
()
Ответ на: комментарий от amd_amd

одну ветку ядер

Кривую для луддитов. С сотней cve в говнокоде естественного идиота.

а вторую

Стабильную и рабочую. Написаную, оптимизированную и отревьювленную ИИ.

html-kernel
()
Ответ на: комментарий от lonelywoolf

Анон прав. Датасеты в РФ поверь лучше некуда, информация собирается в неадекватных количествах самим государством и поверь, с крупным бигтехом оно ей делится. Даже с мелкими исследователями делилось из под полы чем можно было, особо не афишируя, иногда очевидно с секретностью, как сейчас не знаю, с 22 года не занимаюсь этим серьёзно. Бигтех тоже между собой информацию шарит, тем более там сейчас по сути всё одни и те же заинтересованные лица без конкуренции между собой.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 4)
Ответ на: комментарий от peregrine

Ты, похоже, не понимаешь, что такое датасет. Это не просто набор данных, это специально подобранные данные. И от железа зависит только скорость обучения.

Второй проблемой являются алгоритмы. Ещё раз: нет упора в железо. Совсем нет. Железо нужно, конечно, но в нужных количествах для обучения модели его найдут и без проблем. Я даже не вижу проблемы через несколько прокладок купить у производителя, если уж так надо, ну переплатишь… Кроме того, почему-то у них любое железо есть, а видях вдруг не стало?

А что касается непосредственно инференса с пользователями - там вашими десктопными идяшками делать вообще нечего.

Тем более «датасеты в РФ лучшие». Ога. Кто-то Яндексу прямо позволил весь шитхаб спарсить вместе с приватными репами, чтобы модельку на кодинг обучить. А так то «поболтать» - так Алиска вперде, всегда была. Она ещё и культурные особенности лучше учитывает.

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

вы отстали от трендов. Сейчас больша́я часть датасетов минимум на треть синтетические, сырые данные размечают и фильтруют уже обученными моделями. Про это глава антропик ещё говорил; обучение умных моделей ускоряет обучение более умных моделей.

anonymous
()
Ответ на: комментарий от anonymous

Даже у Германии больше вычислительные мощности и возможности их наращивания. Где немецкая llm?

у Германии не вычислительных мощностей нет, а просто мощностей. Заводы закрываются из-за слишком дорогой энергии, какие тут нейронки, лол.

(что и не удивительно, они пару лет назад даже переименовали министерство энергетики в министерство защиты климата или типа того. Просто людям это не нужно.)

Lrrr ★★★★★
()

Извините я вот не совсем понимаю как это выглядит на практике? Может кто из специалистов объяснит мне хотя бы поверхностно?

Каким то образом загрузили исходники ядра (более 40 миллионов строк кода), алиса пошуршала и выдала только эту строку?

АЛИСА это что, модель? А что ее запускает? А что сканировало этот код? Это что было расширение к IDE? Можно чуть чуть подробностей.

anonymous
()
Ответ на: комментарий от anonymous

Устройства перестали видеть список smb-шар на ПК.
Долго не пользовался и пропустил момент когда сломалось.
Написал Алисе : "ksmbd: Unable to close RPC pipe 0", на что она ответила: "... — это лог от ядра Linux из модуля ksmbd (встроенный SMB‑сервер). Оно говорит о том, что при попытке закрыть RPC‑канал (SMB‑pipe) операция не удалась."
И дальше понеслoсь...
Сначала пытала меня дать ей результат консольных команд, потом раз 10 выжимки из исходников ядра и ksmbd-tools типа:

sed -n '600,700p' /tmp/user1/masterdir-x86_64/builddir/linux7.2-ska-7.2.8/fs/smb/server/transport_ipc.c
cat /tmp/ksmbd-tools/mountd/ipc.c 
а в результате нашла баг, дала патч для исправления и написала суть бага
create_smb2_pipe() ставит VolatileFileId = id, где id — это RPC handle из ksmbd_ipc_id_alloc(), а не файловый дескриптор из ksmbd_file table. ksmbd_file для pipe вообще не создаётся.

Когда клиент шлёт FSCTL_PIPE_TRANSCEIVE, smb2_ioctl() делает ksmbd_lookup_fd_slow(work, id, pid) — ищет файл по RPC handle, не находит, возвращает -ENOENT. В upstream (vanilla kernel) этой проблемы нет, потому что там no_fileid_ioctl либо отсутствует, либо FSCTL_PIPE_TRANSCEIVE уже в списке. В твоём ядре (7.2-ska) рефакторинг добавил общий lookup, но забыл про transceive.

Хочешь, заодно проверю, нет ли подобных пропусков для других FSCTL-кодов, которые тоже работают с pipe handle?
Иногда пишет от мужского рода, что печалит

superuser ★★★★☆
() автор топика
Последнее исправление: superuser (всего исправлений: 2)
Ответ на: комментарий от anonymous

через чатик пихали …

Ей бы консольный клиент на Linux что-бы ей писать и нажимать y/n на:

  1. просьбу выполнить команду;
  2. отправить вывод команды;
  3. еще что-то ...

удобнейшая система была-бы

superuser ★★★★☆
() автор топика
Ответ на: комментарий от anonymous

Так вот и хотелось бы знать Алиса это что? Модель или программа запуска? Если это модель, если ли у нее локальная версия? И какие агенты для работы с ней есть?

anonymous
()

Алиса нашла баг в ядре (комментарий)

***Но есть один НЮАНС!***

Правильнее будет сказать что Китаец нашёл баг в ядре.

Vilsner
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария