lkml.org 
[lkml]   [2013]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] usb: dwc3: gadget: avoid memory leak when failing to allocate all eps
Hi Mr. Balbi, :)

On 09/11/2013 05:38 PM, David Cohen wrote:
> If dwc3_gadget_init_endpoint() fails after allocate some of the eps, we
> need to free their memory to avoid leak.
>
> Signed-off-by: David Cohen <david.a.cohen@linux.intel.com>
> ---
> drivers/usb/dwc3/gadget.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index f168eae..611bdba 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1707,8 +1707,13 @@ static void dwc3_gadget_free_endpoints(struct dwc3 *dwc)
>
> for (epnum = 0; epnum < DWC3_ENDPOINTS_NUM; epnum++) {
> dep = dwc->eps[epnum];
> + /*
> + * Because dwc was allocated by kzalloc() and eps are set
> + * in ascending order, we can assume no extra one was
> + * allocated after first dep == NULL.
> + */

Wrong assumption here. Please consider patch v2 instead.

BR, David Cohen



\
 
 \ /
  Last update: 2013-09-12 03:01    [W:0.037 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site