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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.