Revert "ALSA: seq: Protect in-kernel ioctl calls with mutex"

This reverts commit feb689025f.

The fix attempt was incorrect, leading to the mutex deadlock through
the close of OSS sequencer client.  The proper fix needs more
consideration, so let's revert it now.

Fixes: feb689025f ("ALSA: seq: Protect in-kernel ioctl calls with mutex")
Reported-by: syzbot+47ded6c0f23016cde310@syzkaller.appspotmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2019-04-11 19:58:32 +02:00
parent 5d704b0d3b
commit f0654ba94e
1 changed files with 2 additions and 7 deletions

View File

@ -2334,19 +2334,14 @@ int snd_seq_kernel_client_ctl(int clientid, unsigned int cmd, void *arg)
{ {
const struct ioctl_handler *handler; const struct ioctl_handler *handler;
struct snd_seq_client *client; struct snd_seq_client *client;
int err;
client = clientptr(clientid); client = clientptr(clientid);
if (client == NULL) if (client == NULL)
return -ENXIO; return -ENXIO;
for (handler = ioctl_handlers; handler->cmd > 0; ++handler) { for (handler = ioctl_handlers; handler->cmd > 0; ++handler) {
if (handler->cmd == cmd) { if (handler->cmd == cmd)
mutex_lock(&client->ioctl_mutex); return handler->func(client, arg);
err = handler->func(client, arg);
mutex_unlock(&client->ioctl_mutex);
return err;
}
} }
pr_debug("ALSA: seq unknown ioctl() 0x%x (type='%c', number=0x%02x)\n", pr_debug("ALSA: seq unknown ioctl() 0x%x (type='%c', number=0x%02x)\n",