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: v4.13.8~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d88463d14579d031010caf7362634b00a5600fb;p=thirdparty%2Fkernel%2Fstable.git ALSA: line6: Fix NULL dereference at podhd_disconnect() 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 --- diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c index 956f847a96e45..cfcd80092a549 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); } }