drivers: rmnet_shs: Fix invalid mask on vnd creation
For a time after a vnd is created, the shs internal map_mask is updated to an invalid state. If this happens during data transfer it could cause invalid cpu states. This fix will cause the map_mask to only take into acount already initialized vnd rps values. Fixes the following- Unable to handle kernel write to read-only memory at virtual address ffffff99a0b5484c pc : rmnet_shs_flush_lock_table+0x264/0x688 [rmnet_shs] lr : rmnet_shs_flush_lock_table+0x238/0x688 [rmnet_shs] Call trace: rmnet_shs_flush_lock_table+0x264/0x688 [rmnet_shs] rmnet_shs_chain_to_skb_list+0x320/0x340 [rmnet_shs] rmnet_shs_assign+0x980/0x1290 [rmnet_shs] rmnet_deliver_skb+0x240/0x410 rmnet_frag_deliver+0x618/0x778 rmnet_perf_core_flush_curr_pkt+0x12c/0x148 [rmnet_perf] rmnet_perf_tcp_opt_ingress+0x88/0x268 [rmnet_perf] rmnet_perf_opt_ingress+0x348/0x398 [rmnet_perf] rmnet_perf_core_desc_entry+0x128/0x180 [rmnet_perf] rmnet_frag_ingress_handler+0x3a8/0x578 rmnet_rx_handler+0x230/0x400 __netif_receive_skb_core+0x518/0xd60 process_backlog+0x1d4/0x438 net_rx_action+0x124/0x5b8 __do_softirq+0x2f8/0x5d8 irq_exit+0xec/0x110 handle_IPI+0x1b8/0x2f8 gic_handle_irq+0x10c/0x1d0 el0_irq_naked+0x50/0x5c Change-Id: I4c10ebb83140eb14ee3b643d057e3de29dfa851b Acked-by:Raul Martinez <mraul@qti.qualcomm.com> Signed-off-by:
Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Loading
Please register or sign in to comment