linux-security-module.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero
       [not found] <20170415152622.14451-1-user@jsakkine-mobl1>
@ 2017-04-15 16:04 ` Maciej S. Szmigiero
  2017-04-19 15:12   ` Jarkko Sakkinen
  2017-04-15 20:50 ` Greg KH
  1 sibling, 1 reply; 7+ messages in thread
From: Maciej S. Szmigiero @ 2017-04-15 16:04 UTC (permalink / raw)
  To: linux-security-module

Hi Jarkko,

On 15.04.2017 17:26, Jarkko Sakkinen wrote:
> From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
>
> Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for
> TPM access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version 13.9)
> no longer works.  The initialization proceeds fine until we get and
> start using chip-reported timeouts - and the chip reports C and D
> timeouts of zero.
>
> It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
> means to override the chip returned timeouts") we had actually let
> default timeout values remain in this case, so let's bring back this
> behavior to make chips like Atmel 3203 work again.
>
> Use a common code that was introduced by that commit so a warning is
> printed in this case and /sys/class/tpm/tpm*/timeouts correctly says the
> timeouts aren't chip-original.
>
> Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM access")
> Cc: stable at vger.kernel.org
> Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> ---
> Backport v4.9. Can you test it?
>  drivers/char/tpm/tpm-interface.c | 59 ++++++++++++++++++++++------------------
>  drivers/char/tpm/tpm_tis.c       |  2 +-
>  drivers/char/tpm/tpm_tis_core.c  |  6 ++--
>  drivers/char/tpm/tpm_tis_core.h  |  2 +-
>  4 files changed, 38 insertions(+), 31 deletions(-)
>
> diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
> index 3a9149cf0110..4c914fe25802 100644
> --- a/drivers/char/tpm/tpm-interface.c
> +++ b/drivers/char/tpm/tpm-interface.c
(..)
> @@ -537,16 +537,15 @@ int tpm_get_timeouts(struct tpm_chip *chip)
>  		goto duration;
>  	}
>
> -	if (be32_to_cpu(tpm_cmd.header.out.return_code) != 0 ||
> -	    be32_to_cpu(tpm_cmd.header.out.length)
> -	    != sizeof(tpm_cmd.header.out) + sizeof(u32) + 4 * sizeof(u32))
> -		return -EINVAL;
> -

Is this part right?
These tests weren't removed by this commit as present in the mainline kernel.

Maciej

--
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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero
       [not found] <20170415152622.14451-1-user@jsakkine-mobl1>
  2017-04-15 16:04 ` [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero Maciej S. Szmigiero
@ 2017-04-15 20:50 ` Greg KH
  2017-04-16 19:14   ` [tpmdd-devel] " Paul Menzel
  1 sibling, 1 reply; 7+ messages in thread
From: Greg KH @ 2017-04-15 20:50 UTC (permalink / raw)
  To: linux-security-module

On Sat, Apr 15, 2017 at 06:26:22PM +0300, Jarkko Sakkinen wrote:
> From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
> 
> Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for
> TPM access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version 13.9)
> no longer works.  The initialization proceeds fine until we get and
> start using chip-reported timeouts - and the chip reports C and D
> timeouts of zero.
> 
> It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
> means to override the chip returned timeouts") we had actually let
> default timeout values remain in this case, so let's bring back this
> behavior to make chips like Atmel 3203 work again.
> 
> Use a common code that was introduced by that commit so a warning is
> printed in this case and /sys/class/tpm/tpm*/timeouts correctly says the
> timeouts aren't chip-original.
> 
> Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM access")
> Cc: stable at vger.kernel.org
> Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

What is the git commit id for this patch in Linus's tree?

thanks,

greg k-h
--
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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tpmdd-devel] [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero
  2017-04-15 20:50 ` Greg KH
@ 2017-04-16 19:14   ` Paul Menzel
  2017-04-19 15:29     ` Jarkko Sakkinen
  0 siblings, 1 reply; 7+ messages in thread
From: Paul Menzel @ 2017-04-16 19:14 UTC (permalink / raw)
  To: linux-security-module

Dear Greg,


On 2017-04-15 22:50, Greg KH wrote:
> On Sat, Apr 15, 2017 at 06:26:22PM +0300, Jarkko Sakkinen wrote:
>> From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
>> 
>> Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for
>> TPM access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version 
>> 13.9)
>> no longer works.  The initialization proceeds fine until we get and
>> start using chip-reported timeouts - and the chip reports C and D
>> timeouts of zero.
>> 
>> It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
>> means to override the chip returned timeouts") we had actually let
>> default timeout values remain in this case, so let's bring back this
>> behavior to make chips like Atmel 3203 work again.
>> 
>> Use a common code that was introduced by that commit so a warning is
>> printed in this case and /sys/class/tpm/tpm*/timeouts correctly says 
>> the
>> timeouts aren't chip-original.
>> 
>> Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM 
>> access")
>> Cc: stable at vger.kernel.org
>> Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
>> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
>> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> 
> What is the git commit id for this patch in Linus's tree?

The git commit hash is 1d70fe9d9c3a4c627f9757cbba5d628687b121c1.


Kind regards,

Paul
--
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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero
  2017-04-15 16:04 ` [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero Maciej S. Szmigiero
@ 2017-04-19 15:12   ` Jarkko Sakkinen
  0 siblings, 0 replies; 7+ messages in thread
From: Jarkko Sakkinen @ 2017-04-19 15:12 UTC (permalink / raw)
  To: linux-security-module

On Sat, Apr 15, 2017 at 06:04:05PM +0200, Maciej S. Szmigiero wrote:
> Hi Jarkko,
> 
> On 15.04.2017 17:26, Jarkko Sakkinen wrote:
> > From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
> > 
> > Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for
> > TPM access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version 13.9)
> > no longer works.  The initialization proceeds fine until we get and
> > start using chip-reported timeouts - and the chip reports C and D
> > timeouts of zero.
> > 
> > It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
> > means to override the chip returned timeouts") we had actually let
> > default timeout values remain in this case, so let's bring back this
> > behavior to make chips like Atmel 3203 work again.
> > 
> > Use a common code that was introduced by that commit so a warning is
> > printed in this case and /sys/class/tpm/tpm*/timeouts correctly says the
> > timeouts aren't chip-original.
> > 
> > Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM access")
> > Cc: stable at vger.kernel.org
> > Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
> > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > ---
> > Backport v4.9. Can you test it?
> >  drivers/char/tpm/tpm-interface.c | 59 ++++++++++++++++++++++------------------
> >  drivers/char/tpm/tpm_tis.c       |  2 +-
> >  drivers/char/tpm/tpm_tis_core.c  |  6 ++--
> >  drivers/char/tpm/tpm_tis_core.h  |  2 +-
> >  4 files changed, 38 insertions(+), 31 deletions(-)
> > 
> > diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
> > index 3a9149cf0110..4c914fe25802 100644
> > --- a/drivers/char/tpm/tpm-interface.c
> > +++ b/drivers/char/tpm/tpm-interface.c
> (..)
> > @@ -537,16 +537,15 @@ int tpm_get_timeouts(struct tpm_chip *chip)
> >  		goto duration;
> >  	}
> > 
> > -	if (be32_to_cpu(tpm_cmd.header.out.return_code) != 0 ||
> > -	    be32_to_cpu(tpm_cmd.header.out.length)
> > -	    != sizeof(tpm_cmd.header.out) + sizeof(u32) + 4 * sizeof(u32))
> > -		return -EINVAL;
> > -
> 
> Is this part right?
> These tests weren't removed by this commit as present in the mainline kernel.
> 
> Maciej

No it is not right. It is my bad. Sorry about this. My only excuse
is that I was rushing to the Easter holiday and that is not really
a good excuse.

/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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tpmdd-devel] [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero
  2017-04-16 19:14   ` [tpmdd-devel] " Paul Menzel
@ 2017-04-19 15:29     ` Jarkko Sakkinen
  2017-04-19 15:38       ` Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: Jarkko Sakkinen @ 2017-04-19 15:29 UTC (permalink / raw)
  To: linux-security-module

On Sun, Apr 16, 2017 at 09:14:29PM +0200, Paul Menzel wrote:
> Dear Greg,
> 
> 
> On 2017-04-15 22:50, Greg KH wrote:
> > On Sat, Apr 15, 2017 at 06:26:22PM +0300, Jarkko Sakkinen wrote:
> > > From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
> > > 
> > > Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for
> > > TPM access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version
> > > 13.9)
> > > no longer works.  The initialization proceeds fine until we get and
> > > start using chip-reported timeouts - and the chip reports C and D
> > > timeouts of zero.
> > > 
> > > It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
> > > means to override the chip returned timeouts") we had actually let
> > > default timeout values remain in this case, so let's bring back this
> > > behavior to make chips like Atmel 3203 work again.
> > > 
> > > Use a common code that was introduced by that commit so a warning is
> > > printed in this case and /sys/class/tpm/tpm*/timeouts correctly says
> > > the
> > > timeouts aren't chip-original.
> > > 
> > > Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM
> > > access")
> > > Cc: stable at vger.kernel.org
> > > Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
> > > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > 
> > What is the git commit id for this patch in Linus's tree?
> 
> The git commit hash is 1d70fe9d9c3a4c627f9757cbba5d628687b121c1.
> 
> 
> Kind regards,
> 
> Paul

Do you want me to revise the backport? Thanks.

/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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tpmdd-devel] [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero
  2017-04-19 15:29     ` Jarkko Sakkinen
@ 2017-04-19 15:38       ` Greg KH
  2017-04-23 12:14         ` Jarkko Sakkinen
  0 siblings, 1 reply; 7+ messages in thread
From: Greg KH @ 2017-04-19 15:38 UTC (permalink / raw)
  To: linux-security-module

On Wed, Apr 19, 2017 at 06:29:08PM +0300, Jarkko Sakkinen wrote:
> On Sun, Apr 16, 2017 at 09:14:29PM +0200, Paul Menzel wrote:
> > Dear Greg,
> > 
> > 
> > On 2017-04-15 22:50, Greg KH wrote:
> > > On Sat, Apr 15, 2017 at 06:26:22PM +0300, Jarkko Sakkinen wrote:
> > > > From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
> > > > 
> > > > Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for
> > > > TPM access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version
> > > > 13.9)
> > > > no longer works.  The initialization proceeds fine until we get and
> > > > start using chip-reported timeouts - and the chip reports C and D
> > > > timeouts of zero.
> > > > 
> > > > It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
> > > > means to override the chip returned timeouts") we had actually let
> > > > default timeout values remain in this case, so let's bring back this
> > > > behavior to make chips like Atmel 3203 work again.
> > > > 
> > > > Use a common code that was introduced by that commit so a warning is
> > > > printed in this case and /sys/class/tpm/tpm*/timeouts correctly says
> > > > the
> > > > timeouts aren't chip-original.
> > > > 
> > > > Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM
> > > > access")
> > > > Cc: stable at vger.kernel.org
> > > > Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
> > > > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > > 
> > > What is the git commit id for this patch in Linus's tree?
> > 
> > The git commit hash is 1d70fe9d9c3a4c627f9757cbba5d628687b121c1.
> > 
> > 
> > Kind regards,
> > 
> > Paul
> 
> Do you want me to revise the backport? Thanks.

I can't take it as-is, so yes, if you want it applied, it needs to be
fixed :)

thanks,

greg k-h
--
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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tpmdd-devel] [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero
  2017-04-19 15:38       ` Greg KH
@ 2017-04-23 12:14         ` Jarkko Sakkinen
  0 siblings, 0 replies; 7+ messages in thread
From: Jarkko Sakkinen @ 2017-04-23 12:14 UTC (permalink / raw)
  To: linux-security-module

On Wed, Apr 19, 2017 at 05:38:07PM +0200, Greg KH wrote:
> On Wed, Apr 19, 2017 at 06:29:08PM +0300, Jarkko Sakkinen wrote:
> > On Sun, Apr 16, 2017 at 09:14:29PM +0200, Paul Menzel wrote:
> > > Dear Greg,
> > > 
> > > 
> > > On 2017-04-15 22:50, Greg KH wrote:
> > > > On Sat, Apr 15, 2017 at 06:26:22PM +0300, Jarkko Sakkinen wrote:
> > > > > From: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
> > > > > 
> > > > > Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for
> > > > > TPM access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version
> > > > > 13.9)
> > > > > no longer works.  The initialization proceeds fine until we get and
> > > > > start using chip-reported timeouts - and the chip reports C and D
> > > > > timeouts of zero.
> > > > > 
> > > > > It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
> > > > > means to override the chip returned timeouts") we had actually let
> > > > > default timeout values remain in this case, so let's bring back this
> > > > > behavior to make chips like Atmel 3203 work again.
> > > > > 
> > > > > Use a common code that was introduced by that commit so a warning is
> > > > > printed in this case and /sys/class/tpm/tpm*/timeouts correctly says
> > > > > the
> > > > > timeouts aren't chip-original.
> > > > > 
> > > > > Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM
> > > > > access")
> > > > > Cc: stable at vger.kernel.org
> > > > > Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
> > > > > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > > > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > > > 
> > > > What is the git commit id for this patch in Linus's tree?
> > > 
> > > The git commit hash is 1d70fe9d9c3a4c627f9757cbba5d628687b121c1.
> > > 
> > > 
> > > Kind regards,
> > > 
> > > Paul
> > 
> > Do you want me to revise the backport? Thanks.
> 
> I can't take it as-is, so yes, if you want it applied, it needs to be
> fixed :)
> 
> thanks,
> 
> greg k-h

I will send it asap. Thanks.

/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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-04-23 12:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20170415152622.14451-1-user@jsakkine-mobl1>
2017-04-15 16:04 ` [backport v4.9] tpm_tis: use default timeout value if chip reports it as zero Maciej S. Szmigiero
2017-04-19 15:12   ` Jarkko Sakkinen
2017-04-15 20:50 ` Greg KH
2017-04-16 19:14   ` [tpmdd-devel] " Paul Menzel
2017-04-19 15:29     ` Jarkko Sakkinen
2017-04-19 15:38       ` Greg KH
2017-04-23 12:14         ` Jarkko Sakkinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).