apache / apache/cloudstack

vTPM on KVM does not persist data (ACS 4.20.1.0, Ubuntu 24.04)

Aberta
#11,842 15 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

component:documentation
Linguagem predominante
Java
Estrelas
3.1k
Forks
1.4k
Merge médio
7d 14h
PRs com merge (30d)
31

Descrição

problem

after a shutdown, the /var/lib/libvirt/swtpm/ which holds the tpm data is gone. When starting the vm again, the folder is re-created with empty tpm files.

I am using a similar tpm definition in manually configured kvm guests, if those vm are powered off the folder remains.

versions

4.20.1.0
Ubuntu 24.04

The steps to reproduce the bug
root@VM-647bf7bc-bdca-48fa-8329-8b7a103f9ab6:~# echo "Hello, TPM!" > datafile
root@VM-647bf7bc-bdca-48fa-8329-8b7a103f9ab6:~# tpm2_nvwrite -C o -i datafile 0x1500016
root@VM-647bf7bc-bdca-48fa-8329-8b7a103f9ab6:~# tpm2_nvread -C o 0x1500016
WARN: Reading full size of the NV index
Hello, TPM!

Instance power cycle, and tryi to read our value again from the tpm

root@VM-647bf7bc-bdca-48fa-8329-8b7a103f9ab6:~# tpm2_nvread -C o 0x1500016
WARN: Reading full size of the NV index
WARNING:esys:src/tss2-esys/api/Esys_NV_ReadPublic.c:309:Esys_NV_ReadPublic_Finish() Received TPM Error
ERROR:esys:src/tss2-esys/esys_tr.c:243:Esys_TR_FromTPMPublic_Finish() Error NV_ReadPublic ErrorCode (0x0000018b)
ERROR:esys:src/tss2-esys/esys_tr.c:398:Esys_TR_FromTPMPublic() Error TR FromTPMPublic ErrorCode (0x0000018b)
ERROR: Esys_TR_FromTPMPublic(0x18B) - tpm:handle(1):the handle is not correct for the use
ERROR: Unable to run tpm2_nvread
root@VM-647bf7bc-bdca-48fa-8329-8b7a103f9ab6:
What to do about it?

No response

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece reproduzindo a sequência de power-cycle no Ubuntu 24.04 e inspecione como o diretório /var/lib/libvirt/swtpm/ é tratado quando a VM é desligada. Considera-se concluído quando o valor NV do TPM continua legível após a reinicialização e o diretório não é recriado com arquivos TPM vazios.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
linux, ubuntu
Domínio
infrastructure, operating-systems, security
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.