From: James Bottomley <jejb@linux.ibm.com>
To: "Serge E. Hallyn" <serge@hallyn.com>,
Jarkko Sakkinen <jarkko@kernel.org>
Cc: linux-integrity@vger.kernel.org, Mimi Zohar <zohar@linux.ibm.com>,
David Howells <dhowells@redhat.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>
Subject: Re: [PATCH v5 8/8] KEYS: trusted: tpm2: Use struct tpm_buf for sized buffers
Date: Tue, 28 Nov 2023 07:24:16 -0500 [thread overview]
Message-ID: <2de19a94132c6277cd754bc10eaf5df6a57f4434.camel@linux.ibm.com> (raw)
In-Reply-To: <20231128034802.GA33794@mail.hallyn.com>
On Mon, 2023-11-27 at 21:48 -0600, Serge E. Hallyn wrote:
> On Wed, Nov 22, 2023 at 12:31:20AM +0200, Jarkko Sakkinen wrote:
[...]
> > diff --git a/security/keys/trusted-keys/trusted_tpm2.c
> > b/security/keys/trusted-keys/trusted_tpm2.c
> > index bc700f85f80b..97b1dfca2dba 100644
> > --- a/security/keys/trusted-keys/trusted_tpm2.c
> > +++ b/security/keys/trusted-keys/trusted_tpm2.c
> > @@ -228,8 +228,9 @@ int tpm2_seal_trusted(struct tpm_chip *chip,
> > struct trusted_key_payload *payload,
> > struct trusted_key_options *options)
> > {
> > + off_t offset = TPM_HEADER_SIZE;
> > + struct tpm_buf buf, sized;
> > int blob_len = 0;
> > - struct tpm_buf buf;
> > u32 hash;
> > u32 flags;
> > int i;
> > @@ -258,6 +259,14 @@ int tpm2_seal_trusted(struct tpm_chip *chip,
> > return rc;
> > }
> >
> > + rc = tpm_buf_init_sized(&sized);
> > + if (rc) {
> > + tpm_buf_destroy(&buf);
>
> It won't really hurt, but at the moment if tpm_buf_init_sized()
> returns non-zero, then it must be returning -ENOMEM, and
> tpm_buf_destroy(&buf) is not needed, right?
No ... buf was initialized further up in the original code (you seem to
be confusing buf and sized ... they're two separate allocations). We
can't return from here without destroying it otherwise we'll leak a
page.
James
next prev parent reply other threads:[~2023-11-28 12:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-21 22:31 [PATCH v5 0/8] Extend struct tpm_buf to support sized buffers (TPM2B) Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 1/8] tpm: Remove unused tpm_buf_tag() Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 2/8] tpm: Remove tpm_send() Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 3/8] tpm: Move buffer handling from static inlines to real functions Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 4/8] tpm: Update &tpm_buf documentation Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 5/8] tpm: Store the length of the tpm_buf data separately Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 6/8] tpm: TPM2B formatted buffers Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 7/8] tpm: Add tpm_buf_read_{u8,u16,u32} Jarkko Sakkinen
2023-11-21 22:31 ` [PATCH v5 8/8] KEYS: trusted: tpm2: Use struct tpm_buf for sized buffers Jarkko Sakkinen
2023-11-28 3:48 ` Serge E. Hallyn
2023-11-28 12:24 ` James Bottomley [this message]
2023-11-28 14:34 ` Serge E. Hallyn
2023-11-28 14:37 ` James Bottomley
2023-12-04 4:03 ` Jarkko Sakkinen
2023-11-28 14:42 ` [PATCH v5 0/8] Extend struct tpm_buf to support sized buffers (TPM2B) Serge E. Hallyn
2023-12-04 4:06 ` 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=2de19a94132c6277cd754bc10eaf5df6a57f4434.camel@linux.ibm.com \
--to=jejb@linux.ibm.com \
--cc=dhowells@redhat.com \
--cc=jarkko@kernel.org \
--cc=jmorris@namei.org \
--cc=linux-integrity@vger.kernel.org \
--cc=paul@paul-moore.com \
--cc=serge@hallyn.com \
--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