[alsa-devel] [BUG] ALSA: core: seq: a possible double-lock bug in snd_seq_midisynth_remove()

Jia-Ju Bai baijiaju1990 at gmail.com
Mon Jul 29 05:54:07 CEST 2019


In snd_seq_midisynth_remove(), there is a possible double-lock bug:
snd_seq_midisynth_remove()
     mutex_lock(&register_mutex); -- line 421
     snd_seq_delete_kernel_client() --- line 436
         seq_free_client() -- line 2244
             mutex_lock(&register_mutex); -- line 294

This bug is found by a static analysis tool STCheck written by us.

I do not know how to correctly fix this bug, so I only report it.
A possible fix is to release the mutex lock before calling 
seq_free_client() in snd_seq_delete_kernel_client() and then acquiring 
the lock again after calling seq_free_client().


Best wishes,
Jia-Ju Bai


More information about the Alsa-devel mailing list