Takashi Iwai ef34a0ae7a ALSA: core: Add async signal helpers
Currently the call of kill_fasync() from an interrupt handler might
lead to potential spin deadlocks, as spotted by syzkaller.
Unfortunately, it's not so trivial to fix this lock chain as it's
involved with the tasklist_lock that is touched in allover places.

As a temporary workaround, this patch provides the way to defer the
async signal notification in a work.  The new helper functions,
snd_fasync_helper() and snd_kill_faync() are replacements for
fasync_helper() and kill_fasync(), respectively.  In addition,
snd_fasync_free() needs to be called at the destructor of the relevant
file object.

Link: https://lore.kernel.org/r/20220728125945.29533-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-07-29 12:57:10 +02:00
..
2022-07-29 12:57:10 +02:00
2022-07-15 16:11:58 +02:00
2022-03-21 16:19:21 +01:00
2022-07-15 16:11:58 +02:00
2017-11-13 15:45:57 +01:00
2020-11-30 12:54:02 +00:00
2022-06-24 16:21:41 +01:00
2022-06-10 13:32:05 +01:00
2020-09-09 18:32:52 +02:00
2019-10-25 11:06:57 +01:00