From: Takashi Iwai Date: Thu, 25 Sep 2008 12:51:03 +0000 (+0200) Subject: ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*() X-Git-Tag: v2.6.27-rc8~14^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=399ccdc1cd4e92e541d4dacbbf18c52bd693418b;p=pandora-kernel.git ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*() The PCM and rawmidi open callbacks have a lock against card->controls_list but it takes a wrong one, card->controls_rwsem, instead of a right one card->ctl_files_rwlock. This patch fixes them. This change also fixes automatically the potential deadlocks due to mm->mmap_sem in munmap and copy_from/to_user, reported by Sitsofe Wheeler: A: snd_ctl_elem_user_tlv(): card->controls_rwsem => mm->mmap_sem B: snd_pcm_open(): card->open_mutex => card->controls_rwsem C: munmap: mm->mmap_sem => snd_pcm_release(): card->open_mutex The patch breaks the chain. Signed-off-by: Takashi Iwai --- Reading git-diff-tree failed