Prechádzať zdrojové kódy

rmnet_shs: I3dcc353dfe2909a5fa283e30e08c28590ffee9fe

I3dcc353dfe2909a5fa283e30e08c28590ffee9fe

Change-Id: I3dcc353dfe2909a5fa283e30e08c28590ffee9fe
Signed-off-by: Raul Martinez <[email protected]>
Raul Martinez 1 rok pred
rodič
commit
2be42d4d92
3 zmenil súbory, kde vykonal 387 pridanie a 406 odobranie
  1. 111 115
      shs/rmnet_shs_common.c
  2. 165 170
      shs/rmnet_shs_main.c
  3. 111 121
      shs/rmnet_shs_wq.c

+ 111 - 115
shs/rmnet_shs_common.c

@@ -32,36 +32,33 @@ DATARMNET5e796836fb,DATARMNET7fc202c4c1,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
 trace_rmnet_shs_wq_low(DATARMNET5e796836fb,DATARMNET7643ab0f49,
 (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),ep,
 NULL);list_del_init(&ep->DATARMNET0763436b8d);}void DATARMNET36e5e526fa(struct 
-DATARMNET6c78e47d24*DATARMNETd2a694d52a){unsigned long flags;
-trace_rmnet_shs_wq_low(DATARMNET238d08f0df,DATARMNET3f2d29c867,
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-DATARMNETd2a694d52a,NULL);spin_lock_irqsave(&DATARMNETfbdbab2ef6,flags);
-list_add_rcu(&DATARMNETd2a694d52a->DATARMNET6de26f0feb,&DATARMNET9825511866);
-spin_unlock_irqrestore(&DATARMNETfbdbab2ef6,flags);}void DATARMNET2fe780019f(
-struct DATARMNET6c78e47d24*DATARMNETd2a694d52a){unsigned long flags;
+DATARMNET6c78e47d24*DATARMNETd2a694d52a){trace_rmnet_shs_wq_low(
+DATARMNET238d08f0df,DATARMNET3f2d29c867,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);spin_lock_bh(&
+DATARMNETfbdbab2ef6);list_add_rcu(&DATARMNETd2a694d52a->DATARMNET6de26f0feb,&
+DATARMNET9825511866);spin_unlock_bh(&DATARMNETfbdbab2ef6);}void 
+DATARMNET2fe780019f(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a){
 trace_rmnet_shs_wq_low(DATARMNET238d08f0df,DATARMNET5a3ea29c57,
 (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-DATARMNETd2a694d52a,NULL);spin_lock_irqsave(&DATARMNETfbdbab2ef6,flags);
-list_del_rcu(&DATARMNETd2a694d52a->DATARMNET6de26f0feb);spin_unlock_irqrestore(&
-DATARMNETfbdbab2ef6,flags);}void DATARMNETb4a6870b3b(struct DATARMNET6c78e47d24*
-DATARMNETd2a694d52a){unsigned long flags;trace_rmnet_shs_wq_low(
-DATARMNET92b282b12c,DATARMNETdb9197631d,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);
-spin_lock_irqsave(&DATARMNETfbdbab2ef6,flags);list_del_init(&DATARMNETd2a694d52a
-->DATARMNET742867e97a);spin_unlock_irqrestore(&DATARMNETfbdbab2ef6,flags);}void 
-DATARMNETd8a6375e9c(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct 
-list_head*head){unsigned long flags;trace_rmnet_shs_wq_low(DATARMNET92b282b12c,
-DATARMNET4b58d51c6a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);spin_lock_irqsave(&
-DATARMNETfbdbab2ef6,flags);list_add(&DATARMNETd2a694d52a->DATARMNET742867e97a,
-head);spin_unlock_irqrestore(&DATARMNETfbdbab2ef6,flags);}void 
-DATARMNET9914e9761e(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct 
-list_head*head){unsigned long flags;trace_rmnet_shs_wq_low(DATARMNET92b282b12c,
-DATARMNETfd4d416388,DATARMNETd2a694d52a->DATARMNET7c894c2f8f,(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);
-spin_lock_irqsave(&DATARMNETfbdbab2ef6,flags);list_move(&DATARMNETd2a694d52a->
-DATARMNET742867e97a,head);spin_unlock_irqrestore(&DATARMNETfbdbab2ef6,flags);}
-void DATARMNET6bf538fa23(void){spin_lock_bh(&DATARMNETec2a4f5211);}void 
+DATARMNETd2a694d52a,NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_del_rcu(&
+DATARMNETd2a694d52a->DATARMNET6de26f0feb);spin_unlock_bh(&DATARMNETfbdbab2ef6);}
+void DATARMNETb4a6870b3b(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a){
+trace_rmnet_shs_wq_low(DATARMNET92b282b12c,DATARMNETdb9197631d,
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
+DATARMNETd2a694d52a,NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_del_init(&
+DATARMNETd2a694d52a->DATARMNET742867e97a);spin_unlock_bh(&DATARMNETfbdbab2ef6);}
+void DATARMNETd8a6375e9c(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct 
+list_head*head){trace_rmnet_shs_wq_low(DATARMNET92b282b12c,DATARMNET4b58d51c6a,
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
+DATARMNETd2a694d52a,NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_add(&
+DATARMNETd2a694d52a->DATARMNET742867e97a,head);spin_unlock_bh(&
+DATARMNETfbdbab2ef6);}void DATARMNET9914e9761e(struct DATARMNET6c78e47d24*
+DATARMNETd2a694d52a,struct list_head*head){trace_rmnet_shs_wq_low(
+DATARMNET92b282b12c,DATARMNETfd4d416388,DATARMNETd2a694d52a->DATARMNET7c894c2f8f
+,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,
+NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_move(&DATARMNETd2a694d52a->
+DATARMNET742867e97a,head);spin_unlock_bh(&DATARMNETfbdbab2ef6);}void 
+DATARMNET6bf538fa23(void){spin_lock_bh(&DATARMNETec2a4f5211);}void 
 DATARMNETaea4c85748(void){spin_unlock_bh(&DATARMNETec2a4f5211);}void 
 DATARMNETe46c480d71(void){u8 mask=DATARMNET752465942a;u8 DATARMNET998de79791=
 (0xd2d+202-0xdf7);struct DATARMNET9b44b71ee9*ep;list_for_each_entry(ep,&
@@ -153,90 +150,89 @@ DATARMNET4da6031170<DATARMNET11d167e92b->DATARMNET4da6031170)return
 (0xd26+209-0xdf6);return(0xd2d+202-0xdf7);}int DATARMNETf181a18009(struct 
 net_device*dev){u8 DATARMNETde5894dad9;u8 DATARMNETd9e9d4ff7e;int 
 DATARMNET895df156d7=-(0xd26+209-0xdf6);u8 is_match_found=(0xd2d+202-0xdf7);
-struct DATARMNET9b44b71ee9*ep=NULL;unsigned long flags;if(!dev){
-DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;return DATARMNET895df156d7;}
-spin_lock_irqsave(&DATARMNETec2a4f5211,flags);list_for_each_entry(ep,&
-DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if
-(ep->ep==dev){is_match_found=(0xd26+209-0xdf6);break;}}if(!is_match_found){
-DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;spin_unlock_irqrestore(&
-DATARMNETec2a4f5211,flags);return DATARMNET895df156d7;}DATARMNETde5894dad9=ep->
-DATARMNET6bda8fe27e;DATARMNETd9e9d4ff7e=ep->DATARMNETd7a83774f8;while(
-DATARMNETde5894dad9<DATARMNETd9e9d4ff7e){if(ep->DATARMNET5af04d0405[
-DATARMNETde5894dad9]>=(0xd2d+202-0xdf7)){DATARMNET895df156d7=ep->
-DATARMNET5af04d0405[DATARMNETde5894dad9];break;}DATARMNETde5894dad9++;}if((
-DATARMNET895df156d7>=(0xd2d+202-0xdf7))||((ep->DATARMNET6bda8fe27e+
-(0xd26+209-0xdf6))>=ep->DATARMNETd7a83774f8))ep->DATARMNET6bda8fe27e=((ep->
-DATARMNET6bda8fe27e+(0xd26+209-0xdf6))%ep->DATARMNETd7a83774f8);
-spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);return DATARMNET895df156d7;}
-int DATARMNET98b2a0ce62(struct net_device*dev){struct DATARMNET9b44b71ee9*ep=
-NULL;int DATARMNET895df156d7=-(0xd26+209-0xdf6);u8 DATARMNETcc5b7cd962;u8 
-DATARMNET15bde5cb53;u8 is_match_found=(0xd2d+202-0xdf7);unsigned long flags;if(!
-dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;return DATARMNET895df156d7;}
-spin_lock_irqsave(&DATARMNETec2a4f5211,flags);list_for_each_entry(ep,&
-DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if
-(ep->ep==dev){is_match_found=(0xd26+209-0xdf6);break;}}if(!is_match_found){
-DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;spin_unlock_irqrestore(&
-DATARMNETec2a4f5211,flags);return DATARMNET895df156d7;}DATARMNETcc5b7cd962=ep->
-DATARMNET121a654efd;DATARMNET15bde5cb53=ep->DATARMNET847276e5af;while(
-DATARMNETcc5b7cd962<DATARMNET15bde5cb53){if(ep->DATARMNET7167e10d99[
-DATARMNETcc5b7cd962]>=(0xd2d+202-0xdf7)){DATARMNET895df156d7=ep->
-DATARMNET7167e10d99[DATARMNETcc5b7cd962];break;}DATARMNETcc5b7cd962++;}if(
-DATARMNET895df156d7>=(0xd2d+202-0xdf7))ep->DATARMNET121a654efd=((
-DATARMNETcc5b7cd962+(0xd26+209-0xdf6))%DATARMNET15bde5cb53);
-spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);return DATARMNET895df156d7;}
-void DATARMNET7f1d9480cb(void*port){DATARMNET4063c95208();}void 
-DATARMNETa4bd2ef52c(void*port){DATARMNET7b6c061b06();}u8 DATARMNET928c931df9(
-struct rps_map*map){u8 mask=(0xd2d+202-0xdf7);u8 i;for(i=(0xd2d+202-0xdf7);i<map
-->len;i++)mask|=(0xd26+209-0xdf6)<<map->cpus[i];return mask;}int 
-DATARMNET310c3eb16e(u8 mask){u8 i;u8 DATARMNETc2284e5688=(0xd2d+202-0xdf7);for(i
-=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(mask&((0xd26+209-0xdf6)<<i))
-DATARMNETc2284e5688++;}return DATARMNETc2284e5688;}int DATARMNET04e8d1b862(u8 
-cpu,u8 mask){int ret=DATARMNETb91aee91fd;u8 idx=(0xd2d+202-0xdf7);u8 i;if(!(mask
-&(0xd26+209-0xdf6)<<cpu))return ret;for(i=(0xd2d+202-0xdf7);i<
-DATARMNETc6782fed88;i++){if(i==cpu&&(mask&((0xd26+209-0xdf6)<<i))){ret=idx;break
-;}if(mask&((0xd26+209-0xdf6)<<i))idx++;}return ret;}int DATARMNET217fe38119(u64 
-DATARMNETab155dfd5d,struct net_device*dev){int DATARMNETf54fdb137b=
-DATARMNETb91aee91fd;if(DATARMNETab155dfd5d<DATARMNETd82a2ed45e)
-DATARMNETf54fdb137b=DATARMNETf181a18009(dev);if(DATARMNETf54fdb137b==
-DATARMNETb91aee91fd||DATARMNETab155dfd5d>=DATARMNETd82a2ed45e)
-DATARMNETf54fdb137b=DATARMNET98b2a0ce62(dev);DATARMNET52de1f3dc0(
-DATARMNET720469c0a9,DATARMNET7e63a08ad4,DATARMNETf54fdb137b,DATARMNETab155dfd5d,
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return DATARMNETf54fdb137b;}
-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=
-(0xd2d+202-0xdf7);i<shinfo->nr_frags;i++){u32 frag_size;frag=&shinfo->frags[i];
-frag_size=skb_frag_size(frag);if(offset>=frag_size){offset-=frag_size;continue;}
-if(frag_size>=offset+DATARMNET567bdc7221)return skb_frag_address(frag)+offset;}
-if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf,(int)DATARMNET567bdc7221))
-return NULL;return buf;}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;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);
-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{}}u32 DATARMNET8532ab3089(u32 index,u32 
-DATARMNET0258668025,u32 hash,u8 DATARMNET72067bf727){int DATARMNETebbd4cd1d9[
-DATARMNETc6782fed88/(0xd1f+216-0xdf5)]={(0xd35+210-0xdff),(0xd11+230-0xdf3),
-(0xd18+223-0xdf4),(0xd1f+216-0xdf5)};u32 ret=(0xd2d+202-0xdf7);if(!
-DATARMNET0258668025){DATARMNET68d84e7b98[DATARMNETef8cbfa62f]++;return ret;}if(
-DATARMNET0258668025<DATARMNETc6782fed88)ret=((((index+((DATARMNET0258668025%
-(0xd1f+216-0xdf5))?(0xd26+209-0xdf6):(0xd2d+202-0xdf7))))<<(0xec7+1122-0x130d))*
-DATARMNETebbd4cd1d9[(DATARMNET0258668025-(0xd26+209-0xdf6))>>(0xd26+209-0xdf6)])
-|(hash&16777215);if(DATARMNET72067bf727)ret=(ret&~1048575)|DATARMNET94fa0a43a2;
-DATARMNETda96251102(DATARMNETf3aaad06eb,DATARMNET4e91ddb48a,ret,hash,index,
-DATARMNET0258668025,NULL,NULL);return ret;}
+struct DATARMNET9b44b71ee9*ep=NULL;if(!dev){DATARMNET68d84e7b98[
+DATARMNETf5157a9b85]++;return DATARMNET895df156d7;}spin_lock_bh(&
+DATARMNETec2a4f5211);list_for_each_entry(ep,&DATARMNET30a3e83974,
+DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if(ep->ep==dev){
+is_match_found=(0xd26+209-0xdf6);break;}}if(!is_match_found){DATARMNET68d84e7b98
+[DATARMNETb8fe2c0e64]++;spin_unlock_bh(&DATARMNETec2a4f5211);return 
+DATARMNET895df156d7;}DATARMNETde5894dad9=ep->DATARMNET6bda8fe27e;
+DATARMNETd9e9d4ff7e=ep->DATARMNETd7a83774f8;while(DATARMNETde5894dad9<
+DATARMNETd9e9d4ff7e){if(ep->DATARMNET5af04d0405[DATARMNETde5894dad9]>=
+(0xd2d+202-0xdf7)){DATARMNET895df156d7=ep->DATARMNET5af04d0405[
+DATARMNETde5894dad9];break;}DATARMNETde5894dad9++;}if((DATARMNET895df156d7>=
+(0xd2d+202-0xdf7))||((ep->DATARMNET6bda8fe27e+(0xd26+209-0xdf6))>=ep->
+DATARMNETd7a83774f8))ep->DATARMNET6bda8fe27e=((ep->DATARMNET6bda8fe27e+
+(0xd26+209-0xdf6))%ep->DATARMNETd7a83774f8);spin_unlock_bh(&DATARMNETec2a4f5211)
+;return DATARMNET895df156d7;}int DATARMNET98b2a0ce62(struct net_device*dev){
+struct DATARMNET9b44b71ee9*ep=NULL;int DATARMNET895df156d7=-(0xd26+209-0xdf6);u8
+ DATARMNETcc5b7cd962;u8 DATARMNET15bde5cb53;u8 is_match_found=(0xd2d+202-0xdf7);
+if(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;return DATARMNET895df156d7;}
+spin_lock_bh(&DATARMNETec2a4f5211);list_for_each_entry(ep,&DATARMNET30a3e83974,
+DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if(ep->ep==dev){
+is_match_found=(0xd26+209-0xdf6);break;}}if(!is_match_found){DATARMNET68d84e7b98
+[DATARMNETb8fe2c0e64]++;spin_unlock_bh(&DATARMNETec2a4f5211);return 
+DATARMNET895df156d7;}DATARMNETcc5b7cd962=ep->DATARMNET121a654efd;
+DATARMNET15bde5cb53=ep->DATARMNET847276e5af;while(DATARMNETcc5b7cd962<
+DATARMNET15bde5cb53){if(ep->DATARMNET7167e10d99[DATARMNETcc5b7cd962]>=
+(0xd2d+202-0xdf7)){DATARMNET895df156d7=ep->DATARMNET7167e10d99[
+DATARMNETcc5b7cd962];break;}DATARMNETcc5b7cd962++;}if(DATARMNET895df156d7>=
+(0xd2d+202-0xdf7))ep->DATARMNET121a654efd=((DATARMNETcc5b7cd962+
+(0xd26+209-0xdf6))%DATARMNET15bde5cb53);spin_unlock_bh(&DATARMNETec2a4f5211);
+return DATARMNET895df156d7;}void DATARMNET7f1d9480cb(void*port){
+DATARMNET4063c95208();}void DATARMNETa4bd2ef52c(void*port){DATARMNET7b6c061b06()
+;}u8 DATARMNET928c931df9(struct rps_map*map){u8 mask=(0xd2d+202-0xdf7);u8 i;for(
+i=(0xd2d+202-0xdf7);i<map->len;i++)mask|=(0xd26+209-0xdf6)<<map->cpus[i];return 
+mask;}int DATARMNET310c3eb16e(u8 mask){u8 i;u8 DATARMNETc2284e5688=
+(0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(mask&(
+(0xd26+209-0xdf6)<<i))DATARMNETc2284e5688++;}return DATARMNETc2284e5688;}int 
+DATARMNET04e8d1b862(u8 cpu,u8 mask){int ret=DATARMNETb91aee91fd;u8 idx=
+(0xd2d+202-0xdf7);u8 i;if(!(mask&(0xd26+209-0xdf6)<<cpu))return ret;for(i=
+(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(i==cpu&&(mask&((0xd26+209-0xdf6)
+<<i))){ret=idx;break;}if(mask&((0xd26+209-0xdf6)<<i))idx++;}return ret;}int 
+DATARMNET217fe38119(u64 DATARMNETab155dfd5d,struct net_device*dev){int 
+DATARMNETf54fdb137b=DATARMNETb91aee91fd;if(DATARMNETab155dfd5d<
+DATARMNETd82a2ed45e)DATARMNETf54fdb137b=DATARMNETf181a18009(dev);if(
+DATARMNETf54fdb137b==DATARMNETb91aee91fd||DATARMNETab155dfd5d>=
+DATARMNETd82a2ed45e)DATARMNETf54fdb137b=DATARMNET98b2a0ce62(dev);
+DATARMNET52de1f3dc0(DATARMNET720469c0a9,DATARMNET7e63a08ad4,DATARMNETf54fdb137b,
+DATARMNETab155dfd5d,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return 
+DATARMNETf54fdb137b;}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=(0xd2d+202-0xdf7);i<shinfo->nr_frags;i++){u32 frag_size;
+frag=&shinfo->frags[i];frag_size=skb_frag_size(frag);if(offset>=frag_size){
+offset-=frag_size;continue;}if(frag_size>=offset+DATARMNET567bdc7221)return 
+skb_frag_address(frag)+offset;}if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf
+,(int)DATARMNET567bdc7221))return NULL;return buf;}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;
+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);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{}}u32 
+DATARMNET8532ab3089(u32 index,u32 DATARMNET0258668025,u32 hash,u8 
+DATARMNET72067bf727){int DATARMNETebbd4cd1d9[DATARMNETc6782fed88/
+(0xd1f+216-0xdf5)]={(0xd35+210-0xdff),(0xd11+230-0xdf3),(0xd18+223-0xdf4),
+(0xd1f+216-0xdf5)};u32 ret=(0xd2d+202-0xdf7);if(!DATARMNET0258668025){
+DATARMNET68d84e7b98[DATARMNETef8cbfa62f]++;return ret;}if(DATARMNET0258668025<
+DATARMNETc6782fed88)ret=((((index+((DATARMNET0258668025%(0xd1f+216-0xdf5))?
+(0xd26+209-0xdf6):(0xd2d+202-0xdf7))))<<(0xec7+1122-0x130d))*DATARMNETebbd4cd1d9
+[(DATARMNET0258668025-(0xd26+209-0xdf6))>>(0xd26+209-0xdf6)])|(hash&16777215);if
+(DATARMNET72067bf727)ret=(ret&~1048575)|DATARMNET94fa0a43a2;DATARMNETda96251102(
+DATARMNETf3aaad06eb,DATARMNET4e91ddb48a,ret,hash,index,DATARMNET0258668025,NULL,
+NULL);return ret;}

+ 165 - 170
shs/rmnet_shs_main.c

@@ -40,18 +40,16 @@
 #include <linux/cpumask.h>
 #include <linux/icmp.h>
 #include <linux/inet.h>
-static char*verinfo[]={"\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",
-"\x65\x35\x37\x30\x63\x30\x35\x63","\x30\x63\x61\x37\x61\x62\x38\x30",
-"\x63\x30\x33\x31\x36\x31\x63\x66","\x35\x61\x66\x31\x30\x31\x31\x64",
-"\x36\x38\x36\x36\x36\x32\x33\x32","\x65\x32\x31\x38\x66\x34\x35\x31"};
-module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
-verinfo,
+static char*verinfo[]={"\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","\x65\x35\x37\x30\x63\x30\x35\x63",
+"\x30\x63\x61\x37\x61\x62\x38\x30"};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
@@ -413,79 +411,78 @@ 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;unsigned long 
-ht_flags;u32 DATARMNET61ab18a4bd;u32 DATARMNETed7800fc72=(0xd2d+202-0xdf7);u32 
+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);local_bh_disable();spin_lock_irqsave(&
-DATARMNET3764d083f0,ht_flags);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);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_irqrestore(&DATARMNET3764d083f0,ht_flags);local_bh_enable();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*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=
-NULL;struct DATARMNETe600c5b727*DATARMNETa4055affd5;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)){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){DATARMNETa4055affd5=&
-DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu];DATARMNETde8ee16f92(
-DATARMNET63b1a086d5);spin_unlock_bh(&DATARMNET3764d083f0);rmnet_rx_handler(&skb)
-;spin_lock_bh(&DATARMNET3764d083f0);DATARMNET3e37ad2816(DATARMNET63b1a086d5,&
+(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);
+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*
+skb=NULL;struct sk_buff*DATARMNETcebafc57a4=NULL;struct DATARMNETe600c5b727*
+DATARMNETa4055affd5;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)){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){DATARMNETa4055affd5=&DATARMNET0997c5650d[
+DATARMNET63b1a086d5->map_cpu];DATARMNETde8ee16f92(DATARMNET63b1a086d5);
+spin_unlock_bh(&DATARMNET3764d083f0);rmnet_rx_handler(&skb);spin_lock_bh(&
+DATARMNET3764d083f0);DATARMNET3e37ad2816(DATARMNET63b1a086d5,&
 DATARMNETa4055affd5->DATARMNET3dc4262f53);}else{DATARMNET14ed771dfb[
 DATARMNET94658618fc]++;netif_rx(skb);}}}DATARMNET63b1a086d5->DATARMNETae4b27456e
 .DATARMNET6215127f48=(0xd2d+202-0xdf7);DATARMNET63b1a086d5->DATARMNETae4b27456e.
@@ -786,21 +783,20 @@ register_oom_notifier(&DATARMNET105c85d84c);if(rc<(0xd2d+202-0xdf7)){pr_info(
 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;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 DATARMNET02fc8b29a0(
-struct DATARMNET63d7680df2*node_p,struct rmnet_shs_clnt_s*DATARMNET0bf01e7c6f,
-struct net_device*dev){u32 DATARMNET421230d879;u32 DATARMNET5eee131e74;node_p->
+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.
@@ -826,9 +822,9 @@ 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;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 
+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 
@@ -850,46 +846,46 @@ DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNETecc0627c70.DATARMNET7d667e828e
 .DATARMNETfeee6933fc>DATARMNETf4cacbb5dc){DATARMNETa4bf9fbf64(
 DATARMNETf3dfa53867,DATARMNET0b15fd8b54);DATARMNETa871eeb7e7();
 DATARMNET68d84e7b98[DATARMNET43405942ed]++;DATARMNETecc0627c70.
-DATARMNETfeee6933fc=(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}}
-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;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_irqrestore(&DATARMNET3764d083f0,ht_flags);
-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(
+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_irqrestore(&
-DATARMNET3764d083f0,ht_flags);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&
+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);}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){
+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;
@@ -910,19 +906,18 @@ DATARMNET341ea38662->mux_id=priv->mux_id;rm_err(
 ,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_irqrestore(&DATARMNET3764d083f0,ht_flags);
-DATARMNETf5821256ad(skb,DATARMNET0bf01e7c6f);return(0xd2d+202-0xdf7);}if(!node_p
-->DATARMNET85c698ec34)DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);else{
-netif_rx(skb);spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);return
-(0xd2d+202-0xdf7);}DATARMNET935af10724=(0xd26+209-0xdf6);break;}while(
-(0xd2d+202-0xdf7));if(!DATARMNET935af10724){spin_unlock_irqrestore(&
-DATARMNET3764d083f0,ht_flags);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;if(hrtimer_active(&
+=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;if(hrtimer_active(&
 DATARMNETecc0627c70.DATARMNET6fd692fc7a)){DATARMNETda96251102(
 DATARMNET720469c0a9,DATARMNETf730f80f06,DATARMNET2f67183a86,(0x16e8+787-0xc0c),
 (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);hrtimer_cancel(&
@@ -930,30 +925,30 @@ 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);}spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);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),
+,NULL);}spin_unlock_bh(&DATARMNET3764d083f0);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);DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}else if(!
-(DATARMNET0bf01e7c6f->config&RMNET_SHS_NO_DLMKR)&&DATARMNETecc0627c70.
+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

+ 111 - 121
shs/rmnet_shs_wq.c

@@ -142,19 +142,18 @@ DATARMNET742867e97a);DATARMNET36e5e526fa(DATARMNETd2a694d52a);}else{
 DATARMNET68d84e7b98[DATARMNET1828d69e96]++;}DATARMNETd2a694d52a=NULL;
 DATARMNETe9030b7691--;}}struct DATARMNET6c78e47d24*DATARMNETb062995420(void){
 struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;struct DATARMNET6c78e47d24*
-DATARMNETe70783182f=NULL;unsigned long flags;rcu_read_lock();spin_lock_irqsave(&
-DATARMNETfbdbab2ef6,flags);list_for_each_entry_rcu(DATARMNETd2a694d52a,&
-DATARMNET9825511866,DATARMNET6de26f0feb){if(DATARMNETd2a694d52a->
-DATARMNET0dc393a345==(0xd2d+202-0xdf7)){DATARMNETe70783182f=DATARMNETd2a694d52a;
-DATARMNETe70783182f->DATARMNET0dc393a345=(0xd26+209-0xdf6);DATARMNETe70783182f->
-DATARMNET8a4e1d5aaa=(0xd26+209-0xdf6);break;}}spin_unlock_irqrestore(&
-DATARMNETfbdbab2ef6,flags);rcu_read_unlock();if(DATARMNETe70783182f){
-trace_rmnet_shs_wq_low(DATARMNET238d08f0df,DATARMNET8d783e2a07,
-DATARMNETd2a694d52a->DATARMNET0bfc2b2c85,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);return DATARMNETe70783182f;}
-DATARMNETe70783182f=kzalloc(sizeof(*DATARMNETd2a694d52a),GFP_ATOMIC);if(!
-DATARMNETe70783182f){DATARMNET68d84e7b98[DATARMNET1828d69e96]++;return NULL;}
-DATARMNETa6e92c3315(DATARMNETe70783182f);DATARMNETe70783182f->
+DATARMNETe70783182f=NULL;rcu_read_lock();spin_lock_bh(&DATARMNETfbdbab2ef6);
+list_for_each_entry_rcu(DATARMNETd2a694d52a,&DATARMNET9825511866,
+DATARMNET6de26f0feb){if(DATARMNETd2a694d52a->DATARMNET0dc393a345==
+(0xd2d+202-0xdf7)){DATARMNETe70783182f=DATARMNETd2a694d52a;DATARMNETe70783182f->
+DATARMNET0dc393a345=(0xd26+209-0xdf6);DATARMNETe70783182f->DATARMNET8a4e1d5aaa=
+(0xd26+209-0xdf6);break;}}spin_unlock_bh(&DATARMNETfbdbab2ef6);rcu_read_unlock()
+;if(DATARMNETe70783182f){trace_rmnet_shs_wq_low(DATARMNET238d08f0df,
+DATARMNET8d783e2a07,DATARMNETd2a694d52a->DATARMNET0bfc2b2c85,(0x16e8+787-0xc0c),
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);return 
+DATARMNETe70783182f;}DATARMNETe70783182f=kzalloc(sizeof(*DATARMNETd2a694d52a),
+GFP_ATOMIC);if(!DATARMNETe70783182f){DATARMNET68d84e7b98[DATARMNET1828d69e96]++;
+return NULL;}DATARMNETa6e92c3315(DATARMNETe70783182f);DATARMNETe70783182f->
 DATARMNET0bfc2b2c85=(0xd2d+202-0xdf7);DATARMNETe70783182f->DATARMNET0dc393a345=
 (0xd26+209-0xdf6);DATARMNETe70783182f->DATARMNET8a4e1d5aaa=(0xd26+209-0xdf6);
 INIT_LIST_HEAD(&DATARMNETe70783182f->DATARMNET6de26f0feb);INIT_LIST_HEAD(&
@@ -487,32 +486,31 @@ byte_diff;DATARMNET3c48cbf7e4->DATARMNET7fc41d655d+=DATARMNETee9f72f13f;
 DATARMNET3c48cbf7e4->rx_bytes+=byte_diff;}void DATARMNETdfb8ee742f(u16 
 DATARMNET035f475d5c,u16 DATARMNETcfb5dc7296,struct DATARMNET9b44b71ee9*ep){
 struct DATARMNET63d7680df2*node_p;struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38
-;struct hlist_node*tmp;unsigned long ht_flags;u16 bkt;local_bh_disable();
-spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);hash_for_each_safe(
-DATARMNETe603c3a4b3,bkt,tmp,node_p,list){if(!node_p)continue;if(!node_p->
-DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=node_p->DATARMNET341ea38662;if(
-(DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09==DATARMNET035f475d5c)&&(node_p->dev==
-ep->ep)){trace_rmnet_shs_wq_high(DATARMNET394831f22a,DATARMNET45edcec1e4,
-DATARMNET7b2c1bbf38->hash,DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09,
-DATARMNETcfb5dc7296,(0x16e8+787-0xc0c),DATARMNET7b2c1bbf38,NULL);node_p->
-DATARMNET341ea38662->DATARMNET6e1a4eaf09=DATARMNETcfb5dc7296;}}
-spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);local_bh_enable();}static 
-void DATARMNETc2de347e4d(u32 DATARMNETa3f89581b5,struct DATARMNET6c78e47d24*
+;struct hlist_node*tmp;u16 bkt;spin_lock_bh(&DATARMNET3764d083f0);
+hash_for_each_safe(DATARMNETe603c3a4b3,bkt,tmp,node_p,list){if(!node_p)continue;
+if(!node_p->DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=node_p->
+DATARMNET341ea38662;if((DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09==
+DATARMNET035f475d5c)&&(node_p->dev==ep->ep)){trace_rmnet_shs_wq_high(
+DATARMNET394831f22a,DATARMNET45edcec1e4,DATARMNET7b2c1bbf38->hash,
+DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09,DATARMNETcfb5dc7296,(0x16e8+787-0xc0c),
+DATARMNET7b2c1bbf38,NULL);node_p->DATARMNET341ea38662->DATARMNET6e1a4eaf09=
+DATARMNETcfb5dc7296;}}spin_unlock_bh(&DATARMNET3764d083f0);}static void 
+DATARMNETc2de347e4d(u32 DATARMNETa3f89581b5,struct DATARMNET6c78e47d24*
 DATARMNET7b2c1bbf38){if(DATARMNETa3f89581b5>=DATARMNET3563036124||
 DATARMNET7b2c1bbf38==NULL)return;DATARMNET7b2c1bbf38->DATARMNET61e1ee0e95[
 DATARMNETa3f89581b5]+=(0xd26+209-0xdf6);}static int DATARMNET6f56fe7597(u16 
 DATARMNET035f475d5c,u16 DATARMNETcfb5dc7296,struct DATARMNET9b44b71ee9*ep,u32 
 DATARMNET4da4612f1e,u32 DATARMNETa3f89581b5){struct DATARMNET63d7680df2*node_p;
-struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38;struct hlist_node*tmp;unsigned 
-long ht_flags;int rc=(0xd2d+202-0xdf7);u16 bkt;if(!ep){DATARMNET68d84e7b98[
-DATARMNETb8fe2c0e64]++;return(0xd2d+202-0xdf7);}if(DATARMNET035f475d5c>=
-DATARMNETc6782fed88||DATARMNETcfb5dc7296>=DATARMNETc6782fed88){
-DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return(0xd2d+202-0xdf7);}
-local_bh_disable();spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);
-hash_for_each_safe(DATARMNETe603c3a4b3,bkt,tmp,node_p,list){if(!node_p)continue;
-if(!node_p->DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=node_p->
-DATARMNET341ea38662;if(DATARMNET4da4612f1e!=(0xd2d+202-0xdf7)){if(
-DATARMNET7b2c1bbf38->hash!=DATARMNET4da4612f1e)continue;}rm_err(
+struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38;struct hlist_node*tmp;int rc=
+(0xd2d+202-0xdf7);u16 bkt;if(!ep){DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;
+return(0xd2d+202-0xdf7);}if(DATARMNET035f475d5c>=DATARMNETc6782fed88||
+DATARMNETcfb5dc7296>=DATARMNETc6782fed88){DATARMNET68d84e7b98[
+DATARMNET54b67b8a75]++;return(0xd2d+202-0xdf7);}spin_lock_bh(&
+DATARMNET3764d083f0);hash_for_each_safe(DATARMNETe603c3a4b3,bkt,tmp,node_p,list)
+{if(!node_p)continue;if(!node_p->DATARMNET341ea38662)continue;
+DATARMNET7b2c1bbf38=node_p->DATARMNET341ea38662;if(DATARMNET4da4612f1e!=
+(0xd2d+202-0xdf7)){if(DATARMNET7b2c1bbf38->hash!=DATARMNET4da4612f1e)continue;}
+rm_err(
 "\x53\x48\x53\x5f\x48\x54\x3a\x20\x3e\x3e\x20\x20\x73\x75\x67\x67\x20\x63\x70\x75\x20\x25\x64\x20\x7c\x20\x6f\x6c\x64\x20\x63\x70\x75\x20\x25\x64\x20\x7c\x20\x6e\x65\x77\x5f\x63\x70\x75\x20\x25\x64\x20\x7c\x20"
 "\x6d\x61\x70\x5f\x63\x70\x75\x20\x3d\x20\x25\x64\x20\x7c\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78"
 ,DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09,DATARMNET035f475d5c,
@@ -530,17 +528,16 @@ DATARMNET6e1a4eaf09);rc=(0xd26+209-0xdf6);break;}rm_err(
 "\x53\x48\x53\x5f\x43\x48\x4e\x47\x3a\x20\x6d\x6f\x76\x69\x6e\x67\x20\x61\x6c\x6c\x20\x66\x6c\x6f\x77\x73\x3a\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20"
 "\x73\x75\x67\x67\x5f\x63\x70\x75\x20\x63\x68\x61\x6e\x67\x65\x64\x20\x66\x72\x6f\x6d\x20\x25\x64\x20\x74\x6f\x20\x25\x64"
 ,DATARMNET7b2c1bbf38->hash,DATARMNET035f475d5c,node_p->DATARMNET341ea38662->
-DATARMNET6e1a4eaf09);rc|=(0xd26+209-0xdf6);}}spin_unlock_irqrestore(&
-DATARMNET3764d083f0,ht_flags);local_bh_enable();return rc;}u64 
-DATARMNETd406e89a85(u32 DATARMNETfaedbb66a9){int DATARMNET42a992465f;u64 
-DATARMNET5a8059a7ce=(0xd2d+202-0xdf7);struct DATARMNETc8fdbf9c85*
-DATARMNET7bea4a06a6=&DATARMNET6cdd58e74c;for(DATARMNET42a992465f=
-(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++)
-{if((((0xd26+209-0xdf6)<<DATARMNET42a992465f)&DATARMNETfaedbb66a9)&&(
-DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET42a992465f].
-DATARMNET324c1a8f98>DATARMNET5a8059a7ce)){DATARMNET5a8059a7ce=
-DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET42a992465f].
-DATARMNET324c1a8f98;}}return DATARMNET5a8059a7ce;}int DATARMNET362c14e98b(u16 
+DATARMNET6e1a4eaf09);rc|=(0xd26+209-0xdf6);}}spin_unlock_bh(&DATARMNET3764d083f0
+);return rc;}u64 DATARMNETd406e89a85(u32 DATARMNETfaedbb66a9){int 
+DATARMNET42a992465f;u64 DATARMNET5a8059a7ce=(0xd2d+202-0xdf7);struct 
+DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&DATARMNET6cdd58e74c;for(
+DATARMNET42a992465f=(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;
+DATARMNET42a992465f++){if((((0xd26+209-0xdf6)<<DATARMNET42a992465f)&
+DATARMNETfaedbb66a9)&&(DATARMNET7bea4a06a6->DATARMNET73464778dc[
+DATARMNET42a992465f].DATARMNET324c1a8f98>DATARMNET5a8059a7ce)){
+DATARMNET5a8059a7ce=DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET42a992465f
+].DATARMNET324c1a8f98;}}return DATARMNET5a8059a7ce;}int DATARMNET362c14e98b(u16 
 DATARMNETfaedbb66a9){struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&
 DATARMNET6cdd58e74c;struct DATARMNET228056d4b7*DATARMNET65385af8a0;u64 
 DATARMNET609049f7b7=U64_MAX;u32 DATARMNET84d36cfd28=U32_MAX;int 
@@ -618,13 +615,12 @@ DATARMNET208ea67e1d),DATARMNET553df5e12a);if(DATARMNET7c894c2f8f==
 DATARMNET208ea67e1d||!cpu_online(DATARMNET208ea67e1d)||!DATARMNET553df5e12a){
 return(0xd2d+202-0xdf7);}return(0xd26+209-0xdf6);}int DATARMNET5f72606f6f(u16 
 DATARMNETc790ff30fc,u16 DATARMNET208ea67e1d,u32 DATARMNET4da4612f1e,u32 
-DATARMNETa3f89581b5){unsigned long flags;struct DATARMNET9b44b71ee9*ep;if(
-DATARMNETc790ff30fc>=DATARMNETc6782fed88||DATARMNET208ea67e1d>=
-DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return
-(0xd2d+202-0xdf7);}local_bh_disable();spin_lock_irqsave(&DATARMNETec2a4f5211,
-flags);list_for_each_entry(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->
-DATARMNET4a4e6f66b5)continue;if(!DATARMNET769bbe36c6(DATARMNETc790ff30fc,
-DATARMNET208ea67e1d,ep)){rm_err(
+DATARMNETa3f89581b5){struct DATARMNET9b44b71ee9*ep;if(DATARMNETc790ff30fc>=
+DATARMNETc6782fed88||DATARMNET208ea67e1d>=DATARMNETc6782fed88){
+DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return(0xd2d+202-0xdf7);}spin_lock_bh
+(&DATARMNETec2a4f5211);list_for_each_entry(ep,&DATARMNET30a3e83974,
+DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if(!
+DATARMNET769bbe36c6(DATARMNETc790ff30fc,DATARMNET208ea67e1d,ep)){rm_err(
 "\x53\x48\x53\x5f\x46\x44\x45\x53\x43\x3a\x20\x3e\x3e\x20\x43\x61\x6e\x6e\x6f\x74\x20\x6d\x6f\x76\x65\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x6f\x6e\x20\x65\x70"
 "\x20\x66\x72\x6f\x6d\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x74\x6f\x20\x63\x70\x75\x5b\x25\x64\x5d"
 ,DATARMNET4da4612f1e,DATARMNETc790ff30fc,DATARMNET208ea67e1d);continue;}if(
@@ -633,22 +629,21 @@ DATARMNET4da4612f1e,DATARMNETa3f89581b5)){rm_err(
 "\x53\x48\x53\x5f\x46\x44\x45\x53\x43\x3a\x20\x3e\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x77\x61\x73\x20\x73\x75\x67\x67\x65\x73\x74\x65\x64\x20\x74\x6f"
 "\x20\x6d\x6f\x76\x65\x20\x66\x72\x6f\x6d\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x74\x6f\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x73\x75\x67\x67\x5f\x74\x79\x70\x65\x20\x5b\x25\x64\x5d"
 ,DATARMNET4da4612f1e,DATARMNETc790ff30fc,DATARMNET208ea67e1d,DATARMNETa3f89581b5
-);spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);local_bh_enable();return
-(0xd26+209-0xdf6);}}spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);
-local_bh_enable();return(0xd2d+202-0xdf7);}int DATARMNETf85599b9d8(u32 
+);spin_unlock_bh(&DATARMNETec2a4f5211);return(0xd26+209-0xdf6);}}spin_unlock_bh(
+&DATARMNETec2a4f5211);return(0xd2d+202-0xdf7);}int DATARMNETf85599b9d8(u32 
 DATARMNET8c11bd9466,u8 DATARMNET87636d0152){struct DATARMNET63d7680df2*node_p;
-struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38;unsigned long ht_flags;u16 bkt;
-spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);hash_for_each(
-DATARMNETe603c3a4b3,bkt,node_p,list){if(!node_p)continue;if(!node_p->
-DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=node_p->DATARMNET341ea38662;if(
-DATARMNET7b2c1bbf38->hash!=DATARMNET8c11bd9466)continue;rm_err(
+struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38;u16 bkt;spin_lock_bh(&
+DATARMNET3764d083f0);hash_for_each(DATARMNETe603c3a4b3,bkt,node_p,list){if(!
+node_p)continue;if(!node_p->DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=
+node_p->DATARMNET341ea38662;if(DATARMNET7b2c1bbf38->hash!=DATARMNET8c11bd9466)
+continue;rm_err(
 "\x53\x48\x53\x5f\x48\x54\x3a\x20\x3e\x3e\x20\x73\x65\x67\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x6e\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x73\x65\x67\x73\x5f\x70\x65\x72\x5f\x73\x6b\x62\x20\x25\x75"
 ,DATARMNET8c11bd9466,DATARMNET87636d0152);trace_rmnet_shs_wq_high(
 DATARMNET394831f22a,DATARMNET213a62da0d,DATARMNET7b2c1bbf38->hash,
 DATARMNET87636d0152,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET7b2c1bbf38,
 NULL);node_p->DATARMNET341ea38662->DATARMNET87636d0152=DATARMNET87636d0152;
-spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);return(0xd26+209-0xdf6);}
-spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);rm_err(
+spin_unlock_bh(&DATARMNET3764d083f0);return(0xd26+209-0xdf6);}spin_unlock_bh(&
+DATARMNET3764d083f0);rm_err(
 "\x53\x48\x53\x5f\x48\x54\x3a\x20\x3e\x3e\x20\x73\x65\x67\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x6e\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x73\x65\x67\x73\x5f\x70\x65\x72\x5f\x73\x6b\x62\x20\x25\x75\x20\x6e\x6f\x74\x20\x73\x65\x74\x20\x2d\x20\x68\x61\x73\x68\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64"
 ,DATARMNET8c11bd9466,DATARMNET87636d0152);return(0xd2d+202-0xdf7);}int 
 DATARMNET1faf2b953f(u32 DATARMNET8c11bd9466,u32 ack_thresh){rm_err(
@@ -777,26 +772,24 @@ time>DATARMNETa804c0b904)ret=true;else if(flows>DATARMNET1c2d76f636&&time>
 DATARMNET2922c89d50)ret=true;else if(flows>DATARMNET7a815512d3&&time>
 DATARMNET270b564b55)ret=true;return ret;}void DATARMNET39391a8bc5(u8 
 DATARMNETcd94e0d3c7){struct DATARMNET63d7680df2*node_p=NULL;ktime_t 
-DATARMNETf48008e7b6;unsigned long ht_flags;unsigned long DATARMNET9e5f0e19e1;
-struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;struct list_head*
-DATARMNET7b34b7b5be=NULL,*next=NULL;rcu_read_lock();local_bh_disable();
-spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);list_for_each_safe(
-DATARMNET7b34b7b5be,next,&DATARMNET9825511866){DATARMNETd2a694d52a=list_entry(
-DATARMNET7b34b7b5be,struct DATARMNET6c78e47d24,DATARMNET6de26f0feb);if(
-DATARMNETd2a694d52a->DATARMNET63b1a086d5==NULL)continue;node_p=
-DATARMNETd2a694d52a->DATARMNET63b1a086d5;DATARMNETf48008e7b6=DATARMNET36cfa76181
-(DATARMNETd2a694d52a->DATARMNET42ceaf5cc2);if((DATARMNET1154e4fac6(
-DATARMNETf48008e7b6,DATARMNETecc0627c70.DATARMNET64bb8a8f57)&&((node_p->
-DATARMNET85c698ec34&&!rcu_dereference(rmnet_shs_switch))||!node_p->
-DATARMNET85c698ec34))||DATARMNETcd94e0d3c7){trace_rmnet_shs_wq_low(
-DATARMNET394831f22a,DATARMNET5e2c5adaae,node_p->hash,DATARMNETf48008e7b6,
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),node_p,DATARMNETd2a694d52a);
-DATARMNET23c7ddd780(node_p,DATARMNET5b5927fd7e);DATARMNET3669e7b703(
-DATARMNETd2a694d52a->DATARMNET7c894c2f8f);if(node_p){if(node_p->
-DATARMNET80eb31d7b8){spin_lock_irqsave(&DATARMNETd83ee17944,DATARMNET9e5f0e19e1)
-;DATARMNETde8ee16f92(node_p);hash_del_rcu(&node_p->list);kfree(node_p);
-spin_unlock_irqrestore(&DATARMNETd83ee17944,DATARMNET9e5f0e19e1);}else{
-DATARMNETde8ee16f92(node_p);hash_del_rcu(&node_p->list);kfree(node_p);}}rm_err(
+DATARMNETf48008e7b6;struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;struct 
+list_head*DATARMNET7b34b7b5be=NULL,*next=NULL;rcu_read_lock();spin_lock_bh(&
+DATARMNET3764d083f0);list_for_each_safe(DATARMNET7b34b7b5be,next,&
+DATARMNET9825511866){DATARMNETd2a694d52a=list_entry(DATARMNET7b34b7b5be,struct 
+DATARMNET6c78e47d24,DATARMNET6de26f0feb);if(DATARMNETd2a694d52a->
+DATARMNET63b1a086d5==NULL)continue;node_p=DATARMNETd2a694d52a->
+DATARMNET63b1a086d5;DATARMNETf48008e7b6=DATARMNET36cfa76181(DATARMNETd2a694d52a
+->DATARMNET42ceaf5cc2);if((DATARMNET1154e4fac6(DATARMNETf48008e7b6,
+DATARMNETecc0627c70.DATARMNET64bb8a8f57)&&((node_p->DATARMNET85c698ec34&&!
+rcu_dereference(rmnet_shs_switch))||!node_p->DATARMNET85c698ec34))||
+DATARMNETcd94e0d3c7){trace_rmnet_shs_wq_low(DATARMNET394831f22a,
+DATARMNET5e2c5adaae,node_p->hash,DATARMNETf48008e7b6,(0x16e8+787-0xc0c),
+(0x16e8+787-0xc0c),node_p,DATARMNETd2a694d52a);DATARMNET23c7ddd780(node_p,
+DATARMNET5b5927fd7e);DATARMNET3669e7b703(DATARMNETd2a694d52a->
+DATARMNET7c894c2f8f);if(node_p){if(node_p->DATARMNET80eb31d7b8){spin_lock_bh(&
+DATARMNETd83ee17944);DATARMNETde8ee16f92(node_p);hash_del_rcu(&node_p->list);
+kfree(node_p);spin_unlock_bh(&DATARMNETd83ee17944);}else{DATARMNETde8ee16f92(
+node_p);hash_del_rcu(&node_p->list);kfree(node_p);}}rm_err(
 "\x53\x48\x53\x5f\x46\x4c\x4f\x57\x3a\x20\x72\x65\x6d\x6f\x76\x69\x6e\x67\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d\x20"
 "\x70\x70\x73\x3a\x20\x25\x6c\x6c\x75\x20\x61\x76\x67\x5f\x70\x70\x73\x3a\x20\x25\x6c\x6c\x75"
 ,DATARMNETd2a694d52a->hash,DATARMNETd2a694d52a->DATARMNET7c894c2f8f,
@@ -805,11 +798,10 @@ DATARMNET253a9fc708);DATARMNETb4a6870b3b(DATARMNETd2a694d52a);if(
 DATARMNETd2a694d52a->DATARMNET0bfc2b2c85==(0xd2d+202-0xdf7)||DATARMNETcd94e0d3c7
 ){DATARMNET2fe780019f(DATARMNETd2a694d52a);kfree(DATARMNETd2a694d52a);}else{
 DATARMNETa6e92c3315(DATARMNETd2a694d52a);}atomic_long_dec(&DATARMNETecc0627c70.
-DATARMNET64bb8a8f57);}}spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);
-local_bh_enable();rcu_read_unlock();}void DATARMNETe69c918dc8(struct 
-DATARMNET9b44b71ee9*ep){struct rps_map*map;u8 len=(0xd2d+202-0xdf7);if(!ep||!ep
-->ep){DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return;}rcu_read_lock();if(!ep
-->ep){pr_info(
+DATARMNET64bb8a8f57);}}spin_unlock_bh(&DATARMNET3764d083f0);rcu_read_unlock();}
+void DATARMNETe69c918dc8(struct DATARMNET9b44b71ee9*ep){struct rps_map*map;u8 
+len=(0xd2d+202-0xdf7);if(!ep||!ep->ep){DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]
+++;return;}rcu_read_lock();if(!ep->ep){pr_info(
 "\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x73\x74\x61\x74\x65\x20\x25\x70"
 ,ep->ep);DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return;}map=rcu_dereference(
 ep->ep->_rx->rps_map);ep->DATARMNET9fb369ce5f=(0xd2d+202-0xdf7);if(map!=NULL){
@@ -818,33 +810,31 @@ for(len=(0xd2d+202-0xdf7);len<map->len;len++)ep->DATARMNET9fb369ce5f|=(
 ->DATARMNET9fb369ce5f&(0xeb7+1101-0x12f5);ep->DATARMNET1a1d89d417=ep->
 DATARMNET9fb369ce5f&(0xbf7+4405-0x1c3c);}void DATARMNETd6ee05f1b4(struct 
 net_device*dev){struct DATARMNET9b44b71ee9*ep=NULL;struct DATARMNET9b44b71ee9*
-tmp=NULL;unsigned long flags;if(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++
-;return;}spin_lock_irqsave(&DATARMNETec2a4f5211,flags);list_for_each_entry_safe(
-ep,tmp,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(ep->ep==dev){ep->
-DATARMNET4a4e6f66b5=(0xd2d+202-0xdf7);DATARMNETf7d317ed55(ep);kfree(ep);break;}}
-spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);}void DATARMNET7492293980(
-struct net_device*dev){struct DATARMNET9b44b71ee9*ep=NULL;unsigned long flags;if
-(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;return;}spin_lock_irqsave(&
-DATARMNETec2a4f5211,flags);ep=kzalloc(sizeof(*ep),GFP_ATOMIC);if(!ep){
-DATARMNET68d84e7b98[DATARMNET40ceff078e]++;spin_unlock_irqrestore(&
-DATARMNETec2a4f5211,flags);return;}ep->ep=dev;ep->DATARMNET4a4e6f66b5=
+tmp=NULL;if(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;return;}
+spin_lock_bh(&DATARMNETec2a4f5211);list_for_each_entry_safe(ep,tmp,&
+DATARMNET30a3e83974,DATARMNET0763436b8d){if(ep->ep==dev){ep->DATARMNET4a4e6f66b5
+=(0xd2d+202-0xdf7);DATARMNETf7d317ed55(ep);kfree(ep);break;}}spin_unlock_bh(&
+DATARMNETec2a4f5211);}void DATARMNET7492293980(struct net_device*dev){struct 
+DATARMNET9b44b71ee9*ep=NULL;if(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;
+return;}spin_lock_bh(&DATARMNETec2a4f5211);ep=kzalloc(sizeof(*ep),GFP_ATOMIC);if
+(!ep){DATARMNET68d84e7b98[DATARMNET40ceff078e]++;spin_unlock_bh(&
+DATARMNETec2a4f5211);return;}ep->ep=dev;ep->DATARMNET4a4e6f66b5=
 (0xd26+209-0xdf6);INIT_LIST_HEAD(&ep->DATARMNET0763436b8d);DATARMNETe69c918dc8(
-ep);DATARMNET4095253347(ep);spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);}
-void DATARMNET039ac6d55d(void){struct DATARMNET9b44b71ee9*ep=NULL;
-list_for_each_entry(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->
-DATARMNET4a4e6f66b5)continue;DATARMNETe69c918dc8(ep);ep->DATARMNET257fc4b2d4=
-(0xd2d+202-0xdf7);ep->DATARMNET4eb77c78e6=(0xd2d+202-0xdf7);}}noinline void 
-DATARMNETedc898218c(void){int cpu,DATARMNETc790ff30fc;int DATARMNET421230d879;
-struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;for(cpu=(0xd2d+202-0xdf7);
-cpu<DATARMNETc6782fed88;cpu++){DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);
-DATARMNET0997c5650d[cpu].seg=(0xd2d+202-0xdf7);}rcu_read_lock();
-list_for_each_entry_rcu(DATARMNETd2a694d52a,&DATARMNET9825511866,
-DATARMNET6de26f0feb){if(DATARMNETd2a694d52a->DATARMNET0dc393a345==
-(0xd2d+202-0xdf7))continue;if(DATARMNETd2a694d52a->DATARMNET253a9fc708>
-DATARMNET832dcfb5f8&&DATARMNETd2a694d52a->DATARMNET4b4a76b094>
-DATARMNET59f7cb903f)if(DATARMNETd2a694d52a->DATARMNET7c894c2f8f<
-DATARMNETc6782fed88){DATARMNET421230d879=DATARMNETd2a694d52a->
-DATARMNET7c894c2f8f;DATARMNET2d482e7d9f[DATARMNET421230d879]++;}
+ep);DATARMNET4095253347(ep);spin_unlock_bh(&DATARMNETec2a4f5211);}void 
+DATARMNET039ac6d55d(void){struct DATARMNET9b44b71ee9*ep=NULL;list_for_each_entry
+(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)
+continue;DATARMNETe69c918dc8(ep);ep->DATARMNET257fc4b2d4=(0xd2d+202-0xdf7);ep->
+DATARMNET4eb77c78e6=(0xd2d+202-0xdf7);}}noinline void DATARMNETedc898218c(void){
+int cpu,DATARMNETc790ff30fc;int DATARMNET421230d879;struct DATARMNET6c78e47d24*
+DATARMNETd2a694d52a=NULL;for(cpu=(0xd2d+202-0xdf7);cpu<DATARMNETc6782fed88;cpu++
+){DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);DATARMNET0997c5650d[cpu].seg=
+(0xd2d+202-0xdf7);}rcu_read_lock();list_for_each_entry_rcu(DATARMNETd2a694d52a,&
+DATARMNET9825511866,DATARMNET6de26f0feb){if(DATARMNETd2a694d52a->
+DATARMNET0dc393a345==(0xd2d+202-0xdf7))continue;if(DATARMNETd2a694d52a->
+DATARMNET253a9fc708>DATARMNET832dcfb5f8&&DATARMNETd2a694d52a->
+DATARMNET4b4a76b094>DATARMNET59f7cb903f)if(DATARMNETd2a694d52a->
+DATARMNET7c894c2f8f<DATARMNETc6782fed88){DATARMNET421230d879=DATARMNETd2a694d52a
+->DATARMNET7c894c2f8f;DATARMNET2d482e7d9f[DATARMNET421230d879]++;}
 DATARMNETc790ff30fc=DATARMNETd2a694d52a->DATARMNET7c894c2f8f;if(
 DATARMNETc790ff30fc>=DATARMNETc6782fed88||DATARMNETc790ff30fc<(0xd2d+202-0xdf7))
 {continue;}if(DATARMNETd2a694d52a->DATARMNET87636d0152>(0xd2d+202-0xdf7)){
@@ -879,15 +869,15 @@ DATARMNETcc489fbbad(&DATARMNET3208cd0982);DATARMNETf7730d41c1(&
 DATARMNET922b4752e2);}else{rm_err("\x25\x73",
 "\x53\x48\x53\x5f\x55\x50\x44\x41\x54\x45\x3a\x20\x73\x68\x73\x20\x75\x73\x65\x72\x73\x70\x61\x63\x65\x20\x6e\x6f\x74\x20\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64\x2c\x20\x75\x73\x69\x6e\x67\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x6c\x6f\x67\x69\x63"
 );DATARMNET95736008d9();}DATARMNET0a6fb12cb2();DATARMNETedc898218c();}void 
-DATARMNETb4b5fc9686(struct work_struct*DATARMNET33110a3ff5){unsigned long flags;
-unsigned long DATARMNET28085cfd14;trace_rmnet_shs_wq_high(DATARMNET4fe8e8c1a9,
+DATARMNETb4b5fc9686(struct work_struct*DATARMNET33110a3ff5){unsigned long 
+DATARMNET28085cfd14;trace_rmnet_shs_wq_high(DATARMNET4fe8e8c1a9,
 DATARMNET5a417740cb,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),NULL,NULL);DATARMNETd619186789++;spin_lock_irqsave(&
-DATARMNETec2a4f5211,flags);DATARMNETcd6e26f0ad();spin_unlock_irqrestore(&
-DATARMNETec2a4f5211,flags);DATARMNET39391a8bc5(DATARMNET53bef3c026);
-DATARMNET5e1aaed12b();DATARMNET28085cfd14=msecs_to_jiffies(DATARMNET1fc3ad67fd);
-queue_delayed_work(DATARMNETf141197982,&DATARMNET9dc7755be5->DATARMNET1150269da2
-,DATARMNET28085cfd14);trace_rmnet_shs_wq_high(DATARMNET4fe8e8c1a9,
+(0x16e8+787-0xc0c),NULL,NULL);DATARMNETd619186789++;spin_lock_bh(&
+DATARMNETec2a4f5211);DATARMNETcd6e26f0ad();spin_unlock_bh(&DATARMNETec2a4f5211);
+DATARMNET39391a8bc5(DATARMNET53bef3c026);DATARMNET5e1aaed12b();
+DATARMNET28085cfd14=msecs_to_jiffies(DATARMNET1fc3ad67fd);queue_delayed_work(
+DATARMNETf141197982,&DATARMNET9dc7755be5->DATARMNET1150269da2,
+DATARMNET28085cfd14);trace_rmnet_shs_wq_high(DATARMNET4fe8e8c1a9,
 DATARMNET848d2ddfa7,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
 (0x16e8+787-0xc0c),NULL,NULL);}void DATARMNET5fb4151598(void){struct 
 DATARMNET9b44b71ee9*ep=NULL;struct list_head*DATARMNET7b34b7b5be=NULL,*next=NULL