Hi Jarkko,

I found a bug in this last night, please hold off.

Jason


On Feb 13, 2016 3:08 AM, Jarkko Sakkinen <jarkko.sakki...@linux.intel.com> 
wrote:
>
> On Fri, Feb 12, 2016 at 05:04:29PM -0700, Jason Gunthorpe wrote: 
> > This was missed during the struct device conversion, we 
> > need to hold a kref on the chip to make sure it isn't freed. 
> > 
> > Signed-off-by: Jason Gunthorpe <jguntho...@obsidianresearch.com> 
>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakki...@linux.intel.cm> 
>
> For rest of the patches I'll look at them post-v4.5. I'm still waiting 
> for my first pull request containing fixes for that release to be 
> taken. 
>
> James, would it be possible to take the pull request containing fixes 
> soon that I origianally sent already in Jan and bit updated version 
> few days ago [1]? I still have one more pull request coming after that. It 
> will 
> contain only few line changes: 
>
> * Missing put_device() in two places. 
> * There is a small change to ABI behavior (I'll post it 
>   soon) of policy sealing so I really need it for this release because 
>   4.5 is the first release containing this feature and I cannot change 
>   it when the release is tagged. 
>
> Thank you. 
>
> [1] http://www.gossamer-threads.com/lists/linux/kernel/2366902 
>
> /Jarkko 
>
>
> > --- 
> >  drivers/char/tpm/tpm-chip.c | 2 ++ 
> >  drivers/char/tpm/tpm.h      | 1 + 
> >  2 files changed, 3 insertions(+) 
> > 
> > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c 
> > index 45cc39aabeee..ae2fed8a162b 100644 
> > --- a/drivers/char/tpm/tpm-chip.c 
> > +++ b/drivers/char/tpm/tpm-chip.c 
> > @@ -53,6 +53,8 @@ struct tpm_chip *tpm_chip_find_get(int chip_num) 
> >  chip = pos; 
> >  break; 
> >  } 
> > + 
> > + get_device(&chip->dev); 
> >  } 
> >  rcu_read_unlock(); 
> >  return chip; 
> > diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h 
> > index 542a80cbfd9c..f6ba79d91857 100644 
> > --- a/drivers/char/tpm/tpm.h 
> > +++ b/drivers/char/tpm/tpm.h 
> > @@ -207,6 +207,7 @@ struct tpm_chip { 
> >  static inline void tpm_chip_put(struct tpm_chip *chip) 
> >  { 
> >  module_put(chip->pdev->driver->owner); 
> > + put_device(&chip->dev); 
> >  } 
> >  
> >  static inline int tpm_read_index(int base, int index) 
> > -- 
> > 2.1.4 
> > 

Reply via email to