Thread (13 messages) 13 messages, 4 authors, 2018-03-05

[PATCH 3/5] tpm: migrate tpm2_probe() to use struct tpm_buf

From: Jarkko Sakkinen <hidden>
Date: 2018-03-05 11:11:07
Also in: keyrings, linux-integrity, lkml

On Thu, Mar 01, 2018 at 02:10:17PM -0800, J Freyensee wrote:
.
.
.
I'm new to this area of the kernel, but I'm not getting these lines:
quoted
+	rc = tpm_transmit_cmd(chip, NULL, buf.data, PAGE_SIZE, 0, 0, NULL);
+	tpm_buf_destroy(&buf);
  	if (rc <  0)
Why is this if() check not directly after the tpm_transmit_cmd() call that
sets rc?? Is it correct you want to destroy buf regardless of the
tpm_transmit_cmd() outcome?
quoted
  		return rc;
-
-	if (be16_to_cpu(cmd.header.out.tag) == TPM2_ST_NO_SESSIONS)
+	out = (struct tpm_output_header *)buf.data;
So buf has been destroyed, buf.data sill has something valid to assign to
out?
quoted
+	if (be16_to_cpu(out->tag) == TPM2_ST_NO_SESSIONS)
  		chip->flags |= TPM_CHIP_FLAG_TPM2;
  	return 0;
Thanks,
Jay
Nope it is a regression in the patch. Thank you :-) tpm_buf_destroy()
can be called if the response data is not needed other than everything
went OK (tpm_transmit_cmd() already digs this info).

/Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help