mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-11 05:17:44 +03:00
boot: split out TPM PCR defines into header file we can share between userspace and kernel space
This commit is contained in:
parent
de7ad6d4f4
commit
aa323c0907
@ -5,6 +5,7 @@
|
||||
#include <efi.h>
|
||||
#include <efilib.h>
|
||||
|
||||
#include "tpm-pcr.h"
|
||||
#include "macro-fundamental.h"
|
||||
#include "measure.h"
|
||||
#include "missing_efi.h"
|
||||
|
@ -5,26 +5,6 @@
|
||||
#include <stdbool.h>
|
||||
#include <uchar.h>
|
||||
|
||||
/* This TPM PCR is where we extend the sd-stub "payloads" into, before using them. i.e. the kernel ELF image,
|
||||
* embedded initrd, and so on. In contrast to PCR 4 (which also contains this data, given the whole
|
||||
* surrounding PE image is measured into it) this should be reasonably pre-calculatable, because it *only*
|
||||
* consists of static data from the kernel PE image. */
|
||||
#define TPM_PCR_INDEX_KERNEL_IMAGE 11U
|
||||
|
||||
/* This TPM PCR is where sd-stub extends the kernel command line and any passed credentials into. */
|
||||
#define TPM_PCR_INDEX_KERNEL_PARAMETERS 12U
|
||||
|
||||
/* sd-stub used to write the kernel command line/credentials into PCR 8, in systemd <= 250. Let's provide for
|
||||
* some compatibility. (Remove in 2023!) */
|
||||
#if EFI_TPM_PCR_COMPAT
|
||||
#define TPM_PCR_INDEX_KERNEL_PARAMETERS_COMPAT 8U
|
||||
#else
|
||||
#define TPM_PCR_INDEX_KERNEL_PARAMETERS_COMPAT UINT32_MAX
|
||||
#endif
|
||||
|
||||
/* This TPM PCR is where we extend the initrd sysext images into which we pass to the booted kernel */
|
||||
#define TPM_PCR_INDEX_INITRD_SYSEXTS 13U
|
||||
|
||||
#if ENABLE_TPM
|
||||
|
||||
bool tpm_present(void);
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "pe.h"
|
||||
#include "secure-boot.h"
|
||||
#include "splash.h"
|
||||
#include "tpm-pcr.h"
|
||||
#include "util.h"
|
||||
|
||||
/* magic string to find in the binary image */
|
||||
|
@ -8,6 +8,7 @@ fundamental_headers = files(
|
||||
'macro-fundamental.h',
|
||||
'sha256.h',
|
||||
'string-util-fundamental.h',
|
||||
'tpm-pcr.h',
|
||||
)
|
||||
|
||||
# for sd-boot
|
||||
|
24
src/fundamental/tpm-pcr.h
Normal file
24
src/fundamental/tpm-pcr.h
Normal file
@ -0,0 +1,24 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
/* The various TPM PCRs we measure into from sd-stub and sd-boot. */
|
||||
|
||||
/* This TPM PCR is where we extend the sd-stub "payloads" into, before using them. i.e. the kernel ELF image,
|
||||
* embedded initrd, and so on. In contrast to PCR 4 (which also contains this data, given the whole
|
||||
* surrounding PE image is measured into it) this should be reasonably pre-calculatable, because it *only*
|
||||
* consists of static data from the kernel PE image. */
|
||||
#define TPM_PCR_INDEX_KERNEL_IMAGE 11U
|
||||
|
||||
/* This TPM PCR is where sd-stub extends the kernel command line and any passed credentials into. */
|
||||
#define TPM_PCR_INDEX_KERNEL_PARAMETERS 12U
|
||||
|
||||
/* sd-stub used to write the kernel command line/credentials into PCR 8, in systemd <= 250. Let's provide for
|
||||
* some compatibility. (Remove in 2023!) */
|
||||
#if EFI_TPM_PCR_COMPAT
|
||||
#define TPM_PCR_INDEX_KERNEL_PARAMETERS_COMPAT 8U
|
||||
#else
|
||||
#define TPM_PCR_INDEX_KERNEL_PARAMETERS_COMPAT UINT32_MAX
|
||||
#endif
|
||||
|
||||
/* This TPM PCR is where we extend the initrd sysext images into which we pass to the booted kernel */
|
||||
#define TPM_PCR_INDEX_INITRD_SYSEXTS 13U
|
Loading…
Reference in New Issue
Block a user