kernel-ark/sound
Takashi Iwai 399ccdc1cd 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 <tiwai@suse.de>
2008-09-25 14:51:03 +02:00
..
aoa sound: Convert to menuconfig 2008-05-27 15:56:20 +02:00
arm [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
core ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*() 2008-09-25 14:51:03 +02:00
drivers Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-07-14 15:51:11 -07:00
i2c V4L/DVB (8523): v4l2-dev: remove unused type and type2 field from video_device 2008-07-27 11:07:10 -03:00
isa ALSA: cs4232: fix crash during chip PNP detection 2008-07-27 10:22:27 +02:00
mips removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
oss [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
parisc sound: Convert to menuconfig 2008-05-27 15:56:20 +02:00
pci ALSA: hda - Add mic-boost controls to ALC662/663 auto configuration 2008-09-02 17:25:35 +02:00
pcmcia ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver 2008-07-10 09:32:57 +02:00
ppc ALSA: remove CONFIG_KMOD from sound 2008-07-10 09:32:58 +02:00
sh sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
soc ALSA: ASoC: Fix at32-pcm build breakage with PM enabled 2008-09-22 12:14:28 +02:00
sparc ALSA: make sparc/dbri.c:snd_dbri_proc() static 2008-06-06 11:55:05 +02:00
spi sound: Convert to menuconfig 2008-05-27 15:56:20 +02:00
synth [ALSA] emux midi synthesizer doesn't honor SOFT_PEDAL-release event 2008-05-13 14:47:43 +02:00
usb ALSA: usb-audio: add some Yamaha USB MIDI quirks 2008-07-10 11:05:42 +02:00
ac97_bus.c [ALSA] ac97_bus power management 2007-02-09 09:03:54 +01:00
Kconfig Fix CONFIG_AC97_BUS dependency 2008-09-06 11:43:41 +02:00
last.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
Makefile [ALSA] Add SPI devices to ALSA Kconfig and Makefile 2007-10-16 15:57:47 +02:00
sound_core.c device create: sound: convert device_create to device_create_drvdata 2008-07-21 21:54:44 -07:00
sound_firmware.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00