8 Aug
2019
8 Aug
'19
8:20 a.m.
On Thu, 08 Aug 2019 07:15:21 +0200, Wenwen Wang wrote:
In sound_insert_unit(), the controlling structure 's' is allocated through kmalloc(). Then it is added to the sound driver list by invoking __sound_insert_unit(). Later on, if __register_chrdev() fails, 's' is removed from the list through __sound_remove_unit(). If 'index' is not less than 0, -EBUSY is returned to indicate the error. However, 's' is not deallocated on this execution path, leading to a memory leak bug.
To fix the above issue, free 's' before -EBUSY is returned.
Signed-off-by: Wenwen Wang wenwen@cs.uga.edu
Oh, it's a really old bug. Applied now.
Thanks!
Takashi