diff options
author | Wenwen Wang <wang6495@umn.edu> | 2018-12-26 21:15:13 -0500 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-12-29 10:20:44 -0500 |
commit | 093c48213ee37c3c3ff1cf5ac1aa2a9d8bc66017 (patch) | |
tree | adfb5cabb32a5efc2060d232f577270fae3e2b48 /drivers/cdrom | |
parent | d52c499b476b2f82eebecdd5fc4be8318a4e8ef7 (diff) |
gdrom: fix a memory leak bug
In probe_gdrom(), the buffer pointed by 'gd.cd_info' is allocated through
kzalloc() and is used to hold the information of the gdrom device. To
register and unregister the device, the pointer 'gd.cd_info' is passed to
the functions register_cdrom() and unregister_cdrom(), respectively.
However, this buffer is not freed after it is used, which can cause a
memory leak bug.
This patch simply frees the buffer 'gd.cd_info' in exit_gdrom() to fix the
above issue.
Signed-off-by: Wenwen Wang <wang6495@umn.edu>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/cdrom')
-rw-r--r-- | drivers/cdrom/gdrom.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c index a5b8afe3609c..f8b7345fe1cb 100644 --- a/drivers/cdrom/gdrom.c +++ b/drivers/cdrom/gdrom.c | |||
@@ -873,6 +873,7 @@ static void __exit exit_gdrom(void) | |||
873 | platform_device_unregister(pd); | 873 | platform_device_unregister(pd); |
874 | platform_driver_unregister(&gdrom_driver); | 874 | platform_driver_unregister(&gdrom_driver); |
875 | kfree(gd.toc); | 875 | kfree(gd.toc); |
876 | kfree(gd.cd_info); | ||
876 | } | 877 | } |
877 | 878 | ||
878 | module_init(init_gdrom); | 879 | module_init(init_gdrom); |