From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: linux-integrity@vger.kernel.org, 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, 4 Oct 2019 22:01:04 +0300 [thread overview]
Message-ID: <20191004190104.GK6945@linux.intel.com> (raw)
In-Reply-To: <1570207062.3563.17.camel@HansenPartnership.com>
On Fri, Oct 04, 2019 at 09:37:42AM -0700, James Bottomley wrote:
> 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.
Right, I see your point. We can just say instead in a comment that
tpm_buf_init() is optional if you need to allocate the buffer and
do not provide your own.
Thanks for the remark. I have to agree with this.
/Jarkko
prev parent reply other threads:[~2019-10-04 19:01 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-03 18:51 [PATCH v3 0/2] tpm: Detach page allocation from tpm_buf 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
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 [this message]
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=20191004190104.GK6945@linux.intel.com \
--to=jarkko.sakkinen@linux.intel.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--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 \
/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).