Skip to content
Commit 03fb92a4 authored by Brooke Basile's avatar Brooke Basile Committed by Kalle Valo
Browse files

ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()



Calls to usb_kill_anchored_urbs() after usb_kill_urb() on multiprocessor
systems create a race condition in which usb_kill_anchored_urbs() deallocates
the URB before the completer callback is called in usb_kill_urb(), resulting
in a use-after-free.
To fix this, add proper lock protection to usb_kill_urb() calls that can
possibly run concurrently with usb_kill_anchored_urbs().

Reported-by: default avatar <syzbot+89bd486af9427a9fc605@syzkaller.appspotmail.com>
Link: https://syzkaller.appspot.com/bug?id=cabffad18eb74197f84871802fd2c5117b61febf


Signed-off-by: default avatarBrooke Basile <brookebasile@gmail.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200911071427.32354-1-brookebasile@gmail.com
parent 5a6bd84f
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment