[bug report] rtlwifi: Fill ap_num field by driver

From: Dan Carpenter <hidden>
Date: 2017-07-06 11:51:56

Hello Ping-Ke Shih,

The patch c76ab8e75442: "rtlwifi: Fill ap_num field by driver" from
Jun 21, 2017, leads to the following static checker warning:

	drivers/net/wireless/realtek/rtlwifi/base.c:1741 rtl_scan_list_expire()
	error: dereferencing freed memory 'entry'

drivers/net/wireless/realtek/rtlwifi/base.c
  1724  void rtl_scan_list_expire(struct ieee80211_hw *hw)
  1725  {
  1726          struct rtl_priv *rtlpriv = rtl_priv(hw);
  1727          struct rtl_bssid_entry *entry, *next;
  1728          unsigned long flags;
  1729  
  1730          spin_lock_irqsave(&rtlpriv->locks.scan_list_lock, flags);
  1731  
  1732          list_for_each_entry_safe(entry, next, &rtlpriv->scan_list.list, list) {
  1733                  /* 180 seconds */
  1734                  if (jiffies_to_msecs(jiffies - entry->age) < 180000)
  1735                          continue;
  1736  
  1737                  list_del(&entry->list);
  1738                  kfree(entry);
                              ^^^^^
Freed.

  1739                  rtlpriv->scan_list.num--;
  1740  
  1741                  RT_TRACE(rtlpriv, COMP_SCAN, DBG_LOUD,
  1742                           "BSSID=%pM is expire in scan list (total=%d)\n",
  1743                           entry->bssid, rtlpriv->scan_list.num);
                                 ^^^^^^^^^^^^
Dereferenced.

  1744          }

regards,
dan carpenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help