]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
ALSA: line6: Fix NULL dereference at podhd_disconnect()
authorTakashi Iwai <tiwai@suse.de>
Mon, 9 Oct 2017 12:26:27 +0000 (14:26 +0200)
committerSeth Forshee <seth.forshee@canonical.com>
Thu, 19 Oct 2017 14:49:34 +0000 (09:49 -0500)
BugLink: http://bugs.launchpad.net/bugs/1724669
commit 54a4b2b45817ea2365b40c923c098a26af0c0dbb upstream.

When podhd_init() failed with the acquiring a ctrl i/f, the line6
helper still calls the disconnect callback that eventually calls again
usb_driver_release_interface() with the NULL intf.

Put the proper NULL check before calling it for avoiding an Oops.

Fixes: fc90172ba283 ("ALSA: line6: Claim pod x3 usb data interface")
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
sound/usb/line6/podhd.c

index 956f847a96e45fdfbd171d81c525fd869acad1f8..cfcd80092a5499e24b7af39d93ee60848c7e7fe7 100644 (file)
@@ -301,7 +301,8 @@ static void podhd_disconnect(struct usb_line6 *line6)
 
                intf = usb_ifnum_to_if(line6->usbdev,
                                        pod->line6.properties->ctrl_if);
-               usb_driver_release_interface(&podhd_driver, intf);
+               if (intf)
+                       usb_driver_release_interface(&podhd_driver, intf);
        }
 }