Projects
Mega:23.03
systemd
_service:tar_scm:backport-tpm-util-fix-TPM-para...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-tpm-util-fix-TPM-parameter-handling.patch of Package systemd
From 966a8cd270e017928389aa1c3966551b301da5e7 Mon Sep 17 00:00:00 2001 From: Anatol Pomozov <anatol.pomozov@gmail.com> Date: Fri, 10 Sep 2021 11:52:55 -0700 Subject: [PATCH] tpm-util: fix TPM parameter handling cryptenroll allows to specify a custom TPM driver separated from parameters with colon e.g. `systemd-cryptenroll --tpm2-device=swtpm:` tells to load swtpm tss driver and use it as a device. Unfortunately it does not work, swtpm driver init() fails with ``` debug:tcti:src/tss2-tcti/tcti-swtpm.c:570:Tss2_Tcti_Swtpm_Init() Dup'd conf string to: 0x562f91cbc000 debug:tcti:src/util/key-value-parse.c:85:parse_key_value_string() parsing key/value: swtpm: WARNING:tcti:src/util/key-value-parse.c:50:parse_key_value() key / value string is invalid Failed to initialize TCTI context: tcti:A parameter has a bad value ``` It turns out that cryptenroll suppose to use the driver name internally and strip it before passing the rest of parameters to init() function. Without doing it swtpm receives incorrect key-value property and gets confused. Fix it by passing the correct parameter (without driver name) to the init() function. Fixes #20708 (cherry picked from commit 8889564a8da574e4b956e2b6ced34354dee54cd7) Conflict:NA Reference:https://github.com/systemd/systemd/commit/966a8cd270e017928389aa1c3966551b301da5e7 --- src/shared/tpm2-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c index df6d2eef58..56a7fe622e 100644 --- a/src/shared/tpm2-util.c +++ b/src/shared/tpm2-util.c @@ -182,7 +182,7 @@ static int tpm2_init(const char *device, struct tpm2_context *ret) { if (!tcti) return log_oom(); - rc = info->init(tcti, &sz, device); + rc = info->init(tcti, &sz, param); if (rc != TPM2_RC_SUCCESS) return log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Failed to initialize TCTI context: %s", sym_Tss2_RC_Decode(rc)); -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2