summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjitiphil <jitiphil@codeaurora.org>2018-04-24 22:05:14 +0530
committerjitiphil <jitiphil@codeaurora.org>2018-04-25 19:19:22 +0530
commitf75d8acbc774481fbc80353e63af78feac6d7414 (patch)
tree1eb36b48716dc4e1c3f564659da05abf289b5b20
parente074636c12aad3728a19af6ce680c2f742f14950 (diff)
qcacmn: Validate nbuf in dp trace function
This reverts commit Idb59f83edc09f9be8bf0bd231b8eb6ff28f37fd4. nbuf was set to NULL and then deferenced. To address the issue validate nbuf before processing in dp trace function. Change-Id: I464c0dea36c0288c4bb01d6fba5255169d7ec255 CRs-Fixed: 2220892
-rw-r--r--qdf/linux/src/qdf_trace.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/qdf/linux/src/qdf_trace.c b/qdf/linux/src/qdf_trace.c
index 438d9e46aca5..dbf7c3e0ebf0 100644
--- a/qdf/linux/src/qdf_trace.c
+++ b/qdf/linux/src/qdf_trace.c
@@ -1240,12 +1240,10 @@ static bool qdf_dp_enable_check(qdf_nbuf_t nbuf, enum QDF_DP_TRACE_ID code,
if (qdf_dp_trace_enable_track(code) == false)
return false;
- if (!nbuf)
- return false;
-
- if ((QDF_NBUF_CB_TX_PACKET_TRACK(nbuf) != QDF_NBUF_TX_PKT_DATA_TRACK) ||
- ((dir == QDF_TX) && (QDF_NBUF_CB_TX_DP_TRACE(nbuf) == 0)) ||
- ((dir == QDF_RX) && (QDF_NBUF_CB_RX_DP_TRACE(nbuf) == 0)))
+ if ((nbuf) && ((QDF_NBUF_CB_TX_PACKET_TRACK(nbuf) !=
+ QDF_NBUF_TX_PKT_DATA_TRACK) ||
+ ((dir == QDF_TX) && (QDF_NBUF_CB_TX_DP_TRACE(nbuf) == 0)) ||
+ ((dir == QDF_RX) && (QDF_NBUF_CB_RX_DP_TRACE(nbuf) == 0))))
return false;
return true;
@@ -2024,7 +2022,7 @@ void qdf_dp_trace(qdf_nbuf_t nbuf, enum QDF_DP_TRACE_ID code,
if (qdf_dp_enable_check(nbuf, code, dir) == false)
return;
- qdf_dp_add_record(code, qdf_nbuf_data(nbuf), size, NULL, 0,
+ qdf_dp_add_record(code, data, size, NULL, 0,
(nbuf != NULL) ? QDF_NBUF_CB_DP_TRACE_PRINT(nbuf) : false);
}
qdf_export_symbol(qdf_dp_trace);