qca-wifi: remove DP peer back pointer in DP AST entry

Remove peer pointer in AST entry and store peer_id instead
to avoid access of peer memory without taking reference

Change-Id: I1e9c2a6880b3582866b821bf56a8400e056665f2
このコミットが含まれているのは:
Chaithanya Garrepalli
2020-08-11 16:04:23 +05:30
コミット 1052e4d52b
3個のファイルの変更18行の追加23行の削除

ファイルの表示

@@ -5455,12 +5455,7 @@ QDF_STATUS dp_send_cts_frame_to_stack(struct dp_soc *soc,
return QDF_STATUS_E_FAILURE;
}
peer = ast_entry->peer;
if (!peer || peer->peer_id == HTT_INVALID_PEER) {
qdf_spin_unlock_bh(&soc->ast_lock);
return QDF_STATUS_E_FAILURE;
}
peer_id = peer->peer_id;
peer_id = ast_entry->peer_id;
qdf_spin_unlock_bh(&soc->ast_lock);
peer = dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_TX_CAPTURE);
@@ -5596,12 +5591,7 @@ void dp_send_usr_ack_frm_to_stack(struct dp_soc *soc,
return;
}
peer = ast_entry->peer;
if (!peer || peer->peer_id == HTT_INVALID_PEER) {
qdf_spin_unlock_bh(&soc->ast_lock);
return;
}
peer_id = peer->peer_id;
peer_id = ast_entry->peer_id;
qdf_spin_unlock_bh(&soc->ast_lock);
peer = dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_TX_CAPTURE);
@@ -5864,12 +5854,7 @@ QDF_STATUS dp_send_noack_frame_to_stack(struct dp_soc *soc,
return QDF_STATUS_E_FAILURE;
}
peer = ast_entry->peer;
if (!peer || peer->peer_id == HTT_INVALID_PEER) {
qdf_spin_unlock_bh(&soc->ast_lock);
return QDF_STATUS_E_FAILURE;
}
peer_id = peer->peer_id;
peer_id = ast_entry->peer_id;
qdf_spin_unlock_bh(&soc->ast_lock);
peer = dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_TX_CAPTURE);