From: Stefan Berger <stefanb@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] TPM status
Date: Thu, 29 Jun 2017 12:59:55 -0400 [thread overview]
Message-ID: <ce17c16f-cf7d-71b8-347c-08266a5cd1df@linux.vnet.ibm.com> (raw)
In-Reply-To: <a19eaa37-7bcd-be8b-8afb-092ef55b261f@redhat.com>
On 06/29/2017 10:07 AM, Javier Martinez Canillas wrote:
> Hello Stefan,
>
> On 06/28/2017 10:57 PM, Stefan Berger wrote:
>> On 06/28/2017 12:44 PM, Laszlo Ersek wrote:
>>> On 06/28/17 17:22, Peter Jones wrote:
>>>> On Tue, Jun 27, 2017 at 12:12:50PM -0400, Stefan Berger wrote:
> [snip]
>
>>>>> To support measurements logs to be written by the firmware, e.g.
>>>>> SeaBIOS, a TCPA table is implemented. This table provides a 64kb
>>>>> buffer where the firmware can write its log into.
>>>> How does this work if we boot with edk2?
>>> My expectation is that it doesn't work at all, without doing some OVMF
>>> platform enablement first. (See
>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=594>.) My plan is to use
>>> Stefan's document as a starting point for the edk2 / OVMF investigation
>>> -- one known and one unknown are better than two unknowns (to me).
>>>> Do we get what's described in
>>>> https://trustedcomputinggroup.org/wp-content/uploads/EFI-Protocol-Specification-rev13-160330final.pdf
>>>> instead of this interface? As well as it? It'd be good to have some
>>>> text about this here.
>>> I don't think that Stefan has spent any time on EFI enablement, so this
>>> part of the document will have to be written later, once there is any
>>> EFI-related functionality we can document. (I expect.)
>> Right, I did not spend any time on EFI. I suppose the ACPI tables going to a BIOS are also useful for EFI.
>>
>> For BIOS there is unfortunately only a spec for TPM 1.2, none anymore for
>> TPM2, at least back then when I last looked for it. So I ended up passing
>> that TCPA table that has the pointer for the logging area also in case of
>> a TPM 2. So SeaBIOS writes its log to it in both cases, following the TPM 2
> But this isn't correct from a TPM2 pov, right? Because the TPM2 spec says
> that the ACPI table that contains the TPM2.0 event logs is the TPM2 table.
The problem is the lack of specs for BIOS to support TPM. I don't see
how the TPM2 could hold the log pointer. I am looking at section 7.3 in
this document here:
https://www.trustedcomputinggroup.org/wp-content/uploads/TCG_ACPIGeneralSpecification_1-10_0-37-Published.pdf
>
> So instead the LASA field in the passed TPM2 ACPI table should point to the
> allocated buffer used by the firmware to store the event logs.
I only see LAML and LASA for TCPA ACPI table (sections 7.1.2 & 7.2.2),
which seems to only be valid for TPM 1.2.
>> format form the EFI specs for the entries. The Linux driver in the meantime
>> has modified the code so that it doesn't show the log anymore in case of
>> TPM 2 :-( . I think the above referenced specs would explain how the logging
> Do you mean that in the past Linux exposed the securityfs files with the event
> logs for TPM2 chips as well? My understanding is that Linux does the correct
> thing now, since as mentioned the TCPA table should only be used for TPM1.2.
There may have been a version or two of the driver that did that, yes.
This version has this check:
http://elixir.free-electrons.com/linux/v4.11.8/source/drivers/char/tpm/tpm_acpi.c#L57
This version does not have this check:
http://elixir.free-electrons.com/linux/v4.10.17/source/drivers/char/tpm/tpm_acpi.c
>
> There are patches posted to add Linux support to read the event logs for TPM2
> chips but from the TPM2 ACPI table. I see that hose haven't landed yet though:
>
> https://patchwork.kernel.org/project/tpmdd-devel/list/?submitter=7143
Aha, so I see this person is following some draft spec that isn't
referenced via above page, yet.
"Latest draft of TPM 2 ACPI specification added TCG log start/length
to the TPM2 ACPI table. So Linux kernel can now read it without
having to get involved with boot loader, same way TPM1/TCPA tables
work."
https://patchwork.kernel.org/patch/9651005/
> Best regards,
next prev parent reply other threads:[~2017-06-29 17:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-14 13:51 [Qemu-devel] TPM status Laszlo Ersek
2017-06-14 15:00 ` Stefan Berger
2017-06-27 16:12 ` Stefan Berger
2017-06-27 16:32 ` Laszlo Ersek
2017-06-29 19:31 ` Stefan Berger
2017-07-01 20:45 ` Laszlo Ersek
2017-06-28 15:22 ` Peter Jones
2017-06-28 16:44 ` Laszlo Ersek
2017-06-28 20:57 ` Stefan Berger
2017-06-28 21:26 ` Laszlo Ersek
2017-06-29 14:07 ` Javier Martinez Canillas
2017-06-29 16:59 ` Stefan Berger [this message]
2017-06-29 12:39 ` Javier Martinez Canillas
2017-06-29 16:09 ` Stefan Berger
2017-06-29 23:12 ` Javier Martinez Canillas
2017-06-30 0:55 ` Stefan Berger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ce17c16f-cf7d-71b8-347c-08266a5cd1df@linux.vnet.ibm.com \
--to=stefanb@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).