|
@@ -56,35 +56,36 @@ DATARMNET758a55f103
|
|
|
#define DATARMNETbfe901fc62 (0xd2d+202-0xdf7)
|
|
|
DEFINE_SPINLOCK(DATARMNET3764d083f0);DEFINE_HASHTABLE(DATARMNETe603c3a4b3,
|
|
|
DATARMNET25437d35fd);struct DATARMNETe600c5b727 DATARMNET0997c5650d[
|
|
|
-DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];struct
|
|
|
+DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];unsigned int
|
|
|
+DATARMNETaf998640fd __read_mostly=(0xcb7+2213-0x123c);module_param(
|
|
|
+DATARMNETaf998640fd,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
|
|
+DATARMNETaf998640fd,
|
|
|
+"\x4d\x61\x78\x20\x71\x6d\x61\x70\x20\x62\x61\x63\x6b\x6c\x6f\x67");struct
|
|
|
DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8 shs_rx_work;
|
|
|
ssize_t DATARMNET713da9913c(struct netdev_rx_queue*DATARMNETb4180393e4,u8 cpu,u8
|
|
|
DATARMNETa7a5705ab0,u8 DATARMNET5780499e9c){struct rps_map*DATARMNETaeb4918e65,
|
|
|
-*map;cpumask_var_t mask;unsigned long ht_flags;int DATARMNET421230d879;if(!
|
|
|
-DATARMNET5780499e9c&&(DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen&
|
|
|
-DATARMNET832731a933(DATARMNETa7a5705ab0).qlen))return-(0xd26+209-0xdf6);map=
|
|
|
-rcu_dereference(DATARMNETb4180393e4->rps_map);if(map){spin_lock_irqsave(&
|
|
|
-DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);map->cpus[
|
|
|
-(0xd2d+202-0xdf7)]=cpu;map->len=(0xd26+209-0xdf6);spin_unlock_irqrestore(&
|
|
|
-DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);DATARMNET421230d879=(
|
|
|
-DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen+DATARMNET832731a933(
|
|
|
-DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879){DATARMNET68d84e7b98[
|
|
|
-DATARMNETfeaf903a28]++;DATARMNET4bde88919f(DATARMNETa7a5705ab0,
|
|
|
-DATARMNET421230d879);}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);spin_lock_irqsave(&
|
|
|
-DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);rcu_read_lock();
|
|
|
+*map;cpumask_var_t mask;int DATARMNET421230d879;if(!DATARMNET5780499e9c&&(
|
|
|
+DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen&DATARMNET832731a933(
|
|
|
+DATARMNETa7a5705ab0).qlen))return-(0xd26+209-0xdf6);map=rcu_dereference(
|
|
|
+DATARMNETb4180393e4->rps_map);if(map){map->cpus[(0xd2d+202-0xdf7)]=cpu;map->len=
|
|
|
+(0xd26+209-0xdf6);DATARMNET421230d879=(DATARMNET3de2536baf(DATARMNETa7a5705ab0).
|
|
|
+qlen+DATARMNET832731a933(DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879&&
|
|
|
+DATARMNETecc0627c70.DATARMNET7d667e828e!=DATARMNETecc0627c70.DATARMNET5c24e1df05
|
|
|
+){DATARMNET68d84e7b98[DATARMNETfeaf903a28]++;DATARMNET4bde88919f(
|
|
|
+DATARMNETa7a5705ab0,DATARMNET421230d879);}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);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();
|
|
|
-spin_unlock_irqrestore(&DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);
|
|
|
DATARMNET421230d879=(DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen+
|
|
|
-DATARMNET832731a933(DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879){
|
|
|
-DATARMNET68d84e7b98[DATARMNETfeaf903a28]++;}return(0xd2d+202-0xdf7);}static void
|
|
|
-*DATARMNETefcaf5fbe9(struct sk_buff*skb,u32 offset,u32 DATARMNET567bdc7221,void*
|
|
|
-buf){struct skb_shared_info*shinfo=skb_shinfo(skb);skb_frag_t*frag;u32
|
|
|
+DATARMNET832731a933(DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879&&
|
|
|
+DATARMNETecc0627c70.DATARMNET7d667e828e!=DATARMNETecc0627c70.DATARMNET5c24e1df05
|
|
|
+){DATARMNET68d84e7b98[DATARMNETfeaf903a28]++;}return(0xd2d+202-0xdf7);}static
|
|
|
+void*DATARMNETefcaf5fbe9(struct sk_buff*skb,u32 offset,u32 DATARMNET567bdc7221,
|
|
|
+void*buf){struct skb_shared_info*shinfo=skb_shinfo(skb);skb_frag_t*frag;u32
|
|
|
DATARMNETedc267a909=offset;int i;if(offset>skb->len||DATARMNET567bdc7221>skb->
|
|
|
len||offset+DATARMNET567bdc7221>skb->len)return NULL;if(skb_headlen(skb)>=offset
|
|
|
+DATARMNET567bdc7221)return skb->data+offset;offset-=skb_headlen(skb);for(i=
|
|
@@ -99,20 +100,20 @@ 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=DATARMNET9273f84bf1&DATARMNETecc0627c70.DATARMNET5c24e1df05;}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==IPPROTO_ICMP){skb->hash=
|
|
|
-(0xd2d+202-0xdf7);skb->sw_hash=DATARMNET9273f84bf1&DATARMNETecc0627c70.
|
|
|
-DATARMNET5c24e1df05;}break;default:break;}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=&
|
|
|
+sw_hash=DATARMNET9273f84bf1&((0xd26+209-0xdf6)<<DATARMNETecc0627c70.
|
|
|
+DATARMNET5c24e1df05);}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==
|
|
|
+IPPROTO_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=DATARMNET9273f84bf1&(
|
|
|
+(0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05);}break;default:break
|
|
|
+;}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->
|
|
@@ -195,23 +196,30 @@ DATARMNETf54fdb137b=DATARMNET98b2a0ce62(dev);DATARMNET52de1f3dc0(
|
|
|
DATARMNET720469c0a9,DATARMNET7e63a08ad4,DATARMNETf54fdb137b,DATARMNETab155dfd5d,
|
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return DATARMNETf54fdb137b;}int
|
|
|
DATARMNET6af33ebb5b(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu=
|
|
|
-DATARMNETb91aee91fd;u8 DATARMNETd4a0b11b47;if(DATARMNET63b1a086d5->
|
|
|
-DATARMNET85c698ec34)return DATARMNETecc0627c70.DATARMNET5c24e1df05;else if(
|
|
|
-DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNETef866573e0&&
|
|
|
-DATARMNET362b15f941(DATARMNET63b1a086d5->map_cpu)){cpu=DATARMNET762cfa52fe(
|
|
|
-DATARMNETbc3c416b77&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&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||((0xd26+209-0xdf6)<<cpu)&DATARMNETecc0627c70.
|
|
|
-DATARMNETba3f7a11ef){DATARMNETd4a0b11b47=(DATARMNETbc3c416b77&((0xd26+209-0xdf6)
|
|
|
-<<cpu))?DATARMNETbc3c416b77:DATARMNET9273f84bf1;cpu=DATARMNET762cfa52fe(
|
|
|
+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
|
|
|
+&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){DATARMNETd4a0b11b47=(
|
|
|
+DATARMNETbc3c416b77&((0xd26+209-0xdf6)<<cpu))?DATARMNETbc3c416b77:
|
|
|
+DATARMNET9273f84bf1;cpu=DATARMNET762cfa52fe(DATARMNETd4a0b11b47&~
|
|
|
+DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5->DATARMNETfbbec4c537
|
|
|
+);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!=DATARMNET7dc3d97229)cpu=DATARMNET762cfa52fe(
|
|
|
DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5
|
|
|
-->DATARMNETfbbec4c537);DATARMNETb7ddf3c5dd[DATARMNET7f401828b3]++;}}return cpu;}
|
|
|
-int DATARMNETb6bff4a724(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu,
|
|
|
-idx=DATARMNETb91aee91fd;cpu=DATARMNET6af33ebb5b(DATARMNET63b1a086d5);idx=
|
|
|
+->DATARMNETfbbec4c537);else 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(
|
|
@@ -247,33 +255,34 @@ dev)){if(DATARMNET713da9913c(dev->_rx,cpu,raw_smp_processor_id(),
|
|
|
DATARMNET5780499e9c)==(0xd2d+202-0xdf7)){RCU_INIT_POINTER(rmnet_shs_switch,NULL)
|
|
|
;if(((0xd26+209-0xdf6)<<cpu)&DATARMNETbc3c416b77)DATARMNETb7ddf3c5dd[
|
|
|
DATARMNETf13db5ace8]++;else DATARMNETb7ddf3c5dd[DATARMNETb6eae1e097]++;
|
|
|
-DATARMNETecc0627c70.DATARMNETba3f7a11ef=(0xd26+209-0xdf6)<<cpu;}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;int
|
|
|
-DATARMNETeaf6716f3e;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
|
|
|
-;}DATARMNETd3673fd5f0=DATARMNETadb0248bd4(DATARMNET63b1a086d5->map_cpu);
|
|
|
-DATARMNET9bbfe49633=DATARMNET63b1a086d5->queue_head;DATARMNET42a992465f=
|
|
|
-DATARMNET63b1a086d5->map_cpu;DATARMNETeaf6716f3e=DATARMNET3de2536baf(
|
|
|
-DATARMNET42a992465f).qlen+DATARMNET832731a933(DATARMNET42a992465f).qlen;if((
|
|
|
-DATARMNET63b1a086d5->DATARMNET85c698ec34&&(!DATARMNETeaf6716f3e))||(!
|
|
|
-DATARMNET63b1a086d5->DATARMNET85c698ec34&&DATARMNETd3673fd5f0>=
|
|
|
-DATARMNET9bbfe49633)||(DATARMNETd87669e323)){if(likely(DATARMNETa7909611da)){if(
|
|
|
-DATARMNET63b1a086d5->DATARMNET85c698ec34&&!((DATARMNET765b8ecfba(
|
|
|
-DATARMNET63b1a086d5->dev,DATARMNET5c4a331b9c,DATARMNETd87669e323)==
|
|
|
-(0xd2d+202-0xdf7)))){ret=(0xd26+209-0xdf6);break;}DATARMNETcfb5dc7296=
|
|
|
-DATARMNETaef946bb68(DATARMNET5c4a331b9c,DATARMNET63b1a086d5->DATARMNETfbbec4c537
|
|
|
-);if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){ret=(0xd26+209-0xdf6);break;}
|
|
|
+DATARMNETecc0627c70.DATARMNETba3f7a11ef=(0xd26+209-0xdf6)<<cpu;
|
|
|
+DATARMNETecc0627c70.DATARMNET7d667e828e=cpu;}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;int DATARMNETeaf6716f3e;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;}DATARMNETd3673fd5f0
|
|
|
+=DATARMNETadb0248bd4(DATARMNET63b1a086d5->map_cpu);DATARMNET9bbfe49633=
|
|
|
+DATARMNET63b1a086d5->queue_head;DATARMNET42a992465f=DATARMNET63b1a086d5->map_cpu
|
|
|
+;DATARMNETeaf6716f3e=DATARMNET3de2536baf(DATARMNET42a992465f).qlen+
|
|
|
+DATARMNET832731a933(DATARMNET42a992465f).qlen;if((DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34&&(!DATARMNETeaf6716f3e))||(!DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34&&DATARMNETd3673fd5f0>=DATARMNET9bbfe49633)||(
|
|
|
+DATARMNETd87669e323)){if(likely(DATARMNETa7909611da)){if(DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34&&!((DATARMNET765b8ecfba(DATARMNET63b1a086d5->dev,
|
|
|
+DATARMNET5c4a331b9c,DATARMNETd87669e323)==(0xd2d+202-0xdf7)))){ret=
|
|
|
+(0xd26+209-0xdf6);break;}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->
|
|
@@ -356,7 +365,7 @@ DATARMNET63b1a086d5->DATARMNET1e9d25d9ff==IPPROTO_UDP)DATARMNET68d84e7b98[
|
|
|
DATARMNETdd6bf3de6b]++;DATARMNET21243b86ae(skb,DATARMNETf345c1d909,
|
|
|
DATARMNET87636d0152);}else{if(DATARMNETf345c1d909==DATARMNET0b15fd8b54&&(!
|
|
|
DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
|
|
|
-DATARMNETf345c1d909==DATARMNET5b5927fd7e&&DATARMNET63b1a086d5->
|
|
|
+DATARMNETf345c1d909==DATARMNET5b5927fd7e&&!DATARMNET63b1a086d5->
|
|
|
DATARMNET85c698ec34)DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}}
|
|
|
DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);
|
|
|
DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);
|
|
@@ -376,23 +385,25 @@ 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)
|
|
|
-DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}DATARMNET68d84e7b98[
|
|
|
-DATARMNET72db8b9bac]++;DATARMNETecc0627c70.DATARMNETc252a1f55d-=
|
|
|
-DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNETe20a9cab2b
|
|
|
-;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNET4133fc9428-=
|
|
|
-DATARMNETe20a9cab2b;}int DATARMNETe02152c351(struct DATARMNET63d7680df2*
|
|
|
-DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 DATARMNET5447204733){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(
|
|
|
+;DATARMNETb481d13a78+=skb->len;if(DATARMNET5447204733==DATARMNET0b15fd8b54&&(!
|
|
|
+DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
|
|
|
+DATARMNET5447204733==DATARMNET5b5927fd7e&&!DATARMNET63b1a086d5->
|
|
|
+DATARMNET85c698ec34)DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}
|
|
|
+DATARMNET68d84e7b98[DATARMNET72db8b9bac]++;DATARMNETecc0627c70.
|
|
|
+DATARMNETc252a1f55d-=DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a
|
|
|
+-=DATARMNETe20a9cab2b;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
|
|
|
+DATARMNET4133fc9428-=DATARMNETe20a9cab2b;}int DATARMNETe02152c351(struct
|
|
|
+DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8
|
|
|
+DATARMNET5447204733){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
|
|
@@ -597,72 +608,83 @@ 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);for(DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<
|
|
|
-DATARMNETc6782fed88;DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[
|
|
|
-DATARMNET0e4304d903].DATARMNET3dc4262f53);DATARMNETe6e8431304();rc=
|
|
|
-register_oom_notifier(&DATARMNET105c85d84c);if(rc<(0xd2d+202-0xdf7)){pr_info(
|
|
|
+(0xd26+209-0xdf6);DATARMNETecc0627c70.DATARMNET7d667e828e=(0xd26+209-0xdf6);for(
|
|
|
+DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<DATARMNETc6782fed88;
|
|
|
+DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[DATARMNET0e4304d903].
|
|
|
+DATARMNET3dc4262f53);DATARMNETe6e8431304();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"
|
|
|
-);}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;unsigned long ht_flags;if(!DATARMNETecc0627c70.DATARMNETa2e32cdd3a)return;
|
|
|
-spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);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_irqrestore(&DATARMNET3764d083f0,ht_flags);}void DATARMNET44459105b4(
|
|
|
-struct sk_buff*skb,struct DATARMNET63d7680df2*node_p){struct iphdr*ip4h,
|
|
|
-DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;struct tcphdr*tp,
|
|
|
-DATARMNETd1ff6cd568;struct udphdr*up,DATARMNETc82d2f4e16;int len=
|
|
|
-(0xd2d+202-0xdf7);u16 ip_len=(0xd2d+202-0xdf7);__be16 frag_off;u8 protocol;
|
|
|
-node_p->DATARMNETa1099c74fe=(0xd2d+202-0xdf7);switch(skb->protocol){case htons(
|
|
|
-ETH_P_IP):ip4h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&
|
|
|
-DATARMNETc00baf31c3);if(!ip4h)return;node_p->DATARMNET1e9d25d9ff=ip4h->protocol;
|
|
|
-memcpy(&(node_p->ip_hdr.DATARMNETac9bbaad7c),ip4h,sizeof(*ip4h));ip_len=ip4h->
|
|
|
-ihl*(0xd11+230-0xdf3);node_p->DATARMNETa1099c74fe=!(ip4h->frag_off&htons(IP_DF))
|
|
|
-;break;case htons(ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),
|
|
|
-sizeof(*ip6h),&DATARMNETcf1d9e2c1e);if(!ip6h)return;node_p->DATARMNET1e9d25d9ff=
|
|
|
-ip6h->nexthdr;memcpy(&(node_p->ip_hdr.DATARMNET1688a97aa4),ip6h,sizeof(*ip6h));
|
|
|
-protocol=ip6h->nexthdr;len=ipv6_skip_exthdr(skb,sizeof(*ip6h),&protocol,&
|
|
|
-frag_off);if(len<(0xd2d+202-0xdf7)){return;}ip_len=(u16)len;break;default:break;
|
|
|
-}if(node_p->DATARMNET1e9d25d9ff==IPPROTO_TCP){tp=DATARMNETefcaf5fbe9(skb,ip_len,
|
|
|
-sizeof(*tp),&DATARMNETd1ff6cd568);if(!tp)return;memcpy(&(node_p->
|
|
|
-DATARMNETe33b41dad9.tp),tp,sizeof(struct tcphdr));}else if(node_p->
|
|
|
-DATARMNET1e9d25d9ff==IPPROTO_UDP){up=DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*up),
|
|
|
-&DATARMNETc82d2f4e16);if(!up)return;memcpy(&(node_p->DATARMNETe33b41dad9.up),up,
|
|
|
-sizeof(struct udphdr));}else{}}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;unsigned long ht_flags;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;if(!(DATARMNET0bf01e7c6f->config&
|
|
|
-RMNET_SHS_STMP_ALL)&&!DATARMNET9303cec796(skb)){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);spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);do
|
|
|
-{hash_for_each_possible_safe(DATARMNETe603c3a4b3,node_p,tmp,list,hash){if(hash!=
|
|
|
+);}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.DATARMNETfc89d842ae=
|
|
|
+(0xd26+209-0xdf6);}void DATARMNETeacad8334e(void){struct hlist_node*tmp;struct
|
|
|
+DATARMNET63d7680df2*DATARMNET63b1a086d5;struct sk_buff*DATARMNET9a788b5480;int
|
|
|
+bkt;struct sk_buff*buf;unsigned long ht_flags;if(!DATARMNETecc0627c70.
|
|
|
+DATARMNETa2e32cdd3a)return;spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);
|
|
|
+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_irqrestore(&
|
|
|
+DATARMNET3764d083f0,ht_flags);}void DATARMNET44459105b4(struct sk_buff*skb,
|
|
|
+struct DATARMNET63d7680df2*node_p){struct iphdr*ip4h,DATARMNETc00baf31c3;struct
|
|
|
+ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;struct tcphdr*tp,DATARMNETd1ff6cd568;struct
|
|
|
+udphdr*up,DATARMNETc82d2f4e16;int len=(0xd2d+202-0xdf7);u16 ip_len=
|
|
|
+(0xd2d+202-0xdf7);__be16 frag_off;u8 protocol;node_p->DATARMNETa1099c74fe=
|
|
|
+(0xd2d+202-0xdf7);switch(skb->protocol){case htons(ETH_P_IP):ip4h=
|
|
|
+DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);if
|
|
|
+(!ip4h)return;node_p->DATARMNET1e9d25d9ff=ip4h->protocol;memcpy(&(node_p->ip_hdr
|
|
|
+.DATARMNETac9bbaad7c),ip4h,sizeof(*ip4h));ip_len=ip4h->ihl*(0xd11+230-0xdf3);
|
|
|
+node_p->DATARMNETa1099c74fe=!(ip4h->frag_off&htons(IP_DF));break;case htons(
|
|
|
+ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
|
|
|
+DATARMNETcf1d9e2c1e);if(!ip6h)return;node_p->DATARMNET1e9d25d9ff=ip6h->nexthdr;
|
|
|
+memcpy(&(node_p->ip_hdr.DATARMNET1688a97aa4),ip6h,sizeof(*ip6h));protocol=ip6h->
|
|
|
+nexthdr;len=ipv6_skip_exthdr(skb,sizeof(*ip6h),&protocol,&frag_off);if(len<
|
|
|
+(0xd2d+202-0xdf7)){return;}ip_len=(u16)len;break;default:break;}if(node_p->
|
|
|
+DATARMNET1e9d25d9ff==IPPROTO_TCP){tp=DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*tp),
|
|
|
+&DATARMNETd1ff6cd568);if(!tp)return;memcpy(&(node_p->DATARMNETe33b41dad9.tp),tp,
|
|
|
+sizeof(struct tcphdr));}else if(node_p->DATARMNET1e9d25d9ff==IPPROTO_UDP){up=
|
|
|
+DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*up),&DATARMNETc82d2f4e16);if(!up)return;
|
|
|
+memcpy(&(node_p->DATARMNETe33b41dad9.up),up,sizeof(struct udphdr));}else{}}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;unsigned long ht_flags;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;if(!(
|
|
|
+DATARMNET0bf01e7c6f->config&RMNET_SHS_STMP_ALL)&&!DATARMNET9303cec796(skb)){
|
|
|
+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);spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);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;
|
|
|
DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);is_match_found=
|
|
|
(0xd26+209-0xdf6);DATARMNET935af10724=(0xd26+209-0xdf6);if(node_p->
|
|
|
-DATARMNET85c698ec34){if(raw_smp_processor_id()==DATARMNETecc0627c70.
|
|
|
-DATARMNET5c24e1df05)DATARMNET68d84e7b98[DATARMNET048727d1d9]++;if(
|
|
|
-DATARMNET0bf01e7c6f->max_pkts&&node_p->DATARMNETae4b27456e.DATARMNET6215127f48>
|
|
|
-DATARMNET0bf01e7c6f->max_pkts)DATARMNET7c5ef97eab=(0xd26+209-0xdf6);}break;}if(
|
|
|
-is_match_found)break;DATARMNETcfb5dc7296=DATARMNET362c14e98b(DATARMNETecc0627c70
|
|
|
-.map_mask&DATARMNET9273f84bf1&~DATARMNETecc0627c70.DATARMNETba3f7a11ef);if(
|
|
|
+DATARMNET85c698ec34){if(node_p->map_cpu>=(0xd2d+202-0xdf7)&&node_p->map_cpu<
|
|
|
+DATARMNETc6782fed88){if(!hrtimer_active(&DATARMNETba5ea4329f(node_p->map_cpu)))
|
|
|
+hrtimer_start(&DATARMNETba5ea4329f(node_p->map_cpu),ns_to_ktime(
|
|
|
+DATARMNET4ac8af832c*DATARMNET68fc0be252),HRTIMER_MODE_REL);}if(
|
|
|
+raw_smp_processor_id()!=DATARMNETecc0627c70.DATARMNET7d667e828e&&(
|
|
|
+DATARMNETecc0627c70.DATARMNET7d667e828e==DATARMNETecc0627c70.DATARMNET5c24e1df05
|
|
|
+)){DATARMNET68d84e7b98[DATARMNET048727d1d9]++;DATARMNET7c5ef97eab=
|
|
|
+(0xd26+209-0xdf6);}if(DATARMNETaf998640fd&&node_p->DATARMNETae4b27456e.
|
|
|
+DATARMNET6215127f48>DATARMNETaf998640fd)DATARMNET7c5ef97eab=(0xd26+209-0xdf6);}
|
|
|
+break;}if(is_match_found)break;if(DATARMNET0bf01e7c6f->map_mask){
|
|
|
+DATARMNETcfb5dc7296=DATARMNET362c14e98b(DATARMNETecc0627c70.map_mask&
|
|
|
+DATARMNET9273f84bf1&~DATARMNETecc0627c70.DATARMNETba3f7a11ef);}else{
|
|
|
+DATARMNETcfb5dc7296=DATARMNET217fe38119((0xd2d+202-0xdf7),skb->dev);}if(
|
|
|
DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){DATARMNET68d84e7b98[DATARMNETa1f9420686]
|
|
|
++;break;}if(DATARMNETecc0627c70.DATARMNET64bb8a8f57>DATARMNETbfe31ef643){
|
|
|
DATARMNET68d84e7b98[DATARMNETe6e77f9f03]++;break;}node_p=kzalloc(sizeof(*node_p)
|
|
@@ -674,12 +696,15 @@ DATARMNET44459105b4(skb,node_p);if(DATARMNET0bf01e7c6f->map_mask){node_p->
|
|
|
DATARMNETfbbec4c537=DATARMNET0bf01e7c6f->map_mask;node_p->DATARMNETa59ce1fd2d=
|
|
|
DATARMNET310c3eb16e(node_p->DATARMNETfbbec4c537);node_p->map_cpu=
|
|
|
raw_smp_processor_id();node_p->map_index=node_p->map_cpu;node_p->
|
|
|
-DATARMNET85c698ec34=(0xd26+209-0xdf6);}else if(node_p->DATARMNET85c698ec34){
|
|
|
-node_p->DATARMNET341ea38662->mux_id=(0xd2d+202-0xdf7);}else{node_p->
|
|
|
-DATARMNETfbbec4c537=DATARMNETecc0627c70.map_mask;node_p->DATARMNETa59ce1fd2d=
|
|
|
-DATARMNETecc0627c70.map_len;}DATARMNET0349051465(node_p->map_cpu);
|
|
|
-DATARMNET350f55bfca(node_p);map_cpu=node_p->map_cpu;DATARMNETa4055affd5=&
|
|
|
-DATARMNET0997c5650d[map_cpu];priv=netdev_priv(node_p->dev);if(!priv){rm_err(
|
|
|
+DATARMNET85c698ec34=(0xd26+209-0xdf6);if(hrtimer_active(&DATARMNETba5ea4329f(
|
|
|
+node_p->map_cpu)))hrtimer_cancel(&DATARMNETba5ea4329f(node_p->map_cpu));
|
|
|
+hrtimer_start(&DATARMNETba5ea4329f(node_p->map_cpu),ns_to_ktime(
|
|
|
+DATARMNET4ac8af832c*DATARMNET68fc0be252),HRTIMER_MODE_REL);}else if(node_p->
|
|
|
+DATARMNET85c698ec34){node_p->DATARMNET341ea38662->mux_id=(0xd2d+202-0xdf7);}else
|
|
|
+{node_p->DATARMNETfbbec4c537=DATARMNETecc0627c70.map_mask;node_p->
|
|
|
+DATARMNETa59ce1fd2d=DATARMNETecc0627c70.map_len;}DATARMNET0349051465(node_p->
|
|
|
+map_cpu);DATARMNET350f55bfca(node_p);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(
|
|
@@ -731,10 +756,7 @@ DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=
|
|
|
DATARMNET1c55e5fdb1){DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;
|
|
|
DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}return
|
|
|
(0xd2d+202-0xdf7);}void DATARMNET9297340f58(unsigned int DATARMNET9f4bc49c6f){
|
|
|
-DATARMNETdf74db7e38();DATARMNETecc0627c70.DATARMNET08dbb5ab35.dl_hdr_handler_v2=
|
|
|
-NULL;DATARMNETecc0627c70.DATARMNET08dbb5ab35.dl_trl_handler_v2=NULL;
|
|
|
-rmnet_map_dl_ind_deregister(DATARMNETecc0627c70.port,&DATARMNETecc0627c70.
|
|
|
-DATARMNET08dbb5ab35);DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);
|
|
|
+DATARMNETdf74db7e38();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);
|
|
|
unregister_oom_notifier(&DATARMNET105c85d84c);if(DATARMNETecc0627c70.
|
|
|
DATARMNETf5ab31b9b0)hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);
|
|
|
memset(&DATARMNETecc0627c70,(0xd2d+202-0xdf7),sizeof(DATARMNETecc0627c70));
|