linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Fuchs <andreas.fuchs@sit.fraunhofer.de>
To: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: Ken Goldman <kgoldman@us.ibm.com>,
	<tpmdd-devel@lists.sourceforge.net>,
	<linux-security-module@vger.kernel.org>, <greg@enjellic.com>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [tpmdd-devel] [PATCH RFC 0/4] RFC: in-kernel resource manager
Date: Wed, 11 Jan 2017 11:00:43 +0100	[thread overview]
Message-ID: <ee6c1e48-e21f-d05e-0939-473001224aba@sit.fraunhofer.de> (raw)
In-Reply-To: <20170110200558.GA5102@obsidianresearch.com>


Am 10.01.2017 um 21:05 schrieb Jason Gunthorpe:
> On Tue, Jan 10, 2017 at 01:16:35AM +0200, Jarkko Sakkinen wrote:
>> On Wed, Jan 04, 2017 at 10:12:41AM -0600, Dr. Greg Wettstein wrote:
>>> The kernel needs a resource manager.  Everyone needs to think VERY
>>> hard and VERY, VERY carefully about what gets put into the kernel.  In
>>> making a decision, put the ABSOLUTE smallest amount of code into the
>>> kernel which allows various 'TPM2 personalities' to be implemented in
>>> userspace and functionally verified and protected by the physical
>>> instance.  The emergence of commodity TEE's (SGX, et.al) should be in
>>> the back of everyone's mind as a factor in the roadmap.
>> Here's my cuts for the kernel:
>>
>> - Kernel virtualizes handle areas. It's mechanical.
>> - Kernel does not virtualize bodies. It's not mechanical.
>> - At least the first version of the RM will not do other than session
>>    isolation for sessions.
>>
>> This keeps the core for RM inside the kernel small and tight.

You need to do virtualization inside bodies, because TPM2_FlushContext 
carries it's handles inside the parameter body.
Yep, huge blunder in the TPM spec, but hey, time for quirks... ;-)

> I think this makes sense.
>
> In addition the kernel should only permit RM operations that are known
> to be 100% correct with the RM.
>
> I think you should stick with your original design basic design,
> except instead of using an ioctl to switch modes, use an ioctl to
> execute the operation:
>
> struct tpm_ioctl_operation {
>     u16 mode;  // == TPM1_RAW,TPM2_RAW,TPM1_RM,TPM2_RM
>     u16 locality;
>     u32 txlen;
>     u32 rxlen;
>     const void *txbuf;
>     void *rxbuf;
> };

could we please get an ioctl, that switches the "mode" of the fd entirely.
I'd like to see the write()/read() support still intact.
All my current code uses main-loop based poll on the fd and I don't want
to be force to start using threads...

Thanks,
Andreas

>
> The userspace broker would be expected to use a mixture of RM and RAW
> operations.
>
> Let's deal with the idea of another cdev some other day when someone
> can figure out a comprehensive way to do that securely for unpriv..
>
> Jason
>
> ------------------------------------------------------------------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> tpmdd-devel mailing list
> tpmdd-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tpmdd-devel

  reply	other threads:[~2017-01-11 10:01 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-04 16:12 [tpmdd-devel] [PATCH RFC 0/4] RFC: in-kernel resource manager Dr. Greg Wettstein
2017-01-09 23:16 ` Jarkko Sakkinen
2017-01-10 19:29   ` Ken Goldman
2017-01-11 11:36     ` Jarkko Sakkinen
2017-01-10 20:05   ` Jason Gunthorpe
2017-01-11 10:00     ` Andreas Fuchs [this message]
2017-01-11 18:03       ` Jason Gunthorpe
2017-01-11 18:27         ` Stefan Berger
2017-01-11 19:18           ` Jason Gunthorpe
2017-01-11 11:34     ` Jarkko Sakkinen
2017-01-11 15:39       ` James Bottomley
2017-01-11 17:56         ` Jason Gunthorpe
2017-01-11 18:25           ` James Bottomley
2017-01-11 19:04             ` Jason Gunthorpe
  -- strict thread matches above, loose matches on Subject: below --
2017-01-02 13:22 Jarkko Sakkinen
2017-01-02 16:36 ` [tpmdd-devel] " James Bottomley
2017-01-02 19:33   ` Jarkko Sakkinen
2017-01-02 21:40     ` James Bottomley
2017-01-03  5:26       ` James Bottomley
2017-01-03 13:41         ` Jarkko Sakkinen
2017-01-03 16:14           ` James Bottomley
2017-01-03 18:36             ` Jarkko Sakkinen
2017-01-03 19:14               ` Jarkko Sakkinen
2017-01-03 19:34                 ` James Bottomley
2017-01-03 21:54         ` Jason Gunthorpe
2017-01-04 12:58           ` Jarkko Sakkinen
2017-01-04 16:55             ` Jason Gunthorpe
2017-01-04  5:47         ` Andy Lutomirski
2017-01-04 13:00           ` Jarkko Sakkinen
2017-01-03 13:51       ` Jarkko Sakkinen
2017-01-03 16:36         ` James Bottomley
2017-01-03 18:40           ` Jarkko Sakkinen
2017-01-03 21:47           ` Jason Gunthorpe
2017-01-03 22:21             ` Ken Goldman
2017-01-03 23:20               ` Jason Gunthorpe
2017-01-03 22:39             ` James Bottomley
2017-01-04  0:17               ` Jason Gunthorpe
2017-01-04  0:29                 ` James Bottomley
2017-01-04  0:56                   ` Jason Gunthorpe
2017-01-04 12:50                 ` Jarkko Sakkinen
2017-01-04 14:53                   ` James Bottomley
2017-01-04 18:31                     ` Jason Gunthorpe
2017-01-04 18:57                       ` James Bottomley
2017-01-04 19:24                         ` Jason Gunthorpe
2017-01-04 12:48             ` Jarkko Sakkinen
2017-01-03 21:32   ` Jason Gunthorpe
2017-01-03 22:03     ` James Bottomley
2017-01-05 15:52 ` Fuchs, Andreas
2017-01-05 17:27   ` Jason Gunthorpe
2017-01-05 18:06     ` James Bottomley
2017-01-06  8:43       ` Andreas Fuchs
2017-01-05 18:33     ` James Bottomley
2017-01-05 19:20       ` Jason Gunthorpe
2017-01-05 19:55         ` James Bottomley
2017-01-05 22:21           ` Jason Gunthorpe
2017-01-05 22:58             ` James Bottomley
2017-01-05 23:50               ` Jason Gunthorpe
2017-01-06  0:36                 ` James Bottomley
2017-01-06  8:59                   ` Andreas Fuchs
2017-01-06 19:10                     ` Jason Gunthorpe
2017-01-06 19:02                   ` Jason Gunthorpe
2017-01-09 22:39   ` Jarkko Sakkinen
2017-01-11 10:03     ` Andreas Fuchs

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=ee6c1e48-e21f-d05e-0939-473001224aba@sit.fraunhofer.de \
    --to=andreas.fuchs@sit.fraunhofer.de \
    --cc=greg@enjellic.com \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=kgoldman@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=tpmdd-devel@lists.sourceforge.net \
    /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).