From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: Date: Wed, 20 May 2026 15:29:39 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: devel-kernel@lists.altlinux.org References: <20260506173722.1012394-1-egori@altlinux.org> Content-Language: en-US, ru From: Egor Ignatov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [d-kernel] [PATCH 0/6] [7.0, 7.1] Lock down the kernel if booted in Secure Boot mode X-BeenThere: devel-kernel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux kernel packages development List-Id: ALT Linux kernel packages development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 May 2026 12:29:39 -0000 Archived-At: List-Archive: List-Post: On 5/9/26 2:01 AM, Vitaly Chikunov wrote: > Egor, > > On Wed, May 06, 2026 at 08:37:16PM +0300, Egor Ignatov wrote: >> Данный набор патчей включает механизм kernel lockdown при загрузке >> системы в режиме Secure Boot. При обнаружении активного Secure Boot >> ядро автоматически переводится в режим lockdown. >> >> В основу серии положен изначальный патчсет "security, efi: Add kernel >> lockdown" за авторством David Howells. Использованы более актуальные >> варианты соответствующих патчей, поддерживаемые в ядрах Fedora и Debian. > > Большой патчсет, полагаю, было бы неплохо знать где находится апстрим этого > всего с "более актуальные варианты соответствующих патчей", на случай когда > возникновения merge conflicts. > А так же причина почему выбран конкретный пачт, ведь не во всех > указанных дистрибутивах они есть (плюс еще OpenSUSE). К сожалению, исторически так сложилось, что патчи из оригинальной серии (от David Howells) не были приняты апстримом ядра, из-за чего в разных дистрибутивах они развивались по-разному. > Я поискал: > > 1. В Fedora патчи в kernel-ark без указания какие относятся как > необходимые для "Lock down the kernel if booted in Secure Boot". arm64: add early lockdown for secure boot https://gitlab.com/cki-project/kernel-ark/-/commit/49294493d19cb66026abc13aa53c834a8b66bd93 efi,lockdown: fix kernel lockdown on Secure Boot https://gitlab.com/cki-project/kernel-ark/-/commit/66d8316c2c75682631694c0a7fc8762a807ddb32 efi: Lock down the kernel if booted in secure boot mode https://gitlab.com/cki-project/kernel-ark/-/commit/b14e713999e3585382b277210bd2d1e6337acf09 efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode https://gitlab.com/cki-project/kernel-ark/-/commit/ad5599840041ccd4329d5f0a53993b624961e960 security: lockdown: expose a hook to lock the kernel down https://gitlab.com/cki-project/kernel-ark/-/commit/07585c92a888b8ead598a8283e4d5abf52b501ce > 2. https://github.com/SUSE/kernel-source/tree/master/patches.suse > У них больше патчей, но, полагаю, не все они нужны. > Из нашего списка там эти: > > [PATCH 1/3] security: lockdown: expose a hook to lock the kernel down > [PATCH 2/3] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode > [PATCH 3/3] efi: Lock down the kernel if booted in secure boot mode > [PATCH] lockdown: fix kernel lockdown enforcement issue when secure > > Может стоит ограничиться этими изменениями? Не стоит забывать про "arm64: lock down kernel in secure boot mode" > > 3. https://salsa.debian.org/kernel-team/linux/-/tree/debian/latest/debian/patches/features/all/lockdown > > arm64-add-kernel-config-option-to-lock-down-when.patch > efi-add-an-efi_secure_boot-flag-to-indicate-secure-b.patch > efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch > mtd-disable-slram-and-phram-when-locked-down.patch > > Может стоит выбрать минимальный набор патчей удовлетворяющий shim? Итого минимальный набор патчей такой: 1. Добавить expose lockdown hook Fedora: [1] [2] Debian: [3] SUSE: [4] [5] 2. Добавить EFI_SECURE_BOOT flag Fedora: [6] Debian: [7] SUSE: [8] 3. Принудительно включать lockdown в SecureBoot на x86 Fedora: [9] Debian: [3] SUSE: [10] [11] 4. Принудительно включать lockdown в SecureBoot на aarch64 (riscv/loongarch): Fedora: [12] Debian: [13] SUSE: [14] Также мне показалось странно не приложить патч из Debian (mtd-disable-slram-and-phram-when-locked-down.patch), который закрывает обход lockdown режима, но судя по Вашему ответу, данный патч требует доработки для ALT. Текущая реализация для ALT в основном базируется на патчах из Debian, за исключением [PATCH 2/6], который основан на изменениях из Fedora. [1] https://gitlab.com/cki-project/kernel-ark/-/commit/07585c92a888b8ead598a8283e4d5abf52b501ce [2] https://gitlab.com/cki-project/kernel-ark/-/commit/66d8316c2c75682631694c0a7fc8762a807ddb32 [3] https://salsa.debian.org/kernel-team/linux/-/blob/debian/latest/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch?ref_type=heads [4] https://github.com/SUSE/kernel-source/blob/master/patches.suse/0001-security-lockdown-expose-a-hook-to-lock-the-kernel-down.patch [5] https://github.com/SUSE/kernel-source/blob/master/patches.suse/lockdown-fix-kernel-lockdown-enforcement-issue-when-secure.patch [6] https://gitlab.com/cki-project/kernel-ark/-/commit/ad5599840041ccd4329d5f0a53993b624961e960 [7] https://salsa.debian.org/kernel-team/linux/-/blob/debian/latest/debian/patches/features/all/lockdown/efi-add-an-efi_secure_boot-flag-to-indicate-secure-b.patch?ref_type=heads [8] https://github.com/SUSE/kernel-source/blob/master/patches.suse/0002-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-boot-mode.patch [9] https://gitlab.com/cki-project/kernel-ark/-/commit/b14e713999e3585382b277210bd2d1e6337acf09 [10] https://github.com/SUSE/kernel-source/blob/master/patches.suse/0003-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mode.patch [11] https://github.com/SUSE/kernel-source/blob/master/patches.suse/0004-efi-Lock-down-the-kernel-at-the-integrity-level-if-b.patch [12] https://gitlab.com/cki-project/kernel-ark/-/commit/49294493d19cb66026abc13aa53c834a8b66bd93 [13] https://salsa.debian.org/kernel-team/linux/-/blob/debian/latest/debian/patches/features/all/lockdown/arm64-add-kernel-config-option-to-lock-down-when.patch?ref_type=heads [14] https://github.com/SUSE/kernel-source/blob/master/patches.suse/arm64-lock-down-kernel-in-secure-boot-mode.patch > >> >> Серия предназначена для веток 7.0 и 7.1. >> >> Ben Hutchings (1): >> mtd: phram,slram: Disable when the kernel is locked down >> >> David Howells (2): >> efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode >> efi: Lock down the kernel if booted in secure boot mode >> >> Egor Ignatov (1): >> config: Enable LOCK_DOWN_IN_EFI_SECURE_BOOT >> >> Jeremy Cline (1): >> security: lockdown: expose security_lock_kernel_down function >> >> Linn Crosetto (1): >> efi: determine and pass Secure Boot state via FDT >> >> arch/x86/kernel/setup.c | 16 ++---------- >> config | 1 + >> drivers/firmware/efi/Makefile | 1 + >> drivers/firmware/efi/efi-init.c | 5 +++- >> drivers/firmware/efi/fdtparams.c | 12 ++++++++- >> drivers/firmware/efi/libstub/fdt.c | 6 +++++ >> drivers/firmware/efi/secureboot.c | 42 ++++++++++++++++++++++++++++++ >> drivers/mtd/devices/phram.c | 6 ++++- >> drivers/mtd/devices/slram.c | 9 ++++++- >> include/linux/efi.h | 22 ++++++++++------ >> include/linux/security.h | 9 +++++++ >> security/lockdown/Kconfig | 15 +++++++++++ >> security/lockdown/lockdown.c | 11 ++++++++ >> 13 files changed, 129 insertions(+), 26 deletions(-) > > >> create mode 100644 drivers/firmware/efi/secureboot.c >> >> -- >> 2.50.1 >> >> _______________________________________________ >> devel-kernel mailing list >> devel-kernel@lists.altlinux.org >> https://lists.altlinux.org/mailman/listinfo/devel-kernel > _______________________________________________ > devel-kernel mailing list > devel-kernel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel-kernel -- Egor Ignatov ALT Linux Team