On Tuesday, October 23, 2012 7:04 AM, Dan Carpenter wrote:
>
> Hello H Hartley Sweeten,
>
> This is a semi-automatic email about new static checker warnings.
>
> The patch 27034e8ace5a: "staging: comedi: me_daq: store the pci_dev
> in the comedi_device" from Jul 18, 2012, leads to the following
> Smatch complaint:
>
> drivers/staging/comedi/drivers/me_daq.c:797 me_detach()
> error: we previously assumed 'dev_private' could be null (see line 788)
>
> drivers/staging/comedi/drivers/me_daq.c
> 787
> 788 if (dev_private) {
> ^^^^^^^^^^^
> Old check.
>
> 789 if (dev_private->me_regbase) {
> 790 me_reset(dev);
> 791 iounmap(dev_private->me_regbase);
> 792 }
> 793 if (dev_private->plx_regbase)
> 794 iounmap(dev_private->plx_regbase);
> 795 }
> 796 if (pcidev) {
> 797 if (dev_private->plx_regbase_size)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> This dereference was previously under the check but the patch moves it
> outside.
>
> 798 comedi_pci_disable(pcidev);
> 799 pci_dev_put(pcidev);
Ugh.. overlooked that, and the pci_dev_put()...
I just posted a patch series for the me_daq driver. This issue is
addressed in:
[PATCH 01/23] staging: comedi: me_daq: fix pointer dereference in me_detach()
The pci_dev_put() issue is addressed in:
[PATCH 13/23] staging: comedi: me_daq: remove pci_dev_put() in detach
Regards,
Hartley
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel