diff options
author | Wenwen Wang <wang6495@umn.edu> | 2018-12-26 20:15:13 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-02-20 10:13:13 +0100 |
commit | 4c549499c4c96c876289c73dca2e7ed995d80de8 (patch) | |
tree | 99b8eee202c94c4ad8a9c3a0029acb727fba3e36 | |
parent | cab4f01c9cd250b207f869a301c71d075499a39d (diff) | |
download | linux-stable-4c549499c4c96c876289c73dca2e7ed995d80de8.tar.gz linux-stable-4c549499c4c96c876289c73dca2e7ed995d80de8.tar.bz2 linux-stable-4c549499c4c96c876289c73dca2e7ed995d80de8.zip |
gdrom: fix a memory leak bug
[ Upstream commit 093c48213ee37c3c3ff1cf5ac1aa2a9d8bc66017 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-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 e2808fefbb78..1852d19d0d7b 100644 --- a/drivers/cdrom/gdrom.c +++ b/drivers/cdrom/gdrom.c @@ -882,6 +882,7 @@ static void __exit exit_gdrom(void) platform_device_unregister(pd); platform_driver_unregister(&gdrom_driver); kfree(gd.toc); + kfree(gd.cd_info); } module_init(init_gdrom); |