ath10k: Check tx_stats before use it
authorYingying Tang <yintang@codeaurora.org>
Thu, 2 May 2019 13:36:50 +0000 (21:36 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 7 May 2019 14:03:47 +0000 (17:03 +0300)
tx_stats will be freed and set to NULL before debugfs_sta node is
removed in station disconnetion process. So if read the debugfs_sta
node there may be NULL pointer error. Add check for tx_stats before
use it to resove this issue.

Signed-off-by: Yingying Tang <yintang@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/debugfs_sta.c

index c704ae371c4d3f9ccedf36445350959b73594eb6..42931a669b02fa52ba8049b49ce54630fedf8479 100644 (file)
@@ -663,6 +663,13 @@ static ssize_t ath10k_dbg_sta_dump_tx_stats(struct file *file,
 
        mutex_lock(&ar->conf_mutex);
 
+       if (!arsta->tx_stats) {
+               ath10k_warn(ar, "failed to get tx stats");
+               mutex_unlock(&ar->conf_mutex);
+               kfree(buf);
+               return 0;
+       }
+
        spin_lock_bh(&ar->data_lock);
        for (k = 0; k < ATH10K_STATS_TYPE_MAX; k++) {
                for (j = 0; j < ATH10K_COUNTER_TYPE_MAX; j++) {