Browse Source

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
Rajeev Kumar Sirasanagandla 6 years ago
parent
commit
b3f827ed20

+ 1 - 2
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");

+ 3 - 6
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;

+ 1 - 2
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;