Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1270005
| From | Felipe Ferreri Tonello <eu@felipetonello.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v5 4/7] usb: gadget: f_midi: fix leak on failed to enqueue out requests |
| Date | 2015-11-16 12:10 +0100 |
| Message-ID | <qvpPB-6yp-23@gated-at.bofh.it> (permalink) |
| References | <qtln3-8aF-7@gated-at.bofh.it> <qtln4-8aF-15@gated-at.bofh.it> <qui3N-41Z-29@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
[Multipart message — attachments visible in raw view] - view raw
Hi Robert,
On 13/11/15 08:31, Robert Baldyga wrote:
> Hi Felipe,
>
> On 11/10/2015 06:52 PM, Felipe F. Tonello wrote:
>> This patch fixes a memory leak that occurs when an endpoint fails to enqueue
>> the request. If that happens the complete function will never be called, thus
>> never freeing the request.
>>
>> Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
>> ---
>> drivers/usb/gadget/function/f_midi.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
>> index f36db2d..76ea53c 100644
>> --- a/drivers/usb/gadget/function/f_midi.c
>> +++ b/drivers/usb/gadget/function/f_midi.c
>> @@ -345,6 +345,7 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>> if (err) {
>> ERROR(midi, "%s queue req: %d\n",
>> midi->out_ep->name, err);
>> + free_ep_req(midi->out_ep, req);
>> }
>> }
>>
>>
>
> There is one more thing I haven't noticed before. We can have situation
> when all requests were allocated successfully, but their allocation
> failed. What we get then is set_alt() returning 0, while no request is
> allocated, hence the function is, in fact, inactive.
Right. So in this case should we return some error? We can restrict the
function to work iff allocates the 'qlen' number of allocations,
otherwise returns an error and frees all other requests (IN and OUT).
--
Felipe
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v5 4/7] usb: gadget: f_midi: fix leak on failed to enqueue out requests "Felipe F. Tonello" <eu@felipetonello.com> - 2015-11-10 19:00 +0100
Re: [PATCH v5 4/7] usb: gadget: f_midi: fix leak on failed to enqueue out requests Robert Baldyga <r.baldyga@samsung.com> - 2015-11-13 09:40 +0100
Re: [PATCH v5 4/7] usb: gadget: f_midi: fix leak on failed to enqueue out requests Felipe Ferreri Tonello <eu@felipetonello.com> - 2015-11-16 12:10 +0100
Re: [PATCH v5 4/7] usb: gadget: f_midi: fix leak on failed to enqueue out requests Robert Baldyga <r.baldyga@samsung.com> - 2015-11-16 12:50 +0100
Re: [PATCH v5 4/7] usb: gadget: f_midi: fix leak on failed to enqueue out requests Felipe Ferreri Tonello <eu@felipetonello.com> - 2015-11-25 14:10 +0100
csiph-web