linux/sound/soc
Takashi Iwai 8e3366cad2
ASoC: Fix NULL dereference at freeing
When an ASoC driver with pcm_destruct component ops is freed before
the PCM object instantiation (e.g. deferring the probe), it hits an
Oops at snd_soc_pcm_component_free() that calls the pcm_destruct ops
unconditionally.

Fix it by adding a NULL-check of rtd->pcm before calling callbacks.

Fixes: c64bfc9066 ("ASoC: soc-core: add new pcm_construct/pcm_destruct")
Reported-by: Matthias Brugger <matthias.bgg@gmail.com>
Tested-by: Ben Ho <ben.ho@mediatek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20200107070956.15807-1-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-01-07 22:27:44 +00:00
..
adi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
amd ASoC: AMD: Enable clk in startup intead of hw_params 2019-11-27 12:50:08 +00:00
atmel ASoC: atmel: atmel-pcm-pdc: remove snd_pcm_ops 2019-10-08 13:42:57 +01:00
au1x ASoC: au1x: dma: remove snd_pcm_ops 2019-10-08 13:43:14 +01:00
bcm ASoC: bcm: cygnus-pcm: remove snd_pcm_ops 2019-10-08 13:49:12 +01:00
cirrus ASoC: ep93xx: use devm_platform_ioremap_resource() to simplify code 2019-09-04 13:48:22 +01:00
codecs ASoC: rt5640: Fix NULL dereference on module unload 2020-01-06 20:44:25 +00:00
dwc ASoC: dwc: dwc-pcm: remove snd_pcm_ops 2019-10-08 13:48:35 +01:00
fsl ASoC: fsl_audmix: add missed pm_runtime_disable 2019-12-24 23:56:18 +00:00
generic ASoC: simple-card: Don't create separate link when platform is present 2019-12-10 13:10:40 +00:00
hisilicon treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
img treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
intel ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk 2020-01-06 20:44:45 +00:00
jz4740 ASoC: jz4740: Remove unused match variable 2019-10-09 10:58:01 +01:00
kirkwood Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
mediatek ASoC: mediatek: Check SND_SOC_CROS_EC_CODEC dependency 2019-10-23 17:45:34 +01:00
meson ASoC: meson: remove snd_pcm_ops 2019-10-08 13:47:40 +01:00
mxs ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
pxa ASoC: pxa: poodle: Spelling s/enpoints/endpoints/, s/connetion/connection/ 2019-10-25 11:07:15 +01:00
qcom ASoC: qcom: q6asm-dai: add support to flac decoder 2019-11-18 13:02:35 +00:00
rockchip Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
samsung ASoC: samsung: idma: remove snd_pcm_ops 2019-10-08 13:46:14 +01:00
sh Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: imx8: Fix dsp_box offset 2019-12-24 23:57:29 +00:00
spear ASoC: spear: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:06:18 +01:00
sprd ASoC: sprd: sprd-pcm-dma: remove snd_pcm_ops 2019-10-08 13:44:40 +01:00
sti ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
stm ASoC: stm32: spdifrx: fix input pin state management 2019-12-24 23:56:17 +00:00
sunxi ASoC: sunxi: sun4i-codec: remove unneeded semicolon 2019-10-28 13:12:39 +00:00
tegra ASoC: tegra: disable rx_fifo after disable stream 2019-10-25 11:07:33 +01:00
ti ASoC: ti: davinci-mcasp: Use dma_request_chan() directly for channel request 2019-11-15 12:03:16 +00:00
txx9 ASoC: txx9: txx9aclc: remove snd_pcm_ops 2019-10-08 13:44:23 +01:00
uniphier ASoC: uniphier: aio-dma: remove snd_pcm_ops 2019-10-08 13:44:05 +01:00
ux500 ASoC: ux500: Remove redundant variable "status" 2019-11-04 13:22:25 +00:00
xilinx ASoC: xilinx: xlnx_formatter_pcm: remove snd_pcm_ops 2019-10-08 13:43:44 +01:00
xtensa ASoC: xtensa: xtfpga-i2s: remove snd_pcm_ops 2019-10-08 13:43:25 +01:00
zte ASoC: zx-tdm: remove redundant assignment to ts_width on error return path 2019-08-01 13:56:26 +01:00
Kconfig ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
Makefile ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: fix implicit header use of module.h/export.h 2019-05-08 18:06:28 +09:00
soc-component.c ASoC: Fix NULL dereference at freeing 2020-01-07 22:27:44 +00:00
soc-compress.c ASoC: core: Init pcm runtime work early to avoid warnings 2019-12-04 11:15:30 +00:00
soc-core.c ASoC: core: Fix access to uninitialized list heads 2019-12-24 23:56:15 +00:00
soc-dai.c ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c 2019-07-23 18:14:26 +01:00
soc-dapm.c ASoC: soc-core: add snd_soc_dapm_init() 2019-09-02 13:21:20 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Use dma_request_chan() directly for channel request 2019-11-15 12:02:58 +00:00
soc-io.c
soc-jack.c ASoC: add soc-component.c 2019-08-05 16:16:19 +01:00
soc-ops.c ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() 2019-10-03 14:37:20 +01:00
soc-pcm.c ASoC: core: Init pcm runtime work early to avoid warnings 2019-12-04 11:15:30 +00:00
soc-topology.c ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() 2019-12-24 23:56:19 +00:00
soc-utils.c ASoC: soc-utils: remove snd_pcm_ops 2019-10-08 13:50:43 +01:00