• Takashi Iwai's avatar
    Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() · 99c23da0
    Takashi Iwai authored
    The sco_send_frame() also takes lock_sock() during memcpy_from_msg()
    call that may be endlessly blocked by a task with userfaultd
    technique, and this will result in a hung task watchdog trigger.
    
    Just like the similar fix for hci_sock_sendmsg() in commit
    92c685dc5de0 ("Bluetooth: reorganize functions..."), this patch moves
    the  memcpy_from_msg() out of lock_sock() for addressing the hang.
    
    This should be the last piece for fixing CVE-2021-3640 after a few
    already queued fixes.
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    99c23da0
sco.c 26.2 KB