| From 6f76c19feab10f6d380287fadd2907e5c8423795 Mon Sep 17 00:00:00 2001 |
| From: Wenwen Wang <wang6495@umn.edu> |
| Date: Wed, 26 Dec 2018 20:15:13 -0600 |
| Subject: 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> |
| --- |
| drivers/cdrom/gdrom.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c |
| index ae3a7537cf0f..72cd96a8eb19 100644 |
| --- a/drivers/cdrom/gdrom.c |
| +++ b/drivers/cdrom/gdrom.c |
| @@ -889,6 +889,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); |
| -- |
| 2.19.1 |
| |