Skip to content

Commit 68359a1

Browse files
committed
ALSA: line6: Sync the pending work cancel at disconnection
Recently syzkaller reported a UAF in LINE6 driver, and it's likely because we call cancel_delayed_work() at the disconnect callback instead of cancel_delayed_work_sync(). Let's use the correct one instead. Reported-by: [email protected] Suggested-by: Alan Stern <[email protected]> Cc: <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 6e8a914 commit 68359a1

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

sound/usb/line6/driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,7 @@ void line6_disconnect(struct usb_interface *interface)
840840
if (WARN_ON(usbdev != line6->usbdev))
841841
return;
842842

843-
cancel_delayed_work(&line6->startup_work);
843+
cancel_delayed_work_sync(&line6->startup_work);
844844

845845
if (line6->urb_listen != NULL)
846846
line6_stop_listen(line6);

0 commit comments

Comments
 (0)