Greg,

It is a problem because I use the pre-allocated buffer given by the layer
usb-serial.
Of course, I can create a new urb structure with a bigger buffer but I just
suggest that 
using the buffer stored in the usb_serial_device seems to be logic and like
a said, other driver use it without checking 
the buffer_size. Are you sure that the pl2303 is well protected against a
buffer overflow ?
What happens if a pl2303 device give a maxsize of 64 bytes like my device ?
The driver will then 
make a buffer overflow and a kernel panic may occur. This was the module I
used to study and write my own driver.


So I agree with the proposition of Oliver to add a buffer_size in the
usb_serial_driver structure.
This is very useful to prepare a buffer able to make bulk transfer.

Regards,

Alain



 
-----Message d'origine-----
De : Greg KH [mailto:[EMAIL PROTECTED] 
Envoyé : lundi 30 juillet 2007 17:04
À : [EMAIL PROTECTED]
Cc : linux-usb-devel@lists.sourceforge.net
Objet : Re: usb-serial.c question - potential Memory fault

On Mon, Jul 30, 2007 at 07:10:55AM +0200, [EMAIL PROTECTED] wrote:
> Hi Greg,
> 
> After a new complete reading of my code against usb-serial.c, I finally
> found ( I hope ) my problem.
> In usb-serial.c, when bulk_in/out buffers are initialized, each ?buffer
size
> are the same as the wMaxPacketSize given by the endpoint.
> So, in my case, my device have a value of 64 bytes and I send and receive
> bulk data that might have 256 bytes length !!! And like pl2303, I just
copy
> the user data to port->write_urb->transfer_buffer.
> For all driver that use usb-serial for the probe function, this can be a
> problem (like for me). I have checked for example the pl2303 that never
> check this value before the memcpy.

Why is this a problem for you?  You can use any size buffer you want if
you wish to send more data than what the usb-serial core provides for
you.  Lots of other drivers do that today.

thanks,

greg k-h


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to