aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core/rawmidi.c
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2009-11-02 03:35:44 -0500
committerTakashi Iwai <tiwai@suse.de>2009-11-06 08:32:06 -0500
commit25d27eded1f4fc728e64f443adc339b5229be5d7 (patch)
treeb738266467fc0f85d9f7f29e439dfff8e33da4c0 /sound/core/rawmidi.c
parent31cef7076ed9409a33f19ea372d6dc5fdefe27ae (diff)
control: use reference-counted pid
Instead of storing the PID number, take a reference to the task's pid structure. This protects against duplicates due to PID overflows, and using pid_vnr() ensures that the PID returned by snd_ctl_elem_info() is correct as seen from the current namespace. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/rawmidi.c')
-rw-r--r--sound/core/rawmidi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c
index c0adc14c91f0..8a81bdafce6e 100644
--- a/sound/core/rawmidi.c
+++ b/sound/core/rawmidi.c
@@ -415,7 +415,7 @@ static int snd_rawmidi_open(struct inode *inode, struct file *file)
415 subdevice = -1; 415 subdevice = -1;
416 read_lock(&card->ctl_files_rwlock); 416 read_lock(&card->ctl_files_rwlock);
417 list_for_each_entry(kctl, &card->ctl_files, list) { 417 list_for_each_entry(kctl, &card->ctl_files, list) {
418 if (kctl->pid == current->pid) { 418 if (kctl->pid == task_pid(current)) {
419 subdevice = kctl->prefer_rawmidi_subdevice; 419 subdevice = kctl->prefer_rawmidi_subdevice;
420 if (subdevice != -1) 420 if (subdevice != -1)
421 break; 421 break;