summaryrefslogtreecommitdiff
path: root/drivers/staging/gdm724x
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2017-04-26 13:23:04 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-28 13:32:49 +0300
commitb58f45c8fc301fe83ee28cad3e64686c19e78f1c (patch)
treeace8ffa7a9862264d5edfb74fc7e176fe0cca104 /drivers/staging/gdm724x
parentea82fc151c5c092afb08a72289252c359ac88f45 (diff)
downloadlinux-b58f45c8fc301fe83ee28cad3e64686c19e78f1c.tar.xz
staging: gdm724x: gdm_mux: fix use-after-free on module unload
Make sure to deregister the USB driver before releasing the tty driver to avoid use-after-free in the USB disconnect callback where the tty devices are deregistered. Fixes: 61e121047645 ("staging: gdm7240: adding LTE USB driver") Cc: stable <stable@vger.kernel.org> # 3.12 Cc: Won Kang <wkang77@gmail.com> Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/gdm724x')
-rw-r--r--drivers/staging/gdm724x/gdm_mux.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/staging/gdm724x/gdm_mux.c b/drivers/staging/gdm724x/gdm_mux.c
index aba32e22db0c..996b1f538aae 100644
--- a/drivers/staging/gdm724x/gdm_mux.c
+++ b/drivers/staging/gdm724x/gdm_mux.c
@@ -664,9 +664,8 @@ static int __init gdm_usb_mux_init(void)
static void __exit gdm_usb_mux_exit(void)
{
- unregister_lte_tty_driver();
-
usb_deregister(&gdm_mux_driver);
+ unregister_lte_tty_driver();
}
module_init(gdm_usb_mux_init);