Hi,
I found a bug in v4.4-st38 caused by
e8064dec769e6e0822e179107d0b5b3d2e03e181 "ALSA: pcm: Move rwsem lock
inside snd_ctl_elem_read to prevent UAF"
1) It introduces down_read/up_read around a call to snd_ctl_elem_read
however that is superflous: snd_ctl_elem_read already does that, so
the commit 56b88b50565c referenced by the above is already included
2) down_write/up_write around snd_ctl_elem_write causes a deadlock
because snd_ctl_elem_write does a down_read at the start. The latter
is probably (another) bug likely caused by missing upstream commit
becf9e5d553c2389d857a3c178ce80fdb34a02e1 "ALSA: control: code
refactoring for ELEM_READ/ELEM_WRITE operations " which removes that
lock. Maybe that should be included here too, it also removes the
locking in snd_ctl_elem_read which means 1) is no longer superflous
Best,
Alexander Grund