On Wed, Dec 13, 2017 at 08:34:36PM +0800, Jia-Ju Bai wrote:
> According to drivers/usb/serial/io_edgeport.c, the driver may sleep
> under a spinlock.
> The function call path is:
> edge_bulk_in_callback (acquire the spinlock)
> process_rcvd_data
> process_rcvd_status
> change_port_settings
> send_iosp_ext_cmd
> write_cmd_usb
> usb_kill_urb --> may sleep
>
> To fix it, usb_kill_urb() is removed from the error path after
> usb_submit_urb() fails.
I added a "the redundant" before "usb_kill_urb()" in the above sentence
to make it more clear why this was done.
> This possible bug is found by my static analysis tool (DSAC) and checked by
> my code review.
And line-wrapped you commit message (at about 72 columns).
I also used a common prefix and shortened the summary to:
USB: serial: io_edgeport: fix possible sleep-in-atomic
Just some minor nits, that you can keep in mind for your next patch
submission.
> Signed-off-by: Jia-Ju Bai <[email protected]>
Thanks for reporting and fixing this. Now applied for -next.
Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html