Thread (7 messages) 7 messages, 3 authors, 2021-05-11

Re: [PATCH v2 1/1] trusted-keys: match tpm_get_ops on all return paths

From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: 2021-05-10 23:19:05
Also in: keyrings, linux-security-module, lkml

On Mon, 2021-05-10 at 17:04 -0400, Ben Boeckel wrote:
On Thu, Apr 29, 2021 at 15:21:56 -0400, Ben Boeckel wrote:
quoted
From: Ben Boeckel <redacted>

The `tpm_get_ops` call at the beginning of the function is not
paired
with a `tpm_put_ops` on this return path.

Fixes: f2219745250f ("security: keys: trusted: use ASN.1 TPM2 key
format for the blobs")
Reported-by: Dan Carpenter <redacted>
Signed-off-by: Ben Boeckel <redacted>
---
 security/keys/trusted-keys/trusted_tpm2.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/security/keys/trusted-keys/trusted_tpm2.c
b/security/keys/trusted-keys/trusted_tpm2.c
index 617fabd4d913..0165da386289 100644
--- a/security/keys/trusted-keys/trusted_tpm2.c
+++ b/security/keys/trusted-keys/trusted_tpm2.c
@@ -336,9 +336,9 @@ int tpm2_seal_trusted(struct tpm_chip *chip,
 			rc = -EPERM;
 	}
 	if (blob_len < 0)
-		return blob_len;
-
-	payload->blob_len = blob_len;
+		rc = blob_len;
+	else
+		payload->blob_len = blob_len;
 
 	tpm_put_ops(chip);
 	return rc;
Ping? Is this going to make 5.13? This fixes an issue that is in
5.13-rc1.
It's not urgent, since it's in an error in the ASN.1 encoder, the only
real way to produce it is if the system runs out of memory, which is
highly unlikely since the allocations are all GFP_KERNEL.  We've also
got another 8 or so weeks before 5.13 so there's time for this to go
through the normal review process.

James

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help