Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2204dee9 authored by Subash Abhinov Kasiviswanathan's avatar Subash Abhinov Kasiviswanathan
Browse files

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: default avatarSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
parent 0dfa55e0
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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);
				  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);
	} __aligned(1);
				  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
Original line number Diff line number Diff line
@@ -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) {