From: Takashi Iwai Date: Mon, 9 Oct 2017 12:26:27 +0000 (+0200) Subject: ALSA: line6: Fix NULL dereference at podhd_disconnect() X-Git-Tag: Ubuntu-4.13.0-17.20~42 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=f2ad09b00bc646efde987eb13b486502d9feffaa;p=mirror_ubuntu-artful-kernel.git ALSA: line6: Fix NULL dereference at podhd_disconnect() 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 Tested-by: Andrey Konovalov Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman Signed-off-by: Seth Forshee --- diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c index 956f847a96e4..cfcd80092a54 100644 --- a/sound/usb/line6/podhd.c +++ b/sound/usb/line6/podhd.c @@ -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); } }