linux-integrity.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
	linux-integrity@vger.kernel.org
Cc: Mimi Zohar <zohar@linux.ibm.com>,
	Jerry Snitselaar <jsnitsel@redhat.com>,
	Sumit Garg <sumit.garg@linaro.org>,
	Stefan Berger <stefanb@linux.vnet.ibm.com>,
	Peter Huewe <peterhuewe@gmx.de>, Jason Gunthorpe <jgg@ziepe.ca>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 2/2] tpm: Detach page allocation from tpm_buf
Date: Fri, 04 Oct 2019 09:37:42 -0700	[thread overview]
Message-ID: <1570207062.3563.17.camel@HansenPartnership.com> (raw)
In-Reply-To: <20191003185103.26347-3-jarkko.sakkinen@linux.intel.com>

On Thu, 2019-10-03 at 21:51 +0300, Jarkko Sakkinen wrote:
> As has been seen recently, binding the buffer allocation and tpm_buf
> together is sometimes far from optimal.

Can you elaborate on this a bit more?  I must have missed the
discussion.

>  The buffer might come from the caller namely when tpm_send() is used
> by another subsystem. In addition we can stability in call sites w/o
> rollback (e.g. power events)>
> 
> Take allocation out of the tpm_buf framework and make it purely a
> wrapper for the data buffer.

What you're doing here is taking a single object with a single lifetime
and creating two separate objects with separate lifetimes and a
dependency.  The problem with doing that is that it always creates
subtle and hard to debug corner cases where the dependency gets
violated, so it's usually better to simplify the object lifetimes by
reducing the dependencies and combining as many dependent objects as
possible into a single object with one lifetime.  Bucking this trend
for a good reason is OK, but I think a better reason than "is sometimes
far from optimal" is needed.

James


  reply	other threads:[~2019-10-04 16:37 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03 18:51 [PATCH v3 0/2] " Jarkko Sakkinen
2019-10-03 18:51 ` [PATCH v3 1/2] tpm: Use GFP_KERNEL for allocating struct tpm_buf Jarkko Sakkinen
2019-10-04  0:25   ` James Bottomley
2019-10-06 10:03     ` Jarkko Sakkinen
2019-10-07 19:12       ` James Bottomley
2019-10-07 23:43         ` Jerry Snitselaar
2019-10-08 22:52         ` Jarkko Sakkinen
2019-10-09 21:36         ` Jarkko Sakkinen
2019-10-11 16:03           ` James Bottomley
2019-10-03 18:51 ` [PATCH v3 2/2] tpm: Detach page allocation from tpm_buf Jarkko Sakkinen
2019-10-04 16:37   ` James Bottomley [this message]
2019-10-04 17:37     ` Mimi Zohar
2019-10-04 17:41       ` James Bottomley
2019-10-04 18:24         ` Jerry Snitselaar
2019-10-06 23:32           ` Jarkko Sakkinen
2019-10-04 19:01     ` 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=1570207062.3563.17.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=jsnitsel@redhat.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    --cc=stefanb@linux.vnet.ibm.com \
    --cc=sumit.garg@linaro.org \
    --cc=zohar@linux.ibm.com \
    --subject='Re: [PATCH v3 2/2] tpm: Detach page allocation from tpm_buf' \
    /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

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).