On Fri, 11 Mar 2005 15:20:30 -0500 (EST), Alan Stern
<[EMAIL PROTECTED]> wrote:
> On Fri, 11 Mar 2005, Nick Sillik wrote:
>
> > I'm resubmitting the patch with the wrap removed and the list in the
> > onetouch
> > struct. I also changed usb_unlink_urb usb_kill_urb.
>
> > +int onetouch_release_input(struct us_data *ss)
> <...>
> > + usb_unlink_urb(onetouch->irq);
>
> Should be usb_kill_urb again.
>
> > + input_unregister_device(&onetouch->dev);
> > + usb_free_urb(onetouch->irq);
> > + usb_buffer_free(onetouch->udev, ONETOUCH_PKT_LEN,
> > + onetouch->data, onetouch->data_dma);
> > + kfree(onetouch);
>
> I'm not too familiar with the input layer. Can't this code run while a
> user still has the input device file open? If it does, what will happen
> when the user later closes the device file and onetouch_close tries to
> dereference a pointer to deallocated memory?
It is OK, input layer will not try to call close on a device taht is
marked dead.
> In usb.c:usb_stor_release_resources():
> > + /* Attempt to connect the onetouch urb to the device */
> > + /* Note: If the CONFIG_USB_STORAGE_ONETOUCH is not set */
> > + /* onetouch_connect_input(us) will always return 0 */
> > + switch (onetouch_connect_input(us)) {
> > + case 0:
> > + break;
> > + default:
> > + printk(KERN_WARNING USB_STORAGE
> > + "Unable to allocate onetouch urb\n");
> > + }
> > +
> > /* Kill the control thread. The SCSI host must already have been
> > * removed so it won't try to queue any more commands.
> > */
>
> Looks like you cut & pasted instead of writing the correct code here.
>
May we have it converted to "if", pretty please? I don't think it will
ever act on return code from onetouch_connect_input.
--
Dmitry
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel