All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Nayna Jain <nayna@linux.vnet.ibm.com>
Cc: linux-integrity@vger.kernel.org, Peter Huewe <peterhuewe@gmx.de>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] tpm: migrate tpm2_do_selftest() to use struct tpm_buf
Date: Thu, 15 Feb 2018 15:41:04 +0200	[thread overview]
Message-ID: <20180215134104.2m2vd5dhz25kzspq@linux.intel.com> (raw)
In-Reply-To: <f2cace35-b460-08d8-798b-9fb6b5acbcea@linux.vnet.ibm.com>

On Mon, Feb 12, 2018 at 02:31:43PM +0530, Nayna Jain wrote:
> 
> 
> On 02/09/2018 06:48 PM, Jarkko Sakkinen wrote:
> > As part of an ongoing effort to encapsulate TPM commands to struct
> > tpm_buf instead of using clunky union of structs, migrated
> > tpm2_do_selft_test() to use struct tpm_buf.
> > 
> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > ---
> > I wish this would be included as part of patch set that fixes the timing
> > issue.
> >   drivers/char/tpm/tpm2-cmd.c | 32 ++++++++++----------------------
> >   1 file changed, 10 insertions(+), 22 deletions(-)
> > 
> > diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
> > index c17e75348a99..a91a2c6f03a7 100644
> > --- a/drivers/char/tpm/tpm2-cmd.c
> > +++ b/drivers/char/tpm/tpm2-cmd.c
> > @@ -31,10 +31,6 @@ struct tpm2_startup_in {
> >   	__be16	startup_type;
> >   } __packed;
> > 
> > -struct tpm2_self_test_in {
> > -	u8	full_test;
> > -} __packed;
> > -
> >   struct tpm2_get_tpm_pt_in {
> >   	__be32	cap_id;
> >   	__be32	property_id;
> > @@ -60,7 +56,6 @@ struct tpm2_get_random_out {
> > 
> >   union tpm2_cmd_params {
> >   	struct	tpm2_startup_in		startup_in;
> > -	struct	tpm2_self_test_in	selftest_in;
> >   	struct	tpm2_get_tpm_pt_in	get_tpm_pt_in;
> >   	struct	tpm2_get_tpm_pt_out	get_tpm_pt_out;
> >   	struct	tpm2_get_random_in	getrandom_in;
> > @@ -823,16 +818,6 @@ unsigned long tpm2_calc_ordinal_duration(struct tpm_chip *chip, u32 ordinal)
> >   }
> >   EXPORT_SYMBOL_GPL(tpm2_calc_ordinal_duration);
> > 
> > -#define TPM2_SELF_TEST_IN_SIZE \
> > -	(sizeof(struct tpm_input_header) + \
> > -	 sizeof(struct tpm2_self_test_in))
> > -
> > -static const struct tpm_input_header tpm2_selftest_header = {
> > -	.tag = cpu_to_be16(TPM2_ST_NO_SESSIONS),
> > -	.length = cpu_to_be32(TPM2_SELF_TEST_IN_SIZE),
> > -	.ordinal = cpu_to_be32(TPM2_CC_SELF_TEST)
> > -};
> > -
> >   /**
> >    * tpm2_do_selftest() - ensure that all self tests have passed
> >    *
> > @@ -851,18 +836,21 @@ static int tpm2_do_selftest(struct tpm_chip *chip)
> >   	int rc;
> >   	unsigned int delay_msec = 10;
> >   	long duration;
> > -	struct tpm2_cmd cmd;
> > +	struct tpm_buf buf;
> > 
> >   	duration = jiffies_to_msecs(
> >   		tpm2_calc_ordinal_duration(chip, TPM2_CC_SELF_TEST));
> > 
> > -	while (1) {
> > -		cmd.header.in = tpm2_selftest_header;
> > -		cmd.params.selftest_in.full_test = 0;
> > -
> > -		rc = tpm_transmit_cmd(chip, NULL, &cmd, TPM2_SELF_TEST_IN_SIZE,
> > -				      0, 0, "continue selftest");
> > +	for (;;) {
> > +		rc = tpm_buf_init(&buf, TPM2_ST_NO_SESSIONS, TPM2_CC_SELF_TEST);
> > +		if (rc)
> > +			return rc;
> > 
> > +		/* Perform tests in the background. */
> > +		tpm_buf_append_u8(&buf, 0);
> > +		rc = tpm_transmit_cmd(chip, NULL, buf.data, PAGE_SIZE, 0, 0,
> > +				      "continue selftest");
> > +		tpm_buf_destroy(&buf);
> >   		if (rc != TPM2_RC_TESTING || delay_msec >= duration)
> >   			break;
> > 
> Tested-By: Nayna Jain <nayna@linux.vnet.ibm.com>

Thank you Nayna.

/Jarkko

      reply	other threads:[~2018-02-15 13:41 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-09 13:18 [PATCH] tpm: migrate tpm2_do_selftest() to use struct tpm_buf Jarkko Sakkinen
2018-02-12  9:01 ` Nayna Jain
2018-02-15 13:41   ` 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=20180215134104.2m2vd5dhz25kzspq@linux.intel.com \
    --to=jarkko.sakkinen@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nayna@linux.vnet.ibm.com \
    --cc=peterhuewe@gmx.de \
    /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.