android_kernel_xiaomi_sdm845/include/sound
Takashi Iwai 6cc1e76104 ALSA: core: Add async signal helpers
[ Upstream commit ef34a0ae7a2654bc9e58675e36898217fb2799d8 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-25 11:09:31 +02:00
..
ac97_codec.h
aci.h
ad1816a.h
ad1843.h
adau1373.h
aess.h
ak4xxx-adda.h
ak4113.h
ak4114.h
ak4117.h
ak4531_codec.h
ak4641.h
alc5623.h
asequencer.h
asound.h
asoundef.h
atmel-abdac.h
atmel-ac97c.h
compress_driver.h ALSA: compress: fix partial_drain completion state 2020-07-22 09:10:45 +02:00
control.h ALSA: control: Hardening for potential Spectre v1 2018-05-01 15:13:06 -07:00
core.h ALSA: core: Add async signal helpers 2022-08-25 11:09:31 +02:00
cs35l33.h ASoC: cs35l33: Initial commit of the cs35l33 CODEC driver. 2016-06-27 17:39:06 +01:00
cs42l52.h
cs42l56.h
cs42l73.h
cs4231-regs.h
cs4271.h
cs8403.h
cs8427.h
da7213.h
da7218.h
da7219-aad.h
da7219.h ASoC: da7219: Disable AAD if codec is not a wake-up source 2016-09-26 09:39:50 -07:00
da9055.h
designware_i2s.h ASoC: dwc: add quirk to override COMP_PARAM_1 register 2016-01-10 12:11:50 +00:00
dmaengine_pcm.h ASoC: dmaengine_pcm: Add support for packed transfers 2016-04-27 17:34:11 +01:00
emu10k1_synth.h
emu10k1.h
emu8000_reg.h
emu8000.h
emux_legacy.h
emux_synth.h
es1688.h
gus.h
hda_chmap.h ALSA: hda - Update chmap tlv to report sink's capability 2016-04-04 16:04:24 +02:00
hda_hwdep.h
hda_i915.h Merge branch 'for-linus' into for-next 2016-04-26 10:12:46 +02:00
hda_register.h ALSA - hda: Add support for parsing new HDA capabilities 2016-08-09 08:53:56 +02:00
hda_regmap.h ALSA: hda - Fix possible race on regmap bypass flip 2016-04-21 17:59:17 +02:00
hda_verbs.h
hdaudio_ext.h ALSA - Ext hda: remove bus_parse_capabilities 2016-08-09 08:53:56 +02:00
hdaudio.h ALSA: hda - move bus_parse_capabilities to core 2016-08-09 08:53:56 +02:00
hdmi-codec.h ASoC: hdmi-codec: use unsigned type to structure members with bit-field 2017-01-19 20:18:02 +01:00
hwdep.h
i2c.h
info.h
initval.h
jack.h ALSA: jack: Access input_dev under mutex 2022-06-14 16:52:28 +02:00
l3.h ASoC: L3 bus: Add default gpio ops 2016-08-08 11:55:20 +01:00
max9768.h
max98088.h
max98090.h
max98095.h
memalloc.h
minors.h
mixer_oss.h
mpu401.h
omap-hdmi-audio.h omapdss: hdmi audio: Make header file independent of video/omapdss.h 2016-06-03 16:06:36 +03:00
omap-pcm.h
opl3.h
opl4.h
pcm_drm_eld.h
pcm_iec958.h ALSA: pcm: add IEC958 channel status helper for hw_params 2016-04-06 11:47:48 -07:00
pcm_oss.h ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams 2018-04-24 09:34:15 +02:00
pcm_params.h ALSA: pcm: Fix interval evaluation with openmin/max 2018-12-13 09:20:28 +01:00
pcm-indirect.h
pcm.h ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command 2019-05-16 19:43:44 +02:00
pt2258.h
pxa2xx-lib.h
rawmidi.h ALSA: rawmidi: Fix racy buffer resize under concurrent accesses 2020-05-20 08:15:40 +02:00
rt286.h
rt298.h
rt5640.h
rt5645.h
rt5651.h
rt5659.h
rt5660.h ASoC: rt5660: add rt5660 codec driver 2016-09-24 19:51:57 +01:00
rt5670.h
rt5677.h
s3c24xx_uda134x.h ASoC: s3c24xx_uda134x: Remove unused power() callback 2016-08-08 11:55:20 +01:00
sb16_csp.h
sb.h
seq_device.h
seq_kernel.h ALSA: seq: Avoid invalid lockdep class warning 2017-11-15 15:53:18 +01:00
seq_midi_emul.h
seq_midi_event.h
seq_oss_legacy.h
seq_oss.h
seq_virmidi.h ALSA: seq: Fix copy_from_user() call inside lock 2017-10-18 09:35:40 +02:00
sh_dac_audio.h
sh_fsi.h
simple_card_utils.h ASoC: simple-card-utils: add __printf attribute 2016-08-24 16:27:04 +01:00
simple_card.h ASoC: simple-card: use asoc_simple_card_parse_daifmt() 2016-07-01 17:34:02 +02:00
snd_wavefront.h
soc-dai.h ASoC: Support registering a DAI dynamically 2016-01-10 12:06:19 +00:00
soc-dapm.h ASoC: Define a set of DAPM pre/post-up events 2019-10-17 13:42:04 -07:00
soc-dpcm.h
soc-topology.h ASoC: topology: Add FE DAI links dynamically 2016-02-15 19:38:19 +00:00
soc.h Merge remote-tracking branches 'asoc/topic/nau8810', 'asoc/topic/of-bool', 'asoc/topic/omap' and 'asoc/topic/platform-drvdata' into asoc-next 2016-09-29 12:44:31 -07:00
soundfont.h
spear_dma.h
spear_spdif.h
sta32x.h
sta350.h
tas2552-plat.h
tas5086.h
tea6330t.h
timer.h ALSA: timer: Limit max instances per timer 2019-11-06 12:18:28 +01:00
tlv320aic3x.h
tlv320aic32x4.h
tlv320dac33-plat.h
tlv.h ALSA: control: cage TLV_DB_RANGE_HEAD in kernel land because it was obsoleted 2016-09-25 22:16:49 +02:00
tpa6130a2-plat.h
uda134x.h
uda1380.h
util_mem.h
vx_core.h
wavefront.h
wm0010.h
wm1250-ev1.h
wm2000.h
wm2200.h
wm5100.h
wm8903.h
wm8904.h
wm8955.h
wm8960.h
wm8962.h
wm8993.h
wm8996.h
wm9081.h
wm9090.h
wss.h