summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-08-04 07:58:07 +0800
committerJames Morris <jmorris@namei.org>2011-09-23 09:46:17 +1000
commitde69113ec1896443c732e8b812e8005fb44eeeeb (patch)
tree9885a62b06d34dd407deb1c6c597a4f8ed73153a /drivers/char
parent5ce5ed35939ece8a9c7e0f10c7f3d5bc000c6b64 (diff)
downloadlinux-de69113ec1896443c732e8b812e8005fb44eeeeb.tar.bz2
TPM: tpm_nsc: Fix a double free of pdev in cleanup_nsc
platform_device_unregister() will release all resources and remove it from the subsystem, then drop reference count by calling platform_device_put(). We should not call kfree(pdev) after platform_device_unregister(pdev). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/tpm/tpm_nsc.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/char/tpm/tpm_nsc.c b/drivers/char/tpm/tpm_nsc.c
index 82facc9104c7..4d2464871ada 100644
--- a/drivers/char/tpm/tpm_nsc.c
+++ b/drivers/char/tpm/tpm_nsc.c
@@ -396,8 +396,6 @@ static void __exit cleanup_nsc(void)
if (pdev) {
tpm_nsc_remove(&pdev->dev);
platform_device_unregister(pdev);
- kfree(pdev);
- pdev = NULL;
}
platform_driver_unregister(&nsc_drv);