Re: [PATCH] ALSA: usx2y: us144mkii: fix work UAF on disconnect
From: Takashi Iwai
Date: Wed Jul 01 2026 - 07:57:05 EST
On Wed, 01 Jul 2026 11:52:31 +0200,
HyeongJun An wrote:
>
> tascam_disconnect() cancels capture_work and midi_in_work before
> usb_kill_anchored_urbs() kills the capture/MIDI-in URBs. Those URBs
> self-resubmit, and their completion handlers reschedule the work.
>
> A URB that completes in the small window between cancel_work_sync() and
> usb_kill_anchored_urbs() therefore re-arms the work after its only
> cancel. Nothing cancels it again before snd_card_free() frees the
> card-private tascam structure, so the work handler then runs on freed
> memory.
>
> Kill the anchored URBs before cancelling the work; once the work is
> cancelled no remaining URB can complete to re-arm it.
>
> Fixes: c1bb0c13e430 ("ALSA: usb-audio: us144mkii: Implement audio capture and decoding")
> Cc: stable@xxxxxxxxxxxxxxx
> Assisted-by: Claude:claude-opus-4-8
> Signed-off-by: HyeongJun An <sammiee5311@xxxxxxxxx>
Applied now. Thanks.
Takashi