USB: serial: mxuport: fix use-after-free in probe error path
authorJohan Hovold <johan@kernel.org>
Sun, 8 May 2016 18:08:01 +0000 (20:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Jun 2016 19:12:47 +0000 (12:12 -0700)
commit37d2056c8dbe8b7727f684eb171d537a565d8a95
tree643d8059a2971ff5b4b916037ad034076f963d57
parentae7b7429b3343e50ae1884f817cba6a16ab01b9e
USB: serial: mxuport: fix use-after-free in probe error path

commit 9e45284984096314994777f27e1446dfbfd2f0d7 upstream.

The interface read and event URBs are submitted in attach, but were
never explicitly unlinked by the driver. Instead the URBs would have
been killed by usb-serial core on disconnect.

In case of a late probe error (e.g. due to failed minor allocation),
disconnect is never called and we could end up with active URBs for an
unbound interface. This in turn could lead to deallocated memory being
dereferenced in the completion callbacks.

Fixes: ee467a1f2066 ("USB: serial: add Moxa UPORT 12XX/14XX/16XX
driver")
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/mxuport.c