Преглед на файлове

core: Remove dl marker v1 usage

This removes the unused dl marker v1 definitions, handlers and users
since these are no longer used.

This also fixes the following CFI warning-
CFI failure (target: rmnet_perf_core_handle_map_control_end.cfi_jt+0x0/0x4 [rmnet_perf]):
WARNING: CPU: 1 PID: 0 at kernel/cfi.c:29 __ubsan_handle_cfi_check_fail+0x4c/0x54
pstate: 60400005 (nZCv daif +PAN -UAO)
pc: __ubsan_handle_cfi_check_fail+0x4c/0x54
lr: __ubsan_handle_cfi_check_fail+0x4c/0x54
Call trace:
__ubsan_handle_cfi_check_fail+0x4c/0x54
__cfi_check+0x204/0x220 [rmnet_perf]
rmnet_map_dl_trl_notify_v2+0x58/0x88 [rmnet_core]
rmnet_frag_flow_command+0x110/0x120 [rmnet_core]
rmnet_frag_ingress_handler+0xe0/0x3bc [rmnet_core]
rmnet_rx_handler+0x1cc/0x2a4 [rmnet_core]
__netif_receive_skb_core+0x554/0xdc4
process_backlog$4cc8cf18b485f47de9fc54109f04daea+0x1a4/0x314
net_rx_action$4cc8cf18b485f47de9fc54109f04daea+0x144/0x578
__do_softirq+0x250/0x580
irq_exit+0xcc/0xd0
handle_IPI+0x228/0x3b0
efi_header_end+0x148/0x17c
el1_irq+0x108/0x200
lpm_cpuidle_enter$a9941074ca35bb1f25355cf2ff310eae+0x57c/0x5c8
cpuidle_enter_state+0x130/0x334
cpuidle_enter+0x38/0x50
do_idle.llvm.4847091502713502628+0x1e4/0x2ec
cpu_startup_entry+0x24/0x28
__cpu_disable+0x0/0xbc

CRs-Fixed: 2647192
Change-Id: I5dc625f0791aff9738b2128f99c79d7e0dadf26d
Signed-off-by: Subash Abhinov Kasiviswanathan <[email protected]>
Subash Abhinov Kasiviswanathan преди 5 години
родител
ревизия
2204dee91b
променени са 3 файла, в които са добавени 6 реда и са изтрити 52 реда
  1. 0 4
      core/rmnet_descriptor.c
  2. 4 18
      core/rmnet_map.h
  3. 2 30
      core/rmnet_map_command.c

+ 0 - 4
core/rmnet_descriptor.c

@@ -237,8 +237,6 @@ rmnet_frag_process_flow_start(struct rmnet_map_control_command_header *cmd,
 	 */
 	if (is_dl_mark_v2)
 		rmnet_map_dl_hdr_notify_v2(port, dlhdr, cmd);
-	else
-		rmnet_map_dl_hdr_notify(port, dlhdr);
 }
 
 static void
@@ -265,8 +263,6 @@ rmnet_frag_process_flow_end(struct rmnet_map_control_command_header *cmd,
 	 */
 	if (is_dl_mark_v2)
 		rmnet_map_dl_trl_notify_v2(port, dltrl, cmd);
-	else
-		rmnet_map_dl_trl_notify(port, dltrl);
 }
 
 /* Process MAP command frame and send N/ACK message as appropriate. Message cmd

+ 4 - 18
core/rmnet_map.h

@@ -180,20 +180,10 @@ struct rmnet_map_dl_ind_trl {
 
 struct rmnet_map_dl_ind {
 	u8 priority;
-	union {
-		void (*dl_hdr_handler)(struct rmnet_map_dl_ind_hdr *dlhdr);
-		void (*dl_hdr_handler_v2)(struct rmnet_map_dl_ind_hdr *dlhdr,
-					  struct
-					  rmnet_map_control_command_header
-					  * qcmd);
-	} __aligned(1);
-	union {
-		void (*dl_trl_handler)(struct rmnet_map_dl_ind_trl *dltrl);
-		void (*dl_trl_handler_v2)(struct rmnet_map_dl_ind_trl *dltrl,
-					  struct
-					  rmnet_map_control_command_header
-					  * qcmd);
-	} __aligned(1);
+	void (*dl_hdr_handler_v2)(struct rmnet_map_dl_ind_hdr *dlhdr,
+				  struct rmnet_map_control_command_header *qcmd);
+	void (*dl_trl_handler_v2)(struct rmnet_map_dl_ind_trl *dltrl,
+				  struct rmnet_map_control_command_header *qcmd);
 	struct list_head list;
 };
 
@@ -275,13 +265,9 @@ void rmnet_map_tx_aggregate_init(struct rmnet_port *port);
 void rmnet_map_tx_aggregate_exit(struct rmnet_port *port);
 void rmnet_map_update_ul_agg_config(struct rmnet_port *port, u16 size,
 				    u8 count, u8 features, u32 time);
-void rmnet_map_dl_hdr_notify(struct rmnet_port *port,
-			     struct rmnet_map_dl_ind_hdr *dl_hdr);
 void rmnet_map_dl_hdr_notify_v2(struct rmnet_port *port,
 				struct rmnet_map_dl_ind_hdr *dl_hdr,
 				struct rmnet_map_control_command_header *qcmd);
-void rmnet_map_dl_trl_notify(struct rmnet_port *port,
-			     struct rmnet_map_dl_ind_trl *dltrl);
 void rmnet_map_dl_trl_notify_v2(struct rmnet_port *port,
 				struct rmnet_map_dl_ind_trl *dltrl,
 				struct rmnet_map_control_command_header *qcmd);

+ 2 - 30
core/rmnet_map_command.c

@@ -107,16 +107,6 @@ rmnet_map_dl_hdr_notify_v2(struct rmnet_port *port,
 		tmp->dl_hdr_handler_v2(dlhdr, qcmd);
 }
 
-void
-rmnet_map_dl_hdr_notify(struct rmnet_port *port,
-			struct rmnet_map_dl_ind_hdr *dlhdr)
-{
-	struct rmnet_map_dl_ind *tmp;
-
-	list_for_each_entry(tmp, &port->dl_list, list)
-		tmp->dl_hdr_handler(dlhdr);
-}
-
 void
 rmnet_map_dl_trl_notify_v2(struct rmnet_port *port,
 			   struct rmnet_map_dl_ind_trl *dltrl,
@@ -128,16 +118,6 @@ rmnet_map_dl_trl_notify_v2(struct rmnet_port *port,
 		tmp->dl_trl_handler_v2(dltrl, qcmd);
 }
 
-void
-rmnet_map_dl_trl_notify(struct rmnet_port *port,
-			struct rmnet_map_dl_ind_trl *dltrl)
-{
-	struct rmnet_map_dl_ind *tmp;
-
-	list_for_each_entry(tmp, &port->dl_list, list)
-		tmp->dl_trl_handler(dltrl);
-}
-
 static void rmnet_map_process_flow_start(struct sk_buff *skb,
 					 struct rmnet_port *port,
 					 bool rmnet_perf)
@@ -160,8 +140,6 @@ static void rmnet_map_process_flow_start(struct sk_buff *skb,
 		port->stats.dl_hdr_last_qmap_vers = qcmd->reserved;
 		port->stats.dl_hdr_last_trans_id = qcmd->transaction_id;
 		pskb_pull(skb, sizeof(struct rmnet_map_control_command_header));
-	} else {
-		pskb_pull(skb, RMNET_MAP_CMD_SIZE);
 	}
 
 	dlhdr = (struct rmnet_map_dl_ind_hdr *)rmnet_map_data_ptr(skb);
@@ -176,8 +154,6 @@ static void rmnet_map_process_flow_start(struct sk_buff *skb,
 
 	if (is_dl_mark_v2)
 		rmnet_map_dl_hdr_notify_v2(port, dlhdr, qcmd);
-	else
-		rmnet_map_dl_hdr_notify(port, dlhdr);
 
 	if (rmnet_perf) {
 		unsigned int pull_size;
@@ -208,8 +184,6 @@ static void rmnet_map_process_flow_end(struct sk_buff *skb,
 		qcmd = (struct rmnet_map_control_command_header *)
 			rmnet_map_data_ptr(skb);
 		pskb_pull(skb, sizeof(struct rmnet_map_control_command_header));
-	} else {
-		pskb_pull(skb, RMNET_MAP_CMD_SIZE);
 	}
 
 	dltrl = (struct rmnet_map_dl_ind_trl *)rmnet_map_data_ptr(skb);
@@ -219,8 +193,6 @@ static void rmnet_map_process_flow_end(struct sk_buff *skb,
 
 	if (is_dl_mark_v2)
 		rmnet_map_dl_trl_notify_v2(port, dltrl, qcmd);
-	else
-		rmnet_map_dl_trl_notify(port, dltrl);
 
 	if (rmnet_perf) {
 		unsigned int pull_size;
@@ -311,8 +283,8 @@ int rmnet_map_dl_ind_register(struct rmnet_port *port,
 	struct rmnet_map_dl_ind *dl_ind_iterator;
 	bool empty_ind_list = true;
 
-	if (!port || !dl_ind || !dl_ind->dl_hdr_handler ||
-	    !dl_ind->dl_trl_handler)
+	if (!port || !dl_ind || !dl_ind->dl_hdr_handler_v2 ||
+	    !dl_ind->dl_trl_handler_v2)
 		return -EINVAL;
 
 	list_for_each_entry_rcu(dl_ind_iterator, &port->dl_list, list) {