qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Corey Bryant <coreyb@linux.vnet.ibm.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: qemu-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <aliguori@amazon.com>
Subject: Re: [Qemu-devel] [PATCH 0/4] tpm: Provide a software vTPM
Date: Tue, 19 Nov 2013 16:32:06 -0500	[thread overview]
Message-ID: <528BD8D6.5070404@linux.vnet.ibm.com> (raw)
In-Reply-To: <CA+aC4ktOz9zSL87UmAzfkThMPF+t21WJWL5htjy+C=Q-vdKt7w@mail.gmail.com>


On 11/19/2013 02:50 PM, Anthony Liguori wrote:
> On Wed, Nov 6, 2013 at 6:38 AM, Corey Bryant <coreyb@linux.vnet.ibm.com> wrote:
>> This patch series provides support for a software Trusted Platform
>> Module (otherwise known as a vTPM).  This support is provided via a
>> new backend that works with the existing QEMU tpm-tis front end.
>
> We do device emulation within QEMU.  This is fundamentally what QEMU does.
>
> Why should we link against an external library instead of providing
> TPM emulation within QEMU itself?  What makes TPM so special here?

Because 70k+ LOC *definitely* doesn't have a chance of getting into 
QEMU, so it makes more sense to link against a library.

>
> I know the answer to these questions of course.  There isn't a good
> reason but there exists vTPM as an external tool for historical
> reasons.  I don't think that's a good justification for doing this.
> libtpms has had no review by anyone and does not have a community
> around it.  Once we link against it, we are responsible for resolving

The source is now more readily available on github and while the 
community is small, there is a community.  Besides, QEMU uses other 
libraries that have very small communities doesn't it?

> any security issue around it and fixing any bug within it.

Is this really true?  Is QEMU responsible for fixing every bug in glibc?

-- 
Regards,
Corey Bryant

>
> That's essentially asking us to merge 70k+ LOCS without any review or
> validation ahead of time.  That's an unreasonable request.
>
> Regards,
>
> Anthony Liguori
>
>> With this patch series, multiple guests can run with their own vTPM.
>> In comparison, the existing passthrough vTPM does not allow this
>> because the host TPM cannot be shared.
>>
>> Note: There is seabios code that is not yet upstream that is
>> required to run with this support.  It provides support such as
>> initialization, ACPI table updates, and menu updates.  If anyone
>> would like to run with that support, let me know and I can send you
>> a bios.bin.
>>
>> Following is a sample command line:
>>
>> qemu-img create -f qcow2 /home/qemu/images/nvram.qcow2 500K
>>
>> qemu-system-x86_64 ... \
>> -drive file=/home/qemu/images/nvram.qcow2,if=none,id=nvram0-0-0,format=qcow2 \
>> -device tpm-tis,tpmdev=tpm-tpm0,id=tpm0 \
>> -tpmdev libtpms,id=tpm-tpm0,nvram=nvram0-0-0
>>
>> Corey Bryant (4):
>>    tpm: Add TPM NVRAM implementation
>>    tpm: Share tpm_write_fatal_error_response
>>    tpm: QMP/HMP support for libtpms TPM backend
>>    tpm: Provide libtpms software TPM backend
>>
>>   configure                    |   24 ++
>>   hmp.c                        |    5 +
>>   hw/tpm/Makefile.objs         |    2 +
>>   hw/tpm/tpm_libtpms.c         |  885 ++++++++++++++++++++++++++++++++++++++++++
>>   hw/tpm/tpm_nvram.c           |  340 ++++++++++++++++
>>   hw/tpm/tpm_nvram.h           |   25 ++
>>   hw/tpm/tpm_passthrough.c     |   14 -
>>   hw/tpm/tpm_tis.h             |    1 +
>>   include/sysemu/tpm_backend.h |    3 +
>>   qapi-schema.json             |   18 +-
>>   qemu-options.hx              |   31 ++-
>>   tpm.c                        |   28 ++-
>>   12 files changed, 1357 insertions(+), 19 deletions(-)
>>   create mode 100644 hw/tpm/tpm_libtpms.c
>>   create mode 100644 hw/tpm/tpm_nvram.c
>>   create mode 100644 hw/tpm/tpm_nvram.h
>>
>>
>
>

  reply	other threads:[~2013-11-19 21:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-06 14:38 [Qemu-devel] [PATCH 0/4] tpm: Provide a software vTPM Corey Bryant
2013-11-19 19:50 ` Anthony Liguori
2013-11-19 21:32   ` Corey Bryant [this message]
2013-11-19 23:03     ` Anthony Liguori
2013-11-20 22:01       ` Stefan Berger
2013-11-21  1:15         ` Anthony Liguori

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=528BD8D6.5070404@linux.vnet.ibm.com \
    --to=coreyb@linux.vnet.ibm.com \
    --cc=aliguori@amazon.com \
    --cc=anthony@codemonkey.ws \
    --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).