Messages in this thread Patch in this message | | | From | Jason Gunthorpe <> | Subject | [PATCH 1/3] tpm: Hold the kref during tpm_chip_find_get | Date | Fri, 12 Feb 2016 17:04:29 -0700 |
| |
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 <jgunthorpe@obsidianresearch.com> --- 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
| |