diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-05-24 03:07:44 +0300 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-05-25 16:37:16 +0300 | 
| commit | 2ee1cc70552e5520a275254427c0c37fc81728d2 (patch) | |
| tree | ec52f22a5a86985220b05afd12cb0701d31cd3ce /drivers/firmware/google/vpd.c | |
| parent | ce57cba37f3721c21e46adf21c61292dfd7a9c04 (diff) | |
| download | linux-2ee1cc70552e5520a275254427c0c37fc81728d2.tar.xz | |
firmware: vpd: do not leak kobjects
kobject_del() only unlinks kobject, we need to use kobject_put() to
make sure kobject will go away completely.
Fixes: 049a59db34eb ("firmware: Google VPD sysfs driver")
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/firmware/google/vpd.c')
| -rw-r--r-- | drivers/firmware/google/vpd.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/firmware/google/vpd.c b/drivers/firmware/google/vpd.c index db49c6f98153..31058d400bda 100644 --- a/drivers/firmware/google/vpd.c +++ b/drivers/firmware/google/vpd.c @@ -244,7 +244,7 @@ static int vpd_section_destroy(struct vpd_section *sec)  {  	if (sec->enabled) {  		vpd_section_attrib_destroy(sec); -		kobject_del(sec->kobj); +		kobject_put(sec->kobj);  		sysfs_remove_bin_file(vpd_kobj, &sec->bin_attr);  		kfree(sec->raw_name);  		iounmap(sec->baseaddr); @@ -331,7 +331,7 @@ static void __exit vpd_platform_exit(void)  {  	vpd_section_destroy(&ro_vpd);  	vpd_section_destroy(&rw_vpd); -	kobject_del(vpd_kobj); +	kobject_put(vpd_kobj);  }  module_init(vpd_platform_init);  | 
