[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