alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* Re: [media] sound/usb: Use Media Controller API to share media resources
@ 2016-03-16  7:40 Dan Carpenter
  2016-03-16 13:51 ` Shuah Khan
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2016-03-16  7:40 UTC (permalink / raw)
  To: shuahkh; +Cc: alsa-devel

Hello Shuah Khan,

This is a semi-automatic email about new static checker warnings.

The patch aebb2b89bff0: "[media] sound/usb: Use Media Controller API 
to share media resources" from Mar 2, 2016, leads to the following 
Smatch complaint:

sound/usb/card.c:615 usb_audio_probe()
	 error: we previously assumed 'quirk' could be null (see line 534)

sound/usb/card.c
   583		/*
   584		 * For devices with more than one control interface, we assume the
   585		 * first contains the audio controls. We might need a more specific
   586		 * check here in the future.
   587		 */
   588		if (!chip->ctrl_intf)
   589			chip->ctrl_intf = alts;
   590	
   591		chip->txfr_quirk = 0;
   592		err = 1; /* continue */
   593		if (quirk && quirk->ifnum != QUIRK_NO_INTERFACE) {
                    ^^^^^
Old code assumes "quirk" can be NULL.

   594			/* need some special handlings */
   595			err = snd_usb_create_quirk(chip, intf, &usb_audio_driver, quirk);
   596			if (err < 0)
   597				goto __error;
   598		}
   599	
   600		if (err > 0) {
   601			/* create normal USB audio interfaces */
   602			err = snd_usb_create_streams(chip, ifnum);
   603			if (err < 0)
   604				goto __error;
   605			err = snd_usb_create_mixer(chip, ifnum, ignore_ctl_error);
   606			if (err < 0)
   607				goto __error;
   608		}
   609	
   610		/* we are allowed to call snd_card_register() many times */
   611		err = snd_card_register(chip->card);
   612		if (err < 0)
   613			goto __error;
   614	
   615		if (quirk->media_device) {
                    ^^^^^^^^^^^^^^^^^^^
Patch adds an unchecked dereference.

   616			/* don't want to fail when media_snd_device_create() fails */
   617			media_snd_device_create(chip, intf);

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [media] sound/usb: Use Media Controller API to share media resources
  2016-03-16  7:40 [media] sound/usb: Use Media Controller API to share media resources Dan Carpenter
@ 2016-03-16 13:51 ` Shuah Khan
  0 siblings, 0 replies; 2+ messages in thread
From: Shuah Khan @ 2016-03-16 13:51 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: alsa-devel, Shuah Khan

On 03/16/2016 01:40 AM, Dan Carpenter wrote:
> Hello Shuah Khan,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> The patch aebb2b89bff0: "[media] sound/usb: Use Media Controller API 
> to share media resources" from Mar 2, 2016, leads to the following 
> Smatch complaint:
> 
> sound/usb/card.c:615 usb_audio_probe()
> 	 error: we previously assumed 'quirk' could be null (see line 534)
> 
> sound/usb/card.c
>    583		/*
>    584		 * For devices with more than one control interface, we assume the
>    585		 * first contains the audio controls. We might need a more specific
>    586		 * check here in the future.
>    587		 */
>    588		if (!chip->ctrl_intf)
>    589			chip->ctrl_intf = alts;
>    590	
>    591		chip->txfr_quirk = 0;
>    592		err = 1; /* continue */
>    593		if (quirk && quirk->ifnum != QUIRK_NO_INTERFACE) {
>                     ^^^^^
> Old code assumes "quirk" can be NULL.
> 
>    594			/* need some special handlings */
>    595			err = snd_usb_create_quirk(chip, intf, &usb_audio_driver, quirk);
>    596			if (err < 0)
>    597				goto __error;
>    598		}
>    599	
>    600		if (err > 0) {
>    601			/* create normal USB audio interfaces */
>    602			err = snd_usb_create_streams(chip, ifnum);
>    603			if (err < 0)
>    604				goto __error;
>    605			err = snd_usb_create_mixer(chip, ifnum, ignore_ctl_error);
>    606			if (err < 0)
>    607				goto __error;
>    608		}
>    609	
>    610		/* we are allowed to call snd_card_register() many times */
>    611		err = snd_card_register(chip->card);
>    612		if (err < 0)
>    613			goto __error;
>    614	
>    615		if (quirk->media_device) {
>                     ^^^^^^^^^^^^^^^^^^^
> Patch adds an unchecked dereference.

Nicolai Stange sent in a patch to fix this.

thanks,
-- Shuah
> 
>    616			/* don't want to fail when media_snd_device_create() fails */
>    617			media_snd_device_create(chip, intf);
> 
> regards,
> dan carpenter
> 


-- 
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America (Silicon Valley)
shuahkh@osg.samsung.com | (970) 217-8978

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-03-16 13:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-16  7:40 [media] sound/usb: Use Media Controller API to share media resources Dan Carpenter
2016-03-16 13:51 ` Shuah Khan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).