[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] vTPM: Fix Atmel timeout bug.



On 11/10/2014 07:01 AM, Ian Campbell wrote:
On Thu, 2014-11-06 at 17:01 -0500, Daniel De Graaf wrote:
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.

Can we take that as an ack?

Yes.  I was going to check to see if the printks would cause people to see
problems where the timeouts were already reasonable, but since the mini-os
driver is already quite verbose, this should not be a problem.  It might
be nice to output the old/new value of the timeout, but that's mostly for
the curious rather than actually necessary.

Also needs the ok from Konrad as release manager. AIUI this is a bugfix
for a particular piece of h/w and as Daniel explains above the downside
is that sometimes someone might need to wait 0.75s for a timeout instead
of something shorter.

--
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.