From b3f827ed20d5600ec310633434287abfc2f28f94 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Sirasanagandla Date: Tue, 29 Jan 2019 14:05:44 -0800 Subject: [PATCH] qcacld-3.0: Fix function type for sme_ser_cmd_callback To address kernel control flow integrity (CFI) issues related to type mismatch, correct the input argument type for sme_ser_cmd_callback(). Change-Id: I3f0b5df70163eca9282d2b1c2a48203448e4f0a6 CRs-Fixed: 2402977 --- nan/core/src/nan_main.c | 3 +-- tdls/core/src/wlan_tdls_cmds_process.c | 9 +++------ tdls/core/src/wlan_tdls_mgmt.c | 3 +-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/nan/core/src/nan_main.c b/nan/core/src/nan_main.c index b7627267e4..d2f4d87bd0 100644 --- a/nan/core/src/nan_main.c +++ b/nan/core/src/nan_main.c @@ -204,11 +204,10 @@ static void nan_req_activated(void *in_req, uint32_t cmdtype) tx_ops->nan_datapath_req_tx(in_req, req_type); } -static QDF_STATUS nan_serialized_cb(void *cmd, +static QDF_STATUS nan_serialized_cb(struct wlan_serialization_command *ser_cmd, enum wlan_serialization_cb_reason reason) { void *req; - struct wlan_serialization_command *ser_cmd = cmd; if (!ser_cmd || !ser_cmd->umac_cmd) { nan_alert("cmd or umac_cmd is null"); diff --git a/tdls/core/src/wlan_tdls_cmds_process.c b/tdls/core/src/wlan_tdls_cmds_process.c index ce22dd309c..083127e8a3 100644 --- a/tdls/core/src/wlan_tdls_cmds_process.c +++ b/tdls/core/src/wlan_tdls_cmds_process.c @@ -823,8 +823,7 @@ QDF_STATUS tdls_process_add_peer(struct tdls_add_peer_request *req) vdev = req->vdev; cmd.cmd_type = WLAN_SER_CMD_TDLS_ADD_PEER; cmd.cmd_id = 0; - cmd.cmd_cb = (wlan_serialization_cmd_callback) - tdls_add_peer_serialize_callback; + cmd.cmd_cb = tdls_add_peer_serialize_callback; cmd.umac_cmd = req; cmd.source = WLAN_UMAC_COMP_TDLS; cmd.is_high_priority = false; @@ -1039,8 +1038,7 @@ QDF_STATUS tdls_process_update_peer(struct tdls_update_peer_request *req) vdev = req->vdev; cmd.cmd_type = WLAN_SER_CMD_TDLS_ADD_PEER; cmd.cmd_id = 0; - cmd.cmd_cb = (wlan_serialization_cmd_callback) - tdls_update_peer_serialize_callback; + cmd.cmd_cb = tdls_update_peer_serialize_callback; cmd.umac_cmd = req; cmd.source = WLAN_UMAC_COMP_TDLS; cmd.is_high_priority = false; @@ -1193,8 +1191,7 @@ QDF_STATUS tdls_process_del_peer(struct tdls_oper_request *req) cmd.cmd_type = WLAN_SER_CMD_TDLS_DEL_PEER; cmd.cmd_id = 0; - cmd.cmd_cb = (wlan_serialization_cmd_callback) - tdls_del_peer_serialize_callback; + cmd.cmd_cb = tdls_del_peer_serialize_callback; cmd.umac_cmd = req; cmd.source = WLAN_UMAC_COMP_TDLS; cmd.is_high_priority = false; diff --git a/tdls/core/src/wlan_tdls_mgmt.c b/tdls/core/src/wlan_tdls_mgmt.c index c3d3cb6ba4..b11da1006c 100644 --- a/tdls/core/src/wlan_tdls_mgmt.c +++ b/tdls/core/src/wlan_tdls_mgmt.c @@ -404,8 +404,7 @@ QDF_STATUS tdls_process_mgmt_req( cmd.cmd_type = WLAN_SER_CMD_TDLS_SEND_MGMT; /* Cmd Id not applicable for non scan cmds */ cmd.cmd_id = 0; - cmd.cmd_cb = (wlan_serialization_cmd_callback) - tdls_send_mgmt_serialize_callback; + cmd.cmd_cb = tdls_send_mgmt_serialize_callback; cmd.umac_cmd = tdls_mgmt_req; cmd.source = WLAN_UMAC_COMP_TDLS; cmd.is_high_priority = false;