OSDN Git Service

ALSA: seq: Protect racy pool manipulation from OSS sequencer
authorTakashi Iwai <tiwai@suse.de>
Fri, 12 Apr 2019 10:44:39 +0000 (12:44 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 12 Apr 2019 11:07:25 +0000 (13:07 +0200)
commit6b580f523172f2c738b661069a57c23c74a75f88
treed772938f0958be15c9f097fecfdccc39609c9b7b
parent6740ea6776e97274627e3c261469d1c4ba0a0cb5
ALSA: seq: Protect racy pool manipulation from OSS sequencer

OSS sequencer emulation still allows to queue and issue the events
that manipulate the client pool concurrently in a racy way.  This
patch serializes the access like the normal sequencer write / ioctl
via taking the client ioctl_mutex.  Since the access to the sequencer
client is done indirectly via a client id number, a new helper to
take/release the mutex is introduced.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/seq/oss/seq_oss_device.h
sound/core/seq/seq_clientmgr.c
sound/core/seq/seq_clientmgr.h