ALSA: pcm: Abort properly at pending signal in OSS read/write loops
authorTakashi Iwai <tiwai@suse.de>
Mon, 8 Jan 2018 12:58:31 +0000 (13:58 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 8 Jan 2018 14:16:52 +0000 (15:16 +0100)
commit29159a4ed7044c52e3e2cf1a9fb55cec4745c60b
tree84f30f823082ca2dc6b1ef39802b52deed27a3b8
parent898dfe4687f460ba337a01c11549f87269a13fa2
ALSA: pcm: Abort properly at pending signal in OSS read/write loops

The loops for read and write in PCM OSS emulation have no proper check
of pending signals, and they keep processing even after user tries to
break.  This results in a very long delay, often seen as RCU stall
when a huge unprocessed bytes remain queued.  The bug could be easily
triggered by syzkaller.

As a simple workaround, this patch adds the proper check of pending
signals and aborts the loop appropriately.

Reported-by: syzbot+993cb4cfcbbff3947c21@syzkaller.appspotmail.com
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/oss/pcm_oss.c