[BUG] rtlwifi: Resource leaks in error handling code of rtl_pci_probe()

From: Jia-Ju Bai <hidden>
Date: 2019-05-14 12:55:42
Also in: linux-wireless, lkml

In rtl_pci_probe(), rtl_pci_init() allocates some resources, such as:
_rtl_pci_init_trx_ring
   _rtl_pci_init_rx_ring
     _rtl_pci_init_rx_ring
       pci_zalloc_consistent() -- resource
       _rtl_pci_init_one_rxdesc
         dev_alloc_skb() -- resource

_rtl_pci_init_trx_ring
   _rtl_pci_init_tx_ring
     pci_zalloc_consistent() -- resource

When ieee80211_register_hw() or rtl_pci_intr_mode_decide() fails, these 
resources are not released in error handling code.

A possible fix is to call rtl_pci_deinit() in error handling code, but I 
am not sure whether this is correct.
Thus, I only report the bugs.

These bugs are found by a runtime fuzzing tool named FIZZER written by us.


Best wishes,
Jia-Ju Bai
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help