linux/drivers/media/pci/cobalt
Ruoyu Wang 3a7d6b9c4c media: cobalt: Avoid freeing ALSA private data twice
snd_cobalt_card_create() stores cobsc in sc->private_data and installs
snd_cobalt_card_private_free() as sc->private_free. From that point,
snd_card_free(sc) releases cobsc through the ALSA card cleanup path.

If cobalt_alsa_init() fails after snd_cobalt_card_create(), the
err_exit_free path calls snd_card_free(sc) and then kfree(cobsc). That
second free releases the same object again.

Remove the explicit kfree(cobsc) and leave ownership with the ALSA card.

This issue was found by a static analysis checker and confirmed by
manual source review.

Fixes: 85756a069c ("[media] cobalt: add new driver")
Cc: stable@vger.kernel.org
Signed-off-by: Ruoyu Wang <ruoyuw560@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-07-15 17:12:55 +02:00
..
cobalt-alsa-main.c media: cobalt: Avoid freeing ALSA private data twice 2026-07-15 17:12:55 +02:00
cobalt-alsa-pcm.c
cobalt-alsa-pcm.h
cobalt-alsa.h
cobalt-cpld.c
cobalt-cpld.h
cobalt-driver.c media: pci: Use PCI_DEVICE macros and drop zeros from pci_device_id arrays 2026-07-15 17:12:54 +02:00
cobalt-driver.h
cobalt-flash.c
cobalt-flash.h
cobalt-i2c.c
cobalt-i2c.h
cobalt-irq.c
cobalt-irq.h
cobalt-omnitek.c
cobalt-omnitek.h
cobalt-v4l2.c media: v4l2: Rename second ioctl handlers argument to 'void *priv' 2025-08-13 08:34:01 +02:00
cobalt-v4l2.h
Kconfig
m00233_video_measure_memmap_package.h
m00235_fdma_packer_memmap_package.h
m00389_cvi_memmap_package.h
m00460_evcnt_memmap_package.h
m00473_freewheel_memmap_package.h
m00479_clk_loss_detector_memmap_package.h
m00514_syncgen_flow_evcnt_memmap_package.h
Makefile