Re: [tpmdd-devel] [PATCH RFC v3 5/5] tpm2: expose resource manager via a device link /dev/tpms<n>

From: James Bottomley
Date: Mon Jan 16 2017 - 12:28:27 EST


On Mon, 2017-01-16 at 19:24 +0200, Jarkko Sakkinen wrote:
> On Mon, Jan 16, 2017 at 09:14:13AM -0700, Jason Gunthorpe wrote:
> > On Mon, Jan 16, 2017 at 03:12:11PM +0200, Jarkko Sakkinen wrote:
> >
> > > @@ -199,7 +227,9 @@ struct tpm_chip *tpm_chip_alloc(struct device
> > > *pdev,
> > > return chip;
> > >
> > > out:
> > > + put_device(&chip->devrm);
> > > put_device(&chip->dev);
> > > + put_device(&chip->devrm);
> > > return ERR_PTR(rc);
> > > }
> >
> > Something has gone wrong here..
>
> Not a big surprise. There were a bunch of these small patches
> that I had to squash. Thanks for spotting this.
>
> Funny that I didn't experiece any issues when I run my smoke
> tests.

It's the error path in tpm_chip_alloc: it's incredibly hard to trigger,
which is probably why your tests didn't see it. You basically either
have to be out of kernel memory or out of TPM device numbers.

James