[alsa-devel] [media] sound/usb: Use Media Controller API to share media resources
Shuah Khan
shuahkh at osg.samsung.com
Wed Mar 16 14:51:39 CET 2016
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 at osg.samsung.com | (970) 217-8978
More information about the Alsa-devel
mailing list