diff options
author | Takashi Iwai <tiwai@suse.de> | 2022-07-28 15:59:42 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2022-07-29 13:57:10 +0300 |
commit | ef34a0ae7a2654bc9e58675e36898217fb2799d8 (patch) | |
tree | 3444d3d9264ced511f8378bf656b276fe800cc97 /sound/core/device.c | |
parent | 87eb04bb87fbdf1d53f0fc64e6fc56ba2b504762 (diff) | |
download | linux-ef34a0ae7a2654bc9e58675e36898217fb2799d8.tar.xz |
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>
Diffstat (limited to 'sound/core/device.c')
0 files changed, 0 insertions, 0 deletions