|
@@ -0,0 +1,1020 @@
|
|
|
+/* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
|
|
+ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
+ *
|
|
|
+ * This program is free software; you can redistribute it and/or modify
|
|
|
+ * it under the terms of the GNU General Public License version 2 and
|
|
|
+ * only version 2 as published by the Free Software Foundation.
|
|
|
+ *
|
|
|
+ * This program is distributed in the hope that it will be useful,
|
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+ * GNU General Public License for more details.
|
|
|
+ *
|
|
|
+ */
|
|
|
+
|
|
|
+#include <net/sock.h>
|
|
|
+#include <linux/netlink.h>
|
|
|
+#include <linux/ip.h>
|
|
|
+#include <linux/cpu.h>
|
|
|
+#include <linux/oom.h>
|
|
|
+#include <net/ip.h>
|
|
|
+#include <linux/cpu.h>
|
|
|
+#include <linux/bitmap.h>
|
|
|
+#include <linux/netdevice.h>
|
|
|
+#include <linux/kernel.h>
|
|
|
+#include <linux/pm_wakeup.h>
|
|
|
+#include <linux/smp.h>
|
|
|
+#include <linux/ipv6.h>
|
|
|
+#include <linux/netdevice.h>
|
|
|
+#include <linux/percpu-defs.h>
|
|
|
+#include "rmnet_module.h"
|
|
|
+#include "rmnet_shs.h"
|
|
|
+#include "rmnet_shs_config.h"
|
|
|
+#include "rmnet_shs_wq.h"
|
|
|
+#include "rmnet_shs_modules.h"
|
|
|
+#include "rmnet_shs_common.h"
|
|
|
+#include "rmnet_trace.h"
|
|
|
+#include "rmnet_shs_wq_genl.h"
|
|
|
+#include "rmnet_shs_ll.h"
|
|
|
+#include <linux/module.h>
|
|
|
+#include <linux/cpumask.h>
|
|
|
+#include <linux/icmp.h>
|
|
|
+#include <linux/inet.h>
|
|
|
+static char*verinfo[]={"\x34\x35\x35\x66\x31\x32\x38\x38"
|
|
|
+"\x36\x37\x30\x32\x34\x34\x63\x35","\x63\x66\x66\x31\x64\x38\x38\x36",
|
|
|
+"\x30\x37\x63\x37\x63\x37\x36\x39","\x63\x34\x65\x33\x65\x61\x34\x65",
|
|
|
+"\x37\x66\x63\x32\x33\x39\x31\x66","\x39\x35\x38\x61\x65\x34\x32\x34",
|
|
|
+"\x30\x66\x66\x65\x65\x39\x66\x65","\x32\x31\x30\x33\x65\x39\x38\x62",
|
|
|
+"\x37\x61\x32\x34\x64\x35\x34\x61","\x34\x34\x62\x37\x32\x33\x31\x32",
|
|
|
+"\x62\x66\x61\x30\x39\x34\x62\x35","\x62\x38\x38\x39\x38\x62\x66\x32",
|
|
|
+"\x33\x35\x32\x37\x62\x38\x30\x65","\x63\x30\x39\x37\x35\x35\x62\x33",
|
|
|
+"\x32\x36\x66\x64\x33\x30\x36\x35","\x65\x36\x66\x64\x34\x31\x33\x37",
|
|
|
+"\x36\x64\x38\x31\x37\x39\x62\x63","\x64\x66\x39\x32\x65\x35\x33\x34",
|
|
|
+"\x30\x38\x61\x39\x34\x38\x64\x61","\x36\x35\x35\x37\x37\x63\x32\x32"};
|
|
|
+module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
|
|
|
+verinfo,
|
|
|
+"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
|
|
+);
|
|
|
+#define DATARMNET2f67183a86 2000000
|
|
|
+#define DATARMNET68fc0be252 1000000
|
|
|
+#define DATARMNETd391fbd694 (0xd2d+202-0xdf7)
|
|
|
+#define DATARMNETae2e980d66 (0xd11+230-0xdf3)
|
|
|
+#define DATARMNET249a927510 (0xd27+224-0xdfd)
|
|
|
+#define DATARMNET904145ccb9 (0xd11+230-0xdf3)
|
|
|
+#define DATARMNETb91aee91fd -(0xd26+209-0xdf6)
|
|
|
+#define DATARMNET00d5787aad 2000000
|
|
|
+#define DATARMNET8948dc953d (0xd0a+237-0xdf2)
|
|
|
+#define DATARMNET20dc6bb36b (0xd26+209-0xdf6)
|
|
|
+#define DATARMNETafc650134e (0xd26+209-0xdf6)
|
|
|
+#define DATARMNET832731a933(CPU) (per_cpu(softnet_data, CPU).input_pkt_queue)
|
|
|
+#define DATARMNET3de2536baf(CPU) (per_cpu(softnet_data, CPU).process_queue)
|
|
|
+#define DATARMNETd2d15e7f67(CPU) (DATARMNET832731a933(CPU).qlen + \
|
|
|
+DATARMNET3de2536baf(CPU).qlen)
|
|
|
+#define DATARMNET78ec5e8746(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
|
|
|
+DATARMNETfbfdc7f27e, CPU).input_queue_tail)
|
|
|
+#define DATARMNET9c1c20df35(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
|
|
|
+DATARMNETfbfdc7f27e, CPU).input_queue_head)
|
|
|
+#define DATARMNET66ead9195a(CPU) (per_cpu(softnet_data, CPU).input_queue_head)
|
|
|
+#define DATARMNETbb1541e65b(CPU) (per_cpu(softnet_data, CPU).input_queue_tail)
|
|
|
+#define DATARMNETba5ea4329f(CPU) DATARMNETecc0627c70.DATARMNET132b9c7dc4[CPU].\
|
|
|
+DATARMNET758a55f103
|
|
|
+#define DATARMNETe84c5b47ba (0xd2d+202-0xdf7)
|
|
|
+#define DATARMNET313d662f61 (0xd26+209-0xdf6)
|
|
|
+#define DATARMNET0085702236 (0xd0a+237-0xdf2)
|
|
|
+#define DATARMNETec970d7090 (0xd26+209-0xdf6)
|
|
|
+#define DATARMNET8fadb49f38 (0xd2d+202-0xdf7)
|
|
|
+#define DATARMNET48a89fcc16 (0xd26+209-0xdf6)
|
|
|
+#define DATARMNETbfe901fc62 (0xd2d+202-0xdf7)
|
|
|
+DEFINE_SPINLOCK(DATARMNET3764d083f0);DEFINE_HASHTABLE(DATARMNETe603c3a4b3,
|
|
|
+DATARMNET25437d35fd);struct DATARMNETe600c5b727 DATARMNET0997c5650d[
|
|
|
+DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];unsigned int
|
|
|
+DATARMNET064fbe9e3a __read_mostly=(0xd2d+202-0xdf7);module_param(
|
|
|
+DATARMNET064fbe9e3a,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNET064fbe9e3a,"\x77\x61\x6b\x65\x20\x73\x74\x61\x74\x75\x73");unsigned int
|
|
|
+ DATARMNETe4a6d22824 __read_mostly=(0xc07+4861-0x1e3c);module_param(
|
|
|
+DATARMNETe4a6d22824,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNET94b2cc2f14,
|
|
|
+"\x75\x70\x20\x64\x75\x74\x79\x20\x63\x79\x63\x6c\x65\x20\x69\x6e\x20\x6d\x73");
|
|
|
+unsigned int DATARMNETaf998640fd __read_mostly=(0xcb7+1735-0x102c);module_param(
|
|
|
+DATARMNETaf998640fd,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNETaf998640fd,
|
|
|
+"\x4d\x61\x78\x20\x69\x6e\x74\x65\x72\x6c\x65\x61\x76\x65\x64\x20\x69\x70\x61\x20\x70\x6b\x74\x73\x20\x73\x68\x73\x20\x77\x69\x6c\x6c\x20\x70\x61\x72\x6b"
|
|
|
+);unsigned int DATARMNET566e381630 __read_mostly=(0xf07+658-0x110d);module_param
|
|
|
+(DATARMNET566e381630,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNETaf998640fd,
|
|
|
+"\x4d\x61\x78\x20\x69\x6e\x74\x65\x72\x6c\x65\x61\x76\x65\x64\x20\x69\x70\x61\x20\x70\x6b\x74\x73\x20\x73\x68\x73\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x70\x61\x72\x6b\x20\x66\x6f\x72\x20\x28\x6d\x73\x29"
|
|
|
+);unsigned int DATARMNETf4cacbb5dc __read_mostly=7000;module_param(
|
|
|
+DATARMNETf4cacbb5dc,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNETf4cacbb5dc,
|
|
|
+"\x4d\x61\x78\x20\x70\x61\x63\x6b\x65\x74\x73\x20\x73\x68\x73\x20\x77\x69\x6c\x6c\x20\x73\x74\x65\x65\x72"
|
|
|
+);unsigned int DATARMNET673cf85e28 __read_mostly=(0xd2d+202-0xdf7);module_param(
|
|
|
+DATARMNET673cf85e28,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNET673cf85e28,
|
|
|
+"\x4d\x61\x78\x20\x70\x68\x79\x20\x62\x61\x63\x6b\x6c\x6f\x67\x20\x73\x65\x65\x6e"
|
|
|
+);unsigned int DATARMNETcb9ef310a4 __read_mostly=(0xd2d+202-0xdf7);module_param(
|
|
|
+DATARMNETcb9ef310a4,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNETcb9ef310a4,
|
|
|
+"\x20\x45\x73\x70\x20\x70\x61\x63\x6b\x65\x74\x73\x20\x73\x65\x65\x6e");unsigned
|
|
|
+ int DATARMNET2be16c76ac __read_mostly=(0xef7+1112-0x131d);module_param(
|
|
|
+DATARMNET2be16c76ac,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNET2be16c76ac,
|
|
|
+"\x44\x75\x72\x61\x74\x69\x6f\x6e\x20\x74\x68\x61\x74\x20\x50\x42\x20\x42\x6f\x6f\x73\x74\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x61\x63\x74\x69\x76\x65\x20\x66\x6f\x72\x20\x62\x65\x66\x6f\x72\x65\x20\x72\x65\x73\x65\x74"
|
|
|
+);struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8
|
|
|
+shs_rx_work;int DATARMNET762cfa52fe(u8 mask);unsigned DATARMNET016351c9e4=
|
|
|
+(0xd2d+202-0xdf7);ssize_t DATARMNET713da9913c(struct netdev_rx_queue*
|
|
|
+DATARMNETb4180393e4,u8 cpu,u8 DATARMNET5780499e9c){struct rps_map*
|
|
|
+DATARMNETaeb4918e65,*map;cpumask_var_t mask;map=rcu_dereference(
|
|
|
+DATARMNETb4180393e4->rps_map);if(map){map->cpus[(0xd2d+202-0xdf7)]=cpu;map->len=
|
|
|
+(0xd26+209-0xdf6);if(((0xd26+209-0xdf6)<<cpu)&DATARMNETbc3c416b77)
|
|
|
+DATARMNETb7ddf3c5dd[DATARMNET975060d6b5]++;else DATARMNETb7ddf3c5dd[
|
|
|
+DATARMNET0e398136dc]++;return(0xd2d+202-0xdf7);}if(!alloc_cpumask_var(&mask,
|
|
|
+GFP_ATOMIC))return-ENOMEM;cpumask_set_cpu(cpu,(struct cpumask*)&mask);map=
|
|
|
+kzalloc(max_t(unsigned int,RPS_MAP_SIZE(cpumask_weight(mask)),L1_CACHE_BYTES),
|
|
|
+GFP_ATOMIC);if(!map){free_cpumask_var(mask);return-ENOMEM;}map->cpus[
|
|
|
+(0xd2d+202-0xdf7)]=cpu;map->len=(0xd26+209-0xdf6);if(((0xd26+209-0xdf6)<<cpu)&
|
|
|
+DATARMNETbc3c416b77)DATARMNETb7ddf3c5dd[DATARMNET975060d6b5]++;else
|
|
|
+DATARMNETb7ddf3c5dd[DATARMNET0e398136dc]++;rcu_read_lock();DATARMNETaeb4918e65=
|
|
|
+rcu_dereference(DATARMNETb4180393e4->rps_map);rcu_assign_pointer(
|
|
|
+DATARMNETb4180393e4->rps_map,map);if(DATARMNETaeb4918e65)kfree(
|
|
|
+DATARMNETaeb4918e65);free_cpumask_var(mask);rcu_read_unlock();return
|
|
|
+(0xd2d+202-0xdf7);}int DATARMNET9303cec796(struct sk_buff*skb,u8*ret){int
|
|
|
+DATARMNETbd864aa442=(0xd2d+202-0xdf7);struct iphdr*ip4h,DATARMNETc00baf31c3;
|
|
|
+struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;const struct ipv6_opt_hdr*
|
|
|
+DATARMNET7b34b7b5be;struct ipv6_opt_hdr DATARMNET1688a97aa4;s64
|
|
|
+DATARMNETe30c7cdaf5;struct timespec64 time;int DATARMNET441081ddc0;if(
|
|
|
+rmnet_module_hook_perf_ingress(&DATARMNET441081ddc0,skb)){if(!
|
|
|
+DATARMNET441081ddc0){goto done;}}switch(skb->protocol){case htons(ETH_P_IP):ip4h
|
|
|
+=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);
|
|
|
+if(!ip4h)break;if(!ip_is_fragment(ip4h)&&(ip4h->protocol==IPPROTO_TCP||ip4h->
|
|
|
+protocol==IPPROTO_UDP)){DATARMNETbd864aa442=(0xd26+209-0xdf6);break;}if(ip4h->
|
|
|
+protocol==IPPROTO_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=
|
|
|
+(0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&time);DATARMNETe30c7cdaf5=
|
|
|
+ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),DATARMNETecc0627c70.
|
|
|
+DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.hrtimer_wake)){
|
|
|
+hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
|
|
|
+DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
|
|
|
+DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
|
|
|
+(0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
|
|
|
+ns_to_ktime((0xbf7+4070-0x172d)*DATARMNET68fc0be252),HRTIMER_MODE_REL|
|
|
|
+HRTIMER_MODE_PINNED);__pm_stay_awake(DATARMNETecc0627c70.ws);DATARMNET064fbe9e3a
|
|
|
+=(0xd1f+216-0xdf5);}if(!hrtimer_active(&DATARMNETecc0627c70.DATARMNET645fb3b468)
|
|
|
+){hrtimer_start(&DATARMNETecc0627c70.DATARMNET645fb3b468,ns_to_ktime(
|
|
|
+(0xdf7+3019-0x160c)*DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);
|
|
|
+if(DATARMNETe30c7cdaf5>DATARMNET12f3a261a0&&DATARMNETecc0627c70.
|
|
|
+DATARMNETdd3caf9200){DATARMNET930a441406[DATARMNETe35e238437]++;}else{*ret=
|
|
|
+(0xd26+209-0xdf6);}}else{DATARMNET930a441406[DATARMNETe35e238437]++;}if(
|
|
|
+trace_print_icmp_rx_enabled()){char saddr[INET6_ADDRSTRLEN],daddr[
|
|
|
+INET6_ADDRSTRLEN];u16 ip_proto=(0xd2d+202-0xdf7);__be16 sequence=
|
|
|
+(0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);struct icmphdr*icmphdr,
|
|
|
+DATARMNET5aa29a2264;memset(saddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);memset(
|
|
|
+daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmphdr=DATARMNETefcaf5fbe9(skb,ip4h->
|
|
|
+ihl*(0xd11+230-0xdf3),sizeof(*icmphdr),&DATARMNET5aa29a2264);if(!icmphdr)goto
|
|
|
+DATARMNET03fd0cd6e6;if(icmphdr->type!=ICMP_ECHOREPLY&&icmphdr->type!=ICMP_ECHO)
|
|
|
+goto DATARMNET03fd0cd6e6;ip_proto=htons(ETH_P_IP);type=icmphdr->type;sequence=
|
|
|
+icmphdr->un.echo.sequence;snprintf(saddr,INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&
|
|
|
+ip4h->saddr);snprintf(daddr,INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&ip4h->daddr);
|
|
|
+trace_print_icmp_rx(skb,ip_proto,type,sequence,saddr,daddr);}}else if(ip4h->
|
|
|
+protocol==IPPROTO_ESP){skb->hash=DATARMNETaa0602144b;skb->sw_hash=
|
|
|
+(0xd26+209-0xdf6);DATARMNETcb9ef310a4++;}DATARMNET03fd0cd6e6:break;case htons(
|
|
|
+ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
|
|
|
+DATARMNETcf1d9e2c1e);if(!ip6h)break;if(!(ip6h->nexthdr==NEXTHDR_FRAGMENT)&&(ip6h
|
|
|
+->nexthdr==IPPROTO_TCP||ip6h->nexthdr==IPPROTO_UDP)){DATARMNETbd864aa442=
|
|
|
+(0xd26+209-0xdf6);break;}if(ip6h->nexthdr==NEXTHDR_ICMP){skb->hash=
|
|
|
+(0xd2d+202-0xdf7);skb->sw_hash=(0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&
|
|
|
+time);DATARMNETe30c7cdaf5=ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),
|
|
|
+DATARMNETecc0627c70.DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.
|
|
|
+hrtimer_wake)){hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
|
|
|
+DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
|
|
|
+DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
|
|
|
+(0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
|
|
|
+ns_to_ktime((0xbf7+4070-0x172d)*DATARMNET68fc0be252),HRTIMER_MODE_REL|
|
|
|
+HRTIMER_MODE_PINNED);__pm_stay_awake(DATARMNETecc0627c70.ws);DATARMNET064fbe9e3a
|
|
|
+=(0xd1f+216-0xdf5);}if(!hrtimer_active(&DATARMNETecc0627c70.DATARMNET645fb3b468)
|
|
|
+){hrtimer_start(&DATARMNETecc0627c70.DATARMNET645fb3b468,ns_to_ktime(
|
|
|
+(0xdf7+3019-0x160c)*DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);
|
|
|
+if(DATARMNETe30c7cdaf5>DATARMNET12f3a261a0&&DATARMNETecc0627c70.
|
|
|
+DATARMNETdd3caf9200){DATARMNET930a441406[DATARMNETe35e238437]++;}else{*ret=
|
|
|
+(0xd26+209-0xdf6);}}else{DATARMNET930a441406[DATARMNETe35e238437]++;}if(
|
|
|
+trace_print_icmp_rx_enabled()){char saddr[INET6_ADDRSTRLEN],daddr[
|
|
|
+INET6_ADDRSTRLEN];u16 ip_proto=(0xd2d+202-0xdf7);__be16 sequence=
|
|
|
+(0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);struct icmp6hdr*icmp6hdr,
|
|
|
+DATARMNETaa41336581;memset(saddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);memset(
|
|
|
+daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmp6hdr=DATARMNETefcaf5fbe9(skb,
|
|
|
+sizeof(*ip6h),sizeof(*icmp6hdr),&DATARMNETaa41336581);if(!icmp6hdr)goto
|
|
|
+DATARMNETf623862dd4;if(icmp6hdr->icmp6_type!=ICMPV6_ECHO_REQUEST&&icmp6hdr->
|
|
|
+icmp6_type!=ICMPV6_ECHO_REPLY)goto DATARMNETf623862dd4;ip_proto=htons(ETH_P_IPV6
|
|
|
+);type=icmp6hdr->icmp6_type;sequence=icmp6hdr->icmp6_sequence;snprintf(saddr,
|
|
|
+INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->saddr);snprintf(daddr,
|
|
|
+INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->daddr);trace_print_icmp_rx(skb,
|
|
|
+ip_proto,type,sequence,saddr,daddr);}}else if(ip6h->nexthdr==NEXTHDR_ESP){skb->
|
|
|
+hash=DATARMNETaa0602144b;skb->sw_hash=(0xd26+209-0xdf6);DATARMNETcb9ef310a4++;}
|
|
|
+else if(ip6h->nexthdr==NEXTHDR_FRAGMENT){if(skb->len-sizeof(struct ipv6hdr)<(int
|
|
|
+)sizeof(struct ipv6_opt_hdr)){break;}DATARMNET7b34b7b5be=skb_header_pointer(skb,
|
|
|
+sizeof(struct ipv6hdr),sizeof(DATARMNET1688a97aa4),&DATARMNET1688a97aa4);if(
|
|
|
+DATARMNET7b34b7b5be&&DATARMNET7b34b7b5be->nexthdr==NEXTHDR_ESP){skb->hash=
|
|
|
+DATARMNETaa0602144b;skb->sw_hash=(0xd26+209-0xdf6);DATARMNETcb9ef310a4++;}}
|
|
|
+DATARMNETf623862dd4:break;default:break;}done:DATARMNETda96251102(
|
|
|
+DATARMNETcd24fca747,DATARMNET116c96c236,DATARMNETbd864aa442,(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);return DATARMNETbd864aa442;}
|
|
|
+static void DATARMNETfa919d00dc(int cpu,int DATARMNET8a461bad56){struct
|
|
|
+timespec64 DATARMNET2e47295bf1;struct timespec64*DATARMNET736ac5582e;long
|
|
|
+DATARMNETb64270afc1;int DATARMNETa67155ba38=(DATARMNETa1ac2608b5<
|
|
|
+DATARMNET8948dc953d)?DATARMNET8948dc953d:DATARMNETa1ac2608b5;
|
|
|
+ktime_get_boottime_ts64(&DATARMNET2e47295bf1);DATARMNET736ac5582e=&
|
|
|
+DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380;
|
|
|
+DATARMNETb64270afc1=DATARMNETe6671dbf38(DATARMNET2e47295bf1.tv_sec-
|
|
|
+DATARMNET736ac5582e->tv_sec)+DATARMNET2e47295bf1.tv_nsec-DATARMNET736ac5582e->
|
|
|
+tv_nsec;if(DATARMNETb64270afc1>=DATARMNETa67155ba38*DATARMNET68fc0be252){if(
|
|
|
+DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f>
|
|
|
+DATARMNETd75e474598[cpu])DATARMNETd75e474598[cpu]=DATARMNETecc0627c70.
|
|
|
+DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f;DATARMNETecc0627c70.
|
|
|
+DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380.tv_sec=DATARMNET2e47295bf1.tv_sec;
|
|
|
+DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380.tv_nsec=
|
|
|
+DATARMNET2e47295bf1.tv_nsec;DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].
|
|
|
+DATARMNETe61d62310f=DATARMNET8a461bad56;}else{DATARMNETecc0627c70.
|
|
|
+DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f+=DATARMNET8a461bad56;}}void
|
|
|
+DATARMNETe767554e6e(struct sk_buff*skb){DATARMNETda96251102(DATARMNET6b317c4c73,
|
|
|
+DATARMNET43225b7a7c,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),skb,NULL);netif_receive_skb(skb);}void DATARMNET514ce0bf59(
|
|
|
+struct sk_buff*skb){DATARMNETda96251102(DATARMNET6b317c4c73,DATARMNET43225b7a7c,
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,
|
|
|
+NULL);netif_rx(skb);}static struct sk_buff*DATARMNET0e315f0262(struct sk_buff*
|
|
|
+skb,u16 DATARMNETf8272cfb41){struct skb_shared_info*shinfo=skb_shinfo(skb);
|
|
|
+struct sk_buff*DATARMNET6643e66666,*tmp;u16 gso_size=shinfo->gso_size;u16
|
|
|
+gso_segs=shinfo->gso_segs;unsigned int gso_type=shinfo->gso_type;if(
|
|
|
+DATARMNETf8272cfb41>=gso_segs){return NULL;}shinfo->gso_segs=DIV_ROUND_UP(
|
|
|
+gso_segs,DATARMNETf8272cfb41);shinfo->gso_size=gso_size*DATARMNETf8272cfb41;
|
|
|
+DATARMNET6643e66666=__skb_gso_segment(skb,NETIF_F_SG,false);if(unlikely(
|
|
|
+IS_ERR_OR_NULL(DATARMNET6643e66666))){shinfo->gso_size=gso_size;shinfo->gso_segs
|
|
|
+=gso_segs;return NULL;}if(DATARMNETf8272cfb41<=(0xd26+209-0xdf6))return
|
|
|
+DATARMNET6643e66666;for(tmp=DATARMNET6643e66666;tmp;tmp=tmp->next){struct
|
|
|
+skb_shared_info*DATARMNETa7dac37e66=skb_shinfo(tmp);DATARMNETa7dac37e66->
|
|
|
+gso_type=gso_type;DATARMNETa7dac37e66->gso_size=gso_size;if(gso_segs>=
|
|
|
+DATARMNETf8272cfb41)DATARMNETa7dac37e66->gso_segs=DATARMNETf8272cfb41;else
|
|
|
+DATARMNETa7dac37e66->gso_segs=gso_segs;gso_segs-=DATARMNETf8272cfb41;if(gso_segs
|
|
|
+<=(0xd26+209-0xdf6)){break;}}return DATARMNET6643e66666;}static void
|
|
|
+DATARMNET21243b86ae(struct sk_buff*DATARMNETe08e18123e,u8 DATARMNETf345c1d909,
|
|
|
+u16 DATARMNET87636d0152){struct sk_buff*skb=NULL;struct sk_buff*
|
|
|
+DATARMNETcebafc57a4=NULL;struct sk_buff*DATARMNET39bcb0d197=NULL;int count=
|
|
|
+(0xd2d+202-0xdf7);DATARMNETda96251102(DATARMNET6b317c4c73,DATARMNET43225b7a7c,
|
|
|
+(0xd26+209-0xdf6),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+DATARMNETe08e18123e,NULL);DATARMNET39bcb0d197=DATARMNET0e315f0262(
|
|
|
+DATARMNETe08e18123e,DATARMNET87636d0152);if(DATARMNET39bcb0d197==NULL){if(
|
|
|
+DATARMNETf345c1d909==DATARMNET0b15fd8b54)netif_receive_skb(DATARMNETe08e18123e);
|
|
|
+else netif_rx(DATARMNETe08e18123e);return;}for((skb=DATARMNET39bcb0d197);skb!=
|
|
|
+NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4=skb->next;skb->hash=
|
|
|
+DATARMNETe08e18123e->hash;skb->dev=DATARMNETe08e18123e->dev;skb->next=NULL;if(
|
|
|
+DATARMNETf345c1d909==DATARMNET0b15fd8b54)netif_receive_skb(skb);else netif_rx(
|
|
|
+skb);count+=(0xd26+209-0xdf6);}consume_skb(DATARMNETe08e18123e);return;}int
|
|
|
+DATARMNET2efb1a51c7(struct DATARMNET63d7680df2*node_p){int ret=(0xd2d+202-0xdf7)
|
|
|
+;int DATARMNET42c3ecbd5e=(0xd26+209-0xdf6);u16 idx=(0xd2d+202-0xdf7);for(idx=
|
|
|
+(0xd2d+202-0xdf7);idx<DATARMNETc6782fed88;idx++){if(node_p->DATARMNET341ea38662
|
|
|
+->DATARMNET1a1d89d417&DATARMNET42c3ecbd5e)ret++;DATARMNET42c3ecbd5e=
|
|
|
+DATARMNET42c3ecbd5e<<(0xd26+209-0xdf6);}return ret;}int DATARMNET762cfa52fe(u8
|
|
|
+mask){int ret=DATARMNETb91aee91fd;int DATARMNETd416f5b047=DATARMNETb91aee91fd;u8
|
|
|
+ DATARMNET05e5e122cd=(0xd2d+202-0xdf7);u8 i;for(i=(0xd2d+202-0xdf7);i<
|
|
|
+DATARMNETc6782fed88;i++){if(!(mask&((0xd26+209-0xdf6)<<i)))continue;if(mask&(
|
|
|
+(0xd26+209-0xdf6)<<i))DATARMNET05e5e122cd++;if(list_empty(&DATARMNET0997c5650d[i
|
|
|
+].DATARMNET3dc4262f53))return i;if(DATARMNETcff375d916[i]<=DATARMNETd416f5b047||
|
|
|
+DATARMNETd416f5b047==DATARMNETb91aee91fd){ret=i;DATARMNETd416f5b047=
|
|
|
+DATARMNETcff375d916[i];}}return ret;}static int DATARMNETaef946bb68(u8 index,u8
|
|
|
+mask){int ret=DATARMNETb91aee91fd;u8 DATARMNET05e5e122cd=(0xd2d+202-0xdf7);u8 i;
|
|
|
+for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(DATARMNET05e5e122cd==index
|
|
|
+&&(mask&((0xd26+209-0xdf6)<<i)))return i;if(mask&((0xd26+209-0xdf6)<<i))
|
|
|
+DATARMNET05e5e122cd++;}return ret;}int DATARMNET6af33ebb5b(struct
|
|
|
+DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu=DATARMNETb91aee91fd;u8
|
|
|
+DATARMNETd4a0b11b47;u8 DATARMNET7dc3d97229;if(DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34)return DATARMNETecc0627c70.DATARMNET5c24e1df05;else if(
|
|
|
+DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNETef866573e0&&
|
|
|
+DATARMNET362b15f941(DATARMNET63b1a086d5->map_cpu)){cpu=DATARMNET762cfa52fe(
|
|
|
+DATARMNETbc3c416b77&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
|
|
|
+DATARMNET121c8bc82a&DATARMNET63b1a086d5->DATARMNETfbbec4c537);if(cpu<
|
|
|
+(0xd2d+202-0xdf7)&&DATARMNET63b1a086d5->DATARMNET341ea38662!=NULL){cpu=
|
|
|
+DATARMNET63b1a086d5->DATARMNET341ea38662->DATARMNET6e1a4eaf09;}}else if(
|
|
|
+DATARMNET63b1a086d5->DATARMNET341ea38662!=NULL){cpu=DATARMNET63b1a086d5->
|
|
|
+DATARMNET341ea38662->DATARMNET6e1a4eaf09;if(((0xd26+209-0xdf6)<<
|
|
|
+DATARMNET63b1a086d5->map_cpu)&(DATARMNETecc0627c70.DATARMNETba3f7a11ef|
|
|
|
+DATARMNET121c8bc82a)){DATARMNETd4a0b11b47=(DATARMNETbc3c416b77&(
|
|
|
+(0xd26+209-0xdf6)<<cpu))?DATARMNETbc3c416b77:DATARMNET9273f84bf1;if(!(
|
|
|
+DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
|
|
|
+DATARMNET121c8bc82a&DATARMNET63b1a086d5->DATARMNETfbbec4c537))
|
|
|
+DATARMNETd4a0b11b47=DATARMNETbc3c416b77;cpu=DATARMNET762cfa52fe(
|
|
|
+DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
|
|
|
+DATARMNET121c8bc82a&DATARMNET63b1a086d5->DATARMNETfbbec4c537);if((
|
|
|
+(0xd26+209-0xdf6)<<DATARMNET63b1a086d5->map_cpu)&(DATARMNETecc0627c70.
|
|
|
+DATARMNETba3f7a11ef))DATARMNETb7ddf3c5dd[DATARMNET7f401828b3]++;}else if((
|
|
|
+(0xd26+209-0xdf6)<<cpu)&DATARMNETecc0627c70.DATARMNETba3f7a11ef){
|
|
|
+DATARMNETd4a0b11b47=(DATARMNETbc3c416b77&((0xd26+209-0xdf6)<<cpu))?
|
|
|
+DATARMNETbc3c416b77:DATARMNET9273f84bf1;DATARMNET7dc3d97229=(DATARMNETbc3c416b77
|
|
|
+&((0xd26+209-0xdf6)<<DATARMNET63b1a086d5->map_cpu))?DATARMNETbc3c416b77:
|
|
|
+DATARMNET9273f84bf1;if(!(DATARMNETd4a0b11b47&~DATARMNETecc0627c70.
|
|
|
+DATARMNETba3f7a11ef&~DATARMNET121c8bc82a&DATARMNET63b1a086d5->
|
|
|
+DATARMNETfbbec4c537))DATARMNETd4a0b11b47=DATARMNETbc3c416b77;if(
|
|
|
+DATARMNETd4a0b11b47!=DATARMNET7dc3d97229)cpu=DATARMNET762cfa52fe(
|
|
|
+DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5
|
|
|
+->DATARMNETfbbec4c537);else cpu=DATARMNET63b1a086d5->map_cpu;}else if(
|
|
|
+DATARMNET0997c5650d[cpu].DATARMNETef866573e0){cpu=DATARMNET63b1a086d5->map_cpu;}
|
|
|
+}return cpu;}int DATARMNETb6bff4a724(struct DATARMNET63d7680df2*
|
|
|
+DATARMNET63b1a086d5){int cpu,idx=DATARMNETb91aee91fd;cpu=DATARMNET6af33ebb5b(
|
|
|
+DATARMNET63b1a086d5);idx=DATARMNET04e8d1b862(cpu,DATARMNET63b1a086d5->
|
|
|
+DATARMNETfbbec4c537);if(unlikely(idx<(0xd2d+202-0xdf7)))idx=DATARMNET04e8d1b862(
|
|
|
+DATARMNET63b1a086d5->map_cpu,DATARMNET63b1a086d5->DATARMNETfbbec4c537);
|
|
|
+DATARMNETda96251102(DATARMNETf3aaad06eb,DATARMNETf2fc7954d4,DATARMNET63b1a086d5
|
|
|
+->hash,cpu,idx,(0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);return idx;}static
|
|
|
+int DATARMNET2af09ccd0b(int cpu,int DATARMNET63a222ae1f,int DATARMNETea08087fc0)
|
|
|
+{int ret=(0xd2d+202-0xdf7);if(DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].
|
|
|
+DATARMNETe61d62310f>=DATARMNET65393dea13[cpu]){ret=DATARMNET0efbbe2821;}if(
|
|
|
+DATARMNET63a222ae1f&&((DATARMNETeea3cef5b6(cpu)+DATARMNETea08087fc0)>=
|
|
|
+DATARMNETbc049ffc4c[cpu]))ret=DATARMNETa4267dfd8a;return ret;}void
|
|
|
+DATARMNET349c3a0cab(u16 map_cpu,bool DATARMNETb639f6e1b1){if(map_cpu<
|
|
|
+DATARMNETc6782fed88)(DATARMNETb639f6e1b1)?DATARMNETcff375d916[map_cpu]++:
|
|
|
+DATARMNETcff375d916[map_cpu]--;else DATARMNET68d84e7b98[DATARMNETcc0ef52ccb]++;}
|
|
|
+void DATARMNETb1157fd5c4(u8 DATARMNET42a992465f){if(DATARMNET42a992465f>=
|
|
|
+DATARMNETc6782fed88)return;rcu_read_lock();DATARMNET0997c5650d[
|
|
|
+DATARMNET42a992465f].DATARMNETae196235f2=DATARMNET9c1c20df35(softnet_data,
|
|
|
+DATARMNET42a992465f);DATARMNET0997c5650d[DATARMNET42a992465f].qtail=
|
|
|
+DATARMNET78ec5e8746(softnet_data,DATARMNET42a992465f);rcu_read_unlock();
|
|
|
+DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET96571b28de=DATARMNET0997c5650d
|
|
|
+[DATARMNET42a992465f].qtail-DATARMNET0997c5650d[DATARMNET42a992465f].
|
|
|
+DATARMNETae196235f2;DATARMNETda96251102(DATARMNET75d955c408,DATARMNET5874e1ecd7,
|
|
|
+DATARMNET42a992465f,DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETae196235f2
|
|
|
+,DATARMNET0997c5650d[DATARMNET42a992465f].qtail,(0x16e8+787-0xc0c),NULL,NULL);}
|
|
|
+void DATARMNETe074a09496(void){u8 DATARMNET42a992465f;rcu_read_lock();for(
|
|
|
+DATARMNET42a992465f=(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;
|
|
|
+DATARMNET42a992465f++){if(!cpu_online(DATARMNET42a992465f))continue;
|
|
|
+DATARMNETb1157fd5c4(DATARMNET42a992465f);DATARMNETda96251102(DATARMNET75d955c408
|
|
|
+,DATARMNET5874e1ecd7,DATARMNET42a992465f,DATARMNET0997c5650d[DATARMNET42a992465f
|
|
|
+].DATARMNETae196235f2,DATARMNET0997c5650d[DATARMNET42a992465f].qtail,
|
|
|
+(0x16e8+787-0xc0c),NULL,NULL);}rcu_read_unlock();}int DATARMNET765b8ecfba(struct
|
|
|
+ net_device*dev,u8 cpu,u8 DATARMNET5780499e9c){struct DATARMNET177911299b
|
|
|
+DATARMNETecb92a9ca5;if(rmnet_is_real_dev_registered(dev)){if(DATARMNET713da9913c
|
|
|
+(dev->_rx,cpu,DATARMNET5780499e9c)==(0xd2d+202-0xdf7)){DATARMNETecc0627c70.
|
|
|
+DATARMNETba3f7a11ef=(0xd26+209-0xdf6)<<cpu;DATARMNETecc0627c70.
|
|
|
+DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;DATARMNETecc0627c70.
|
|
|
+DATARMNET7d667e828e=cpu;DATARMNET1d4b1eff85(&DATARMNETecb92a9ca5,
|
|
|
+DATARMNETecc0627c70.DATARMNET6625085b71,cpu);DATARMNETb5d58adbe7(&
|
|
|
+DATARMNETecb92a9ca5);}else{return-(0xd26+209-0xdf6);}}else{DATARMNET68d84e7b98[
|
|
|
+DATARMNET767c76ca08]++;}return(0xd2d+202-0xdf7);}int DATARMNETe488c1c396(struct
|
|
|
+DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8
|
|
|
+DATARMNET5447204733){int DATARMNET5c4a331b9c;u32 DATARMNETd3673fd5f0;u32
|
|
|
+DATARMNET9bbfe49633;int ret=(0xd2d+202-0xdf7);int DATARMNET5a2e9192f9=-
|
|
|
+(0xd26+209-0xdf6);int DATARMNET8ceb7a8cc9;int DATARMNET42a992465f;int
|
|
|
+DATARMNETcfb5dc7296;struct DATARMNETe600c5b727*DATARMNET373e474754;u8 map=
|
|
|
+DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET5c4a331b9c=DATARMNETb6bff4a724
|
|
|
+(DATARMNET63b1a086d5);do{DATARMNET5a2e9192f9=DATARMNET63b1a086d5->map_cpu;if(
|
|
|
+DATARMNET5c4a331b9c<(0xd2d+202-0xdf7)){DATARMNET63b1a086d5->DATARMNET6250e93187=
|
|
|
+(0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}DATARMNET63b1a086d5->
|
|
|
+DATARMNET6250e93187=(0xd26+209-0xdf6);if(!map){DATARMNET63b1a086d5->
|
|
|
+DATARMNET6250e93187=(0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}if(
|
|
|
+DATARMNET5c4a331b9c==DATARMNET63b1a086d5->map_index){ret=(0xd26+209-0xdf6);break
|
|
|
+;}if(!DATARMNET63b1a086d5->DATARMNET85c698ec34)DATARMNETd3673fd5f0=
|
|
|
+DATARMNETadb0248bd4(DATARMNET63b1a086d5->map_cpu);else DATARMNETd3673fd5f0=
|
|
|
+DATARMNETadb0248bd4(DATARMNETecc0627c70.DATARMNET7d667e828e);DATARMNET9bbfe49633
|
|
|
+=DATARMNET63b1a086d5->queue_head;DATARMNET42a992465f=DATARMNET63b1a086d5->
|
|
|
+map_cpu;if((!DATARMNET63b1a086d5->DATARMNET85c698ec34&&DATARMNETd3673fd5f0>=(
|
|
|
+DATARMNET9bbfe49633+DATARMNET63b1a086d5->DATARMNET0371465875))||(
|
|
|
+DATARMNETd87669e323>=DATARMNETa7d45fb6d4||(DATARMNETd87669e323&&
|
|
|
+DATARMNET63b1a086d5->DATARMNET85c698ec34))||(!DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34&&!DATARMNETeea3cef5b6(DATARMNET42a992465f)&&++
|
|
|
+DATARMNET14ed771dfb[DATARMNET0d07041c32])){if(likely(DATARMNETa7909611da)){
|
|
|
+DATARMNETcfb5dc7296=DATARMNETaef946bb68(DATARMNET5c4a331b9c,DATARMNET63b1a086d5
|
|
|
+->DATARMNETfbbec4c537);if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){ret=
|
|
|
+(0xd26+209-0xdf6);break;}DATARMNET0997c5650d[DATARMNETcfb5dc7296].
|
|
|
+DATARMNET4133fc9428+=DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+DATARMNET6215127f48;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
|
|
|
+DATARMNET4133fc9428-=DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+DATARMNET6215127f48;DATARMNET63b1a086d5->map_index=DATARMNET5c4a331b9c;
|
|
|
+DATARMNET63b1a086d5->map_cpu=DATARMNETcfb5dc7296;DATARMNET8ceb7a8cc9=
|
|
|
+DATARMNET63b1a086d5->map_cpu;if(DATARMNETd3673fd5f0<(DATARMNET9bbfe49633+
|
|
|
+DATARMNET63b1a086d5->DATARMNET0371465875)){DATARMNETb7ddf3c5dd[
|
|
|
+DATARMNET28bb261646]++;DATARMNETb7ddf3c5dd[DATARMNET67b67dc88f]+=(
|
|
|
+DATARMNET9bbfe49633-DATARMNETd3673fd5f0)+DATARMNET63b1a086d5->
|
|
|
+DATARMNET0371465875;DATARMNET4bde88919f(DATARMNET42a992465f,(DATARMNET9bbfe49633
|
|
|
+-DATARMNETd3673fd5f0)+DATARMNET63b1a086d5->DATARMNET0371465875);pr_info(
|
|
|
+"\x73\x68\x73\x20\x6f\x6f\x6f\x3a\x20\x70\x68\x79\x20\x25\x64\x20\x6e\x65\x77\x5f\x63\x70\x75\x20\x25\x64\x20\x6f\x6c\x64\x5f\x63\x70\x75\x20\x25\x64\x2c\x20\x6f\x66\x66\x73\x65\x74\x20\x25\x64\x20\x6e\x6f\x64\x65\x5f\x71\x68\x65\x61\x64\x20\x25\x64\x2c\x20\x63\x75\x72\x5f\x71\x68\x65\x61\x64\x20\x25\x64\x2c\x20\x66\x66\x20\x25\x64\x20\x6f\x6c\x64\x20\x63\x70\x75\x20\x71\x64\x69\x66\x66\x20\x25\x64\x20\x6e\x65\x77\x20\x71\x64\x69\x66\x66\x20\x25\x64\x20" "\n"
|
|
|
+,DATARMNET63b1a086d5->DATARMNET85c698ec34,DATARMNETcfb5dc7296,
|
|
|
+DATARMNET42a992465f,DATARMNET63b1a086d5->DATARMNET0371465875,DATARMNET9bbfe49633
|
|
|
+,DATARMNETd3673fd5f0,DATARMNETd87669e323,DATARMNETeea3cef5b6(DATARMNET42a992465f
|
|
|
+),DATARMNETeea3cef5b6(DATARMNETcfb5dc7296));}if(DATARMNET0997c5650d[
|
|
|
+DATARMNET42a992465f].DATARMNETef866573e0){DATARMNET0997c5650d[
|
|
|
+DATARMNET8ceb7a8cc9].DATARMNET1e1f197118=(0xd26+209-0xdf6);DATARMNETb7ddf3c5dd[
|
|
|
+DATARMNETc3bce05be2]++;}else if(((0xd26+209-0xdf6)<<DATARMNET42a992465f)&
|
|
|
+DATARMNET121c8bc82a){DATARMNETb7ddf3c5dd[DATARMNET6bf40b86f6]++;}else{
|
|
|
+DATARMNETb7ddf3c5dd[DATARMNET14067f0be4]++;}DATARMNET373e474754=&
|
|
|
+DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu];DATARMNETe074a09496();
|
|
|
+DATARMNET63b1a086d5->queue_head=DATARMNET373e474754->DATARMNETae196235f2;
|
|
|
+DATARMNET63b1a086d5->queue_head+=DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+DATARMNET6215127f48;if(DATARMNET63b1a086d5->DATARMNET341ea38662)
|
|
|
+DATARMNET63b1a086d5->DATARMNET341ea38662->DATARMNET6e1a4eaf09=
|
|
|
+DATARMNET8ceb7a8cc9;DATARMNETe102b3a798(DATARMNET63b1a086d5,&DATARMNET373e474754
|
|
|
+->DATARMNET3dc4262f53,DATARMNET42a992465f);DATARMNET52de1f3dc0(
|
|
|
+DATARMNET4510abc30d,DATARMNET052f49b190,DATARMNET63b1a086d5->map_cpu,
|
|
|
+DATARMNET5a2e9192f9,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET63b1a086d5,
|
|
|
+NULL);}ret=(0xd26+209-0xdf6);}}while((0xd2d+202-0xdf7));DATARMNETda96251102(
|
|
|
+DATARMNET4510abc30d,DATARMNET23b8465daf,ret,DATARMNET63b1a086d5->map_cpu,
|
|
|
+DATARMNET5a2e9192f9,(0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);return ret;}
|
|
|
+void DATARMNETfbc06e60f1(u8 DATARMNET42a992465f){struct DATARMNET63d7680df2*
|
|
|
+DATARMNET3f85732c70;struct list_head*DATARMNET7b34b7b5be,*next;u32
|
|
|
+DATARMNET61ab18a4bd;u32 DATARMNETed7800fc72=(0xd2d+202-0xdf7);u32
|
|
|
+DATARMNETa0df5de99d=(0xd2d+202-0xdf7);u32 DATARMNET8bf94cc2f7=(0xd2d+202-0xdf7);
|
|
|
+u32 DATARMNET76192fa639=(0xd2d+202-0xdf7);DATARMNETe074a09496();
|
|
|
+DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETde91850c28,DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),NULL,NULL);spin_lock_bh(&DATARMNET3764d083f0);
|
|
|
+DATARMNET61ab18a4bd=DATARMNETeb3978575d(DATARMNET42a992465f);list_for_each_safe(
|
|
|
+DATARMNET7b34b7b5be,next,&DATARMNET0997c5650d[DATARMNET42a992465f].
|
|
|
+DATARMNET3dc4262f53){DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct
|
|
|
+DATARMNET63d7680df2,DATARMNET04c88b8191);if(DATARMNET3f85732c70->
|
|
|
+DATARMNETae4b27456e.DATARMNET6215127f48){DATARMNETed7800fc72=DATARMNET3f85732c70
|
|
|
+->DATARMNETae4b27456e.DATARMNET6215127f48;DATARMNETa0df5de99d=
|
|
|
+DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNETbaa5765693;DATARMNETe02152c351
|
|
|
+(DATARMNET3f85732c70,DATARMNET6aecae7be2,DATARMNET5b5927fd7e,NULL);
|
|
|
+DATARMNET8bf94cc2f7+=DATARMNETed7800fc72;DATARMNET76192fa639+=
|
|
|
+DATARMNETa0df5de99d;if(DATARMNET3f85732c70->map_cpu==DATARMNET42a992465f){
|
|
|
+DATARMNET61ab18a4bd+=DATARMNETed7800fc72;DATARMNET3f85732c70->queue_head=
|
|
|
+DATARMNET61ab18a4bd;}}}DATARMNETecc0627c70.DATARMNETc252a1f55d-=
|
|
|
+DATARMNET76192fa639;DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNET8bf94cc2f7
|
|
|
+;DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0=(0xd2d+202-0xdf7);
|
|
|
+DATARMNETecc0627c70.DATARMNET132b9c7dc4[DATARMNET42a992465f].DATARMNETe61d62310f
|
|
|
+=(0xd2d+202-0xdf7);DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428=
|
|
|
+(0xd2d+202-0xdf7);spin_unlock_bh(&DATARMNET3764d083f0);if(DATARMNET42a992465f==
|
|
|
+DATARMNETecc0627c70.DATARMNET6625085b71&&rcu_dereference(rmnet_shs_switch)){
|
|
|
+DATARMNETa871eeb7e7();DATARMNETecc0627c70.DATARMNETfeee6933fc=(0xd2d+202-0xdf7);
|
|
|
+DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;
|
|
|
+}DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET576793621a,DATARMNETecc0627c70
|
|
|
+.DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,DATARMNET8bf94cc2f7
|
|
|
+,DATARMNET76192fa639,NULL,NULL);}void DATARMNET056c939591(struct work_struct*
|
|
|
+DATARMNET33110a3ff5){struct DATARMNETa6f2d499b2*DATARMNET4b39dc1574=container_of
|
|
|
+(DATARMNET33110a3ff5,struct DATARMNETa6f2d499b2,DATARMNET33110a3ff5);
|
|
|
+DATARMNETfbc06e60f1(DATARMNET4b39dc1574->DATARMNET42c3ecbd5e);
|
|
|
+DATARMNET14ed771dfb[DATARMNETbb5757569c]++;}void DATARMNETcba2f7f7b6(struct
|
|
|
+DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETf345c1d909,struct sk_buff**
|
|
|
+DATARMNETc88d0a6cdd){struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=
|
|
|
+NULL;u32 DATARMNETe20a9cab2b=(0xd2d+202-0xdf7);u32 DATARMNETb481d13a78=
|
|
|
+(0xd2d+202-0xdf7);u32 DATARMNET1fcbf046ec=(0xd2d+202-0xdf7);u8 map=
|
|
|
+(0xd2d+202-0xdf7),DATARMNET0258668025=(0xd2d+202-0xdf7);u16 DATARMNET87636d0152=
|
|
|
+(0xd2d+202-0xdf7);u16 index;u8 DATARMNET3894230a14=(0xd2d+202-0xdf7);u8 cpu;if(!
|
|
|
+DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;if(!DATARMNET63b1a086d5->
|
|
|
+DATARMNETfbbec4c537){map=DATARMNETecc0627c70.map_mask;DATARMNET0258668025=
|
|
|
+DATARMNETecc0627c70.map_len;index=DATARMNET63b1a086d5->map_index;}else{map=
|
|
|
+DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET0258668025=DATARMNET63b1a086d5
|
|
|
+->DATARMNETa59ce1fd2d;index=DATARMNET63b1a086d5->map_index;}cpu=
|
|
|
+DATARMNET63b1a086d5->map_cpu;if(DATARMNET0997c5650d[cpu].DATARMNET72067bf727){
|
|
|
+DATARMNET3894230a14=DATARMNET0997c5650d[cpu].DATARMNET72067bf727&&
|
|
|
+rmnet_shs_no_sync_off;}if(map){DATARMNET1fcbf046ec=DATARMNET8532ab3089(index,
|
|
|
+DATARMNET0258668025,DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash,
|
|
|
+DATARMNET3894230a14);}else{DATARMNET63b1a086d5->DATARMNET6250e93187=
|
|
|
+(0xd2d+202-0xdf7);}DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETe4ee0d2636,
|
|
|
+DATARMNET63b1a086d5->hash,DATARMNET1fcbf046ec,DATARMNET63b1a086d5->
|
|
|
+DATARMNETae4b27456e.DATARMNET6215127f48,DATARMNET63b1a086d5->DATARMNETae4b27456e
|
|
|
+.DATARMNETbaa5765693,DATARMNET63b1a086d5,DATARMNET63b1a086d5->
|
|
|
+DATARMNETae4b27456e.head);DATARMNET87636d0152=(u16)DATARMNET63b1a086d5->
|
|
|
+DATARMNET341ea38662->DATARMNET87636d0152;for((skb=DATARMNET63b1a086d5->
|
|
|
+DATARMNETae4b27456e.head);skb!=NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4
|
|
|
+=skb->next;if(DATARMNET63b1a086d5->DATARMNET6250e93187)skb->hash=
|
|
|
+DATARMNET1fcbf046ec;skb->next=NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6);
|
|
|
+DATARMNETb481d13a78+=skb->len;if(DATARMNET3894230a14)DATARMNET952c960091++;if(
|
|
|
+DATARMNET87636d0152>(0xd2d+202-0xdf7)&&!DATARMNET63b1a086d5->DATARMNET85c698ec34
|
|
|
+){if(DATARMNET63b1a086d5->DATARMNET1e9d25d9ff==IPPROTO_UDP)DATARMNET68d84e7b98[
|
|
|
+DATARMNETdd6bf3de6b]++;DATARMNET21243b86ae(skb,DATARMNETf345c1d909,
|
|
|
+DATARMNET87636d0152);}else{if(DATARMNETf345c1d909==DATARMNET0b15fd8b54&&(!
|
|
|
+DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
|
|
|
+DATARMNETf345c1d909==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else if(DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34&&DATARMNETf345c1d909==DATARMNET0b15fd8b54&&
|
|
|
+DATARMNETc88d0a6cdd){if(!*DATARMNETc88d0a6cdd){skb->prev=skb;*
|
|
|
+DATARMNETc88d0a6cdd=skb;}else{(*DATARMNETc88d0a6cdd)->prev->next=skb;(*
|
|
|
+DATARMNETc88d0a6cdd)->prev=skb;}}else{DATARMNET14ed771dfb[DATARMNET94658618fc]++
|
|
|
+;netif_rx(skb);}}}DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=
|
|
|
+(0xd2d+202-0xdf7);DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=
|
|
|
+(0xd2d+202-0xdf7);DATARMNET63b1a086d5->DATARMNETae4b27456e.head=NULL;
|
|
|
+DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=NULL;DATARMNET52de1f3dc0(
|
|
|
+DATARMNET4510abc30d,DATARMNETfb753e521e,DATARMNET63b1a086d5->hash,
|
|
|
+DATARMNET1fcbf046ec,DATARMNETe20a9cab2b,DATARMNETb481d13a78,DATARMNET63b1a086d5,
|
|
|
+NULL);}void DATARMNET23c7ddd780(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,
|
|
|
+u8 DATARMNET5447204733){struct sk_buff*skb;struct sk_buff*DATARMNETcebafc57a4=
|
|
|
+NULL;u32 DATARMNETe20a9cab2b=(0xd2d+202-0xdf7);u32 DATARMNETb481d13a78=
|
|
|
+(0xd2d+202-0xdf7);u32 DATARMNET1fcbf046ec;u8 map,DATARMNET0258668025;if(!
|
|
|
+DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;map=DATARMNET63b1a086d5->
|
|
|
+DATARMNETfbbec4c537;DATARMNET0258668025=DATARMNET63b1a086d5->DATARMNETa59ce1fd2d
|
|
|
+;if(map){DATARMNET1fcbf046ec=DATARMNET8532ab3089(DATARMNET63b1a086d5->map_index,
|
|
|
+DATARMNET0258668025,DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash,
|
|
|
+(0xd2d+202-0xdf7));}else{DATARMNET63b1a086d5->DATARMNET6250e93187=
|
|
|
+(0xd2d+202-0xdf7);}for((skb=DATARMNET63b1a086d5->DATARMNETae4b27456e.head);skb!=
|
|
|
+NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4=skb->next;if(
|
|
|
+DATARMNET63b1a086d5->DATARMNET6250e93187)skb->hash=DATARMNET1fcbf046ec;skb->next
|
|
|
+=NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6);DATARMNETb481d13a78+=skb->len;if(
|
|
|
+DATARMNET5447204733==DATARMNET0b15fd8b54&&(!DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(DATARMNET5447204733==
|
|
|
+DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->DATARMNET85c698ec34))
|
|
|
+DATARMNET514ce0bf59(skb);else{netif_rx(skb);}}DATARMNET68d84e7b98[
|
|
|
+DATARMNET72db8b9bac]++;DATARMNETecc0627c70.DATARMNETc252a1f55d-=
|
|
|
+DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNETe20a9cab2b
|
|
|
+;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNET4133fc9428-=
|
|
|
+DATARMNETe20a9cab2b;}int DATARMNETe02152c351(struct DATARMNET63d7680df2*
|
|
|
+DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 DATARMNET5447204733,struct sk_buff
|
|
|
+**DATARMNETc88d0a6cdd){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);int map=
|
|
|
+DATARMNET63b1a086d5->DATARMNETfbbec4c537;int DATARMNET5643f7b5e9;
|
|
|
+DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET022082b219,DATARMNETd87669e323,
|
|
|
+DATARMNET5447204733,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET63b1a086d5,
|
|
|
+NULL);if(DATARMNETaef946bb68(DATARMNET63b1a086d5->map_index,map)!=
|
|
|
+DATARMNET63b1a086d5->map_cpu){DATARMNET5643f7b5e9=DATARMNET04e8d1b862(
|
|
|
+DATARMNET63b1a086d5->map_cpu,map);if(DATARMNET5643f7b5e9>=(0xd2d+202-0xdf7)){
|
|
|
+DATARMNET63b1a086d5->map_index=DATARMNET5643f7b5e9;DATARMNET63b1a086d5->map_cpu=
|
|
|
+DATARMNETaef946bb68(DATARMNET5643f7b5e9,map);}else{DATARMNET63b1a086d5->
|
|
|
+map_index=DATARMNET2edff26954;DATARMNET63b1a086d5->map_cpu=DATARMNETaef946bb68(
|
|
|
+DATARMNET2edff26954,map);if(DATARMNET63b1a086d5->map_cpu<(0xd2d+202-0xdf7))
|
|
|
+DATARMNET63b1a086d5->map_cpu=DATARMNET2edff26954;}DATARMNETd87669e323=
|
|
|
+(0xd26+209-0xdf6);DATARMNET68d84e7b98[DATARMNETa1f9420686]++;DATARMNET015fb2ba0e
|
|
|
+(DATARMNET720469c0a9,DATARMNET998c6de143,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}if(DATARMNETe488c1c396(
|
|
|
+DATARMNET63b1a086d5,DATARMNETd87669e323,DATARMNET5447204733)){
|
|
|
+DATARMNETcba2f7f7b6(DATARMNET63b1a086d5,DATARMNET5447204733,DATARMNETc88d0a6cdd)
|
|
|
+;DATARMNETbd864aa442=(0xd26+209-0xdf6);}DATARMNET52de1f3dc0(DATARMNET4510abc30d,
|
|
|
+DATARMNET64b02f64c6,DATARMNETbd864aa442,DATARMNETd87669e323,(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);return DATARMNETbd864aa442;}static
|
|
|
+void DATARMNETc54e431bbc(u8 DATARMNET42a992465f,u8 DATARMNET7845d39672,u32
|
|
|
+DATARMNETea08087fc0){u32 DATARMNETba6017a3a9=(!DATARMNET227d2ff866)?
|
|
|
+(0xd26+209-0xdf6):DATARMNET227d2ff866;int DATARMNETd9d8392917;if((
|
|
|
+DATARMNETd9d8392917=DATARMNET2af09ccd0b(DATARMNET42a992465f,DATARMNET7845d39672,
|
|
|
+DATARMNETea08087fc0))&&DATARMNET362b15f941(DATARMNET42a992465f)&&!
|
|
|
+DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0&&
|
|
|
+DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNET42a992465f&&
|
|
|
+DATARMNET42a992465f!=(0xd26+209-0xdf6)){DATARMNETba6017a3a9=(!
|
|
|
+DATARMNET7845d39672)?DATARMNET249a927510:DATARMNETba6017a3a9;DATARMNET0997c5650d
|
|
|
+[DATARMNET42a992465f].DATARMNETef866573e0=(0xd26+209-0xdf6);DATARMNETfb7007f025(
|
|
|
+);if(hrtimer_active(&DATARMNETba5ea4329f(DATARMNET42a992465f)))hrtimer_cancel(&
|
|
|
+DATARMNETba5ea4329f(DATARMNET42a992465f));hrtimer_start(&DATARMNETba5ea4329f(
|
|
|
+DATARMNET42a992465f),ns_to_ktime(DATARMNETba6017a3a9*DATARMNET68fc0be252),
|
|
|
+HRTIMER_MODE_REL);DATARMNETb7ddf3c5dd[DATARMNETd9d8392917]++;}}void
|
|
|
+DATARMNETe377e0368d(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){struct
|
|
|
+DATARMNET63d7680df2*DATARMNET3f85732c70=NULL;struct DATARMNET63d7680df2*
|
|
|
+DATARMNETbb236c7d08=NULL;struct list_head*DATARMNET7b34b7b5be=NULL,*next=NULL;
|
|
|
+struct sk_buff*DATARMNETc88d0a6cdd=NULL;int DATARMNET42a992465f;u32
|
|
|
+DATARMNET61ab18a4bd;u32 DATARMNETed7800fc72=(0xd2d+202-0xdf7);u32
|
|
|
+DATARMNETa0df5de99d=(0xd2d+202-0xdf7);u32 DATARMNETe56f4fbbe6=(0xd2d+202-0xdf7);
|
|
|
+u32 DATARMNET8bf94cc2f7=(0xd2d+202-0xdf7);u32 DATARMNET76192fa639=
|
|
|
+(0xd2d+202-0xdf7);u32 DATARMNET870611bedd=(0xd2d+202-0xdf7);u32
|
|
|
+DATARMNETa6424e3c4e=(0xd2d+202-0xdf7);u8 DATARMNET77e7f4db43=(0xd2d+202-0xdf7);
|
|
|
+struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=NULL;struct
|
|
|
+DATARMNETe600c5b727*DATARMNETa4055affd5=NULL;DATARMNETe074a09496();
|
|
|
+DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETde91850c28,DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),NULL,NULL);for(DATARMNET42a992465f=(0xd2d+202-0xdf7);
|
|
|
+DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++){
|
|
|
+DATARMNET61ab18a4bd=DATARMNETeb3978575d(DATARMNET42a992465f);DATARMNET870611bedd
|
|
|
+=(0xd2d+202-0xdf7);DATARMNETe56f4fbbe6=(0xd2d+202-0xdf7);list_for_each_safe(
|
|
|
+DATARMNET7b34b7b5be,next,&DATARMNET0997c5650d[DATARMNET42a992465f].
|
|
|
+DATARMNET3dc4262f53){DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct
|
|
|
+DATARMNET63d7680df2,DATARMNET04c88b8191);DATARMNETe56f4fbbe6+=
|
|
|
+DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET35234676d4;}if(
|
|
|
+DATARMNET12565c8f98){DATARMNETc54e431bbc(DATARMNET42a992465f,DATARMNET20dc6bb36b
|
|
|
+,DATARMNETe56f4fbbe6);}list_for_each_safe(DATARMNET7b34b7b5be,next,&
|
|
|
+DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET3dc4262f53){
|
|
|
+DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct DATARMNET63d7680df2,
|
|
|
+DATARMNET04c88b8191);if(DATARMNET3f85732c70->DATARMNETae4b27456e.
|
|
|
+DATARMNET6215127f48){if(DATARMNET3f85732c70->DATARMNET85c698ec34)
|
|
|
+DATARMNETbb236c7d08=DATARMNET3f85732c70;DATARMNETed7800fc72=DATARMNET3f85732c70
|
|
|
+->DATARMNETae4b27456e.DATARMNET6215127f48;DATARMNETa0df5de99d=
|
|
|
+DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNETbaa5765693;DATARMNETa6424e3c4e
|
|
|
+=DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET35234676d4;
|
|
|
+DATARMNET77e7f4db43=DATARMNETe02152c351(DATARMNET3f85732c70,DATARMNETded3da1a77,
|
|
|
+DATARMNET5447204733,&DATARMNETc88d0a6cdd);if(DATARMNET77e7f4db43){
|
|
|
+DATARMNET870611bedd+=DATARMNETa6424e3c4e;DATARMNET8bf94cc2f7+=
|
|
|
+DATARMNETed7800fc72;DATARMNET76192fa639+=DATARMNETa0df5de99d;DATARMNET0997c5650d
|
|
|
+[DATARMNET3f85732c70->map_cpu].DATARMNET4133fc9428-=DATARMNETed7800fc72;
|
|
|
+DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET35234676d4=(0xd2d+202-0xdf7);
|
|
|
+if(DATARMNET3f85732c70->map_cpu==DATARMNET42a992465f){DATARMNET61ab18a4bd+=
|
|
|
+DATARMNETed7800fc72;DATARMNET3f85732c70->queue_head=DATARMNET61ab18a4bd;}}}}if(
|
|
|
+DATARMNET12565c8f98){if(DATARMNET362b15f941(DATARMNET42a992465f)&&!
|
|
|
+DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0)DATARMNETfa919d00dc
|
|
|
+(DATARMNET42a992465f,DATARMNET870611bedd);DATARMNETc54e431bbc(
|
|
|
+DATARMNET42a992465f,DATARMNET20dc6bb36b,(0xd2d+202-0xdf7));}if(
|
|
|
+DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428<(0xd2d+202-0xdf7))
|
|
|
+DATARMNET68d84e7b98[DATARMNET33a9d4759f]++;if(DATARMNETeea3cef5b6(
|
|
|
+DATARMNET42a992465f)>=DATARMNET84413d1257[DATARMNET42a992465f])
|
|
|
+DATARMNET84413d1257[DATARMNET42a992465f]=DATARMNETeea3cef5b6(DATARMNET42a992465f
|
|
|
+);}DATARMNETecc0627c70.DATARMNETc252a1f55d-=DATARMNET76192fa639;
|
|
|
+DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNET8bf94cc2f7;if(
|
|
|
+DATARMNETc88d0a6cdd&&DATARMNETbb236c7d08){DATARMNETa4055affd5=&
|
|
|
+DATARMNET0997c5650d[DATARMNETbb236c7d08->map_cpu];DATARMNETecc0627c70.
|
|
|
+DATARMNET75af9f3c31=(0xd26+209-0xdf6);spin_unlock_bh(&DATARMNET3764d083f0);
|
|
|
+DATARMNETbb236c7d08->DATARMNET0371465875=(0xd2d+202-0xdf7);for((skb=
|
|
|
+DATARMNETc88d0a6cdd);skb!=NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4=skb
|
|
|
+->next;skb->next=NULL;DATARMNETde8ee16f92(DATARMNETbb236c7d08);rmnet_rx_handler(
|
|
|
+&skb);DATARMNET3e37ad2816(DATARMNETbb236c7d08,&DATARMNETa4055affd5->
|
|
|
+DATARMNET3dc4262f53);}spin_lock_bh(&DATARMNET3764d083f0);DATARMNETa871eeb7e7();
|
|
|
+DATARMNETecc0627c70.DATARMNET75af9f3c31=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
|
|
|
+DATARMNETfeee6933fc=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET6625085b71=
|
|
|
+DATARMNETecc0627c70.DATARMNET7d667e828e;}DATARMNET52de1f3dc0(DATARMNET4510abc30d
|
|
|
+,DATARMNET576793621a,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70
|
|
|
+.DATARMNETc252a1f55d,DATARMNET8bf94cc2f7,DATARMNET76192fa639,NULL,NULL);if((
|
|
|
+DATARMNETecc0627c70.DATARMNETc252a1f55d<=(0xd2d+202-0xdf7))||(
|
|
|
+DATARMNETecc0627c70.DATARMNETa2e32cdd3a<=(0xd2d+202-0xdf7))){DATARMNETecc0627c70
|
|
|
+.DATARMNETc252a1f55d=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETa2e32cdd3a=
|
|
|
+(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd2d+202-0xdf7);
|
|
|
+DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;}}void
|
|
|
+DATARMNETa4bf9fbf64(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){spin_lock_bh(
|
|
|
+&DATARMNET3764d083f0);DATARMNETe377e0368d(DATARMNETded3da1a77,
|
|
|
+DATARMNET5447204733);spin_unlock_bh(&DATARMNET3764d083f0);if(DATARMNET5447204733
|
|
|
+==DATARMNET5b5927fd7e){if(DATARMNET365ddeca1c&&DATARMNETecc0627c70.
|
|
|
+DATARMNETc252a1f55d&&DATARMNETecc0627c70.DATARMNETa2e32cdd3a){if(hrtimer_active(
|
|
|
+&DATARMNETecc0627c70.DATARMNET6fd692fc7a))hrtimer_cancel(&DATARMNETecc0627c70.
|
|
|
+DATARMNET6fd692fc7a);hrtimer_start(&DATARMNETecc0627c70.DATARMNET6fd692fc7a,
|
|
|
+ns_to_ktime(DATARMNET4ac8af832c*DATARMNET68fc0be252),HRTIMER_MODE_REL);}
|
|
|
+DATARMNET14ed771dfb[DATARMNETd45c383019]++;}}void DATARMNET495dab3d72(struct
|
|
|
+sk_buff*skb,struct DATARMNET63d7680df2*DATARMNET63b1a086d5,struct
|
|
|
+rmnet_shs_clnt_s*DATARMNET0bf01e7c6f){u8 DATARMNET7d63e92341=(0xd2d+202-0xdf7);
|
|
|
+#ifdef DATARMNETdddae6afa8
|
|
|
+if(!(DATARMNET0bf01e7c6f->config&DATARMNET2a76d433b3)&&skb->cb[
|
|
|
+DATARMNET8fadb49f38]){DATARMNETe377e0368d((0xd2d+202-0xdf7),DATARMNET0b15fd8b54)
|
|
|
+;DATARMNET14ed771dfb[DATARMNETc8058e2cff]++;DATARMNET7d63e92341=
|
|
|
+(0xd26+209-0xdf6);}
|
|
|
+#endif
|
|
|
+if(skb_shinfo(skb)->gso_segs){DATARMNET63b1a086d5->DATARMNET11930c5df8+=
|
|
|
+skb_shinfo(skb)->gso_segs;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
|
|
|
+DATARMNET4133fc9428++;DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+DATARMNET35234676d4+=skb_shinfo(skb)->gso_segs;}else{DATARMNET63b1a086d5->
|
|
|
+DATARMNET11930c5df8+=(0xd26+209-0xdf6);DATARMNET0997c5650d[DATARMNET63b1a086d5->
|
|
|
+map_cpu].DATARMNET4133fc9428++;DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+DATARMNET35234676d4++;}DATARMNET63b1a086d5->DATARMNETa8940e4a7b+=
|
|
|
+(0xd26+209-0xdf6);DATARMNET63b1a086d5->DATARMNET3ecedac168+=RMNET_SKB_CB(skb)->
|
|
|
+coal_bytes;DATARMNET63b1a086d5->DATARMNETce5f56eab9+=RMNET_SKB_CB(skb)->
|
|
|
+coal_bufsize;DATARMNET63b1a086d5->bif=RMNET_SKB_CB(skb)->bif;DATARMNET63b1a086d5
|
|
|
+->ack_thresh=RMNET_SKB_CB(skb)->ack_thresh;DATARMNET63b1a086d5->
|
|
|
+DATARMNET2594c418db+=skb->len;DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+DATARMNETbaa5765693+=skb->len;DATARMNETecc0627c70.DATARMNETc252a1f55d+=skb->len;
|
|
|
+if(DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48>
|
|
|
+(0xd2d+202-0xdf7)){DATARMNET63b1a086d5->DATARMNETae4b27456e.tail->next=skb;
|
|
|
+DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=DATARMNET63b1a086d5->
|
|
|
+DATARMNETae4b27456e.tail->next;}else{DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+head=skb;DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=skb;}DATARMNET63b1a086d5
|
|
|
+->DATARMNETae4b27456e.DATARMNET6215127f48+=(0xd26+209-0xdf6);DATARMNETecc0627c70
|
|
|
+.DATARMNETa2e32cdd3a+=(0xd26+209-0xdf6);if(unlikely(DATARMNET7d63e92341))
|
|
|
+DATARMNETe377e0368d((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);DATARMNET52de1f3dc0(
|
|
|
+DATARMNET720469c0a9,DATARMNETf5c836f9ae,DATARMNET63b1a086d5->DATARMNETae4b27456e
|
|
|
+.DATARMNET6215127f48,DATARMNET63b1a086d5->DATARMNETae4b27456e.
|
|
|
+DATARMNETbaa5765693,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70.
|
|
|
+DATARMNETc252a1f55d,skb,DATARMNET63b1a086d5);}static void DATARMNETa7afc8cdaa(
|
|
|
+struct work_struct*DATARMNET33110a3ff5){DATARMNET52de1f3dc0(DATARMNET4510abc30d,
|
|
|
+DATARMNET816bb1e327,(0xd2d+202-0xdf7),DATARMNETecc0627c70.DATARMNET34097703c8,
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET34097703c8==
|
|
|
+DATARMNETb3e3b2a799){local_bh_disable();DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),
|
|
|
+DATARMNET5b5927fd7e);local_bh_enable();}DATARMNET52de1f3dc0(DATARMNET4510abc30d,
|
|
|
+DATARMNETf311f20c00,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),NULL,NULL);}enum hrtimer_restart DATARMNET0a73c53ae6(struct
|
|
|
+hrtimer*DATARMNET6e4292679f){enum hrtimer_restart ret=HRTIMER_NORESTART;
|
|
|
+DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET237e7bd5f6,DATARMNETecc0627c70.
|
|
|
+DATARMNET34097703c8,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+NULL,NULL);if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>(0xd2d+202-0xdf7)){if(
|
|
|
+DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNET7bc926fdbe){
|
|
|
+DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNETb3e3b2a799;hrtimer_forward(
|
|
|
+DATARMNET6e4292679f,hrtimer_cb_get_time(DATARMNET6e4292679f),ns_to_ktime(
|
|
|
+DATARMNET00d5787aad));ret=HRTIMER_RESTART;DATARMNET52de1f3dc0(
|
|
|
+DATARMNET4510abc30d,DATARMNETf16e78412b,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}else if(
|
|
|
+DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNET8dcf06727b){
|
|
|
+DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET7bc926fdbe;}else if(
|
|
|
+DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNETb3e3b2a799){
|
|
|
+DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET83147a2e7d,DATARMNETecc0627c70.
|
|
|
+DATARMNET34097703c8,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+NULL,NULL);schedule_work((struct work_struct*)&shs_rx_work);}}return ret;}enum
|
|
|
+hrtimer_restart DATARMNET2ba63fbd90(struct hrtimer*DATARMNET6e4292679f){const
|
|
|
+enum hrtimer_restart ret=HRTIMER_NORESTART;__pm_relax(DATARMNETecc0627c70.ws);
|
|
|
+DATARMNET064fbe9e3a=(0xd26+209-0xdf6);return ret;}enum hrtimer_restart
|
|
|
+DATARMNETc2b0dbbb32(struct hrtimer*DATARMNET6e4292679f){const enum
|
|
|
+hrtimer_restart ret=HRTIMER_NORESTART;struct DATARMNET177911299b
|
|
|
+DATARMNET9f249e95ee;struct timespec64 time;DATARMNET8d0d510d45(
|
|
|
+DATARMNETe4a6d22824,&DATARMNET9f249e95ee);DATARMNETb5d58adbe7(&
|
|
|
+DATARMNET9f249e95ee);ktime_get_boottime_ts64(&time);DATARMNETecc0627c70.
|
|
|
+DATARMNETdd3caf9200=ktime_set(time.tv_sec,time.tv_nsec);return ret;}enum
|
|
|
+hrtimer_restart DATARMNET4ce9744605(struct hrtimer*DATARMNET6e4292679f){const
|
|
|
+enum hrtimer_restart ret=HRTIMER_NORESTART;struct DATARMNETa6f2d499b2*
|
|
|
+DATARMNET4b39dc1574=container_of(DATARMNET6e4292679f,struct DATARMNETa6f2d499b2,
|
|
|
+DATARMNET758a55f103);DATARMNET371703c28d();schedule_work(&DATARMNET4b39dc1574->
|
|
|
+DATARMNET33110a3ff5);return ret;}enum hrtimer_restart DATARMNETbfbe1f5cd0(struct
|
|
|
+ hrtimer*DATARMNET6e4292679f){const enum hrtimer_restart ret=HRTIMER_NORESTART;
|
|
|
+DATARMNETda96251102(DATARMNETb77d87790d,DATARMNET623224aa0a,(0xd2d+202-0xdf7),
|
|
|
+(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
|
|
+DATARMNETf20806b279();return ret;}void DATARMNETe1f95274f1(void){int i;for(i=
|
|
|
+(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){DATARMNETecc0627c70.
|
|
|
+DATARMNET132b9c7dc4[i].DATARMNET42c3ecbd5e=i;INIT_WORK(&DATARMNETecc0627c70.
|
|
|
+DATARMNET132b9c7dc4[i].DATARMNET33110a3ff5,DATARMNET056c939591);hrtimer_init(&
|
|
|
+DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET758a55f103,CLOCK_MONOTONIC,
|
|
|
+HRTIMER_MODE_REL);DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET758a55f103
|
|
|
+.function=DATARMNET4ce9744605;}hrtimer_init(&DATARMNETecc0627c70.
|
|
|
+DATARMNET6fd692fc7a,CLOCK_MONOTONIC,HRTIMER_MODE_REL);DATARMNETecc0627c70.
|
|
|
+DATARMNET6fd692fc7a.function=DATARMNET0a73c53ae6;hrtimer_init(&
|
|
|
+DATARMNETecc0627c70.DATARMNET645fb3b468,CLOCK_MONOTONIC,HRTIMER_MODE_REL);
|
|
|
+DATARMNETecc0627c70.DATARMNET645fb3b468.function=DATARMNETc2b0dbbb32;
|
|
|
+hrtimer_init(&DATARMNETecc0627c70.hrtimer_wake,CLOCK_MONOTONIC,HRTIMER_MODE_REL)
|
|
|
+;DATARMNETecc0627c70.hrtimer_wake.function=DATARMNET2ba63fbd90;hrtimer_init(&
|
|
|
+DATARMNETecc0627c70.DATARMNET533dba0f29,CLOCK_MONOTONIC,HRTIMER_MODE_REL);
|
|
|
+DATARMNETecc0627c70.DATARMNET533dba0f29.function=DATARMNETbfbe1f5cd0;INIT_WORK(&
|
|
|
+shs_rx_work.DATARMNET33110a3ff5,DATARMNETa7afc8cdaa);}unsigned int
|
|
|
+DATARMNET02cdd9b125(void){unsigned int DATARMNET9f4bc49c6f=DATARMNET12565c8f98;
|
|
|
+int i;DATARMNET12565c8f98=(0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<
|
|
|
+DATARMNETc6782fed88;i++){hrtimer_cancel(&DATARMNETba5ea4329f(i));
|
|
|
+cancel_work_sync(&DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET33110a3ff5
|
|
|
+);}cancel_work_sync(&shs_rx_work.DATARMNET33110a3ff5);return DATARMNET9f4bc49c6f
|
|
|
+;}int DATARMNET82e88dbb56(struct sk_buff_head*list,int cpu){struct sk_buff*skb;
|
|
|
+struct softnet_data*DATARMNETe95ad852b4=&per_cpu(softnet_data,cpu);rtnl_lock();
|
|
|
+while((skb=skb_dequeue_tail(list))!=NULL){if(rmnet_is_real_dev_registered(skb->
|
|
|
+dev)){DATARMNET68d84e7b98[DATARMNETf8de7cb644]++;dev_core_stats_rx_dropped_inc(
|
|
|
+skb->dev);input_queue_head_incr(DATARMNETe95ad852b4);DATARMNETe95ad852b4->
|
|
|
+dropped++;kfree_skb(skb);}}rtnl_unlock();return(0xd2d+202-0xdf7);}static int
|
|
|
+DATARMNET2aa4ef6ff9(struct notifier_block*DATARMNETea991f24f2,unsigned long
|
|
|
+DATARMNET7ee7b05b93,void*DATARMNETe53e117dd2){int DATARMNETc3193054f2,
|
|
|
+DATARMNET25fc1e341e,cpu;int*DATARMNETc628e18b55=(int*)DATARMNETe53e117dd2;struct
|
|
|
+ sk_buff_head*DATARMNET49115bea94;struct sk_buff_head*DATARMNETaf21dd6000;
|
|
|
+for_each_possible_cpu(cpu){DATARMNET49115bea94=&DATARMNET3de2536baf(cpu);
|
|
|
+DATARMNETaf21dd6000=&DATARMNET832731a933(cpu);DATARMNETc3193054f2=skb_queue_len(
|
|
|
+DATARMNET49115bea94);DATARMNET25fc1e341e=skb_queue_len(DATARMNETaf21dd6000);if(
|
|
|
+DATARMNET1ad396a890&&(DATARMNETc3193054f2+DATARMNET25fc1e341e)>=
|
|
|
+DATARMNET1ad396a890){DATARMNET82e88dbb56(&per_cpu(softnet_data,cpu).
|
|
|
+input_pkt_queue,cpu);DATARMNETc3193054f2=skb_queue_len(DATARMNET49115bea94);
|
|
|
+DATARMNET25fc1e341e=skb_queue_len(DATARMNETaf21dd6000);if(DATARMNET25fc1e341e>=
|
|
|
+DATARMNET1ad396a890){DATARMNET82e88dbb56(DATARMNET49115bea94,cpu);}(*
|
|
|
+DATARMNETc628e18b55)++;}}return(0xd2d+202-0xdf7);}static struct notifier_block
|
|
|
+DATARMNET105c85d84c={.notifier_call=DATARMNET2aa4ef6ff9,};void
|
|
|
+DATARMNET4684d6c911(struct rmnet_map_pb_ind_hdr*DATARMNET4e61dda775){struct
|
|
|
+hrtimer*DATARMNET9c579dacb5;DATARMNETda96251102(DATARMNETb77d87790d,
|
|
|
+DATARMNETae009376be,DATARMNET4e61dda775->le.seq_num,DATARMNET4e61dda775->le.
|
|
|
+start_end_seq_num,DATARMNET4e61dda775->le.row_bytes_pending,DATARMNET4e61dda775
|
|
|
+->le.fc_bytes_pending,NULL,NULL);DATARMNET202a68d7d0();DATARMNET9c579dacb5=&
|
|
|
+DATARMNETecc0627c70.DATARMNET533dba0f29;if(hrtimer_active(DATARMNET9c579dacb5))
|
|
|
+hrtimer_cancel(DATARMNET9c579dacb5);hrtimer_start(DATARMNET9c579dacb5,
|
|
|
+ns_to_ktime(DATARMNET2be16c76ac*DATARMNET68fc0be252),HRTIMER_MODE_REL);return;}
|
|
|
+void DATARMNET78bb6be330(struct rmnet_map_dl_ind_hdr*dlhdr,struct
|
|
|
+rmnet_map_control_command_header*qcmd){DATARMNET7ed4cef8a3(dlhdr);}void
|
|
|
+DATARMNET7ed4cef8a3(struct rmnet_map_dl_ind_hdr*dlhdr){DATARMNETda96251102(
|
|
|
+DATARMNET23f8730007,DATARMNET4ebbc01257,dlhdr->le.seq,dlhdr->le.pkts,
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(!DATARMNET016351c9e4||
|
|
|
+DATARMNET016351c9e4<dlhdr->le.seq)DATARMNET016351c9e4=dlhdr->le.seq;else{if(
|
|
|
+DATARMNET756bdd424a)pr_info(
|
|
|
+"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x4f\x46\x4f\x20\x64\x6c\x20\x73\x65\x71\x20\x25\x75\x20\x62\x65\x66\x6f\x72\x65\x20\x25\x75"
|
|
|
+,DATARMNET016351c9e4,dlhdr->le.seq);DATARMNET016351c9e4=dlhdr->le.seq;
|
|
|
+DATARMNET68d84e7b98[DATARMNETf352684b06]++;}if(!spin_is_locked(&
|
|
|
+DATARMNET3764d083f0)){if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>
|
|
|
+(0xd2d+202-0xdf7)&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=DATARMNET4ab5a31d0c)
|
|
|
+{DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;DATARMNETa4bf9fbf64(
|
|
|
+(0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}DATARMNETecc0627c70.DATARMNET6fe0db3a49=
|
|
|
+DATARMNET1c55e5fdb1;}}void DATARMNETf61cd23b90(struct rmnet_map_dl_ind_trl*dltrl
|
|
|
+,struct rmnet_map_control_command_header*qcmd){DATARMNET613a81eca8(dltrl);}void
|
|
|
+DATARMNET613a81eca8(struct rmnet_map_dl_ind_trl*dltrl){DATARMNET52de1f3dc0(
|
|
|
+DATARMNET23f8730007,DATARMNET0808844559,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,
|
|
|
+(0xd2d+202-0xdf7),dltrl->seq_le,(0x16e8+787-0xc0c),NULL,NULL);
|
|
|
+DATARMNETecc0627c70.DATARMNET6fe0db3a49=DATARMNET4ab5a31d0c;if(
|
|
|
+DATARMNETecc0627c70.DATARMNETa2e32cdd3a>(0xd2d+202-0xdf7)&&!spin_is_locked(&
|
|
|
+DATARMNET3764d083f0)){DATARMNET14ed771dfb[DATARMNET84a9e136b8]++;
|
|
|
+DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}}void
|
|
|
+DATARMNETaeb508acb0(void){struct DATARMNETe2f668ccb4 DATARMNET5e1b15e908[
|
|
|
+DATARMNETc6782fed88];int i=(0xd2d+202-0xdf7),DATARMNET42a992465f=
|
|
|
+(0xd2d+202-0xdf7);int DATARMNET8b7fada323=(0xd2d+202-0xdf7),DATARMNET71967642e2=
|
|
|
+(0xd2d+202-0xdf7),cpu=(0xd2d+202-0xdf7),DATARMNET7e100af73e=(0xd2d+202-0xdf7);
|
|
|
+memset(DATARMNET5e1b15e908,(0xd2d+202-0xdf7),DATARMNETc6782fed88*sizeof(struct
|
|
|
+DATARMNETe2f668ccb4));for_each_cpu(cpu,cpu_possible_mask){DATARMNET7e100af73e=
|
|
|
+(0xd2d+202-0xdf7);DATARMNET5e1b15e908[cpu].DATARMNET42c3ecbd5e=cpu;
|
|
|
+DATARMNET5e1b15e908[cpu].DATARMNET24fec1b9ad=topology_cluster_id(cpu);
|
|
|
+for_each_cpu(DATARMNET7e100af73e,topology_cluster_cpumask(cpu)){
|
|
|
+DATARMNET5e1b15e908[cpu].DATARMNETf58377e952|=(0xd26+209-0xdf6)<<
|
|
|
+DATARMNET7e100af73e;}DATARMNET5e1b15e908[cpu].DATARMNET5c98629e14=
|
|
|
+arch_scale_cpu_capacity(cpu);rm_err(
|
|
|
+"\x53\x48\x53\x5f\x43\x50\x55\x5f\x4c\x4f\x47\x3a\x20\x63\x70\x75\x3a\x20\x25\x64\x20\x63\x69\x64\x3a\x20\x25\x64\x20\x63\x6d\x61\x73\x6b\x3a\x20\x25\x64\x20\x63\x61\x70\x61\x63\x69\x74\x79\x3a\x20\x25\x64" "\n"
|
|
|
+,DATARMNET5e1b15e908[cpu].DATARMNET42c3ecbd5e,DATARMNET5e1b15e908[cpu].
|
|
|
+DATARMNET24fec1b9ad,DATARMNET5e1b15e908[cpu].DATARMNETf58377e952,
|
|
|
+DATARMNET5e1b15e908[cpu].DATARMNET5c98629e14);}DATARMNET8b7fada323=
|
|
|
+DATARMNET5e1b15e908[(0xd2d+202-0xdf7)].DATARMNET5c98629e14;DATARMNET71967642e2=
|
|
|
+(0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(
|
|
|
+DATARMNET5e1b15e908[i].DATARMNET5c98629e14<DATARMNET8b7fada323){
|
|
|
+DATARMNET8b7fada323=DATARMNET5e1b15e908[i].DATARMNET5c98629e14;
|
|
|
+DATARMNET71967642e2=i;}}DATARMNETecc0627c70.DATARMNET637025ccc1=
|
|
|
+DATARMNET5e1b15e908[DATARMNET71967642e2].DATARMNETf58377e952;DATARMNETecc0627c70
|
|
|
+.DATARMNET2f954f58f8=hweight_long(DATARMNETecc0627c70.DATARMNET637025ccc1);
|
|
|
+DATARMNETecc0627c70.DATARMNETf510b48c29=((0xbf7+4364-0x1c04)^DATARMNETecc0627c70
|
|
|
+.DATARMNET637025ccc1);for(DATARMNET42a992465f=(0xd2d+202-0xdf7);
|
|
|
+DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++){if((
|
|
|
+(0xd26+209-0xdf6)<<DATARMNET42a992465f)&DATARMNETecc0627c70.DATARMNET637025ccc1)
|
|
|
+{DATARMNET4793ed48af[DATARMNET42a992465f]=DATARMNET9bc9e0cac3;
|
|
|
+DATARMNET713717107f[DATARMNET42a992465f]=DATARMNETb38cb72105;}else{
|
|
|
+DATARMNET4793ed48af[DATARMNET42a992465f]=DATARMNET22feab5726;DATARMNET713717107f
|
|
|
+[DATARMNET42a992465f]=DATARMNET243c638e7d;}}rm_err(
|
|
|
+"\x53\x48\x53\x5f\x43\x50\x55\x5f\x4c\x4f\x47\x3a\x20\x6d\x61\x78\x5f\x73\x5f\x63\x6f\x72\x65\x73\x3a\x20\x25\x64\x20\x6e\x6f\x6e\x5f\x70\x65\x72\x66\x5f\x6d\x61\x73\x6b\x3a\x20\x25\x64\x20\x70\x65\x72\x66\x5f\x6d\x61\x73\x6b\x3a\x20\x25\x64" "\n"
|
|
|
+,DATARMNETecc0627c70.DATARMNET2f954f58f8,DATARMNETecc0627c70.DATARMNET637025ccc1
|
|
|
+,DATARMNETecc0627c70.DATARMNETf510b48c29);}void DATARMNET45d8cdb224(struct
|
|
|
+net_device*dev,struct net_device*vnd){struct rps_map*map;int rc;u8
|
|
|
+DATARMNET0e4304d903;u8 map_mask;u8 map_len;if(DATARMNETecc0627c70.
|
|
|
+DATARMNETfc89d842ae)return;map=rcu_dereference(vnd->_rx->rps_map);if(!map){
|
|
|
+map_mask=(0xd2d+202-0xdf7);map_len=(0xd2d+202-0xdf7);}else{map_mask=
|
|
|
+DATARMNET928c931df9(map);map_len=DATARMNET310c3eb16e(map_mask);}
|
|
|
+DATARMNETecc0627c70.port=rmnet_get_port(dev);DATARMNETecc0627c70.map_mask=
|
|
|
+map_mask;DATARMNETecc0627c70.map_len=map_len;DATARMNETecc0627c70.
|
|
|
+DATARMNETba3f7a11ef=(0xd1f+216-0xdf5);DATARMNETecc0627c70.DATARMNET5c24e1df05=
|
|
|
+(0xd26+209-0xdf6);DATARMNETecc0627c70.DATARMNET6625085b71=(0xd26+209-0xdf6);
|
|
|
+DATARMNETecc0627c70.DATARMNET7d667e828e=(0xd26+209-0xdf6);DATARMNETaeb508acb0();
|
|
|
+for(DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<
|
|
|
+DATARMNETc6782fed88;DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[
|
|
|
+DATARMNET0e4304d903].DATARMNET3dc4262f53);DATARMNETe6e8431304();
|
|
|
+DATARMNET44499733f2();rc=register_oom_notifier(&DATARMNET105c85d84c);if(rc<
|
|
|
+(0xd2d+202-0xdf7)){pr_info(
|
|
|
+"\x52\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x6f\x6d\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x69\x6c\x75\x72\x65"
|
|
|
+);}pr_info(
|
|
|
+"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x69\x74\x20\x77\x69\x74\x68\x20\x25\x78"
|
|
|
+,DATARMNETecc0627c70.map_mask);DATARMNETecc0627c70.ws=wakeup_source_register(
|
|
|
+NULL,"\x52\x4d\x4e\x45\x54\x5f\x53\x48\x53");DATARMNETecc0627c70.
|
|
|
+DATARMNETfc89d842ae=(0xd26+209-0xdf6);}void DATARMNETeacad8334e(void){struct
|
|
|
+hlist_node*tmp;struct DATARMNET63d7680df2*DATARMNET63b1a086d5;struct sk_buff*
|
|
|
+DATARMNET9a788b5480;int bkt;struct sk_buff*buf;if(!DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a)return;spin_lock_bh(&DATARMNET3764d083f0);hash_for_each_safe
|
|
|
+(DATARMNETe603c3a4b3,bkt,tmp,DATARMNET63b1a086d5,list){for((buf=
|
|
|
+DATARMNET63b1a086d5->DATARMNETae4b27456e.head);buf!=NULL;buf=DATARMNET9a788b5480
|
|
|
+){DATARMNET9a788b5480=buf->next;if(buf)consume_skb(buf);}DATARMNET63b1a086d5->
|
|
|
+DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);DATARMNET63b1a086d5->
|
|
|
+DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);DATARMNET63b1a086d5->
|
|
|
+DATARMNETae4b27456e.head=NULL;DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=NULL
|
|
|
+;}DATARMNETecc0627c70.DATARMNETc252a1f55d=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETd9cfd2812b=
|
|
|
+(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;
|
|
|
+spin_unlock_bh(&DATARMNET3764d083f0);}void DATARMNET02fc8b29a0(struct
|
|
|
+DATARMNET63d7680df2*node_p,struct rmnet_shs_clnt_s*DATARMNET0bf01e7c6f,struct
|
|
|
+net_device*dev){u32 DATARMNET421230d879;u32 DATARMNET5eee131e74;node_p->
|
|
|
+DATARMNET85c698ec34=(0xd26+209-0xdf6);node_p->DATARMNETfbbec4c537=
|
|
|
+DATARMNET0bf01e7c6f->map_mask;node_p->DATARMNETa59ce1fd2d=DATARMNET310c3eb16e(
|
|
|
+node_p->DATARMNETfbbec4c537);node_p->map_cpu=DATARMNETecc0627c70.
|
|
|
+DATARMNET7d667e828e;node_p->map_index=node_p->map_cpu;node_p->
|
|
|
+DATARMNET0371465875=(0xd2d+202-0xdf7);if(DATARMNET362b15f941(node_p->map_cpu)){
|
|
|
+DATARMNET5e4aeef593(DATARMNETecc0627c70.DATARMNET5c24e1df05);DATARMNETfb7007f025
|
|
|
+();}DATARMNET765b8ecfba(dev,DATARMNETecc0627c70.DATARMNET5c24e1df05,
|
|
|
+(0xd26+209-0xdf6));DATARMNET421230d879=(DATARMNET3de2536baf(node_p->map_cpu).
|
|
|
+qlen+DATARMNET832731a933(node_p->map_cpu).qlen);if(DATARMNET421230d879>
|
|
|
+DATARMNET673cf85e28)DATARMNET673cf85e28=DATARMNET421230d879;node_p->queue_head=
|
|
|
+DATARMNETeb3978575d(DATARMNETecc0627c70.DATARMNET5c24e1df05)+DATARMNET421230d879
|
|
|
+;DATARMNET5eee131e74=(DATARMNET3de2536baf(DATARMNETecc0627c70.
|
|
|
+DATARMNET5c24e1df05).qlen+DATARMNET832731a933(DATARMNETecc0627c70.
|
|
|
+DATARMNET5c24e1df05).qlen);if(DATARMNET362b15f941(node_p->map_cpu)){if(!
|
|
|
+hrtimer_active(&DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&
|
|
|
+DATARMNETba5ea4329f(node_p->map_cpu),ns_to_ktime((DATARMNET566e381630)*
|
|
|
+DATARMNET68fc0be252),HRTIMER_MODE_REL);}}else if((DATARMNET421230d879+
|
|
|
+DATARMNET5eee131e74)<DATARMNET0085702236){if(!hrtimer_active(&
|
|
|
+DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&DATARMNETba5ea4329f(node_p
|
|
|
+->map_cpu),ns_to_ktime((DATARMNET566e381630/(0xeb7+1130-0x130d))*
|
|
|
+DATARMNET68fc0be252),HRTIMER_MODE_REL);}}else{if(!hrtimer_active(&
|
|
|
+DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&DATARMNETba5ea4329f(node_p
|
|
|
+->map_cpu),ns_to_ktime((DATARMNET566e381630/(0xd1f+216-0xdf5))*
|
|
|
+DATARMNET68fc0be252),HRTIMER_MODE_REL);}}}int DATARMNET756778f14f(struct sk_buff
|
|
|
+*skb,struct rmnet_shs_clnt_s*DATARMNET0bf01e7c6f){struct DATARMNET63d7680df2*
|
|
|
+node_p;struct hlist_node*tmp;int map=DATARMNETecc0627c70.map_mask;int
|
|
|
+DATARMNETcfb5dc7296;int map_cpu;u32 DATARMNET5c4a331b9c,hash;u8 is_match_found=
|
|
|
+(0xd2d+202-0xdf7);u8 DATARMNET935af10724=(0xd2d+202-0xdf7);u8
|
|
|
+DATARMNET7c5ef97eab=(0xd2d+202-0xdf7);struct DATARMNETe600c5b727*
|
|
|
+DATARMNETa4055affd5;struct rmnet_priv*priv;u8 DATARMNET5b3782c91e=
|
|
|
+(0xd2d+202-0xdf7);struct DATARMNET177911299b DATARMNET9f249e95ee;int
|
|
|
+DATARMNETd0bfb31db5=(0xd2d+202-0xdf7);u8 DATARMNETd07e717728=(0xd2d+202-0xdf7);
|
|
|
+if(!(DATARMNET0bf01e7c6f->config&RMNET_SHS_STMP_ALL)&&!DATARMNET9303cec796(skb,&
|
|
|
+DATARMNET5b3782c91e)){if(DATARMNET5b3782c91e){DATARMNETe767554e6e(skb);
|
|
|
+DATARMNET8d0d510d45(DATARMNETafc650134e,&DATARMNET9f249e95ee);
|
|
|
+DATARMNETb5d58adbe7(&DATARMNET9f249e95ee);}else{DATARMNETe767554e6e(skb);}return
|
|
|
+(0xd2d+202-0xdf7);}if((unlikely(!map))||!DATARMNETecc0627c70.DATARMNETfc89d842ae
|
|
|
+){DATARMNETe767554e6e(skb);DATARMNET015fb2ba0e(DATARMNET720469c0a9,
|
|
|
+DATARMNETe0fee0991a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),NULL,NULL);DATARMNET68d84e7b98[DATARMNETe3c02ddaeb]++;return
|
|
|
+(0xd2d+202-0xdf7);}DATARMNET52de1f3dc0(DATARMNET720469c0a9,DATARMNET856c53293b,
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,
|
|
|
+NULL);hash=skb_get_hash(skb);if(DATARMNET0bf01e7c6f->map_mask){skb->hash=57005;
|
|
|
+hash=57005;if(raw_smp_processor_id()==DATARMNETecc0627c70.DATARMNET6625085b71&&
|
|
|
+DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNETecc0627c70.DATARMNET7d667e828e
|
|
|
+){netif_rx(skb);DATARMNETecc0627c70.DATARMNETfeee6933fc++;if(DATARMNETecc0627c70
|
|
|
+.DATARMNETfeee6933fc>DATARMNETf4cacbb5dc){DATARMNETa4bf9fbf64(
|
|
|
+DATARMNETf3dfa53867,DATARMNET0b15fd8b54);DATARMNETa871eeb7e7();
|
|
|
+DATARMNET68d84e7b98[DATARMNET43405942ed]++;DATARMNETecc0627c70.
|
|
|
+DATARMNETfeee6933fc=(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}}spin_lock_bh(&
|
|
|
+DATARMNET3764d083f0);do{hash_for_each_possible_safe(DATARMNETe603c3a4b3,node_p,
|
|
|
+tmp,list,hash){if(hash!=node_p->hash)continue;DATARMNETda96251102(
|
|
|
+DATARMNET720469c0a9,DATARMNET08b6defcff,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);DATARMNET5c4a331b9c=node_p->
|
|
|
+map_index;is_match_found=(0xd26+209-0xdf6);DATARMNET935af10724=(0xd26+209-0xdf6)
|
|
|
+;if(node_p->DATARMNET80eb31d7b8){if(node_p->DATARMNET80eb31d7b8==
|
|
|
+DATARMNET64165df74d){if(DATARMNETe24386452c(skb)){node_p->DATARMNET80eb31d7b8=
|
|
|
+DATARMNET6a801720f2;}else{node_p->DATARMNET80eb31d7b8=DATARMNETf8fcf5a1db;}}
|
|
|
+spin_unlock_bh(&DATARMNET3764d083f0);node_p->DATARMNET11930c5df8+=
|
|
|
+(0xd26+209-0xdf6);node_p->DATARMNET2594c418db+=skb->len;DATARMNETf5821256ad(skb,
|
|
|
+DATARMNET0bf01e7c6f);return(0xd2d+202-0xdf7);}if(node_p->DATARMNET85c698ec34){
|
|
|
+DATARMNETe074a09496();if(raw_smp_processor_id()!=DATARMNETecc0627c70.
|
|
|
+DATARMNET7d667e828e){DATARMNET68d84e7b98[DATARMNETbb641cd339]++;}if(
|
|
|
+DATARMNETecc0627c70.DATARMNET5c24e1df05!=DATARMNETecc0627c70.DATARMNET7d667e828e
|
|
|
+){if(node_p->map_cpu!=DATARMNETecc0627c70.DATARMNET7d667e828e){
|
|
|
+DATARMNETa4055affd5=&DATARMNET0997c5650d[DATARMNETecc0627c70.DATARMNET7d667e828e
|
|
|
+];DATARMNETe102b3a798(node_p,&DATARMNETa4055affd5->DATARMNET3dc4262f53,node_p->
|
|
|
+map_cpu);DATARMNETb7ddf3c5dd[DATARMNETcf84373518]++;}DATARMNET02fc8b29a0(node_p,
|
|
|
+DATARMNET0bf01e7c6f,skb->dev);netif_rx(skb);break;}node_p->DATARMNET0371465875++
|
|
|
+;DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);if(!rcu_dereference(
|
|
|
+rmnet_shs_switch)){DATARMNET68d84e7b98[DATARMNET2e68f4bd9f]++;
|
|
|
+DATARMNET7c5ef97eab=DATARMNET27fb9a225d;break;}if(DATARMNETadb0248bd4(
|
|
|
+DATARMNETecc0627c70.DATARMNET7d667e828e)>=(node_p->queue_head+node_p->
|
|
|
+DATARMNET0371465875)){DATARMNET7c5ef97eab=DATARMNETbbf8fe40aa;break;}if(
|
|
|
+DATARMNETaf998640fd&&node_p->DATARMNETae4b27456e.DATARMNET6215127f48>
|
|
|
+DATARMNETaf998640fd){DATARMNET14ed771dfb[DATARMNETcc3c294f38]++;
|
|
|
+DATARMNET7c5ef97eab=DATARMNET95c85e6fe1;break;}spin_unlock_bh(&
|
|
|
+DATARMNET3764d083f0);return(0xd2d+202-0xdf7);}else DATARMNET495dab3d72(skb,
|
|
|
+node_p,DATARMNET0bf01e7c6f);break;}if(is_match_found)break;DATARMNETd0bfb31db5=(
|
|
|
+DATARMNET9273f84bf1&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
|
|
|
+DATARMNET121c8bc82a&DATARMNETecc0627c70.map_mask)?DATARMNET9273f84bf1:
|
|
|
+DATARMNETbc3c416b77;if(DATARMNET0bf01e7c6f->map_mask){DATARMNETcfb5dc7296=
|
|
|
+DATARMNET362c14e98b(DATARMNETecc0627c70.map_mask&DATARMNETd0bfb31db5&~
|
|
|
+DATARMNETecc0627c70.DATARMNETba3f7a11ef&~DATARMNET121c8bc82a);}else{
|
|
|
+DATARMNETcfb5dc7296=DATARMNET762cfa52fe(DATARMNETecc0627c70.map_mask&
|
|
|
+DATARMNETd0bfb31db5&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
|
|
|
+DATARMNET121c8bc82a);}if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){
|
|
|
+DATARMNET68d84e7b98[DATARMNETa1f9420686]++;break;}if(atomic_long_read(&
|
|
|
+DATARMNETecc0627c70.DATARMNET64bb8a8f57)>DATARMNETbfe31ef643){
|
|
|
+DATARMNET68d84e7b98[DATARMNETe6e77f9f03]++;break;}node_p=kzalloc(sizeof(*node_p)
|
|
|
+,GFP_ATOMIC);if(!node_p){DATARMNET68d84e7b98[DATARMNET394acaf558]++;break;}
|
|
|
+atomic_long_inc(&DATARMNETecc0627c70.DATARMNET64bb8a8f57);node_p->dev=skb->dev;
|
|
|
+node_p->hash=skb->hash;node_p->map_cpu=DATARMNETcfb5dc7296;node_p->map_index=
|
|
|
+DATARMNET04e8d1b862(node_p->map_cpu,map);INIT_LIST_HEAD(&node_p->
|
|
|
+DATARMNET04c88b8191);DATARMNET44459105b4(skb,node_p);DATARMNET350f55bfca(node_p)
|
|
|
+;if(!node_p->DATARMNET341ea38662){atomic_long_dec(&DATARMNETecc0627c70.
|
|
|
+DATARMNET64bb8a8f57);kfree(node_p);break;}if(DATARMNET0bf01e7c6f->map_mask){
|
|
|
+DATARMNETe074a09496();DATARMNET02fc8b29a0(node_p,DATARMNET0bf01e7c6f,skb->dev);}
|
|
|
+else{node_p->DATARMNETfbbec4c537=DATARMNETecc0627c70.map_mask;node_p->
|
|
|
+DATARMNETa59ce1fd2d=DATARMNETecc0627c70.map_len;}map_cpu=node_p->map_cpu;
|
|
|
+DATARMNETa4055affd5=&DATARMNET0997c5650d[map_cpu];priv=netdev_priv(node_p->dev);
|
|
|
+if(!priv){rm_err(
|
|
|
+"\x70\x72\x69\x76\x20\x66\x6f\x72\x20\x6e\x65\x74\x64\x65\x76\x20\x69\x73\x20\x6e\x75\x6c\x6c\x20\x66\x6f\x72\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78"
|
|
|
+,node_p->hash);DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;}else{node_p->
|
|
|
+DATARMNET341ea38662->mux_id=priv->mux_id;rm_err(
|
|
|
+"\x53\x48\x53\x5f\x4d\x55\x58\x3a\x20\x6d\x75\x78\x20\x69\x64\x20\x66\x6f\x72\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x69\x73\x20\x25\x64"
|
|
|
+,node_p->hash,node_p->DATARMNET341ea38662->mux_id);}DATARMNET3e37ad2816(node_p,&
|
|
|
+DATARMNETa4055affd5->DATARMNET3dc4262f53);hash_add_rcu(DATARMNETe603c3a4b3,&
|
|
|
+node_p->list,skb->hash);if(DATARMNETe24386452c(skb)){node_p->DATARMNET80eb31d7b8
|
|
|
+=DATARMNET6a801720f2;spin_unlock_bh(&DATARMNET3764d083f0);DATARMNETf5821256ad(
|
|
|
+skb,DATARMNET0bf01e7c6f);return(0xd2d+202-0xdf7);}if(!node_p->
|
|
|
+DATARMNET85c698ec34)DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);else{
|
|
|
+netif_rx(skb);spin_unlock_bh(&DATARMNET3764d083f0);return(0xd2d+202-0xdf7);}
|
|
|
+DATARMNET935af10724=(0xd26+209-0xdf6);break;}while((0xd2d+202-0xdf7));if(!
|
|
|
+DATARMNET935af10724){spin_unlock_bh(&DATARMNET3764d083f0);DATARMNET68d84e7b98[
|
|
|
+DATARMNET99db6e7d86]++;DATARMNETe767554e6e(skb);DATARMNET015fb2ba0e(
|
|
|
+DATARMNET720469c0a9,DATARMNETe0fee0991a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return(0xd2d+202-0xdf7);}if(!
|
|
|
+DATARMNETecc0627c70.DATARMNETd9cfd2812b&&DATARMNETecc0627c70.DATARMNETa2e32cdd3a
|
|
|
+&&DATARMNET365ddeca1c){DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd26+209-0xdf6)
|
|
|
+;DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET7bc926fdbe;DATARMNETd07e717728
|
|
|
+=(0xd26+209-0xdf6);}spin_unlock_bh(&DATARMNET3764d083f0);if(DATARMNETd07e717728)
|
|
|
+{if(hrtimer_active(&DATARMNETecc0627c70.DATARMNET6fd692fc7a)){
|
|
|
+DATARMNETda96251102(DATARMNET720469c0a9,DATARMNETf730f80f06,DATARMNET2f67183a86,
|
|
|
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);
|
|
|
+hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);}hrtimer_start(&
|
|
|
+DATARMNETecc0627c70.DATARMNET6fd692fc7a,ns_to_ktime(DATARMNET4ac8af832c*
|
|
|
+DATARMNET68fc0be252),HRTIMER_MODE_REL);DATARMNETda96251102(DATARMNET720469c0a9,
|
|
|
+DATARMNETdd870ee64c,DATARMNET2f67183a86,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),skb,NULL);}if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>
|
|
|
+DATARMNET7d18c0bcf8){if(DATARMNET58b009b16b)DATARMNET14ed771dfb[
|
|
|
+DATARMNET802083239a]++;DATARMNET52de1f3dc0(DATARMNET4510abc30d,
|
|
|
+DATARMNET562b7d32a8,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),NULL,NULL);DATARMNETa4bf9fbf64(DATARMNET0acd775aa8,
|
|
|
+DATARMNET0b15fd8b54);}else if(DATARMNETecc0627c70.DATARMNETc252a1f55d>
|
|
|
+DATARMNETea75c7b6f6){if(DATARMNET58b009b16b)DATARMNET14ed771dfb[
|
|
|
+DATARMNETed69052342]++;DATARMNET52de1f3dc0(DATARMNET4510abc30d,
|
|
|
+DATARMNET99640d60f7,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
|
+(0x16e8+787-0xc0c),NULL,NULL);DATARMNETa4bf9fbf64(DATARMNET2217440c2e,
|
|
|
+DATARMNET0b15fd8b54);}else if(DATARMNET7c5ef97eab){DATARMNET52de1f3dc0(
|
|
|
+DATARMNET4510abc30d,DATARMNET562b7d32a8,(0xd26+209-0xdf6),DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(
|
|
|
+DATARMNET58b009b16b)DATARMNET14ed771dfb[DATARMNETdf6ecde77a]++;
|
|
|
+DATARMNETa4bf9fbf64(DATARMNET7c5ef97eab,DATARMNET0b15fd8b54);}else if((
|
|
|
+DATARMNET0bf01e7c6f->config&RMNET_SHS_NO_DLMKR)&&DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a){if(DATARMNET58b009b16b)DATARMNET14ed771dfb[
|
|
|
+DATARMNET04dac3a62b]++;DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54
|
|
|
+);}else if(DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNETb3e3b2a799){
|
|
|
+DATARMNET14ed771dfb[DATARMNETcfb1764a91]++;DATARMNET52de1f3dc0(
|
|
|
+DATARMNET4510abc30d,DATARMNETa2bd301af7,(0xd26+209-0xdf6),DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
|
|
+DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}else if(!(
|
|
|
+DATARMNET0bf01e7c6f->config&RMNET_SHS_NO_DLMKR)&&DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=
|
|
|
+DATARMNET1c55e5fdb1){DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;
|
|
|
+DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}return
|
|
|
+(0xd2d+202-0xdf7);}static const struct rmnet_module_hook_register_info
|
|
|
+DATARMNETef42b9f0b2={.hooknum=RMNET_MODULE_HOOK_SHS_SKB_ENTRY,.func=
|
|
|
+DATARMNET756778f14f,};void DATARMNET203752febd(void){RCU_INIT_POINTER(
|
|
|
+rmnet_shs_skb_entry,NULL);rmnet_module_hook_unregister_no_sync(&
|
|
|
+DATARMNETef42b9f0b2,(0xd26+209-0xdf6));}void DATARMNET7520667b38(void){
|
|
|
+RCU_INIT_POINTER(rmnet_shs_skb_entry,DATARMNET756778f14f);
|
|
|
+rmnet_module_hook_register(&DATARMNETef42b9f0b2,(0xd26+209-0xdf6));}static const
|
|
|
+ struct rmnet_module_hook_register_info DATARMNET28a9685974={.hooknum=
|
|
|
+RMNET_MODULE_HOOK_SHS_SWITCH,.func=DATARMNET756778f14f,};void
|
|
|
+DATARMNETa871eeb7e7(void){RCU_INIT_POINTER(rmnet_shs_switch,NULL);
|
|
|
+rmnet_module_hook_unregister_no_sync(&DATARMNET28a9685974,(0xd26+209-0xdf6));}
|
|
|
+void DATARMNET8f9da46b14(void){RCU_INIT_POINTER(rmnet_shs_switch,
|
|
|
+DATARMNET756778f14f);rmnet_module_hook_register(&DATARMNET28a9685974,
|
|
|
+(0xd26+209-0xdf6));}void DATARMNET9297340f58(unsigned int DATARMNET9f4bc49c6f){
|
|
|
+DATARMNETdf74db7e38();DATARMNET90fe3a4b56();DATARMNETecc0627c70.
|
|
|
+DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);unregister_oom_notifier(&
|
|
|
+DATARMNET105c85d84c);if(DATARMNETecc0627c70.DATARMNETf5ab31b9b0)hrtimer_cancel(&
|
|
|
+DATARMNETecc0627c70.DATARMNET6fd692fc7a);hrtimer_cancel(&DATARMNETecc0627c70.
|
|
|
+DATARMNET645fb3b468);hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);
|
|
|
+wakeup_source_unregister(DATARMNETecc0627c70.ws);memset(&DATARMNETecc0627c70,
|
|
|
+(0xd2d+202-0xdf7),sizeof(DATARMNETecc0627c70));DATARMNETecc0627c70.port=NULL;
|
|
|
+DATARMNETecc0627c70.DATARMNETfc89d842ae=(0xd2d+202-0xdf7);DATARMNET12565c8f98=
|
|
|
+DATARMNET9f4bc49c6f;}
|