[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56E2856E.2070306@ladisch.de>
Date: Fri, 11 Mar 2016 09:44:30 +0100
From: Clemens Ladisch <clemens@...isch.de>
To: Steve Calfee <stevecalfee@...il.com>,
"Felipe F. Tonello" <eu@...ipetonello.com>
Cc: USB list <linux-usb@...r.kernel.org>,
Kernel development list <linux-kernel@...r.kernel.org>,
Felipe Balbi <balbi@...nel.org>,
Michal Nazarewicz <mina86@...a86.com>,
Robert Baldyga <r.baldyga@...sung.com>
Subject: Re: [PATCH] usb: gadget: f_midi: Fixed a bug when buflen was smaller
than wMaxPacketSize
Steve Calfee wrote:
> On Wed, Mar 9, 2016 at 11:39 AM, Felipe F. Tonello <eu@...ipetonello.com> wrote:
>> [...]
>> This patch fixes this problem by setting the minimum usb_request's buffer size
>> for the OUT endpoint as its wMaxPacketSize.
>>
>> --- a/drivers/usb/gadget/function/f_midi.c
>> +++ b/drivers/usb/gadget/function/f_midi.c
>> @@ -366,7 +366,9 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>> struct usb_request *req =
>> - midi_alloc_ep_req(midi->out_ep, midi->buflen);
>> + midi_alloc_ep_req(midi->out_ep,
>> + max_t(unsigned, midi->buflen,
>> + bulk_out_desc.wMaxPacketSize));
>
> Won't you get a buffer overrun if midi->buflen is less than wMaxPacketSize?
No. f_midi_handle_out_data() uses only the request buffer.
Regards,
Clemens
Powered by blists - more mailing lists