ALSA: seq: Don't allow resizing pool in use
authorTakashi Iwai <[email protected]>
Mon, 5 Mar 2018 21:00:55 +0000 (22:00 +0100)
committerTakashi Iwai <[email protected]>
Thu, 8 Mar 2018 07:59:26 +0000 (08:59 +0100)
commitd85739367c6d56e475c281945c68fdb05ca74b4c
treedbe72abbd30b4eb2f85f2946d5c79ff42e886dbc
parente312a869cd726c698a75caca0d9e5c22fd3f1534
ALSA: seq: Don't allow resizing pool in use

This is a fix for a (sort of) fallout in the recent commit
d15d662e89fc ("ALSA: seq: Fix racy pool initializations") for
CVE-2018-1000004.
As the pool resize deletes the existing cells, it may lead to a race
when another thread is writing concurrently, eventually resulting a
UAF.

A simple workaround is not to allow the pool resizing when the pool is
in use.  It's an invalid behavior in anyway.

Fixes: d15d662e89fc ("ALSA: seq: Fix racy pool initializations")
Reported-by: 范龙飞 <[email protected]>
Reported-by: Nicolai Stange <[email protected]>
Cc: <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
sound/core/seq/seq_clientmgr.c