Подробности

[В начало]

Проблема в реализации № L0192

Краткое описание

sound/oss: взаимная блокировка sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)

Подробное описание

Взаимная блокировка может быть инициирована из пользовательского пространства посредством вызова ioctl(SNDCTL_SEQ_OUTOFBAND) на /dev/sequencer с midi событием TMR_ECHO. В этом случае поток управления будет следующий:

sound_ioctl()
-> case SND_DEV_SEQ:
   case SND_DEV_SEQ2:
     sequencer_ioctl()
     -> case SNDCTL_SEQ_OUTOFBAND:
          spin_lock_irqsave(&lock,flags);
          play_event();
          -> case EV_TIMING:
               seq_timing_event()
               -> case TMR_ECHO:
                    seq_copy_to_input()
                    -> spin_lock_irqsave(&lock,flags);
Что приводит к неизбежной блокировке процесса.

Компонент

linux-kernel 4.0

Принято

https://marc.info/?l=linux-kernel&m=142931483001579&w=2
commit

Статус

Исправлено в ядре 4.1-rc1

[В начало]