Messages in this thread | | | Date | Thu, 15 Mar 2012 17:57:40 +0400 | From | Sergei Shtylyov <> | Subject | Re: [PATCH] USB: Gadget: Composite: Added error handling codes to prevent a memory leak case when the configuration's bind function failed |
| |
Hello.
On 15-03-2012 5:23, Yongsul@vger.kernel.org wrote:
> From: yongsul96.oh@samsung.com<yongsul96.oh@samsung.com>
> In some usb gadget driver, for example usb gadget serial driver(serial.c), > multifunction composite driver(multi,c), nokia composite gadget driver(nokia.c), > HID composite driver(hid.c), CDC composite driver(cdc2.c).., the configuration's > bind function by called the 'usb_add_config()' has multiple bind config functions > for each functionality, for example cdc2 configuration bind function -'cdc_do_config()' > has two functionality bind config functions -'ecm_bind_config()'& 'acm_bind_config()' > in CDC composite driver. > In each functionality bind config function, new instance for each functionality is > allocated& initialized by 'kzalloc()' ,and finally the new instance is added by > 'usb_add_function()'. After 'usb_add_function' state, already created the instance > is only handled by its configuration& freed from functionality unbind function. > So, If an error occurred during the second functionality bind config state, for example > an error occurred at 'acm_bind_config()' after succeeding 'ecm_bind_function()', > The created instance by 'acm_bind_config()' cannot be freed. > And it makes memory leak situation.
> This patch fixes this issue.
> Signed-off-by: yongsul96.oh@samsung.com <yongsul96.oh@samsung.com>
Real name is required on the left, not another copy of email.
WBR, Sergei
| |