Recently I test linux device drivers in Linux 3.17.2, and find some
potential bugs.

igb driver:
    [1] In the normal process of igb, pci_enable_pcie_error_reporting and
pci_disable_pcie_error_reporting is called in pairs in igb_probe and
igb_remove. However, when pci_enable_pcie_error_reporting has been called
and alloc_etherdev_mqs in igb_probe is failed, "err_alloc_etherdev" segment
in igb_probe is executed immediately to exit, but
pci_disable_pcie_error_reporting is not called.
    [2] The same situation with [1] happens when pci_iomap in igb_probe is
failed.
    [3] The same situation with [1] happens when igb_sw_init in igb_probe is
failed.
    [4] The same situation with [1] happens when register_netdev in
igb_probe is failed.
        [5] The same situation with [1] happens when igb_init_i2c in
igb_probe is failed.
    [6] The function kcalloc is called by igb_sw_init when initializing the
ethernet card driver, but kfree is not called when register_netdev in
igb_probe is failed, which may cause memory leak.
        [7] The same situation with [6] happens when igb_init_i2c in
igb_probe is failed.
    [8] The same situation with [6] happens when kzalloc in
igb_alloc_q_vector is failed.
        [9] The same situation with [6] happens when igb_alloc_q_vector in
igb_alloc_q_vectors is failed.
        [10] When igb_init_i2c in igb_probe is failed, igb_enable_sriov is
called in igb_probe_vfs, but igb_disable_sriov is not called.
        [11] The same situation with [10] happens when register_netdev in
igb_probe is failed.

    Could you help me check these findings? Thank you very much, and I'm
looking forward to your reply.

--
Jia-Ju Bai



------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to