Bug 61272
| Summary: | findkey() схлопывает пустое key-device и ошибочно пытается смонтировать luks-device | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Anton Farygin <rider> | ||||
| Component: | make-initrd | Assignee: | Антон Мидюков <antohami> | ||||
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
| Severity: | normal | ||||||
| Priority: | P5 | CC: | antohami, glebfm, ldv, legion, placeholder, rider, velikijro | ||||
| Version: | unstable | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Attachments: |
|
||||||
Created attachment 22845 [details]
0001-luks-Fix-regression-parsing-etc-luks.keys-with-empty.patch
Да, это моя вина. Я переделывал парсер и случайно сломал эту часть. Вот патч который возвращает старое поведение. Плюс добавил тест, чтобы это не повторилось в будущем.
А, значит не туда заасайнил. может выложишь в репозиторий фикс ? (In reply to Anton Farygin from comment #2) > А, значит не туда заасайнил. может выложишь в репозиторий фикс ? Ты заасайнил правильно. Я хотел упростить Антону обновление и приложить сюда патч, чтобы он не искал его. (Ответ для Alexey Gladkov на комментарий #1) > Создано вложение 22845 [details] [подробности] > 0001-luks-Fix-regression-parsing-etc-luks.keys-with-empty.patch > > Да, это моя вина. Я переделывал парсер и случайно сломал эту часть. Вот патч > который возвращает старое поведение. Плюс добавил тест, чтобы это не > повторилось в будущем. Спасибо! Антон, это регрессия по отношению и к p11, надо видимо там тоже таск будет исправить. (Ответ для Anton Farygin на комментарий #5) > Антон, это регрессия по отношению и к p11, надо видимо там тоже таск будет > исправить. Да, я знаю. Переделаю таск. make-initrd-2.60.0-alt2 -> sisyphus: Sat Oct 31 2026 Anton Midyukov <antohami@altlinux> 2.60.0-alt2 - luks: Fix regression parsing /etc/luks.keys with empty key-device (Closes: 61272). В make-initrd-2.60.0-alt2 ошибка была исправлена При использовании /etc/luks.keys с пустым полем key-device ключевой файл корректно обнаруживается, LUKS-раздел успешно активируется, система загружается Регрессия, воспроизводившаяся на 2.60.0-alt1, устранена |

Description
Anton Farygin 2026-10-30 18:03:56 MSKВ make-initrd 2.60.0-alt1 изменён разбор /etc/luks.keys в features/luks/data/lib/uevent/handlers/085-luks: while IFS="$tab" read -u 3 -r path keydev luksdev; do Tab относится к IFS-whitespace, поэтому подряд идущие разделители схлопываются и пустое поле key-device теряется. Документированная запись: key-path<TAB><TAB>UUID=... вместо: path=key-path keydev= luksdev=UUID=... теперь разбирается как: path=key-path keydev=UUID=... luksdev= В результате findkey() ошибочно выполняет: mount -r UUID=... /mnt/luks-key и завершает работу, не переходя к подходящей записи. Это затрагивает конфигурации с пустым key-device, включая записи PKCS#11, которые features/luks/data/lib/uevent/filters/lukskeys создаёт в том же формате.