ALSA: Add a reference counter to card instance
For more strict protection for wild disconnections, a refcount is introduced to the card instance, and let it up/down when an object is referred via snd_lookup_*() in the open ops. The free-after-last-close check is also changed to check this refcount instead of the empty list, too. Reported-by:Matthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
Showing
- include/sound/core.h 3 additions, 0 deletionsinclude/sound/core.h
- sound/core/compress_offload.c 7 additions, 2 deletionssound/core/compress_offload.c
- sound/core/control.c 3 additions, 0 deletionssound/core/control.c
- sound/core/hwdep.c 4 additions, 1 deletionsound/core/hwdep.c
- sound/core/init.c 30 additions, 20 deletionssound/core/init.c
- sound/core/oss/mixer_oss.c 8 additions, 2 deletionssound/core/oss/mixer_oss.c
- sound/core/oss/pcm_oss.c 2 additions, 0 deletionssound/core/oss/pcm_oss.c
- sound/core/pcm_native.c 7 additions, 2 deletionssound/core/pcm_native.c
- sound/core/rawmidi.c 5 additions, 1 deletionsound/core/rawmidi.c
- sound/core/sound.c 9 additions, 2 deletionssound/core/sound.c
- sound/core/sound_oss.c 8 additions, 2 deletionssound/core/sound_oss.c
Loading
Please register or sign in to comment