All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tadeusz Struk <tadeusz.struk@intel.com>
To: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: jgg@ziepe.ca, linux-integrity@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 2/2] tpm: add support for partial reads
Date: Sun, 18 Nov 2018 19:05:19 -0800	[thread overview]
Message-ID: <90072f09-6388-b1f7-387b-42f056f8893d@intel.com> (raw)
In-Reply-To: <20181118074832.GG5897@linux.intel.com>

On 11/17/18 11:48 PM, Jarkko Sakkinen wrote:
>> +	if (priv->transmit_result || priv->partial_data) {
>> +		if (*off == 0)
>> +			priv->partial_data = priv->transmit_result;
>> +
>> +		ret_size = min_t(ssize_t, size, priv->partial_data);
>> +		if (ret_size <= 0) {
> When ret_size < 0? Shouldn't this be just "if (!ret_size)"?

What we want to check here is if ret_size is positive, which is a valid
value, or if it is negative or zero, which is an invalid value, so in
this case (!ret_size) will not work.

> 
>> 	/* Holds the resul of the last successful call to tpm_transmit() */
>>  	size_t transmit_result;
>> +	/* Holds the count how much of the response is still unread */
>> +	size_t partial_data;
> I'm otherwise happy how this look like but why call it partial_data.
> You cannot really tell from the name anything about its contents as
> data is very abstract term.
 
so I will rename these two to response_length and response_length_rem,
how does this sound?

> BTW, why you need the new variable anyway and not just decrease the
> variable where the length is original stored?

We need to have two variables, otherwise how do we tell if some part of
response was consumed to allow sending a new command?
The transmit_result is used for that. If it is zero then one can transmit
a new command even if the whole response is not consumed. The new variable
tracks how much of the response is still to be read. 

Thanks,
-- 
Tadeusz

  reply	other threads:[~2018-11-19  3:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-16 17:51 [PATCH 1/2] tpm: rename data_pending to transmit_result Tadeusz Struk
2018-11-16 17:51 ` [PATCH v4 2/2] tpm: add support for partial reads Tadeusz Struk
2018-11-18  7:48   ` Jarkko Sakkinen
2018-11-19  3:05     ` Tadeusz Struk [this message]
2018-11-19 13:58       ` Jarkko Sakkinen
2018-11-19 16:44         ` Tadeusz Struk
2018-11-19 17:28           ` Jarkko Sakkinen
2018-11-19 17:43             ` Tadeusz Struk
2018-11-18  7:41 ` [PATCH 1/2] tpm: rename data_pending to transmit_result 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=90072f09-6388-b1f7-387b-42f056f8893d@intel.com \
    --to=tadeusz.struk@intel.com \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    /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.