From: "Stefan Berger" <stefanb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH v3 09/11] tpm: Driver for supporting multiple emulated TPMs
Date: Thu, 25 Feb 2016 13:42:10 -0500 [thread overview]
Message-ID: <201602251842.u1PIgE8P014270@d03av03.boulder.ibm.com> (raw)
In-Reply-To: <20160225173956.GA1407-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 2872 bytes --]
Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote on 02/25/2016
12:39:56 PM:
>
> On Thu, Feb 25, 2016 at 09:12:57AM -0500, Stefan Berger wrote:
>
> > > 3) Do not show any existing sysfs attributes for
> > > containers. All but
>
> > A separate sysfs tree isn't built for every container, so sysfs is
more
> > or less global showing pretty much the same in every container
except
> > for networking namespace seems to have a way of not doing that.
>
> TPM should be able to use the same techniques as net, the syfs.*ns set
> of APIs exists for this purpose. I've never looked at how to use them,
> but something should be workable there.
It looks like they some are being used on the kobject level.
>
> Once you figure out how to define what TPMs are in a namespace it
> should be doable to use the syfs_ns APIs to have sysfs follow that
> restriction just like net does.
Networking has its own namespace and it looks like all devices get created
while in that namespace. So the kobject can have its association with that
namespace right from the beginning. In the case of vtpm we need to create
the device on the host since we run the TPM emulator on the host out of
reach of signals from the container. We would only associate the vtpm
device with the namespace after the clone(), a long time after current
registration with sysfs. Another difference is that we don't have a device
namespace, so all our device names and major / minor numbers need to be
unique and that's also reflected in sysfs.
I have been experimenting with an ioctl that passes along a file
descriptor to a user namespace (/proc/pid/ns/user) for the purpose of
associating the vtpm with that user namespace. This is similar to what
setns() does, except the ioctl associates a vTPM with a namespace. This
works (once the child is in its final namespace, which the parent needs to
sync with) and following the proposed filtering on the TPM sysfs attribute
level, only read()s issued from the user namespace that the vTPM is
associated with get data. That we can have up to 64k TPM entries in sysfs
certainly isn't nice.
This 1st ioctl can be called basically at any time and is called on the
file descriptor returned by the vtpm driver.
Another ioctl is the one we have been discussing previously for
associating the chip with an IMA namespace (which would be a compile time
option). Here we need to ensure that the child gets the chip hooked to the
IMA namespace before the execve() triggers measurements by IMA. Here I
pass the process Id of that child to then determine IMA namespace to hook
the chip to and user namespace for vTPM sysfs association. I prefer the
child's process id over passing two file descriptors in this case...
Stefan
[-- Attachment #1.2: Type: text/html, Size: 3317 bytes --]
[-- Attachment #2: Type: text/plain, Size: 413 bytes --]
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
[-- Attachment #3: Type: text/plain, Size: 192 bytes --]
_______________________________________________
tpmdd-devel mailing list
tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/tpmdd-devel
next prev parent reply other threads:[~2016-02-25 18:42 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-19 12:41 [PATCH v3 00/11] Multi-instance vTPM driver Stefan Berger
2016-02-19 12:41 ` [PATCH v3 01/11] tpm: fix the cleanup of struct tpm_chip Stefan Berger
[not found] ` <1455885728-10315-1-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-19 12:41 ` [PATCH v3 02/11] tpm: Get rid of chip->pdev Stefan Berger
[not found] ` <1455885728-10315-3-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 19:25 ` Jarkko Sakkinen
2016-02-19 12:42 ` [PATCH v3 03/11] tpm: Get rid of devname Stefan Berger
[not found] ` <1455885728-10315-4-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 18:19 ` Jason Gunthorpe
[not found] ` <20160222181929.GB22088-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-22 19:42 ` Jarkko Sakkinen
[not found] ` <20160222194202.GC32667-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-02-22 19:58 ` Jason Gunthorpe
[not found] ` <20160222195816.GL22088-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-22 20:34 ` Jason Gunthorpe
2016-02-23 0:22 ` Stefan Berger
2016-02-19 12:42 ` [PATCH v3 04/11] tpm: Provide strong locking for device removal Stefan Berger
[not found] ` <1455885728-10315-5-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 21:08 ` Jarkko Sakkinen
[not found] ` <20160222210844.GA3310-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-02-22 22:20 ` Jason Gunthorpe
[not found] ` <20160222222017.GC27228-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 19:40 ` Jarkko Sakkinen
[not found] ` <20160223194014.GA5241-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-02-23 19:52 ` Jason Gunthorpe
[not found] ` <20160223195246.GC389-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 20:36 ` Jarkko Sakkinen
2016-02-23 20:43 ` Jarkko Sakkinen
2016-02-19 12:42 ` [PATCH v3 05/11] tpm: Get rid of module locking Stefan Berger
[not found] ` <1455885728-10315-6-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 18:22 ` Jason Gunthorpe
[not found] ` <20160222182245.GC22088-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 0:26 ` Stefan Berger
2016-02-22 21:11 ` Jarkko Sakkinen
[not found] ` <20160222211141.GB3310-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-02-22 22:15 ` Jason Gunthorpe
2016-02-19 12:42 ` [PATCH v3 06/11] tpm: Split out the devm stuff from tpmm_chip_alloc Stefan Berger
[not found] ` <1455885728-10315-7-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 18:24 ` Jason Gunthorpe
2016-02-22 21:14 ` Jarkko Sakkinen
[not found] ` <20160222211414.GC3310-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-02-22 22:13 ` Jason Gunthorpe
[not found] ` <20160222221328.GA27228-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 0:45 ` Stefan Berger
2016-02-23 11:31 ` Jarkko Sakkinen
2016-02-19 12:42 ` [PATCH v3 07/11] tpm: Replace device number bitmap with IDR Stefan Berger
[not found] ` <1455885728-10315-8-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 19:06 ` Jason Gunthorpe
[not found] ` <201602230116.u1N1G4iu012263@d03av02.boulder.ibm.com>
[not found] ` <201602230116.u1N1G4iu012263-nNA/7dmquNI+UXBhvPuGgqsjOiXwFzmk@public.gmane.org>
2016-02-23 2:16 ` Jason Gunthorpe
[not found] ` <20160223021606.GC26177-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 23:04 ` Stefan Berger
[not found] ` <201602232305.u1NN521L020589@d03av01.boulder.ibm.com>
[not found] ` <201602232305.u1NN521L020589-Rn83F4s8Lwc+UXBhvPuGgqsjOiXwFzmk@public.gmane.org>
2016-02-23 23:18 ` Jason Gunthorpe
[not found] ` <20160222190629.GE22088-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 1:15 ` Stefan Berger
2016-02-23 2:16 ` Stefan Berger
[not found] ` <201602230217.u1N2HIJT003183@d03av05.boulder.ibm.com>
[not found] ` <201602230217.u1N2HIJT003183-3MP/CPU4Muo+UXBhvPuGgqsjOiXwFzmk@public.gmane.org>
2016-02-23 2:18 ` Jason Gunthorpe
2016-02-19 12:42 ` [PATCH v3 08/11] tpm: Introduce TPM_CHIP_FLAG_VIRTUAL Stefan Berger
[not found] ` <1455885728-10315-9-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 19:19 ` Jason Gunthorpe
[not found] ` <20160222191922.GH22088-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 1:20 ` [PATCH v3 08/11] tpm: IntroduceTPM_CHIP_FLAG_VIRTUAL Stefan Berger
2016-02-23 1:21 ` Stefan Berger
[not found] ` <201602230121.u1N1LYk2024786@d01av01.pok.ibm.com>
[not found] ` <201602230121.u1N1LYk2024786-4ZtxiNBBw+3ImUpY6SP3GEEOCMrvLtNR@public.gmane.org>
2016-02-23 2:05 ` Jason Gunthorpe
[not found] ` <20160223020515.GA26177-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 3:40 ` Stefan Berger
[not found] ` <201602230116.u1N1Ghac006778@d01av05.pok.ibm.com>
[not found] ` <201602230116.u1N1Ghac006778-8DuMPbUlb4HImUpY6SP3GEEOCMrvLtNR@public.gmane.org>
2016-02-23 2:06 ` Jason Gunthorpe
2016-02-19 12:42 ` [PATCH v3 09/11] tpm: Driver for supporting multiple emulated TPMs Stefan Berger
[not found] ` <1455885728-10315-10-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-02-22 19:27 ` Jason Gunthorpe
[not found] ` <20160222192741.GI22088-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-23 1:45 ` Stefan Berger
[not found] ` <201602230142.u1N1gSuF029481@d01av05.pok.ibm.com>
[not found] ` <201602230142.u1N1gSuF029481-8DuMPbUlb4HImUpY6SP3GEEOCMrvLtNR@public.gmane.org>
2016-02-23 2:17 ` Jason Gunthorpe
[not found] ` <20160223021730.GD26177-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-24 23:10 ` Stefan Berger
[not found] ` <201602242306.u1ON6qGP030251-8DuMPbUlb4HImUpY6SP3GEEOCMrvLtNR@public.gmane.org>
2016-02-25 13:17 ` Jarkko Sakkinen
[not found] ` <20160225131732.GA20860-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-02-25 14:12 ` Stefan Berger
[not found] ` <201602251409.u1PE98LH012367@d01av05.pok.ibm.com>
[not found] ` <201602251409.u1PE98LH012367-8DuMPbUlb4HImUpY6SP3GEEOCMrvLtNR@public.gmane.org>
2016-02-25 17:39 ` Jason Gunthorpe
[not found] ` <20160225173956.GA1407-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-25 18:42 ` Stefan Berger [this message]
[not found] ` <201602251842.u1PIgEuL014249@d03av03.boulder.ibm.com>
[not found] ` <201602251842.u1PIgEuL014249-MijUUJkLaQs+UXBhvPuGgqsjOiXwFzmk@public.gmane.org>
2016-02-25 20:31 ` Jason Gunthorpe
[not found] ` <20160225203117.GA22984-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-02-25 22:11 ` Stefan Berger
2016-02-23 10:22 ` Jarkko Sakkinen
[not found] ` <20160223102211.GA9474-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-02-23 12:09 ` Stefan Berger
[not found] ` <201602231210.u1NCAD6D017196@d01av03.pok.ibm.com>
[not found] ` <201602231210.u1NCAD6D017196-CUdSWdNILC7ImUpY6SP3GEEOCMrvLtNR@public.gmane.org>
2016-02-23 18:36 ` Jarkko Sakkinen
2016-02-19 12:42 ` [PATCH v3 10/11] tpm: Initialize TPM and get durations and timeouts Stefan Berger
2016-02-19 12:42 ` [PATCH v3 11/11] A test program for vTPM device creation Stefan Berger
2016-02-22 19:20 ` [PATCH v3 00/11] Multi-instance vTPM driver Jarkko Sakkinen
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=201602251842.u1PIgE8P014270@d03av03.boulder.ibm.com \
--to=stefanb-r/jw6+rmf7hqt0dzr+alfa@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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).