[alsa-devel] [PATCH 3/3] ALSA: seq: Protect racy pool manipulation from OSS sequencer

Kai Vehmanen kai.vehmanen at linux.intel.com
Mon Apr 15 08:37:18 CEST 2019


Hi Takashi,

On Fri, 12 Apr 2019, Takashi Iwai wrote:

> +/* Unlock and unref the given client; for OSS sequencer use only */
> +void snd_seq_client_ioctl_unlock(int clientid)
> +{
> +	struct snd_seq_client *client;
> +
> +	client = snd_seq_client_use_ptr(clientid);
> +	if (WARN_ON(!client))
> +		return;
> +	mutex_unlock(&client->ioctl_mutex);
> +	snd_use_lock_free(&client->use_lock);
> +	snd_seq_client_unlock(client);

is that double-unlock intentional? snd_seq_client_unlock() seems to call
the same snd_use_lock_free for the same handle as on the previous line.

Br, Kai


More information about the Alsa-devel mailing list