[d-kernel] [PATCH 0/6] [7.0, 7.1] Lock down the kernel if booted in Secure Boot mode
Egor Ignatov
egori на altlinux.org
Ср Май 20 15:29:39 MSK 2026
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 at lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel-kernel
> _______________________________________________
> devel-kernel mailing list
> devel-kernel at lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-kernel
--
Egor Ignatov
ALT Linux Team
Подробная информация о списке рассылки devel-kernel