diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2024-09-19 12:16:12 +0200 |
---|---|---|
committer | Luca Boccassi <luca.boccassi@gmail.com> | 2024-09-30 15:40:14 +0200 |
commit | 82f2c33db55be46c52720813a77d3b1b3bf8d1a4 (patch) | |
tree | a718c84b26333b0a70524e2c26d9189774303c72 /src/shared/tpm2-util.h | |
parent | logind-dbus: really cancel scheduled shutdown (diff) | |
download | systemd-82f2c33db55be46c52720813a77d3b1b3bf8d1a4.tar.xz systemd-82f2c33db55be46c52720813a77d3b1b3bf8d1a4.zip |
tpm2-util: show loaded libraries in 'systemd-analyze has-tpm2'
After 3b16e9f41983f697bc38c40bb8e7119c1bb4f7c8, even the libraries are
documented in the man page, it is useful to mention which libraries are
checked in the command output.
Of course, the dependencies are kind of implementation detail, and may
be changed in the future version, but that's especially why I think
showing the library deps in the output is useful.
systemd-analyze is a debugging tool, and already shows many internal
states. I think there is nothing to prevent from showing the deps.
Prompted by #34477.
Diffstat (limited to '')
-rw-r--r-- | src/shared/tpm2-util.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/shared/tpm2-util.h b/src/shared/tpm2-util.h index 0bd9c3d9d1..b0ea2c9e5f 100644 --- a/src/shared/tpm2-util.h +++ b/src/shared/tpm2-util.h @@ -452,13 +452,20 @@ typedef struct { typedef enum Tpm2Support { /* NOTE! The systemd-analyze has-tpm2 command returns these flags 1:1 as exit status. Hence these * flags are pretty much ABI! Hence, be extra careful when changing/extending these definitions. */ - TPM2_SUPPORT_NONE = 0, /* no support */ - TPM2_SUPPORT_FIRMWARE = 1 << 0, /* firmware reports TPM2 was used */ - TPM2_SUPPORT_DRIVER = 1 << 1, /* the kernel has a driver loaded for it */ - TPM2_SUPPORT_SYSTEM = 1 << 2, /* we support it ourselves */ - TPM2_SUPPORT_SUBSYSTEM = 1 << 3, /* the kernel has the tpm subsystem enabled */ - TPM2_SUPPORT_LIBRARIES = 1 << 4, /* we can dlopen the tpm2 libraries */ - TPM2_SUPPORT_FULL = TPM2_SUPPORT_FIRMWARE|TPM2_SUPPORT_DRIVER|TPM2_SUPPORT_SYSTEM|TPM2_SUPPORT_SUBSYSTEM|TPM2_SUPPORT_LIBRARIES, + TPM2_SUPPORT_NONE = 0, /* no support */ + TPM2_SUPPORT_FIRMWARE = 1 << 0, /* firmware reports TPM2 was used */ + TPM2_SUPPORT_DRIVER = 1 << 1, /* the kernel has a driver loaded for it */ + TPM2_SUPPORT_SYSTEM = 1 << 2, /* we support it ourselves */ + TPM2_SUPPORT_SUBSYSTEM = 1 << 3, /* the kernel has the tpm subsystem enabled */ + TPM2_SUPPORT_LIBRARIES = 1 << 4, /* we can dlopen the tpm2 libraries */ + TPM2_SUPPORT_API = TPM2_SUPPORT_FIRMWARE|TPM2_SUPPORT_DRIVER|TPM2_SUPPORT_SYSTEM|TPM2_SUPPORT_SUBSYSTEM|TPM2_SUPPORT_LIBRARIES, + + /* Flags below are not returned by systemd-analyze has-tpm2 as exit status. */ + TPM2_SUPPORT_LIBTSS2_ESYS = 1 << 5, /* we can dlopen libtss2-esys.so.0 */ + TPM2_SUPPORT_LIBTSS2_RC = 1 << 6, /* we can dlopen libtss2-rc.so.0 */ + TPM2_SUPPORT_LIBTSS2_MU = 1 << 7, /* we can dlopen libtss2-mu.so.0 */ + TPM2_SUPPORT_LIBTSS2_ALL = TPM2_SUPPORT_LIBTSS2_ESYS|TPM2_SUPPORT_LIBTSS2_RC|TPM2_SUPPORT_LIBTSS2_MU, + TPM2_SUPPORT_FULL = TPM2_SUPPORT_API|TPM2_SUPPORT_LIBTSS2_ALL, } Tpm2Support; Tpm2Support tpm2_support_full(Tpm2Support mask); |