[PATCH v3 1/2] tpm: Unify the send callback behaviour

Jarkko Sakkinen jarkko.sakkinen at linux.intel.com
Fri Feb 8 17:59:46 UTC 2019


On Fri, Feb 08, 2019 at 11:36:19AM -0500, Stefan Berger wrote:
> On 2/8/19 11:30 AM, Jarkko Sakkinen wrote:
> >   static void tpm_nsc_cancel(struct tpm_chip *chip)
> > diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
> > index 60e2038652b8..1d781c19f112 100644
> > --- a/drivers/char/tpm/tpm_tis_core.c
> > +++ b/drivers/char/tpm/tpm_tis_core.c
> > @@ -507,7 +507,11 @@ static int tpm_tis_send(struct tpm_chip *chip, u8 *buf, size_t len)
> >   	if (!priv->irq_tested)
> >   		disable_interrupts(chip);
> >   	priv->irq_tested = true;
> > -	return rc;
> > +
> > +	if (rc < 0)
> > +		return rc;
> > +
> > +	return 0;
> >   }
> 
> 
> That's not all... There's this above it as well with tpm_tis_send_main
> returning with 'return len;'.
> 
>     if (!(chip->flags & TPM_CHIP_FLAG_IRQ) || priv->irq_tested)
>         return tpm_tis_send_main(chip, buf, len);

OK, looks like that your suggestion to do it in *_main() was correct
after all.

/Jarkko



More information about the Linux-security-module-archive mailing list