Re: [tpmdd-devel] tpm device not showing up in /dev anymore

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le 11/11/17 à 21:31, Jerry Snitselaar a écrit :
On Sat Nov 11 17, Jason Gunthorpe wrote:
On Sat, Nov 11, 2017 at 12:12:57PM -0700, Jerry Snitselaar wrote:

Before the release_locality code would only actually release the
locality if the request use bit was set. So after it grabbed the
locality during probe it probably never released it. The idea with the
new code was to release it when it was no longer needed so another
requester would be able to take the tpm without having to wait for it
to be released.

If I recall, this was so that system level things outside linux could
access the TPM properly??


Yes, that is what drove this initially. I believe Jarkko was also
thinking of the possibility in the future where something like a vm
could request a locality as well, but that is just a hazy recollection
of emails from back then.

With the old code I think it would have to wait either
until the next time release_locality was called, or attempt to seize
the tpm with the seize bit in the access register. I need to read
through the spec some more, but does the tpm ever force a change when
the request use bit is set, or does it leave it up to the software
to deal with it and only gets involved in the case where the seize
bit has been set?

Do we handle these cases? Maybe something like that has happened..

Jason

If that is what happened in this case we should see the beenSeized bit
set in the access register (assuming the chip is doing things properly),
but it only had the tpmRegValidSts and tpmEstablishment bits set.

There is code in the interrupt handling that notices if the locality
changes if the chip has that capability, but I don't think there is
anything that deals with the seize bit. Another thing to be looked
at.

I don't know if it's relevant, I was looking at the different tpm_* tools and tpm_nvinfo is giving me errors with 4.9:

$ sudo tpm_nvinfo  -l debug
Tspi_Context_Create success
Tspi_Context_Connect success
Tspi_Context_GetTpmObject success
Tspi_TPM_GetCapability success
NVRAM index   : 0x00000000 (0)
Tspi_TPM_GetCapability failed: 0x00000002 - layer=tpm, code=0002 (2), Bad memory index

NVRAM index   : 0x10000001 (268435457)
Tspi_TPM_GetCapability failed: 0x00000002 - layer=tpm, code=0002 (2), Bad memory index

NVRAM index   : 0xffffffff (4294967295)
Tspi_TPM_GetCapability failed: 0x00000002 - layer=tpm, code=0002 (2), Bad memory index

Tspi_Context_FreeMemory success
Tspi_Context_Close success





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux Kernel Hardening]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux