Patch "[media] cx231xx-audio: fix init error path" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
[media] cx231xx-audio: fix init error path
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
cx231xx-audio-fix-init-error-path.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
fff1abc4d54e469140a699612b4db8d6397bfcbaMon Sep 17 00:00:00 2001
From: Johan Hovold <[email protected]>
Date: Mon, 13 Mar 2017 09:53:57 -0300
Subject: [media] cx231xx-audio: fix init error path
From: Johan Hovold <[email protected]>
commit fff1abc4d54e469140a699612b4db8d6397bfcba upstream.
Make sure to release the snd_card also on a late allocation error.
--- drivers/media/usb/cx231xx/cx231xx-audio.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-)
drivers/media/usb/cx231xx/cx231xx-audio.c +14 -11
@@ -671,10 +671,8 @@ static int cx231xx_audio_init(struct cx2spin_lock_init (&adev->slock); err =snd_pcm_new (card,"Cx231xx Audio" ,0 ,0 ,1 , &pcm); -if (err <0 ) { -snd_card_free (card); -return err; - } +if (err <0 ) + goto err_free_card;snd_pcm_set_ops (pcm,SNDRV_PCM_STREAM_CAPTURE , &snd_cx231xx_pcm_capture);
@@ -688,10 +686,9 @@ static int cx231xx_audio_init(struct cx2INIT_WORK (&dev->wq_trigger, audio_trigger); err =snd_card_register (card); -if (err <0 ) { -snd_card_free (card); -return err; - } +if (err <0 ) + goto err_free_card; + adev->sndcard = card; adev->udev = dev->udev;
@@ -710,9 +707,10 @@ static int cx231xx_audio_init(struct cx2"audio EndPoint Addr 0x%x, Alternate settings: %i\n" , adev->end_point_addr, adev->num_alt); adev->alt_max_pkt_size =kmalloc (32 * adev->num_alt,GFP_KERNEL ); - -if (adev->alt_max_pkt_size ==NULL ) -return -ENOMEM ; +if (!adev->alt_max_pkt_size) { + err = -ENOMEM ; + goto err_free_card; + }for (i =0 ; i < adev->num_alt; i++) { u16 tmp =
@@ -726,6 +724,11 @@ static int cx231xx_audio_init(struct cx2 }return 0 ; + +err_free_card: +snd_card_free (card); + +return err; }static int cx231xx_audio_fini (struct cx231xx *dev)
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/cx231xx-audio-fix-null-deref-at-probe.patch queue-4.4/usb-serial-io_ti-fix-div-by-zero-in-set_termios.patch queue-4.4/usb-hub-fix-non-ss-hub-descriptor-handling.patch queue-4.4/cx231xx-cards-fix-null-deref-at-probe.patch queue-4.4/usb-serial-ftdi_sio-add-olimex-arm-usb-tiny-h-pids.patch queue-4.4/usb-serial-ftdi_sio-fix-setting-latency-for-unprivileged-users.patch queue-4.4/usb-iowarrior-fix-info-ioctl-on-big-endian-hosts.patch queue-4.4/watchdog-pcwd_usb-fix-null-deref-at-probe.patch queue-4.4/gspca-konica-add-missing-endpoint-sanity-check.patch queue-4.4/usb-serial-qcserial-add-more-lenovo-em74xx-device-ids.patch queue-4.4/usb-serial-option-add-telit-me910-support.patch queue-4.4/net-irda-irda-usb-fix-firmware-name-on-big-endian-hosts.patch queue-4.4/dib0700-fix-null-deref-at-probe.patch queue-4.4/cx231xx-audio-fix-init-error-path.patch queue-4.4/usbvision-fix-null-deref-at-probe.patch queue-4.4/usb-serial-mct_u232-fix-big-endian-baud-rate-handling.patch queue-4.4/mceusb-fix-null-deref-at-probe.patch queue-4.4/usb-hub-fix-ss-hub-descriptor-handling.patch queue-4.4/ath9k_htc-fix-null-deref-at-probe.patch