All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	Emil Condrea <emilcondrea@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [PATCH] vTPM: Fix Atmel timeout bug.
Date: Thu, 06 Nov 2014 17:01:41 -0500	[thread overview]
Message-ID: <545BEFC5.3010803@tycho.nsa.gov> (raw)
In-Reply-To: <1415096148.11486.11.camel@citrix.com>

On 11/04/2014 05:15 AM, Ian Campbell wrote:
> On Thu, 2014-10-30 at 15:48 +0200, Emil Condrea wrote:
>> Of course we can use max, but I thought that it might be useful to
>> have a prink to inform the user that the timeout was adjusted.
>> In init_tpm_tis the default timeouts are set using:
>> /* Set default timeouts */ tpm->timeout_a =
>> MILLISECS(TIS_SHORT_TIMEOUT);//750*1000000UL tpm->timeout_b =
>> MILLISECS(TIS_LONG_TIMEOUT);//2000*1000000UL tpm->timeout_c =
>> MILLISECS(TIS_SHORT_TIMEOUT); tpm->timeout_d =
>> MILLISECS(TIS_SHORT_TIMEOUT);
>>
>>
>>
>> But in kernel fix they are set as 750*1000 instead of 750*1000000UL :
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/char/tpm/tpm_tis.c#n381
>> So if we want to integrate kernel changes I think we should use
>> MICROSECS(TIS_SHORT_TIMEOUT) which is 750000
>> Also in kernel the default timeouts are initialized using
>> msecs_to_jiffies which is different from MILLISECS
>> macro.: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/char/tpm/tpm_tis.c#n548
>> Is there a certain reason for not using msecs_to_jiffies ?
>
> jiffies are a Linux specific concept which mini-os doesn't share.
>
> Daniel, do you have any opinion on this patch?
>
> It seems like the Linux fix is made only for the specifically broken
> platform. That seems to make sense to me since presumably other systems
> report short timeouts which they can indeed cope with. It's only Atmel
> which brokenly reports something it cannot handle.
>
> Ian.

I agree that an adjustment is needed when values are too short.  Adjusting
in all cases is not quite as nice as only fixing the broken TPMs, but it
is a lot simpler.  It also doesn't seem harmful to have the timeouts be
too large in the driver: a properly functioning TPM will not time out its
requests in any case, so the user won't notice normally, and the default
short timeout is 0.75 seconds - very few people will complain if they have
to wait that long to get a timeout instead of what their TPM actually uses.

-- 
Daniel De Graaf
National Security Agency

  reply	other threads:[~2014-11-06 22:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-30 13:05 [PATCH] vTPM: Fix Atmel timeout bug Emil Condrea
2014-10-30 12:58 ` Andrew Cooper
2014-10-30 13:48   ` Emil Condrea
2014-11-04 10:15     ` Ian Campbell
2014-11-06 22:01       ` Daniel De Graaf [this message]
2014-11-07 10:45         ` Emil Condrea
2014-11-10 12:01         ` Ian Campbell
2014-11-10 14:35           ` Konrad Rzeszutek Wilk
2014-11-14 10:34             ` Ian Campbell
2014-11-10 22:10           ` Daniel De Graaf

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=545BEFC5.3010803@tycho.nsa.gov \
    --to=dgdegra@tycho.nsa.gov \
    --cc=Ian.Campbell@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=emilcondrea@gmail.com \
    --cc=xen-devel@lists.xen.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.