]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
gdrom: fix a memory leak bug
authorWenwen Wang <wang6495@umn.edu>
Thu, 27 Dec 2018 02:15:13 +0000 (20:15 -0600)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 14 Aug 2019 09:18:49 +0000 (11:18 +0200)
BugLink: https://bugs.launchpad.net/bugs/1837664
[ 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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/cdrom/gdrom.c

index ae3a7537cf0fbce1f85d76446f3f2ca2087b151a..72cd96a8eb19d9accf4087c419ec4ce888a44460 100644 (file)
@@ -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);