From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: serge@hallyn.com, qemu-devel@nongnu.org, anbang.ruan@cs.ox.ac.uk,
andreas.niederl@iaik.tugraz.at
Subject: Re: [Qemu-devel] [PATCH V11 0/5] Qemu Trusted Platform Module (TPM) integration
Date: Sun, 2 Oct 2011 13:38:37 +0200 [thread overview]
Message-ID: <20111002113835.GH30747@redhat.com> (raw)
In-Reply-To: <20110928132255.156431784@linux.vnet.ibm.com>
On Wed, Sep 28, 2011 at 09:22:55AM -0400, Stefan Berger wrote:
> The following series of patches adds TPM (Trusted Platform Module) support
> to Qemu. An emulator for the TIS (TPM Interface Spec) interface is
> added that provides the basis for accessing a 'backend' implementing the actual
> TPM functionality. The TIS emulator serves as a 'frontend' enabling for
> example Linux's TPM TIS (tpm_tis) driver.
>
> In this series I am posting a backend implementation that makes use of the
> host's TPM through a passthrough driver, which on Linux is accessed
> using /dev/tpm0.
Looks pretty clean, ACK to patches 1-4.
The passthrough mode is quite easy to misuse, though most
of the problem is in the hardware, not on our side.
I'm still trying to think of a good way to warn users
about the pitfalls with that. Disabling by default in configure, unless
explictly required, is certainly one way.
And/or, let's rename it 'assigned' mode to resemble the name of
another fragile qemu feature :) Only half joking ...
>
> v11:
> - applies to checkout of 46f3069 (Sep 28)
> - some filing on the documentation
> - small nits fixed
>
> v10:
> - applies to checkout of 1ce9ce6 (Sep 27)
> - addressed Michael Tsirkin's comments on v9
>
> v9:
> - addressed Michael Tsirkin's and other reviewers' comments
> - only posting Andreas Niederl's passthrough driver as the backend driver
>
> v8:
> - applies to checkout of f0fb8b7 (Aug 30)
> - fixing compilation error pointed out by Andreas Niederl
> - adding patch that allows to feed an initial state into the libtpms TPM
> - following memory API changes (glib) where necessary
>
> v7:
> - applies to checkout of b9c6cbf (Aug 9)
> - measuring the modules if multiboot is used
> - coding style fixes
>
> v6:
> - applies to checkout of 75ef849 (July 2nd)
> - some fixes and improvements to existing patches; see individual patches
> - added a patch with a null driver responding to all TPM requests with
> a response indicating failure; this backend has no dependencies and
> can alwayy be built;
> - added a patch to support the hashing of kernel, ramfs and command line
> if those were passed to Qemu using -kernel, -initrd and -append
> respectively. Measurements are taken, logged, and passed to SeaBIOS using
> the firmware interface.
> - libtpms revision 7 now requires 83kb of block storage due to having more
> NVRAM space
>
> v5:
> - applies to checkout of 1fddfba1
> - adding support for split command line using the -tpmdev ... -device ...
> options while keeping the -tpm option
> - support for querying the device models using -tpm model=?
> - support for monitor 'info tpm'
> - adding documentation of command line options for man page and web page
> - increasing room for ACPI tables that qemu reserves to 128kb (from 64kb)
> - adding (experimental) support for block migration
> - adding (experimental) support for taking measurements when kernel,
> initrd and kernel command line are directly passed to Qemu
>
> v4:
> - applies to checkout of d2d979c6
> - more coding style fixes
> - adding patch for supporting blob encryption (in addition to the existing
> QCoW2-level encryption)
> - this allows for graceful termination of a migration if the target
> is detected to have a wrong key
> - tested with big and little endian hosts
> - main thread releases mutex while checking for work to do on behalf of
> backend
> - introducing file locking (fcntl) on the block layer for serializing access
> to shared (QCoW2) files (used during migration)
>
> v3:
> - Building a null driver at patch 5/8 that responds to all requests
> with an error response; subsequently this driver is transformed to the
> libtpms-based driver for real TPM functionality
> - Reworked the threading; dropped the patch for qemu_thread_join; the
> main thread synchronizing with the TPM thread termination may need
> to write data to the block storage while waiting for the thread to
> terminate; did not previously show a problem but is safer
> - A lot of testing based on recent git checkout 4b4a72e5 (4/10):
> - migration of i686 VM from x86_64 host to i686 host to ppc64 host while
> running tests inside the VM
> - tests with S3 suspend/resume
> - tests with snapshots
> - multiple-hour tests with VM suspend/resume (using virsh save/restore)
> while running a TPM test suite inside the VM
> All tests passed; [not all of them were done on the ppc64 host]
>
> v2:
> - splitting some of the patches into smaller ones for easier review
> - fixes in individual patches
>
> Regards,
> Stefan
>
next prev parent reply other threads:[~2011-10-02 11:38 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-28 13:22 [Qemu-devel] [PATCH V11 0/5] Qemu Trusted Platform Module (TPM) integration Stefan Berger
2011-09-28 13:22 ` [Qemu-devel] [PATCH V11 1/5] Support for TPM command line options Stefan Berger
2011-09-28 13:22 ` [Qemu-devel] [PATCH V11 2/5] Add TPM (frontend) hardware interface (TPM TIS) to Qemu Stefan Berger
2011-09-28 13:22 ` [Qemu-devel] [PATCH V11 3/5] Add a debug register Stefan Berger
2011-09-28 13:22 ` [Qemu-devel] [PATCH V11 4/5] Build the TPM frontend code Stefan Berger
2011-09-28 13:23 ` [Qemu-devel] [PATCH V11 5/5] Add a TPM Passthrough backend driver implementation Stefan Berger
2011-10-02 11:30 ` Michael S. Tsirkin
2011-10-02 11:38 ` Michael S. Tsirkin [this message]
2011-10-02 20:12 ` [Qemu-devel] [PATCH V11 0/5] Qemu Trusted Platform Module (TPM) integration Stefan Berger
2011-10-02 21:05 ` Michael S. Tsirkin
2011-10-04 18:44 ` [Qemu-devel] [PATCH 6/5] Introduce --enable-tpm-passthrough configure option Stefan Berger
2011-10-04 18:44 ` [Qemu-devel] [PATCH 7/5] Move parsing of filedescriptor into common function Stefan Berger
2011-10-04 18:45 ` [Qemu-devel] [PATCH 8/5] Add fd parameter for TPM passthrough driver 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=20111002113835.GH30747@redhat.com \
--to=mst@redhat.com \
--cc=anbang.ruan@cs.ox.ac.uk \
--cc=andreas.niederl@iaik.tugraz.at \
--cc=qemu-devel@nongnu.org \
--cc=serge@hallyn.com \
--cc=stefanb@linux.vnet.ibm.com \
/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).