Re: [PATCH 1/1] net-PA Semi: Deletion of unnecessary checks before the function call "pci_dev_put"

Lino Sanfilippo
2014-11-30T17:45:10Z

On 29.11.2014 19:00, SF Markus Elfring wrote:

> out:
> - if (mac->iob_pdev)
> - pci_dev_put(mac->iob_pdev);
> - if (mac->dma_pdev)
> - pci_dev_put(mac->dma_pdev);
> + pci_dev_put(mac->iob_pdev);
> + pci_dev_put(mac->dma_pdev);
>
> free_netdev(dev);
> out_disable_device:
>

Hi,

I know there has been some criticism about those kind of "code
improvements" already but i would like to point out just one more thing:

Some of those NULL pointer checks on input parameters may have been
added subsequently to functions. So there may be older kernel versions
out there in which those checks dont exists in some cases. If some of
the now "cleaned up" code is backported to such a kernel chances are
good that those missing checks are overseen. And then neither caller nor
callee is doing the NULL pointer check.

Quite frankly i would vote for the opposite approach: Never rely on the
callee do to checks for NULL and do it always in the caller. An
exception could be for calls on a fast path. But most of those checks
are done on error paths anyway.

Just my 2 cents.

Regards,
Lino