rmnet_shs_main.c 66 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939
  1. /* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
  2. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 and
  6. * only version 2 as published by the Free Software Foundation.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. */
  14. #include <net/sock.h>
  15. #include <linux/netlink.h>
  16. #include <linux/ip.h>
  17. #include <linux/cpu.h>
  18. #include <linux/oom.h>
  19. #include <net/ip.h>
  20. #include <linux/cpu.h>
  21. #include <linux/bitmap.h>
  22. #include <linux/netdevice.h>
  23. #include <linux/kernel.h>
  24. #include <linux/pm_wakeup.h>
  25. #include <linux/smp.h>
  26. #include <linux/ipv6.h>
  27. #include <linux/netdevice.h>
  28. #include <linux/percpu-defs.h>
  29. #include "rmnet_shs.h"
  30. #include "rmnet_shs_config.h"
  31. #include "rmnet_shs_wq.h"
  32. #include "rmnet_shs_modules.h"
  33. #include "rmnet_shs_common.h"
  34. #include "rmnet_trace.h"
  35. #include "rmnet_shs_wq_genl.h"
  36. #include <linux/module.h>
  37. #include <linux/cpumask.h>
  38. #include <linux/icmp.h>
  39. #include <linux/inet.h>
  40. static char*verinfo[]={"\x30\x66\x36\x63\x61\x30\x31\x30",
  41. "\x30\x36\x61\x33\x66\x33\x34\x62","\x38\x65\x30\x61\x35\x38\x36\x62",
  42. "\x35\x66\x64\x35\x63\x66\x66\x37","\x31\x39\x64\x61\x63\x36\x32\x36",
  43. "\x35\x65\x31\x64\x38\x37\x39\x62","\x37\x34\x31\x35\x39\x32\x31\x63",
  44. "\x31\x35\x33\x64\x31\x61\x62\x31","\x34\x66\x64\x35\x39\x63\x66\x35",
  45. "\x38\x61\x64\x37\x64\x32\x62\x65","\x63\x30\x32\x62\x61\x39\x30\x65"};
  46. module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
  47. verinfo,
  48. "\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
  49. );
  50. #define DATARMNET2f67183a86 2000000
  51. #define DATARMNET68fc0be252 1000000
  52. #define DATARMNETd391fbd694 (0xd2d+202-0xdf7)
  53. #define DATARMNETae2e980d66 (0xd11+230-0xdf3)
  54. #define DATARMNET249a927510 (0xd27+224-0xdfd)
  55. #define DATARMNET904145ccb9 (0xd11+230-0xdf3)
  56. #define DATARMNETb91aee91fd -(0xd26+209-0xdf6)
  57. #define DATARMNET00d5787aad 2000000
  58. #define DATARMNET8948dc953d (0xd0a+237-0xdf2)
  59. #define DATARMNET20dc6bb36b (0xd26+209-0xdf6)
  60. #define DATARMNET832731a933(CPU) (per_cpu(softnet_data, CPU).input_pkt_queue)
  61. #define DATARMNET3de2536baf(CPU) (per_cpu(softnet_data, CPU).process_queue)
  62. #define DATARMNETd2d15e7f67(CPU) (DATARMNET832731a933(CPU).qlen + \
  63. DATARMNET3de2536baf(CPU).qlen)
  64. #define DATARMNET78ec5e8746(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
  65. DATARMNETfbfdc7f27e, CPU).input_queue_tail)
  66. #define DATARMNET9c1c20df35(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
  67. DATARMNETfbfdc7f27e, CPU).input_queue_head)
  68. #define DATARMNET66ead9195a(CPU) (per_cpu(softnet_data, CPU).input_queue_head)
  69. #define DATARMNETbb1541e65b(CPU) (per_cpu(softnet_data, CPU).input_queue_tail)
  70. #define DATARMNETba5ea4329f(CPU) DATARMNETecc0627c70.DATARMNET132b9c7dc4[CPU].\
  71. DATARMNET758a55f103
  72. #define DATARMNETe84c5b47ba (0xd2d+202-0xdf7)
  73. #define DATARMNET313d662f61 (0xd26+209-0xdf6)
  74. #define DATARMNET0085702236 (0xd0a+237-0xdf2)
  75. #define DATARMNETec970d7090 (0xd26+209-0xdf6)
  76. #define DATARMNET8fadb49f38 (0xd2d+202-0xdf7)
  77. #define DATARMNET48a89fcc16 (0xd26+209-0xdf6)
  78. #define DATARMNETbfe901fc62 (0xd2d+202-0xdf7)
  79. DEFINE_SPINLOCK(DATARMNET3764d083f0);DEFINE_HASHTABLE(DATARMNETe603c3a4b3,
  80. DATARMNET25437d35fd);struct DATARMNETe600c5b727 DATARMNET0997c5650d[
  81. DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];unsigned int
  82. DATARMNET064fbe9e3a __read_mostly=(0xd2d+202-0xdf7);module_param(
  83. DATARMNET064fbe9e3a,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
  84. DATARMNET064fbe9e3a,"\x77\x61\x6b\x65\x20\x73\x74\x61\x74\x75\x73");unsigned int
  85. DATARMNETe4a6d22824 __read_mostly=(0xc07+4861-0x1e3c);module_param(
  86. DATARMNETe4a6d22824,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
  87. DATARMNET94b2cc2f14,
  88. "\x75\x70\x20\x64\x75\x74\x79\x20\x63\x79\x63\x6c\x65\x20\x69\x6e\x20\x6d\x73");
  89. unsigned int DATARMNETaf998640fd __read_mostly=(0xcb7+1735-0x102c);module_param(
  90. DATARMNETaf998640fd,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
  91. DATARMNETaf998640fd,
  92. "\x4d\x61\x78\x20\x69\x6e\x74\x65\x72\x6c\x65\x61\x76\x65\x64\x20\x69\x70\x61\x20\x70\x6b\x74\x73\x20\x73\x68\x73\x20\x77\x69\x6c\x6c\x20\x70\x61\x72\x6b"
  93. );unsigned int DATARMNET566e381630 __read_mostly=(0xf07+658-0x110d);module_param
  94. (DATARMNET566e381630,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
  95. DATARMNETaf998640fd,
  96. "\x4d\x61\x78\x20\x69\x6e\x74\x65\x72\x6c\x65\x61\x76\x65\x64\x20\x69\x70\x61\x20\x70\x6b\x74\x73\x20\x73\x68\x73\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x70\x61\x72\x6b\x20\x66\x6f\x72\x20\x28\x6d\x73\x29"
  97. );unsigned int DATARMNETf4cacbb5dc __read_mostly=7000;module_param(
  98. DATARMNETf4cacbb5dc,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
  99. DATARMNETf4cacbb5dc,
  100. "\x4d\x61\x78\x20\x70\x61\x63\x6b\x65\x74\x73\x20\x73\x68\x73\x20\x77\x69\x6c\x6c\x20\x73\x74\x65\x65\x72"
  101. );unsigned int DATARMNET673cf85e28 __read_mostly=(0xd2d+202-0xdf7);module_param(
  102. DATARMNET673cf85e28,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
  103. DATARMNET673cf85e28,
  104. "\x4d\x61\x78\x20\x70\x68\x79\x20\x62\x61\x63\x6b\x6c\x6f\x67\x20\x73\x65\x65\x6e"
  105. );struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8
  106. shs_rx_work;int DATARMNET762cfa52fe(u8 mask);unsigned DATARMNET016351c9e4=
  107. (0xd2d+202-0xdf7);typedef int(*DATARMNET318cb01989)(struct sk_buff*skb);
  108. DATARMNET318cb01989 rmnet_perf_ingress_hook1 __rcu __read_mostly;EXPORT_SYMBOL(
  109. rmnet_perf_ingress_hook1);ssize_t DATARMNET713da9913c(struct netdev_rx_queue*
  110. DATARMNETb4180393e4,u8 cpu,u8 DATARMNET5780499e9c){struct rps_map*
  111. DATARMNETaeb4918e65,*map;cpumask_var_t mask;map=rcu_dereference(
  112. DATARMNETb4180393e4->rps_map);if(map){map->cpus[(0xd2d+202-0xdf7)]=cpu;map->len=
  113. (0xd26+209-0xdf6);if(((0xd26+209-0xdf6)<<cpu)&DATARMNETbc3c416b77)
  114. DATARMNETb7ddf3c5dd[DATARMNET975060d6b5]++;else DATARMNETb7ddf3c5dd[
  115. DATARMNET0e398136dc]++;return(0xd2d+202-0xdf7);}if(!alloc_cpumask_var(&mask,
  116. GFP_ATOMIC))return-ENOMEM;cpumask_set_cpu(cpu,(struct cpumask*)&mask);map=
  117. kzalloc(max_t(unsigned int,RPS_MAP_SIZE(cpumask_weight(mask)),L1_CACHE_BYTES),
  118. GFP_ATOMIC);if(!map){free_cpumask_var(mask);return-ENOMEM;}map->cpus[
  119. (0xd2d+202-0xdf7)]=cpu;map->len=(0xd26+209-0xdf6);if(((0xd26+209-0xdf6)<<cpu)&
  120. DATARMNETbc3c416b77)DATARMNETb7ddf3c5dd[DATARMNET975060d6b5]++;else
  121. DATARMNETb7ddf3c5dd[DATARMNET0e398136dc]++;rcu_read_lock();DATARMNETaeb4918e65=
  122. rcu_dereference(DATARMNETb4180393e4->rps_map);rcu_assign_pointer(
  123. DATARMNETb4180393e4->rps_map,map);if(DATARMNETaeb4918e65)kfree(
  124. DATARMNETaeb4918e65);free_cpumask_var(mask);rcu_read_unlock();return
  125. (0xd2d+202-0xdf7);}static void*DATARMNETefcaf5fbe9(struct sk_buff*skb,u32 offset
  126. ,u32 DATARMNET567bdc7221,void*buf){struct skb_shared_info*shinfo=skb_shinfo(skb)
  127. ;skb_frag_t*frag;u32 DATARMNETedc267a909=offset;int i;if(offset>skb->len||
  128. DATARMNET567bdc7221>skb->len||offset+DATARMNET567bdc7221>skb->len)return NULL;if
  129. (skb_headlen(skb)>=offset+DATARMNET567bdc7221)return skb->data+offset;offset-=
  130. skb_headlen(skb);for(i=(0xd2d+202-0xdf7);i<shinfo->nr_frags;i++){u32 frag_size;
  131. frag=&shinfo->frags[i];frag_size=skb_frag_size(frag);if(offset>=frag_size){
  132. offset-=frag_size;continue;}if(frag_size>=offset+DATARMNET567bdc7221)return
  133. skb_frag_address(frag)+offset;}if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf
  134. ,(int)DATARMNET567bdc7221))return NULL;return buf;}int DATARMNET9303cec796(
  135. struct sk_buff*skb){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);struct iphdr*ip4h,
  136. DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;DATARMNET318cb01989
  137. DATARMNET9a0f3e1b3a;s64 DATARMNETe30c7cdaf5;struct timespec64 time;
  138. DATARMNET9a0f3e1b3a=rcu_dereference(rmnet_perf_ingress_hook1);if(
  139. DATARMNET9a0f3e1b3a){if(!DATARMNET9a0f3e1b3a(skb)){goto done;}}switch(skb->
  140. protocol){case htons(ETH_P_IP):ip4h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),
  141. sizeof(*ip4h),&DATARMNETc00baf31c3);if(!ip4h)break;if(!ip_is_fragment(ip4h)&&(
  142. ip4h->protocol==IPPROTO_TCP||ip4h->protocol==IPPROTO_UDP)){DATARMNETbd864aa442=
  143. (0xd26+209-0xdf6);break;}if(ip4h->protocol==IPPROTO_ICMP){skb->hash=
  144. (0xd2d+202-0xdf7);skb->sw_hash=(0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&
  145. time);DATARMNETe30c7cdaf5=ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),
  146. DATARMNETecc0627c70.DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.
  147. hrtimer_wake)){hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
  148. DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
  149. DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
  150. (0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
  151. ns_to_ktime((0xbf7+4070-0x172d)*DATARMNET68fc0be252),HRTIMER_MODE_REL|
  152. HRTIMER_MODE_PINNED);__pm_stay_awake(DATARMNETecc0627c70.ws);DATARMNET064fbe9e3a
  153. =(0xd1f+216-0xdf5);}if(!hrtimer_active(&DATARMNETecc0627c70.DATARMNET645fb3b468)
  154. ){hrtimer_start(&DATARMNETecc0627c70.DATARMNET645fb3b468,ns_to_ktime(
  155. (0xdf7+3019-0x160c)*DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);
  156. if(DATARMNETe30c7cdaf5>DATARMNET12f3a261a0&&DATARMNETecc0627c70.
  157. DATARMNETdd3caf9200){DATARMNET930a441406[DATARMNETe35e238437]++;}}else{
  158. DATARMNET930a441406[DATARMNETe35e238437]++;}if(trace_print_icmp_rx_enabled()){
  159. char saddr[INET6_ADDRSTRLEN],daddr[INET6_ADDRSTRLEN];u16 ip_proto=
  160. (0xd2d+202-0xdf7);__be16 sequence=(0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);
  161. struct icmphdr*icmphdr,DATARMNET5aa29a2264;memset(saddr,(0xd2d+202-0xdf7),
  162. INET6_ADDRSTRLEN);memset(daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmphdr=
  163. DATARMNETefcaf5fbe9(skb,ip4h->ihl*(0xd11+230-0xdf3),sizeof(*icmphdr),&
  164. DATARMNET5aa29a2264);if(!icmphdr)goto DATARMNET03fd0cd6e6;if(icmphdr->type!=
  165. ICMP_ECHOREPLY&&icmphdr->type!=ICMP_ECHO)goto DATARMNET03fd0cd6e6;ip_proto=htons
  166. (ETH_P_IP);type=icmphdr->type;sequence=icmphdr->un.echo.sequence;snprintf(saddr,
  167. INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&ip4h->saddr);snprintf(daddr,
  168. INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&ip4h->daddr);trace_print_icmp_rx(skb,
  169. ip_proto,type,sequence,saddr,daddr);}}DATARMNET03fd0cd6e6:break;case htons(
  170. ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
  171. DATARMNETcf1d9e2c1e);if(!ip6h)break;if(!(ip6h->nexthdr==NEXTHDR_FRAGMENT)&&(ip6h
  172. ->nexthdr==IPPROTO_TCP||ip6h->nexthdr==IPPROTO_UDP)){DATARMNETbd864aa442=
  173. (0xd26+209-0xdf6);break;}if(ip6h->nexthdr==NEXTHDR_ICMP){skb->hash=
  174. (0xd2d+202-0xdf7);skb->sw_hash=(0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&
  175. time);DATARMNETe30c7cdaf5=ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),
  176. DATARMNETecc0627c70.DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.
  177. hrtimer_wake)){hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
  178. DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
  179. DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
  180. (0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
  181. ns_to_ktime((0xbf7+4070-0x172d)*DATARMNET68fc0be252),HRTIMER_MODE_REL|
  182. HRTIMER_MODE_PINNED);__pm_stay_awake(DATARMNETecc0627c70.ws);DATARMNET064fbe9e3a
  183. =(0xd1f+216-0xdf5);}if(!hrtimer_active(&DATARMNETecc0627c70.DATARMNET645fb3b468)
  184. ){hrtimer_start(&DATARMNETecc0627c70.DATARMNET645fb3b468,ns_to_ktime(
  185. (0xdf7+3019-0x160c)*DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);
  186. if(DATARMNETe30c7cdaf5>DATARMNET12f3a261a0&&DATARMNETecc0627c70.
  187. DATARMNETdd3caf9200){DATARMNET930a441406[DATARMNETe35e238437]++;}}else{
  188. DATARMNET930a441406[DATARMNETe35e238437]++;}if(trace_print_icmp_rx_enabled()){
  189. char saddr[INET6_ADDRSTRLEN],daddr[INET6_ADDRSTRLEN];u16 ip_proto=
  190. (0xd2d+202-0xdf7);__be16 sequence=(0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);
  191. struct icmp6hdr*icmp6hdr,DATARMNETaa41336581;memset(saddr,(0xd2d+202-0xdf7),
  192. INET6_ADDRSTRLEN);memset(daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmp6hdr=
  193. DATARMNETefcaf5fbe9(skb,sizeof(*ip6h),sizeof(*icmp6hdr),&DATARMNETaa41336581);if
  194. (!icmp6hdr)goto DATARMNETf623862dd4;if(icmp6hdr->icmp6_type!=ICMPV6_ECHO_REQUEST
  195. &&icmp6hdr->icmp6_type!=ICMPV6_ECHO_REPLY)goto DATARMNETf623862dd4;ip_proto=
  196. htons(ETH_P_IPV6);type=icmp6hdr->icmp6_type;sequence=icmp6hdr->icmp6_sequence;
  197. snprintf(saddr,INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->saddr);snprintf(daddr,
  198. INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->daddr);trace_print_icmp_rx(skb,
  199. ip_proto,type,sequence,saddr,daddr);}}DATARMNETf623862dd4:break;default:break;}
  200. done:DATARMNETda96251102(DATARMNETcd24fca747,DATARMNET116c96c236,
  201. DATARMNETbd864aa442,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb
  202. ,NULL);return DATARMNETbd864aa442;}static void DATARMNETfa919d00dc(int cpu,int
  203. DATARMNET8a461bad56){struct timespec64 DATARMNET2e47295bf1;struct timespec64*
  204. DATARMNET736ac5582e;long DATARMNETb64270afc1;int DATARMNETa67155ba38=(
  205. DATARMNETa1ac2608b5<DATARMNET8948dc953d)?DATARMNET8948dc953d:DATARMNETa1ac2608b5
  206. ;ktime_get_boottime_ts64(&DATARMNET2e47295bf1);DATARMNET736ac5582e=&
  207. DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380;
  208. DATARMNETb64270afc1=DATARMNETe6671dbf38(DATARMNET2e47295bf1.tv_sec-
  209. DATARMNET736ac5582e->tv_sec)+DATARMNET2e47295bf1.tv_nsec-DATARMNET736ac5582e->
  210. tv_nsec;if(DATARMNETb64270afc1>=DATARMNETa67155ba38*DATARMNET68fc0be252){if(
  211. DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f>
  212. DATARMNETd75e474598[cpu])DATARMNETd75e474598[cpu]=DATARMNETecc0627c70.
  213. DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f;DATARMNETecc0627c70.
  214. DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380.tv_sec=DATARMNET2e47295bf1.tv_sec;
  215. DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380.tv_nsec=
  216. DATARMNET2e47295bf1.tv_nsec;DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].
  217. DATARMNETe61d62310f=DATARMNET8a461bad56;}else{DATARMNETecc0627c70.
  218. DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f+=DATARMNET8a461bad56;}}void
  219. DATARMNETe767554e6e(struct sk_buff*skb){DATARMNETda96251102(DATARMNET6b317c4c73,
  220. DATARMNET43225b7a7c,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  221. (0x16e8+787-0xc0c),skb,NULL);netif_receive_skb(skb);}void DATARMNET514ce0bf59(
  222. struct sk_buff*skb){DATARMNETda96251102(DATARMNET6b317c4c73,DATARMNET43225b7a7c,
  223. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,
  224. NULL);netif_rx_ni(skb);}static struct sk_buff*DATARMNET0e315f0262(struct sk_buff
  225. *skb,u16 DATARMNETf8272cfb41){struct skb_shared_info*shinfo=skb_shinfo(skb);
  226. struct sk_buff*DATARMNET6643e66666,*tmp;u16 gso_size=shinfo->gso_size;u16
  227. gso_segs=shinfo->gso_segs;unsigned int gso_type=shinfo->gso_type;if(
  228. DATARMNETf8272cfb41>=gso_segs){return NULL;}shinfo->gso_segs=DIV_ROUND_UP(
  229. gso_segs,DATARMNETf8272cfb41);shinfo->gso_size=gso_size*DATARMNETf8272cfb41;
  230. DATARMNET6643e66666=__skb_gso_segment(skb,NETIF_F_SG,false);if(unlikely(
  231. IS_ERR_OR_NULL(DATARMNET6643e66666))){shinfo->gso_size=gso_size;shinfo->gso_segs
  232. =gso_segs;return NULL;}if(DATARMNETf8272cfb41<=(0xd26+209-0xdf6))return
  233. DATARMNET6643e66666;for(tmp=DATARMNET6643e66666;tmp;tmp=tmp->next){struct
  234. skb_shared_info*DATARMNETa7dac37e66=skb_shinfo(tmp);DATARMNETa7dac37e66->
  235. gso_type=gso_type;DATARMNETa7dac37e66->gso_size=gso_size;if(gso_segs>=
  236. DATARMNETf8272cfb41)DATARMNETa7dac37e66->gso_segs=DATARMNETf8272cfb41;else
  237. DATARMNETa7dac37e66->gso_segs=gso_segs;gso_segs-=DATARMNETf8272cfb41;if(gso_segs
  238. <=(0xd26+209-0xdf6)){break;}}return DATARMNET6643e66666;}static void
  239. DATARMNET21243b86ae(struct sk_buff*DATARMNETe08e18123e,u8 DATARMNETf345c1d909,
  240. u16 DATARMNET87636d0152){struct sk_buff*skb=NULL;struct sk_buff*
  241. DATARMNETcebafc57a4=NULL;struct sk_buff*DATARMNET39bcb0d197=NULL;int count=
  242. (0xd2d+202-0xdf7);DATARMNETda96251102(DATARMNET6b317c4c73,DATARMNET43225b7a7c,
  243. (0xd26+209-0xdf6),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  244. DATARMNETe08e18123e,NULL);DATARMNET39bcb0d197=DATARMNET0e315f0262(
  245. DATARMNETe08e18123e,DATARMNET87636d0152);if(DATARMNET39bcb0d197==NULL){if(
  246. DATARMNETf345c1d909==DATARMNET0b15fd8b54)netif_receive_skb(DATARMNETe08e18123e);
  247. else netif_rx(DATARMNETe08e18123e);return;}for((skb=DATARMNET39bcb0d197);skb!=
  248. NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4=skb->next;skb->hash=
  249. DATARMNETe08e18123e->hash;skb->dev=DATARMNETe08e18123e->dev;skb->next=NULL;if(
  250. DATARMNETf345c1d909==DATARMNET0b15fd8b54)netif_receive_skb(skb);else netif_rx(
  251. skb);count+=(0xd26+209-0xdf6);}consume_skb(DATARMNETe08e18123e);return;}int
  252. DATARMNET2efb1a51c7(struct DATARMNET63d7680df2*node_p){int ret=(0xd2d+202-0xdf7)
  253. ;int DATARMNET42c3ecbd5e=(0xd26+209-0xdf6);u16 idx=(0xd2d+202-0xdf7);for(idx=
  254. (0xd2d+202-0xdf7);idx<DATARMNETc6782fed88;idx++){if(node_p->DATARMNET341ea38662
  255. ->DATARMNET1a1d89d417&DATARMNET42c3ecbd5e)ret++;DATARMNET42c3ecbd5e=
  256. DATARMNET42c3ecbd5e<<(0xd26+209-0xdf6);}return ret;}u32 DATARMNET8532ab3089(u32
  257. index,u32 DATARMNET0258668025,u32 hash){int DATARMNETebbd4cd1d9[
  258. DATARMNETc6782fed88/(0xd1f+216-0xdf5)]={(0xd35+210-0xdff),(0xd11+230-0xdf3),
  259. (0xd18+223-0xdf4),(0xd1f+216-0xdf5)};u32 ret=(0xd2d+202-0xdf7);if(!
  260. DATARMNET0258668025){DATARMNET68d84e7b98[DATARMNETef8cbfa62f]++;return ret;}if(
  261. DATARMNET0258668025<DATARMNETc6782fed88)ret=((((index+((DATARMNET0258668025%
  262. (0xd1f+216-0xdf5))?(0xd26+209-0xdf6):(0xd2d+202-0xdf7))))<<(0xec7+1122-0x130d))*
  263. DATARMNETebbd4cd1d9[(DATARMNET0258668025-(0xd26+209-0xdf6))>>(0xd26+209-0xdf6)])
  264. |(hash&1048575);DATARMNETda96251102(DATARMNETf3aaad06eb,DATARMNET4e91ddb48a,ret,
  265. hash,index,DATARMNET0258668025,NULL,NULL);return ret;}int DATARMNET762cfa52fe(u8
  266. mask){int ret=DATARMNETb91aee91fd;int DATARMNETd416f5b047=DATARMNETb91aee91fd;
  267. u8 DATARMNET05e5e122cd=(0xd2d+202-0xdf7);u8 i;for(i=(0xd2d+202-0xdf7);i<
  268. DATARMNETc6782fed88;i++){if(!(mask&((0xd26+209-0xdf6)<<i)))continue;if(mask&(
  269. (0xd26+209-0xdf6)<<i))DATARMNET05e5e122cd++;if(list_empty(&DATARMNET0997c5650d[i
  270. ].DATARMNET3dc4262f53))return i;if(DATARMNETcff375d916[i]<=DATARMNETd416f5b047||
  271. DATARMNETd416f5b047==DATARMNETb91aee91fd){ret=i;DATARMNETd416f5b047=
  272. DATARMNETcff375d916[i];}}return ret;}static int DATARMNETaef946bb68(u8 index,u8
  273. mask){int ret=DATARMNETb91aee91fd;u8 DATARMNET05e5e122cd=(0xd2d+202-0xdf7);u8 i;
  274. for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(DATARMNET05e5e122cd==index
  275. &&(mask&((0xd26+209-0xdf6)<<i)))return i;if(mask&((0xd26+209-0xdf6)<<i))
  276. DATARMNET05e5e122cd++;}return ret;}static int DATARMNET04e8d1b862(u8 cpu,u8 mask
  277. ){int ret=DATARMNETb91aee91fd;u8 idx=(0xd2d+202-0xdf7);u8 i;if(!(mask&
  278. (0xd26+209-0xdf6)<<cpu))return ret;for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88
  279. ;i++){if(i==cpu&&(mask&((0xd26+209-0xdf6)<<i))){ret=idx;break;}if(mask&(
  280. (0xd26+209-0xdf6)<<i))idx++;}return ret;}int DATARMNET217fe38119(u64
  281. DATARMNETab155dfd5d,struct net_device*dev){int DATARMNETf54fdb137b=
  282. DATARMNETb91aee91fd;if(DATARMNETab155dfd5d<DATARMNETd82a2ed45e)
  283. DATARMNETf54fdb137b=DATARMNETf181a18009(dev);if(DATARMNETf54fdb137b==
  284. DATARMNETb91aee91fd||DATARMNETab155dfd5d>=DATARMNETd82a2ed45e)
  285. DATARMNETf54fdb137b=DATARMNET98b2a0ce62(dev);DATARMNET52de1f3dc0(
  286. DATARMNET720469c0a9,DATARMNET7e63a08ad4,DATARMNETf54fdb137b,DATARMNETab155dfd5d,
  287. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return DATARMNETf54fdb137b;}int
  288. DATARMNET6af33ebb5b(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu=
  289. DATARMNETb91aee91fd;u8 DATARMNETd4a0b11b47;u8 DATARMNET7dc3d97229;if(
  290. DATARMNET63b1a086d5->DATARMNET85c698ec34)return DATARMNETecc0627c70.
  291. DATARMNET5c24e1df05;else if(DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
  292. DATARMNETef866573e0&&DATARMNET362b15f941(DATARMNET63b1a086d5->map_cpu)){cpu=
  293. DATARMNET762cfa52fe(DATARMNETbc3c416b77&~DATARMNETecc0627c70.DATARMNETba3f7a11ef
  294. &DATARMNET63b1a086d5->DATARMNETfbbec4c537);if(cpu<(0xd2d+202-0xdf7)&&
  295. DATARMNET63b1a086d5->DATARMNET341ea38662!=NULL)cpu=DATARMNET63b1a086d5->
  296. DATARMNET341ea38662->DATARMNET6e1a4eaf09;}else if(DATARMNET63b1a086d5->
  297. DATARMNET341ea38662!=NULL){cpu=DATARMNET63b1a086d5->DATARMNET341ea38662->
  298. DATARMNET6e1a4eaf09;if(((0xd26+209-0xdf6)<<DATARMNET63b1a086d5->map_cpu)&
  299. DATARMNETecc0627c70.DATARMNETba3f7a11ef){DATARMNETd4a0b11b47=(
  300. DATARMNETbc3c416b77&((0xd26+209-0xdf6)<<cpu))?DATARMNETbc3c416b77:
  301. DATARMNET9273f84bf1;cpu=DATARMNET762cfa52fe(DATARMNETd4a0b11b47&~
  302. DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5->DATARMNETfbbec4c537
  303. );DATARMNETb7ddf3c5dd[DATARMNET7f401828b3]++;}else if(((0xd26+209-0xdf6)<<cpu)&
  304. DATARMNETecc0627c70.DATARMNETba3f7a11ef){DATARMNETd4a0b11b47=(
  305. DATARMNETbc3c416b77&((0xd26+209-0xdf6)<<cpu))?DATARMNETbc3c416b77:
  306. DATARMNET9273f84bf1;DATARMNET7dc3d97229=(DATARMNETbc3c416b77&((0xd26+209-0xdf6)
  307. <<DATARMNET63b1a086d5->map_cpu))?DATARMNETbc3c416b77:DATARMNET9273f84bf1;if(
  308. DATARMNETd4a0b11b47!=DATARMNET7dc3d97229)cpu=DATARMNET762cfa52fe(
  309. DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5
  310. ->DATARMNETfbbec4c537);else cpu=DATARMNET63b1a086d5->map_cpu;}else if(
  311. DATARMNET0997c5650d[cpu].DATARMNETef866573e0){cpu=DATARMNET63b1a086d5->map_cpu;}
  312. }return cpu;}int DATARMNETb6bff4a724(struct DATARMNET63d7680df2*
  313. DATARMNET63b1a086d5){int cpu,idx=DATARMNETb91aee91fd;cpu=DATARMNET6af33ebb5b(
  314. DATARMNET63b1a086d5);idx=DATARMNET04e8d1b862(cpu,DATARMNET63b1a086d5->
  315. DATARMNETfbbec4c537);if(unlikely(idx<(0xd2d+202-0xdf7)))idx=DATARMNET04e8d1b862(
  316. DATARMNET63b1a086d5->map_cpu,DATARMNET63b1a086d5->DATARMNETfbbec4c537);
  317. DATARMNETda96251102(DATARMNETf3aaad06eb,DATARMNETf2fc7954d4,DATARMNET63b1a086d5
  318. ->hash,cpu,idx,(0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);return idx;}static
  319. int DATARMNET2af09ccd0b(int cpu,int DATARMNET63a222ae1f,int DATARMNETea08087fc0)
  320. {int ret=(0xd2d+202-0xdf7);if(DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].
  321. DATARMNETe61d62310f>=DATARMNET65393dea13[cpu]){ret=DATARMNET0efbbe2821;}if(
  322. DATARMNET63a222ae1f&&((DATARMNETeea3cef5b6(cpu)+DATARMNETea08087fc0)>=
  323. DATARMNETbc049ffc4c[cpu]))ret=DATARMNETa4267dfd8a;return ret;}void
  324. DATARMNET349c3a0cab(u16 map_cpu,bool DATARMNETb639f6e1b1){if(map_cpu<
  325. DATARMNETc6782fed88)(DATARMNETb639f6e1b1)?DATARMNETcff375d916[map_cpu]++:
  326. DATARMNETcff375d916[map_cpu]--;else DATARMNET68d84e7b98[DATARMNETcc0ef52ccb]++;}
  327. void DATARMNETb1157fd5c4(u8 DATARMNET42a992465f){if(DATARMNET42a992465f>=
  328. DATARMNETc6782fed88)return;rcu_read_lock();DATARMNET0997c5650d[
  329. DATARMNET42a992465f].DATARMNETae196235f2=DATARMNET9c1c20df35(softnet_data,
  330. DATARMNET42a992465f);DATARMNET0997c5650d[DATARMNET42a992465f].qtail=
  331. DATARMNET78ec5e8746(softnet_data,DATARMNET42a992465f);rcu_read_unlock();
  332. DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET96571b28de=DATARMNET0997c5650d
  333. [DATARMNET42a992465f].qtail-DATARMNET0997c5650d[DATARMNET42a992465f].
  334. DATARMNETae196235f2;DATARMNETda96251102(DATARMNET75d955c408,DATARMNET5874e1ecd7,
  335. DATARMNET42a992465f,DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETae196235f2
  336. ,DATARMNET0997c5650d[DATARMNET42a992465f].qtail,(0x16e8+787-0xc0c),NULL,NULL);}
  337. void DATARMNETe074a09496(void){u8 DATARMNET42a992465f;rcu_read_lock();for(
  338. DATARMNET42a992465f=(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;
  339. DATARMNET42a992465f++){if(!cpu_online(DATARMNET42a992465f))continue;
  340. DATARMNETb1157fd5c4(DATARMNET42a992465f);DATARMNETda96251102(DATARMNET75d955c408
  341. ,DATARMNET5874e1ecd7,DATARMNET42a992465f,DATARMNET0997c5650d[DATARMNET42a992465f
  342. ].DATARMNETae196235f2,DATARMNET0997c5650d[DATARMNET42a992465f].qtail,
  343. (0x16e8+787-0xc0c),NULL,NULL);}rcu_read_unlock();}int DATARMNET765b8ecfba(struct
  344. net_device*dev,u8 cpu,u8 DATARMNET5780499e9c){if(rmnet_is_real_dev_registered(
  345. dev)){if(DATARMNET713da9913c(dev->_rx,cpu,DATARMNET5780499e9c)==
  346. (0xd2d+202-0xdf7)){DATARMNETecc0627c70.DATARMNETba3f7a11ef=(0xd26+209-0xdf6)<<
  347. cpu;DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.
  348. DATARMNET7d667e828e;DATARMNETecc0627c70.DATARMNET7d667e828e=cpu;}else{return-
  349. (0xd26+209-0xdf6);}}else{DATARMNET68d84e7b98[DATARMNET767c76ca08]++;}return
  350. (0xd2d+202-0xdf7);}int DATARMNETe488c1c396(struct DATARMNET63d7680df2*
  351. DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 DATARMNET5447204733){int
  352. DATARMNET5c4a331b9c;u32 DATARMNETd3673fd5f0;u32 DATARMNET9bbfe49633;int ret=
  353. (0xd2d+202-0xdf7);int DATARMNET5a2e9192f9=-(0xd26+209-0xdf6);int
  354. DATARMNET8ceb7a8cc9;int DATARMNET42a992465f;int DATARMNETcfb5dc7296;struct
  355. DATARMNETe600c5b727*DATARMNET373e474754;u8 map=DATARMNET63b1a086d5->
  356. DATARMNETfbbec4c537;DATARMNET5c4a331b9c=DATARMNETb6bff4a724(DATARMNET63b1a086d5)
  357. ;do{DATARMNET5a2e9192f9=DATARMNET63b1a086d5->map_cpu;if(DATARMNET5c4a331b9c<
  358. (0xd2d+202-0xdf7)){DATARMNET63b1a086d5->DATARMNET6250e93187=(0xd2d+202-0xdf7);
  359. ret=(0xd26+209-0xdf6);break;}DATARMNET63b1a086d5->DATARMNET6250e93187=
  360. (0xd26+209-0xdf6);if(!map){DATARMNET63b1a086d5->DATARMNET6250e93187=
  361. (0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}if(DATARMNET5c4a331b9c==
  362. DATARMNET63b1a086d5->map_index){ret=(0xd26+209-0xdf6);break;}if(!
  363. DATARMNET63b1a086d5->DATARMNET85c698ec34)DATARMNETd3673fd5f0=DATARMNETadb0248bd4
  364. (DATARMNET63b1a086d5->map_cpu);else DATARMNETd3673fd5f0=DATARMNETadb0248bd4(
  365. DATARMNETecc0627c70.DATARMNET7d667e828e);DATARMNET9bbfe49633=DATARMNET63b1a086d5
  366. ->queue_head;DATARMNET42a992465f=DATARMNET63b1a086d5->map_cpu;if((!
  367. DATARMNET63b1a086d5->DATARMNET85c698ec34&&DATARMNETd3673fd5f0>=(
  368. DATARMNET9bbfe49633+DATARMNET63b1a086d5->DATARMNET0371465875))||(
  369. DATARMNETd87669e323>=DATARMNETa7d45fb6d4||(DATARMNETd87669e323&&
  370. DATARMNET63b1a086d5->DATARMNET85c698ec34))||(!DATARMNET63b1a086d5->
  371. DATARMNET85c698ec34&&!DATARMNETeea3cef5b6(DATARMNET42a992465f)&&++
  372. DATARMNET14ed771dfb[DATARMNET0d07041c32])){if(likely(DATARMNETa7909611da)){
  373. DATARMNETcfb5dc7296=DATARMNETaef946bb68(DATARMNET5c4a331b9c,DATARMNET63b1a086d5
  374. ->DATARMNETfbbec4c537);if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){ret=
  375. (0xd26+209-0xdf6);break;}DATARMNET0997c5650d[DATARMNETcfb5dc7296].
  376. DATARMNET4133fc9428+=DATARMNET63b1a086d5->DATARMNETae4b27456e.
  377. DATARMNET6215127f48;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
  378. DATARMNET4133fc9428-=DATARMNET63b1a086d5->DATARMNETae4b27456e.
  379. DATARMNET6215127f48;DATARMNET63b1a086d5->map_index=DATARMNET5c4a331b9c;
  380. DATARMNET63b1a086d5->map_cpu=DATARMNETcfb5dc7296;DATARMNET8ceb7a8cc9=
  381. DATARMNET63b1a086d5->map_cpu;if(DATARMNETd3673fd5f0<(DATARMNET9bbfe49633+
  382. DATARMNET63b1a086d5->DATARMNET0371465875)){DATARMNETb7ddf3c5dd[
  383. DATARMNET28bb261646]++;DATARMNETb7ddf3c5dd[DATARMNET67b67dc88f]+=(
  384. DATARMNET9bbfe49633-DATARMNETd3673fd5f0)+DATARMNET63b1a086d5->
  385. DATARMNET0371465875;DATARMNET4bde88919f(DATARMNET42a992465f,(DATARMNET9bbfe49633
  386. -DATARMNETd3673fd5f0)+DATARMNET63b1a086d5->DATARMNET0371465875);pr_info(
  387. "\x73\x68\x73\x20\x6f\x6f\x6f\x3a\x20\x70\x68\x79\x20\x25\x64\x20\x6e\x65\x77\x5f\x63\x70\x75\x20\x25\x64\x20\x6f\x6c\x64\x5f\x63\x70\x75\x20\x25\x64\x2c\x20\x6f\x66\x66\x73\x65\x74\x20\x25\x64\x20\x6e\x6f\x64\x65\x5f\x71\x68\x65\x61\x64\x20\x25\x64\x2c\x20\x63\x75\x72\x5f\x71\x68\x65\x61\x64\x20\x25\x64\x2c\x20\x66\x66\x20\x25\x64\x20\x6f\x6c\x64\x20\x63\x70\x75\x20\x71\x64\x69\x66\x66\x20\x25\x64\x20\x6e\x65\x77\x20\x71\x64\x69\x66\x66\x20\x25\x64\x20" "\n"
  388. ,DATARMNET63b1a086d5->DATARMNET85c698ec34,DATARMNETcfb5dc7296,
  389. DATARMNET42a992465f,DATARMNET63b1a086d5->DATARMNET0371465875,DATARMNET9bbfe49633
  390. ,DATARMNETd3673fd5f0,DATARMNETd87669e323,DATARMNETeea3cef5b6(DATARMNET42a992465f
  391. ),DATARMNETeea3cef5b6(DATARMNETcfb5dc7296));}if(DATARMNET0997c5650d[
  392. DATARMNET42a992465f].DATARMNETef866573e0){DATARMNET0997c5650d[
  393. DATARMNET8ceb7a8cc9].DATARMNET1e1f197118=(0xd26+209-0xdf6);DATARMNETb7ddf3c5dd[
  394. DATARMNETc3bce05be2]++;}else{DATARMNETb7ddf3c5dd[DATARMNET14067f0be4]++;}
  395. DATARMNET373e474754=&DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu];
  396. DATARMNETe074a09496();DATARMNET63b1a086d5->queue_head=DATARMNET373e474754->
  397. DATARMNETae196235f2;DATARMNET63b1a086d5->queue_head+=DATARMNET63b1a086d5->
  398. DATARMNETae4b27456e.DATARMNET6215127f48;if(DATARMNET63b1a086d5->
  399. DATARMNET341ea38662)DATARMNET63b1a086d5->DATARMNET341ea38662->
  400. DATARMNET6e1a4eaf09=DATARMNET8ceb7a8cc9;DATARMNETe102b3a798(DATARMNET63b1a086d5,
  401. &DATARMNET373e474754->DATARMNET3dc4262f53,DATARMNET42a992465f);
  402. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET052f49b190,DATARMNET63b1a086d5
  403. ->map_cpu,DATARMNET5a2e9192f9,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  404. DATARMNET63b1a086d5,NULL);}ret=(0xd26+209-0xdf6);}}while((0xd2d+202-0xdf7));
  405. DATARMNETda96251102(DATARMNET4510abc30d,DATARMNET23b8465daf,ret,
  406. DATARMNET63b1a086d5->map_cpu,DATARMNET5a2e9192f9,(0x16e8+787-0xc0c),
  407. DATARMNET63b1a086d5,NULL);return ret;}void DATARMNETfbc06e60f1(u8
  408. DATARMNET42a992465f){struct DATARMNET63d7680df2*DATARMNET3f85732c70;struct
  409. list_head*DATARMNET7b34b7b5be,*next;unsigned long ht_flags;u32
  410. DATARMNET61ab18a4bd;u32 DATARMNETed7800fc72=(0xd2d+202-0xdf7);u32
  411. DATARMNETa0df5de99d=(0xd2d+202-0xdf7);u32 DATARMNET8bf94cc2f7=(0xd2d+202-0xdf7);
  412. u32 DATARMNET76192fa639=(0xd2d+202-0xdf7);DATARMNETe074a09496();
  413. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETde91850c28,DATARMNETecc0627c70.
  414. DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,(0x16e8+787-0xc0c),
  415. (0x16e8+787-0xc0c),NULL,NULL);local_bh_disable();spin_lock_irqsave(&
  416. DATARMNET3764d083f0,ht_flags);DATARMNET61ab18a4bd=DATARMNETeb3978575d(
  417. DATARMNET42a992465f);list_for_each_safe(DATARMNET7b34b7b5be,next,&
  418. DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET3dc4262f53){
  419. DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct DATARMNET63d7680df2,
  420. DATARMNET04c88b8191);if(DATARMNET3f85732c70->DATARMNETae4b27456e.
  421. DATARMNET6215127f48){DATARMNETed7800fc72=DATARMNET3f85732c70->
  422. DATARMNETae4b27456e.DATARMNET6215127f48;DATARMNETa0df5de99d=DATARMNET3f85732c70
  423. ->DATARMNETae4b27456e.DATARMNETbaa5765693;DATARMNETe02152c351(
  424. DATARMNET3f85732c70,DATARMNET6aecae7be2,DATARMNET5b5927fd7e);DATARMNET8bf94cc2f7
  425. +=DATARMNETed7800fc72;DATARMNET76192fa639+=DATARMNETa0df5de99d;if(
  426. DATARMNET3f85732c70->map_cpu==DATARMNET42a992465f){DATARMNET61ab18a4bd+=
  427. DATARMNETed7800fc72;DATARMNET3f85732c70->queue_head=DATARMNET61ab18a4bd;}}}
  428. DATARMNETecc0627c70.DATARMNETc252a1f55d-=DATARMNET76192fa639;DATARMNETecc0627c70
  429. .DATARMNETa2e32cdd3a-=DATARMNET8bf94cc2f7;DATARMNET0997c5650d[
  430. DATARMNET42a992465f].DATARMNETef866573e0=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
  431. DATARMNET132b9c7dc4[DATARMNET42a992465f].DATARMNETe61d62310f=(0xd2d+202-0xdf7);
  432. DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428=(0xd2d+202-0xdf7);
  433. spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);local_bh_enable();if(
  434. DATARMNET42a992465f==DATARMNETecc0627c70.DATARMNET6625085b71&&rcu_dereference(
  435. rmnet_shs_switch)){RCU_INIT_POINTER(rmnet_shs_switch,NULL);DATARMNETecc0627c70.
  436. DATARMNETfeee6933fc=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET6625085b71=
  437. DATARMNETecc0627c70.DATARMNET7d667e828e;}DATARMNET52de1f3dc0(DATARMNET4510abc30d
  438. ,DATARMNET576793621a,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70
  439. .DATARMNETc252a1f55d,DATARMNET8bf94cc2f7,DATARMNET76192fa639,NULL,NULL);}void
  440. DATARMNET056c939591(struct work_struct*DATARMNET33110a3ff5){struct
  441. DATARMNETa6f2d499b2*DATARMNET4b39dc1574=container_of(DATARMNET33110a3ff5,struct
  442. DATARMNETa6f2d499b2,DATARMNET33110a3ff5);DATARMNETfbc06e60f1(DATARMNET4b39dc1574
  443. ->DATARMNET42c3ecbd5e);DATARMNET14ed771dfb[DATARMNETbb5757569c]++;}void
  444. DATARMNETcba2f7f7b6(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
  445. DATARMNETf345c1d909){struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=
  446. NULL;struct DATARMNETe600c5b727*DATARMNETa4055affd5;u32 DATARMNETe20a9cab2b=
  447. (0xd2d+202-0xdf7);u32 DATARMNETb481d13a78=(0xd2d+202-0xdf7);u32
  448. DATARMNET1fcbf046ec=(0xd2d+202-0xdf7);u8 map=(0xd2d+202-0xdf7),
  449. DATARMNET0258668025=(0xd2d+202-0xdf7);u16 DATARMNET87636d0152=(0xd2d+202-0xdf7);
  450. u16 index;if(!DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;if(!
  451. DATARMNET63b1a086d5->DATARMNETfbbec4c537){map=DATARMNETecc0627c70.map_mask;
  452. DATARMNET0258668025=DATARMNETecc0627c70.map_len;index=DATARMNET63b1a086d5->
  453. map_index;}else{map=DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET0258668025
  454. =DATARMNET63b1a086d5->DATARMNETa59ce1fd2d;index=DATARMNET63b1a086d5->map_index;}
  455. if(map){DATARMNET1fcbf046ec=DATARMNET8532ab3089(index,DATARMNET0258668025,
  456. DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash);}else{DATARMNET63b1a086d5->
  457. DATARMNET6250e93187=(0xd2d+202-0xdf7);}DATARMNET52de1f3dc0(DATARMNET4510abc30d,
  458. DATARMNETe4ee0d2636,DATARMNET63b1a086d5->hash,DATARMNET1fcbf046ec,
  459. DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48,DATARMNET63b1a086d5
  460. ->DATARMNETae4b27456e.DATARMNETbaa5765693,DATARMNET63b1a086d5,
  461. DATARMNET63b1a086d5->DATARMNETae4b27456e.head);DATARMNET87636d0152=(u16)
  462. DATARMNET63b1a086d5->DATARMNET341ea38662->DATARMNET87636d0152;for((skb=
  463. DATARMNET63b1a086d5->DATARMNETae4b27456e.head);skb!=NULL;skb=DATARMNETcebafc57a4
  464. ){DATARMNETcebafc57a4=skb->next;if(DATARMNET63b1a086d5->DATARMNET6250e93187)skb
  465. ->hash=DATARMNET1fcbf046ec;skb->next=NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6)
  466. ;DATARMNETb481d13a78+=skb->len;if(DATARMNET87636d0152>(0xd2d+202-0xdf7)){if(
  467. DATARMNET63b1a086d5->DATARMNET1e9d25d9ff==IPPROTO_UDP)DATARMNET68d84e7b98[
  468. DATARMNETdd6bf3de6b]++;DATARMNET21243b86ae(skb,DATARMNETf345c1d909,
  469. DATARMNET87636d0152);}else{if(DATARMNETf345c1d909==DATARMNET0b15fd8b54&&(!
  470. DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
  471. DATARMNETf345c1d909==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
  472. DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else if(DATARMNET63b1a086d5->
  473. DATARMNET85c698ec34&&DATARMNETf345c1d909==DATARMNET0b15fd8b54){
  474. DATARMNETa4055affd5=&DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu];
  475. DATARMNETde8ee16f92(DATARMNET63b1a086d5);spin_unlock_bh(&DATARMNET3764d083f0);
  476. rmnet_rx_handler(&skb);spin_lock_bh(&DATARMNET3764d083f0);DATARMNET3e37ad2816(
  477. DATARMNET63b1a086d5,&DATARMNETa4055affd5->DATARMNET3dc4262f53);}else{
  478. DATARMNET14ed771dfb[DATARMNET94658618fc]++;netif_rx_ni(skb);}}}
  479. DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);
  480. DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);
  481. DATARMNET63b1a086d5->DATARMNETae4b27456e.head=NULL;DATARMNET63b1a086d5->
  482. DATARMNETae4b27456e.tail=NULL;if(DATARMNET63b1a086d5->DATARMNET85c698ec34){
  483. RCU_INIT_POINTER(rmnet_shs_switch,NULL);DATARMNET63b1a086d5->DATARMNET0371465875
  484. =(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETfeee6933fc=(0xd2d+202-0xdf7);
  485. DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;
  486. }DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETfb753e521e,DATARMNET63b1a086d5
  487. ->hash,DATARMNET1fcbf046ec,DATARMNETe20a9cab2b,DATARMNETb481d13a78,
  488. DATARMNET63b1a086d5,NULL);}void DATARMNET23c7ddd780(struct DATARMNET63d7680df2*
  489. DATARMNET63b1a086d5,u8 DATARMNET5447204733){struct sk_buff*skb;struct sk_buff*
  490. DATARMNETcebafc57a4=NULL;u32 DATARMNETe20a9cab2b=(0xd2d+202-0xdf7);u32
  491. DATARMNETb481d13a78=(0xd2d+202-0xdf7);u32 DATARMNET1fcbf046ec;u8 map,
  492. DATARMNET0258668025;if(!DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;map
  493. =DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET0258668025=
  494. DATARMNET63b1a086d5->DATARMNETa59ce1fd2d;if(map){DATARMNET1fcbf046ec=
  495. DATARMNET8532ab3089(DATARMNET63b1a086d5->map_index,DATARMNET0258668025,
  496. DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash);}else{DATARMNET63b1a086d5->
  497. DATARMNET6250e93187=(0xd2d+202-0xdf7);}for((skb=DATARMNET63b1a086d5->
  498. DATARMNETae4b27456e.head);skb!=NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4
  499. =skb->next;if(DATARMNET63b1a086d5->DATARMNET6250e93187)skb->hash=
  500. DATARMNET1fcbf046ec;skb->next=NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6);
  501. DATARMNETb481d13a78+=skb->len;if(DATARMNET5447204733==DATARMNET0b15fd8b54&&(!
  502. DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
  503. DATARMNET5447204733==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
  504. DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else{netif_rx_ni(skb);}}
  505. DATARMNET68d84e7b98[DATARMNET72db8b9bac]++;DATARMNETecc0627c70.
  506. DATARMNETc252a1f55d-=DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a
  507. -=DATARMNETe20a9cab2b;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
  508. DATARMNET4133fc9428-=DATARMNETe20a9cab2b;}int DATARMNETe02152c351(struct
  509. DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8
  510. DATARMNET5447204733){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);int map=
  511. DATARMNET63b1a086d5->DATARMNETfbbec4c537;int DATARMNET5643f7b5e9;
  512. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET022082b219,DATARMNETd87669e323,
  513. DATARMNET5447204733,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET63b1a086d5,
  514. NULL);if(DATARMNETaef946bb68(DATARMNET63b1a086d5->map_index,map)!=
  515. DATARMNET63b1a086d5->map_cpu){DATARMNET5643f7b5e9=DATARMNET04e8d1b862(
  516. DATARMNET63b1a086d5->map_cpu,map);if(DATARMNET5643f7b5e9>=(0xd2d+202-0xdf7)){
  517. DATARMNET63b1a086d5->map_index=DATARMNET5643f7b5e9;DATARMNET63b1a086d5->map_cpu=
  518. DATARMNETaef946bb68(DATARMNET5643f7b5e9,map);}else{DATARMNET63b1a086d5->
  519. map_index=DATARMNET2edff26954;DATARMNET63b1a086d5->map_cpu=DATARMNETaef946bb68(
  520. DATARMNET2edff26954,map);if(DATARMNET63b1a086d5->map_cpu<(0xd2d+202-0xdf7))
  521. DATARMNET63b1a086d5->map_cpu=DATARMNET2edff26954;}DATARMNETd87669e323=
  522. (0xd26+209-0xdf6);DATARMNET68d84e7b98[DATARMNETa1f9420686]++;DATARMNET015fb2ba0e
  523. (DATARMNET720469c0a9,DATARMNET998c6de143,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  524. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}if(DATARMNETe488c1c396(
  525. DATARMNET63b1a086d5,DATARMNETd87669e323,DATARMNET5447204733)){
  526. DATARMNETcba2f7f7b6(DATARMNET63b1a086d5,DATARMNET5447204733);DATARMNETbd864aa442
  527. =(0xd26+209-0xdf6);}DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET64b02f64c6,
  528. DATARMNETbd864aa442,DATARMNETd87669e323,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  529. DATARMNET63b1a086d5,NULL);return DATARMNETbd864aa442;}static void
  530. DATARMNETc54e431bbc(u8 DATARMNET42a992465f,u8 DATARMNET7845d39672,u32
  531. DATARMNETea08087fc0){u32 DATARMNETba6017a3a9=(!DATARMNET227d2ff866)?
  532. (0xd26+209-0xdf6):DATARMNET227d2ff866;int DATARMNETd9d8392917;if((
  533. DATARMNETd9d8392917=DATARMNET2af09ccd0b(DATARMNET42a992465f,DATARMNET7845d39672,
  534. DATARMNETea08087fc0))&&DATARMNET362b15f941(DATARMNET42a992465f)&&!
  535. DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0&&
  536. DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNET42a992465f&&
  537. DATARMNET42a992465f!=(0xd26+209-0xdf6)){DATARMNETba6017a3a9=(!
  538. DATARMNET7845d39672)?DATARMNET249a927510:DATARMNETba6017a3a9;DATARMNET0997c5650d
  539. [DATARMNET42a992465f].DATARMNETef866573e0=(0xd26+209-0xdf6);DATARMNETfb7007f025(
  540. );if(hrtimer_active(&DATARMNETba5ea4329f(DATARMNET42a992465f)))hrtimer_cancel(&
  541. DATARMNETba5ea4329f(DATARMNET42a992465f));hrtimer_start(&DATARMNETba5ea4329f(
  542. DATARMNET42a992465f),ns_to_ktime(DATARMNETba6017a3a9*DATARMNET68fc0be252),
  543. HRTIMER_MODE_REL);DATARMNETb7ddf3c5dd[DATARMNETd9d8392917]++;}}void
  544. DATARMNETe377e0368d(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){struct
  545. DATARMNET63d7680df2*DATARMNET3f85732c70=NULL;struct list_head*
  546. DATARMNET7b34b7b5be=NULL,*next=NULL;int DATARMNET42a992465f;u32
  547. DATARMNET61ab18a4bd;u32 DATARMNETed7800fc72=(0xd2d+202-0xdf7);u32
  548. DATARMNETa0df5de99d=(0xd2d+202-0xdf7);u32 DATARMNETe56f4fbbe6=(0xd2d+202-0xdf7);
  549. u32 DATARMNET8bf94cc2f7=(0xd2d+202-0xdf7);u32 DATARMNET76192fa639=
  550. (0xd2d+202-0xdf7);u32 DATARMNET870611bedd=(0xd2d+202-0xdf7);u32
  551. DATARMNETa6424e3c4e=(0xd2d+202-0xdf7);u8 DATARMNET77e7f4db43=(0xd2d+202-0xdf7);
  552. DATARMNETe074a09496();DATARMNET52de1f3dc0(DATARMNET4510abc30d,
  553. DATARMNETde91850c28,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70.
  554. DATARMNETc252a1f55d,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);for(
  555. DATARMNET42a992465f=(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;
  556. DATARMNET42a992465f++){DATARMNET61ab18a4bd=DATARMNETeb3978575d(
  557. DATARMNET42a992465f);DATARMNET870611bedd=(0xd2d+202-0xdf7);DATARMNETe56f4fbbe6=
  558. (0xd2d+202-0xdf7);list_for_each_safe(DATARMNET7b34b7b5be,next,&
  559. DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET3dc4262f53){
  560. DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct DATARMNET63d7680df2,
  561. DATARMNET04c88b8191);DATARMNETe56f4fbbe6+=DATARMNET3f85732c70->
  562. DATARMNETae4b27456e.DATARMNET35234676d4;}if(DATARMNET12565c8f98){
  563. DATARMNETc54e431bbc(DATARMNET42a992465f,DATARMNET20dc6bb36b,DATARMNETe56f4fbbe6)
  564. ;}list_for_each_safe(DATARMNET7b34b7b5be,next,&DATARMNET0997c5650d[
  565. DATARMNET42a992465f].DATARMNET3dc4262f53){DATARMNET3f85732c70=list_entry(
  566. DATARMNET7b34b7b5be,struct DATARMNET63d7680df2,DATARMNET04c88b8191);if(
  567. DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET6215127f48){
  568. DATARMNETed7800fc72=DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET6215127f48
  569. ;DATARMNETa0df5de99d=DATARMNET3f85732c70->DATARMNETae4b27456e.
  570. DATARMNETbaa5765693;DATARMNETa6424e3c4e=DATARMNET3f85732c70->DATARMNETae4b27456e
  571. .DATARMNET35234676d4;DATARMNET77e7f4db43=DATARMNETe02152c351(DATARMNET3f85732c70
  572. ,DATARMNETded3da1a77,DATARMNET5447204733);if(DATARMNET77e7f4db43){
  573. DATARMNET870611bedd+=DATARMNETa6424e3c4e;DATARMNET8bf94cc2f7+=
  574. DATARMNETed7800fc72;DATARMNET76192fa639+=DATARMNETa0df5de99d;DATARMNET0997c5650d
  575. [DATARMNET3f85732c70->map_cpu].DATARMNET4133fc9428-=DATARMNETed7800fc72;
  576. DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET35234676d4=(0xd2d+202-0xdf7);
  577. if(DATARMNET3f85732c70->map_cpu==DATARMNET42a992465f){DATARMNET61ab18a4bd+=
  578. DATARMNETed7800fc72;DATARMNET3f85732c70->queue_head=DATARMNET61ab18a4bd;}}}}if(
  579. DATARMNET12565c8f98){if(DATARMNET362b15f941(DATARMNET42a992465f)&&!
  580. DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0)DATARMNETfa919d00dc
  581. (DATARMNET42a992465f,DATARMNET870611bedd);DATARMNETc54e431bbc(
  582. DATARMNET42a992465f,DATARMNET20dc6bb36b,(0xd2d+202-0xdf7));}if(
  583. DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428<(0xd2d+202-0xdf7))
  584. DATARMNET68d84e7b98[DATARMNET33a9d4759f]++;if(DATARMNETeea3cef5b6(
  585. DATARMNET42a992465f)>=DATARMNET84413d1257[DATARMNET42a992465f])
  586. DATARMNET84413d1257[DATARMNET42a992465f]=DATARMNETeea3cef5b6(DATARMNET42a992465f
  587. );}DATARMNETecc0627c70.DATARMNETc252a1f55d-=DATARMNET76192fa639;
  588. DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNET8bf94cc2f7;DATARMNET52de1f3dc0
  589. (DATARMNET4510abc30d,DATARMNET576793621a,DATARMNETecc0627c70.DATARMNETa2e32cdd3a
  590. ,DATARMNETecc0627c70.DATARMNETc252a1f55d,DATARMNET8bf94cc2f7,DATARMNET76192fa639
  591. ,NULL,NULL);if((DATARMNETecc0627c70.DATARMNETc252a1f55d<=(0xd2d+202-0xdf7))||(
  592. DATARMNETecc0627c70.DATARMNETa2e32cdd3a<=(0xd2d+202-0xdf7))){DATARMNETecc0627c70
  593. .DATARMNETc252a1f55d=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETa2e32cdd3a=
  594. (0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd2d+202-0xdf7);
  595. DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;if(
  596. DATARMNET365ddeca1c){if(hrtimer_active(&DATARMNETecc0627c70.DATARMNET6fd692fc7a)
  597. )hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);}}}void
  598. DATARMNETa4bf9fbf64(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){spin_lock_bh(
  599. &DATARMNET3764d083f0);DATARMNETe377e0368d(DATARMNETded3da1a77,
  600. DATARMNET5447204733);if(DATARMNET5447204733==DATARMNET5b5927fd7e){if(
  601. DATARMNET365ddeca1c&&DATARMNETecc0627c70.DATARMNETc252a1f55d&&
  602. DATARMNETecc0627c70.DATARMNETa2e32cdd3a){if(hrtimer_active(&DATARMNETecc0627c70.
  603. DATARMNET6fd692fc7a))hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);
  604. hrtimer_start(&DATARMNETecc0627c70.DATARMNET6fd692fc7a,ns_to_ktime(
  605. DATARMNET4ac8af832c*DATARMNET68fc0be252),HRTIMER_MODE_REL);}DATARMNET14ed771dfb[
  606. DATARMNETd45c383019]++;}spin_unlock_bh(&DATARMNET3764d083f0);}void
  607. DATARMNET495dab3d72(struct sk_buff*skb,struct DATARMNET63d7680df2*
  608. DATARMNET63b1a086d5,struct rmnet_shs_clnt_s*DATARMNET0bf01e7c6f){u8
  609. DATARMNET7d63e92341=(0xd2d+202-0xdf7);
  610. #ifdef DATARMNETdddae6afa8
  611. if(!(DATARMNET0bf01e7c6f->config&DATARMNET2a76d433b3)&&skb->cb[
  612. DATARMNET8fadb49f38]){DATARMNETe377e0368d((0xd2d+202-0xdf7),DATARMNET0b15fd8b54)
  613. ;DATARMNET14ed771dfb[DATARMNETc8058e2cff]++;DATARMNET7d63e92341=
  614. (0xd26+209-0xdf6);}
  615. #endif
  616. if(skb_shinfo(skb)->gso_segs){DATARMNET63b1a086d5->DATARMNET11930c5df8+=
  617. skb_shinfo(skb)->gso_segs;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
  618. DATARMNET4133fc9428++;DATARMNET63b1a086d5->DATARMNETae4b27456e.
  619. DATARMNET35234676d4+=skb_shinfo(skb)->gso_segs;}else{DATARMNET63b1a086d5->
  620. DATARMNET11930c5df8+=(0xd26+209-0xdf6);DATARMNET0997c5650d[DATARMNET63b1a086d5->
  621. map_cpu].DATARMNET4133fc9428++;DATARMNET63b1a086d5->DATARMNETae4b27456e.
  622. DATARMNET35234676d4++;}DATARMNET63b1a086d5->DATARMNETa8940e4a7b+=
  623. (0xd26+209-0xdf6);DATARMNET63b1a086d5->DATARMNET3ecedac168+=RMNET_SKB_CB(skb)->
  624. coal_bytes;DATARMNET63b1a086d5->DATARMNETce5f56eab9+=RMNET_SKB_CB(skb)->
  625. coal_bufsize;DATARMNET63b1a086d5->DATARMNET2594c418db+=skb->len;
  626. DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693+=skb->len;
  627. DATARMNETecc0627c70.DATARMNETc252a1f55d+=skb->len;if(DATARMNET63b1a086d5->
  628. DATARMNETae4b27456e.DATARMNET6215127f48>(0xd2d+202-0xdf7)){DATARMNET63b1a086d5->
  629. DATARMNETae4b27456e.tail->next=skb;DATARMNET63b1a086d5->DATARMNETae4b27456e.tail
  630. =DATARMNET63b1a086d5->DATARMNETae4b27456e.tail->next;}else{DATARMNET63b1a086d5->
  631. DATARMNETae4b27456e.head=skb;DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=skb;}
  632. DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48+=(0xd26+209-0xdf6);
  633. DATARMNETecc0627c70.DATARMNETa2e32cdd3a+=(0xd26+209-0xdf6);if(unlikely(
  634. DATARMNET7d63e92341))DATARMNETe377e0368d((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);
  635. DATARMNET52de1f3dc0(DATARMNET720469c0a9,DATARMNETf5c836f9ae,DATARMNET63b1a086d5
  636. ->DATARMNETae4b27456e.DATARMNET6215127f48,DATARMNET63b1a086d5->
  637. DATARMNETae4b27456e.DATARMNETbaa5765693,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,
  638. DATARMNETecc0627c70.DATARMNETc252a1f55d,skb,DATARMNET63b1a086d5);}static void
  639. DATARMNETa7afc8cdaa(struct work_struct*DATARMNET33110a3ff5){DATARMNET52de1f3dc0(
  640. DATARMNET4510abc30d,DATARMNET816bb1e327,(0xd2d+202-0xdf7),DATARMNETecc0627c70.
  641. DATARMNET34097703c8,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(
  642. DATARMNETecc0627c70.DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET34097703c8
  643. ==DATARMNETb3e3b2a799){local_bh_disable();DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),
  644. DATARMNET5b5927fd7e);local_bh_enable();}DATARMNET52de1f3dc0(DATARMNET4510abc30d,
  645. DATARMNETf311f20c00,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  646. (0x16e8+787-0xc0c),NULL,NULL);}enum hrtimer_restart DATARMNET0a73c53ae6(struct
  647. hrtimer*DATARMNET6e4292679f){enum hrtimer_restart ret=HRTIMER_NORESTART;
  648. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET237e7bd5f6,DATARMNETecc0627c70.
  649. DATARMNET34097703c8,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  650. NULL,NULL);if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>(0xd2d+202-0xdf7)){if(
  651. DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNET7bc926fdbe){
  652. DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNETb3e3b2a799;hrtimer_forward(
  653. DATARMNET6e4292679f,hrtimer_cb_get_time(DATARMNET6e4292679f),ns_to_ktime(
  654. DATARMNET00d5787aad));ret=HRTIMER_RESTART;DATARMNET52de1f3dc0(
  655. DATARMNET4510abc30d,DATARMNETf16e78412b,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,
  656. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}else if(
  657. DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNET8dcf06727b){
  658. DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET7bc926fdbe;}else if(
  659. DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNETb3e3b2a799){
  660. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET83147a2e7d,DATARMNETecc0627c70.
  661. DATARMNET34097703c8,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  662. NULL,NULL);schedule_work((struct work_struct*)&shs_rx_work);}}return ret;}enum
  663. hrtimer_restart DATARMNET2ba63fbd90(struct hrtimer*DATARMNET6e4292679f){const
  664. enum hrtimer_restart ret=HRTIMER_NORESTART;__pm_relax(DATARMNETecc0627c70.ws);
  665. DATARMNET064fbe9e3a=(0xd26+209-0xdf6);return ret;}enum hrtimer_restart
  666. DATARMNETc2b0dbbb32(struct hrtimer*DATARMNET6e4292679f){const enum
  667. hrtimer_restart ret=HRTIMER_NORESTART;struct DATARMNET177911299b
  668. DATARMNET9f249e95ee;struct timespec64 time;DATARMNET8d0d510d45(
  669. DATARMNETe4a6d22824,&DATARMNET9f249e95ee);DATARMNETb5d58adbe7(&
  670. DATARMNET9f249e95ee);ktime_get_boottime_ts64(&time);DATARMNETecc0627c70.
  671. DATARMNETdd3caf9200=ktime_set(time.tv_sec,time.tv_nsec);return ret;}enum
  672. hrtimer_restart DATARMNET4ce9744605(struct hrtimer*DATARMNET6e4292679f){const
  673. enum hrtimer_restart ret=HRTIMER_NORESTART;struct DATARMNETa6f2d499b2*
  674. DATARMNET4b39dc1574=container_of(DATARMNET6e4292679f,struct DATARMNETa6f2d499b2,
  675. DATARMNET758a55f103);DATARMNET371703c28d();schedule_work(&DATARMNET4b39dc1574->
  676. DATARMNET33110a3ff5);return ret;}void DATARMNETe1f95274f1(void){int i;for(i=
  677. (0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){DATARMNETecc0627c70.
  678. DATARMNET132b9c7dc4[i].DATARMNET42c3ecbd5e=i;INIT_WORK(&DATARMNETecc0627c70.
  679. DATARMNET132b9c7dc4[i].DATARMNET33110a3ff5,DATARMNET056c939591);hrtimer_init(&
  680. DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET758a55f103,CLOCK_MONOTONIC,
  681. HRTIMER_MODE_REL);DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET758a55f103
  682. .function=DATARMNET4ce9744605;}hrtimer_init(&DATARMNETecc0627c70.
  683. DATARMNET6fd692fc7a,CLOCK_MONOTONIC,HRTIMER_MODE_REL);DATARMNETecc0627c70.
  684. DATARMNET6fd692fc7a.function=DATARMNET0a73c53ae6;hrtimer_init(&
  685. DATARMNETecc0627c70.DATARMNET645fb3b468,CLOCK_MONOTONIC,HRTIMER_MODE_REL);
  686. DATARMNETecc0627c70.DATARMNET645fb3b468.function=DATARMNETc2b0dbbb32;
  687. hrtimer_init(&DATARMNETecc0627c70.hrtimer_wake,CLOCK_MONOTONIC,HRTIMER_MODE_REL)
  688. ;DATARMNETecc0627c70.hrtimer_wake.function=DATARMNET2ba63fbd90;INIT_WORK(&
  689. shs_rx_work.DATARMNET33110a3ff5,DATARMNETa7afc8cdaa);}unsigned int
  690. DATARMNET02cdd9b125(void){unsigned int DATARMNET9f4bc49c6f=DATARMNET12565c8f98;
  691. int i;DATARMNET12565c8f98=(0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<
  692. DATARMNETc6782fed88;i++){hrtimer_cancel(&DATARMNETba5ea4329f(i));
  693. cancel_work_sync(&DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET33110a3ff5
  694. );}cancel_work_sync(&shs_rx_work.DATARMNET33110a3ff5);return DATARMNET9f4bc49c6f
  695. ;}int DATARMNET82e88dbb56(struct sk_buff_head*list,int cpu){struct sk_buff*skb;
  696. struct softnet_data*DATARMNETe95ad852b4=&per_cpu(softnet_data,cpu);rtnl_lock();
  697. while((skb=skb_dequeue_tail(list))!=NULL){if(rmnet_is_real_dev_registered(skb->
  698. dev)){DATARMNET68d84e7b98[DATARMNETf8de7cb644]++;atomic_long_inc(&skb->dev->
  699. rx_dropped);input_queue_head_incr(DATARMNETe95ad852b4);DATARMNETe95ad852b4->
  700. dropped++;kfree_skb(skb);}}rtnl_unlock();return(0xd2d+202-0xdf7);}static int
  701. DATARMNET2aa4ef6ff9(struct notifier_block*DATARMNETea991f24f2,unsigned long
  702. DATARMNET7ee7b05b93,void*DATARMNETe53e117dd2){int DATARMNETc3193054f2,
  703. DATARMNET25fc1e341e,cpu;int*DATARMNETc628e18b55=(int*)DATARMNETe53e117dd2;struct
  704. sk_buff_head*DATARMNET49115bea94;struct sk_buff_head*DATARMNETaf21dd6000;
  705. for_each_possible_cpu(cpu){DATARMNET49115bea94=&DATARMNET3de2536baf(cpu);
  706. DATARMNETaf21dd6000=&DATARMNET832731a933(cpu);DATARMNETc3193054f2=skb_queue_len(
  707. DATARMNET49115bea94);DATARMNET25fc1e341e=skb_queue_len(DATARMNETaf21dd6000);if(
  708. DATARMNET1ad396a890&&(DATARMNETc3193054f2+DATARMNET25fc1e341e)>=
  709. DATARMNET1ad396a890){DATARMNET82e88dbb56(&per_cpu(softnet_data,cpu).
  710. input_pkt_queue,cpu);DATARMNETc3193054f2=skb_queue_len(DATARMNET49115bea94);
  711. DATARMNET25fc1e341e=skb_queue_len(DATARMNETaf21dd6000);if(DATARMNET25fc1e341e>=
  712. DATARMNET1ad396a890){DATARMNET82e88dbb56(DATARMNET49115bea94,cpu);}(*
  713. DATARMNETc628e18b55)++;}}return(0xd2d+202-0xdf7);}static struct notifier_block
  714. DATARMNET105c85d84c={.notifier_call=DATARMNET2aa4ef6ff9,};void
  715. DATARMNET78bb6be330(struct rmnet_map_dl_ind_hdr*dlhdr,struct
  716. rmnet_map_control_command_header*qcmd){DATARMNET7ed4cef8a3(dlhdr);}void
  717. DATARMNET7ed4cef8a3(struct rmnet_map_dl_ind_hdr*dlhdr){DATARMNETda96251102(
  718. DATARMNET23f8730007,DATARMNET4ebbc01257,dlhdr->le.seq,dlhdr->le.pkts,
  719. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(!DATARMNET016351c9e4||
  720. DATARMNET016351c9e4<dlhdr->le.seq)DATARMNET016351c9e4=dlhdr->le.seq;else{if(
  721. DATARMNET756bdd424a)pr_info(
  722. "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x4f\x46\x4f\x20\x64\x6c\x20\x73\x65\x71\x20\x25\x75\x20\x62\x65\x66\x6f\x72\x65\x20\x25\x75"
  723. ,DATARMNET016351c9e4,dlhdr->le.seq);DATARMNET016351c9e4=dlhdr->le.seq;
  724. DATARMNET68d84e7b98[DATARMNETf352684b06]++;}if(!spin_is_locked(&
  725. DATARMNET3764d083f0)){if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>
  726. (0xd2d+202-0xdf7)&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=DATARMNET4ab5a31d0c)
  727. {DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;DATARMNETa4bf9fbf64(
  728. (0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}DATARMNETecc0627c70.DATARMNET6fe0db3a49=
  729. DATARMNET1c55e5fdb1;}}void DATARMNETf61cd23b90(struct rmnet_map_dl_ind_trl*dltrl
  730. ,struct rmnet_map_control_command_header*qcmd){DATARMNET613a81eca8(dltrl);}void
  731. DATARMNET613a81eca8(struct rmnet_map_dl_ind_trl*dltrl){DATARMNET52de1f3dc0(
  732. DATARMNET23f8730007,DATARMNET0808844559,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,
  733. (0xd2d+202-0xdf7),dltrl->seq_le,(0x16e8+787-0xc0c),NULL,NULL);
  734. DATARMNETecc0627c70.DATARMNET6fe0db3a49=DATARMNET4ab5a31d0c;if(
  735. DATARMNETecc0627c70.DATARMNETa2e32cdd3a>(0xd2d+202-0xdf7)&&!spin_is_locked(&
  736. DATARMNET3764d083f0)){DATARMNET14ed771dfb[DATARMNET84a9e136b8]++;
  737. DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}}void
  738. DATARMNET45d8cdb224(struct net_device*dev,struct net_device*vnd){struct rps_map*
  739. map;int rc;u8 DATARMNET0e4304d903;u8 map_mask;u8 map_len;if(DATARMNETecc0627c70.
  740. DATARMNETfc89d842ae)return;map=rcu_dereference(vnd->_rx->rps_map);if(!map){
  741. map_mask=(0xd2d+202-0xdf7);map_len=(0xd2d+202-0xdf7);}else{map_mask=
  742. DATARMNET928c931df9(map);map_len=DATARMNET310c3eb16e(map_mask);}
  743. DATARMNETecc0627c70.port=rmnet_get_port(dev);DATARMNETecc0627c70.map_mask=
  744. map_mask;DATARMNETecc0627c70.map_len=map_len;DATARMNETecc0627c70.
  745. DATARMNETba3f7a11ef=(0xd1f+216-0xdf5);DATARMNETecc0627c70.DATARMNET5c24e1df05=
  746. (0xd26+209-0xdf6);DATARMNETecc0627c70.DATARMNET6625085b71=(0xd26+209-0xdf6);
  747. DATARMNETecc0627c70.DATARMNET7d667e828e=(0xd26+209-0xdf6);for(
  748. DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<DATARMNETc6782fed88;
  749. DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[DATARMNET0e4304d903].
  750. DATARMNET3dc4262f53);DATARMNETe6e8431304();rc=register_oom_notifier(&
  751. DATARMNET105c85d84c);if(rc<(0xd2d+202-0xdf7)){pr_info(
  752. "\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"
  753. );}pr_info(
  754. "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x69\x74\x20\x77\x69\x74\x68\x20\x25\x78"
  755. ,DATARMNETecc0627c70.map_mask);DATARMNETecc0627c70.ws=wakeup_source_register(
  756. NULL,"\x52\x4d\x4e\x45\x54\x5f\x53\x48\x53");DATARMNETecc0627c70.
  757. DATARMNETfc89d842ae=(0xd26+209-0xdf6);}void DATARMNETeacad8334e(void){struct
  758. hlist_node*tmp;struct DATARMNET63d7680df2*DATARMNET63b1a086d5;struct sk_buff*
  759. DATARMNET9a788b5480;int bkt;struct sk_buff*buf;unsigned long ht_flags;if(!
  760. DATARMNETecc0627c70.DATARMNETa2e32cdd3a)return;spin_lock_irqsave(&
  761. DATARMNET3764d083f0,ht_flags);hash_for_each_safe(DATARMNETe603c3a4b3,bkt,tmp,
  762. DATARMNET63b1a086d5,list){for((buf=DATARMNET63b1a086d5->DATARMNETae4b27456e.head
  763. );buf!=NULL;buf=DATARMNET9a788b5480){DATARMNET9a788b5480=buf->next;if(buf)
  764. consume_skb(buf);}DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=
  765. (0xd2d+202-0xdf7);DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=
  766. (0xd2d+202-0xdf7);DATARMNET63b1a086d5->DATARMNETae4b27456e.head=NULL;
  767. DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=NULL;}DATARMNETecc0627c70.
  768. DATARMNETc252a1f55d=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETa2e32cdd3a=
  769. (0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd2d+202-0xdf7);
  770. DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;
  771. spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);}void DATARMNET44459105b4(
  772. struct sk_buff*skb,struct DATARMNET63d7680df2*node_p){struct iphdr*ip4h,
  773. DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;struct tcphdr*tp,
  774. DATARMNETd1ff6cd568;struct udphdr*up,DATARMNETc82d2f4e16;int len=
  775. (0xd2d+202-0xdf7);u16 ip_len=(0xd2d+202-0xdf7);__be16 frag_off;u8 protocol;
  776. switch(skb->protocol){case htons(ETH_P_IP):ip4h=DATARMNETefcaf5fbe9(skb,
  777. (0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);if(!ip4h)return;node_p->
  778. DATARMNET1e9d25d9ff=ip4h->protocol;memcpy(&(node_p->ip_hdr.DATARMNETac9bbaad7c),
  779. ip4h,sizeof(*ip4h));ip_len=ip4h->ihl*(0xd11+230-0xdf3);break;case htons(
  780. ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
  781. DATARMNETcf1d9e2c1e);if(!ip6h)return;node_p->DATARMNET1e9d25d9ff=ip6h->nexthdr;
  782. memcpy(&(node_p->ip_hdr.DATARMNET1688a97aa4),ip6h,sizeof(*ip6h));protocol=ip6h->
  783. nexthdr;len=ipv6_skip_exthdr(skb,sizeof(*ip6h),&protocol,&frag_off);if(len<
  784. (0xd2d+202-0xdf7)){return;}ip_len=(u16)len;break;default:break;}if(node_p->
  785. DATARMNET1e9d25d9ff==IPPROTO_TCP){tp=DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*tp),
  786. &DATARMNETd1ff6cd568);if(!tp)return;memcpy(&(node_p->DATARMNETe33b41dad9.tp),tp,
  787. sizeof(struct tcphdr));}else if(node_p->DATARMNET1e9d25d9ff==IPPROTO_UDP){up=
  788. DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*up),&DATARMNETc82d2f4e16);if(!up)return;
  789. memcpy(&(node_p->DATARMNETe33b41dad9.up),up,sizeof(struct udphdr));}else{}}void
  790. DATARMNET02fc8b29a0(struct DATARMNET63d7680df2*node_p,struct rmnet_shs_clnt_s*
  791. DATARMNET0bf01e7c6f,struct net_device*dev){u32 DATARMNET421230d879;u32
  792. DATARMNET5eee131e74;node_p->DATARMNET85c698ec34=(0xd26+209-0xdf6);node_p->
  793. DATARMNETfbbec4c537=DATARMNET0bf01e7c6f->map_mask;node_p->DATARMNETa59ce1fd2d=
  794. DATARMNET310c3eb16e(node_p->DATARMNETfbbec4c537);node_p->map_cpu=
  795. DATARMNETecc0627c70.DATARMNET7d667e828e;node_p->map_index=node_p->map_cpu;node_p
  796. ->DATARMNET0371465875=(0xd2d+202-0xdf7);if(DATARMNET362b15f941(node_p->map_cpu))
  797. {DATARMNET5e4aeef593(DATARMNETecc0627c70.DATARMNET5c24e1df05);
  798. DATARMNETfb7007f025();}DATARMNET765b8ecfba(dev,DATARMNETecc0627c70.
  799. DATARMNET5c24e1df05,(0xd26+209-0xdf6));DATARMNET421230d879=(DATARMNET3de2536baf(
  800. node_p->map_cpu).qlen+DATARMNET832731a933(node_p->map_cpu).qlen);if(
  801. DATARMNET421230d879>DATARMNET673cf85e28)DATARMNET673cf85e28=DATARMNET421230d879;
  802. node_p->queue_head=DATARMNETeb3978575d(DATARMNETecc0627c70.DATARMNET5c24e1df05)+
  803. DATARMNET421230d879;DATARMNET5eee131e74=(DATARMNET3de2536baf(DATARMNETecc0627c70
  804. .DATARMNET5c24e1df05).qlen+DATARMNET832731a933(DATARMNETecc0627c70.
  805. DATARMNET5c24e1df05).qlen);if(DATARMNET362b15f941(node_p->map_cpu)){if(!
  806. hrtimer_active(&DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&
  807. DATARMNETba5ea4329f(node_p->map_cpu),ns_to_ktime((DATARMNET566e381630)*
  808. DATARMNET68fc0be252),HRTIMER_MODE_REL);}}else if((DATARMNET421230d879+
  809. DATARMNET5eee131e74)<DATARMNET0085702236){if(!hrtimer_active(&
  810. DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&DATARMNETba5ea4329f(node_p
  811. ->map_cpu),ns_to_ktime((DATARMNET566e381630/(0xeb7+1130-0x130d))*
  812. DATARMNET68fc0be252),HRTIMER_MODE_REL);}}else{if(!hrtimer_active(&
  813. DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&DATARMNETba5ea4329f(node_p
  814. ->map_cpu),ns_to_ktime((DATARMNET566e381630/(0xd1f+216-0xdf5))*
  815. DATARMNET68fc0be252),HRTIMER_MODE_REL);}}}int DATARMNET756778f14f(struct sk_buff
  816. *skb,struct rmnet_shs_clnt_s*DATARMNET0bf01e7c6f){struct DATARMNET63d7680df2*
  817. node_p;struct hlist_node*tmp;int map=DATARMNETecc0627c70.map_mask;unsigned long
  818. ht_flags;int DATARMNETcfb5dc7296;int map_cpu;u32 DATARMNET5c4a331b9c,hash;u8
  819. is_match_found=(0xd2d+202-0xdf7);u8 DATARMNET935af10724=(0xd2d+202-0xdf7);u8
  820. DATARMNET7c5ef97eab=(0xd2d+202-0xdf7);struct DATARMNETe600c5b727*
  821. DATARMNETa4055affd5;struct rmnet_priv*priv;if(!(DATARMNET0bf01e7c6f->config&
  822. RMNET_SHS_STMP_ALL)&&!DATARMNET9303cec796(skb)){DATARMNETe767554e6e(skb);return
  823. (0xd2d+202-0xdf7);}if((unlikely(!map))||!DATARMNETecc0627c70.DATARMNETfc89d842ae
  824. ){DATARMNETe767554e6e(skb);DATARMNET015fb2ba0e(DATARMNET720469c0a9,
  825. DATARMNETe0fee0991a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  826. (0x16e8+787-0xc0c),NULL,NULL);DATARMNET68d84e7b98[DATARMNETe3c02ddaeb]++;return
  827. (0xd2d+202-0xdf7);}DATARMNET52de1f3dc0(DATARMNET720469c0a9,DATARMNET856c53293b,
  828. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,
  829. NULL);hash=skb_get_hash(skb);if(DATARMNET0bf01e7c6f->map_mask){skb->hash=57005;
  830. hash=57005;if(raw_smp_processor_id()==DATARMNETecc0627c70.DATARMNET6625085b71&&
  831. DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNETecc0627c70.DATARMNET7d667e828e
  832. ){netif_rx(skb);DATARMNETecc0627c70.DATARMNETfeee6933fc++;if(DATARMNETecc0627c70
  833. .DATARMNETfeee6933fc>DATARMNETf4cacbb5dc){DATARMNETa4bf9fbf64(
  834. DATARMNETf3dfa53867,DATARMNET0b15fd8b54);RCU_INIT_POINTER(rmnet_shs_switch,NULL)
  835. ;DATARMNET68d84e7b98[DATARMNET43405942ed]++;DATARMNETecc0627c70.
  836. DATARMNETfeee6933fc=(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}}
  837. spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);do{hash_for_each_possible_safe(
  838. DATARMNETe603c3a4b3,node_p,tmp,list,hash){if(hash!=node_p->hash)continue;
  839. DATARMNETda96251102(DATARMNET720469c0a9,DATARMNET08b6defcff,(0x16e8+787-0xc0c),
  840. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);
  841. DATARMNET5c4a331b9c=node_p->map_index;is_match_found=(0xd26+209-0xdf6);
  842. DATARMNET935af10724=(0xd26+209-0xdf6);if(node_p->DATARMNET85c698ec34){
  843. DATARMNETe074a09496();if(raw_smp_processor_id()!=DATARMNETecc0627c70.
  844. DATARMNET7d667e828e){DATARMNET68d84e7b98[DATARMNETbb641cd339]++;}if(
  845. DATARMNETecc0627c70.DATARMNET5c24e1df05!=DATARMNETecc0627c70.DATARMNET7d667e828e
  846. ){if(node_p->map_cpu!=DATARMNETecc0627c70.DATARMNET7d667e828e){
  847. DATARMNETa4055affd5=&DATARMNET0997c5650d[DATARMNETecc0627c70.DATARMNET7d667e828e
  848. ];DATARMNETe102b3a798(node_p,&DATARMNETa4055affd5->DATARMNET3dc4262f53,node_p->
  849. map_cpu);DATARMNETb7ddf3c5dd[DATARMNETcf84373518]++;}DATARMNET02fc8b29a0(node_p,
  850. DATARMNET0bf01e7c6f,skb->dev);netif_rx(skb);break;}node_p->DATARMNET0371465875++
  851. ;DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);if(!rcu_dereference(
  852. rmnet_shs_switch)){DATARMNET68d84e7b98[DATARMNET2e68f4bd9f]++;
  853. DATARMNET7c5ef97eab=DATARMNET27fb9a225d;break;}if(DATARMNETadb0248bd4(
  854. DATARMNETecc0627c70.DATARMNET7d667e828e)>=(node_p->queue_head+node_p->
  855. DATARMNET0371465875)){DATARMNET7c5ef97eab=DATARMNETbbf8fe40aa;break;}if(
  856. DATARMNETaf998640fd&&node_p->DATARMNETae4b27456e.DATARMNET6215127f48>
  857. DATARMNETaf998640fd){DATARMNET14ed771dfb[DATARMNETcc3c294f38]++;
  858. DATARMNET7c5ef97eab=DATARMNET95c85e6fe1;break;}spin_unlock_irqrestore(&
  859. DATARMNET3764d083f0,ht_flags);return(0xd2d+202-0xdf7);}else DATARMNET495dab3d72(
  860. skb,node_p,DATARMNET0bf01e7c6f);break;}if(is_match_found)break;if(
  861. DATARMNET0bf01e7c6f->map_mask){DATARMNETcfb5dc7296=DATARMNET362c14e98b(
  862. DATARMNETecc0627c70.map_mask&DATARMNET9273f84bf1&~DATARMNETecc0627c70.
  863. DATARMNETba3f7a11ef);}else{DATARMNETcfb5dc7296=DATARMNET762cfa52fe(
  864. DATARMNETecc0627c70.map_mask&DATARMNET9273f84bf1&~DATARMNETecc0627c70.
  865. DATARMNETba3f7a11ef);}if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){
  866. DATARMNET68d84e7b98[DATARMNETa1f9420686]++;break;}if(DATARMNETecc0627c70.
  867. DATARMNET64bb8a8f57>DATARMNETbfe31ef643){DATARMNET68d84e7b98[DATARMNETe6e77f9f03
  868. ]++;break;}node_p=kzalloc(sizeof(*node_p),GFP_ATOMIC);if(!node_p){
  869. DATARMNET68d84e7b98[DATARMNET394acaf558]++;break;}DATARMNETecc0627c70.
  870. DATARMNET64bb8a8f57++;node_p->dev=skb->dev;node_p->hash=skb->hash;node_p->
  871. map_cpu=DATARMNETcfb5dc7296;node_p->map_index=DATARMNET04e8d1b862(node_p->
  872. map_cpu,map);INIT_LIST_HEAD(&node_p->DATARMNET04c88b8191);DATARMNET44459105b4(
  873. skb,node_p);if(DATARMNET0bf01e7c6f->map_mask){DATARMNETe074a09496();
  874. DATARMNET02fc8b29a0(node_p,DATARMNET0bf01e7c6f,skb->dev);}else{node_p->
  875. DATARMNETfbbec4c537=DATARMNETecc0627c70.map_mask;node_p->DATARMNETa59ce1fd2d=
  876. DATARMNETecc0627c70.map_len;}DATARMNET0349051465(node_p->map_cpu);
  877. DATARMNET350f55bfca(node_p);map_cpu=node_p->map_cpu;DATARMNETa4055affd5=&
  878. DATARMNET0997c5650d[map_cpu];priv=netdev_priv(node_p->dev);if(!priv){rm_err(
  879. "\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"
  880. ,node_p->hash);DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;}else{node_p->
  881. DATARMNET341ea38662->mux_id=priv->mux_id;rm_err(
  882. "\x53\x48\x53\x5f\x4d\x55\x58\x3a\x20\x6d\x75\x78\x20\x69\x64\x20\x66\x6f\x72\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x69\x73\x20\x25\x64"
  883. ,node_p->hash,node_p->DATARMNET341ea38662->mux_id);}DATARMNET3e37ad2816(node_p,&
  884. DATARMNETa4055affd5->DATARMNET3dc4262f53);hash_add_rcu(DATARMNETe603c3a4b3,&
  885. node_p->list,skb->hash);if(!node_p->DATARMNET85c698ec34)DATARMNET495dab3d72(skb,
  886. node_p,DATARMNET0bf01e7c6f);else{netif_rx(skb);spin_unlock_irqrestore(&
  887. DATARMNET3764d083f0,ht_flags);return(0xd2d+202-0xdf7);}DATARMNET935af10724=
  888. (0xd26+209-0xdf6);break;}while((0xd2d+202-0xdf7));if(!DATARMNET935af10724){
  889. spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);DATARMNET68d84e7b98[
  890. DATARMNET99db6e7d86]++;DATARMNETe767554e6e(skb);DATARMNET015fb2ba0e(
  891. DATARMNET720469c0a9,DATARMNETe0fee0991a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  892. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return(0xd2d+202-0xdf7);}if(!
  893. DATARMNETecc0627c70.DATARMNETd9cfd2812b&&DATARMNETecc0627c70.DATARMNETa2e32cdd3a
  894. &&DATARMNET365ddeca1c){DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd26+209-0xdf6)
  895. ;DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET7bc926fdbe;if(hrtimer_active(&
  896. DATARMNETecc0627c70.DATARMNET6fd692fc7a)){DATARMNETda96251102(
  897. DATARMNET720469c0a9,DATARMNETf730f80f06,DATARMNET2f67183a86,(0x16e8+787-0xc0c),
  898. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);hrtimer_cancel(&
  899. DATARMNETecc0627c70.DATARMNET6fd692fc7a);}hrtimer_start(&DATARMNETecc0627c70.
  900. DATARMNET6fd692fc7a,ns_to_ktime(DATARMNET4ac8af832c*DATARMNET68fc0be252),
  901. HRTIMER_MODE_REL);DATARMNETda96251102(DATARMNET720469c0a9,DATARMNETdd870ee64c,
  902. DATARMNET2f67183a86,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb
  903. ,NULL);}spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);if(
  904. DATARMNETecc0627c70.DATARMNETa2e32cdd3a>DATARMNET7d18c0bcf8){if(
  905. DATARMNET58b009b16b)DATARMNET14ed771dfb[DATARMNET802083239a]++;
  906. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET562b7d32a8,(0xd2d+202-0xdf7),
  907. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
  908. DATARMNETa4bf9fbf64(DATARMNET0acd775aa8,DATARMNET0b15fd8b54);}else if(
  909. DATARMNETecc0627c70.DATARMNETc252a1f55d>DATARMNETea75c7b6f6){if(
  910. DATARMNET58b009b16b)DATARMNET14ed771dfb[DATARMNETed69052342]++;
  911. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET99640d60f7,(0xd2d+202-0xdf7),
  912. (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
  913. DATARMNETa4bf9fbf64(DATARMNET2217440c2e,DATARMNET0b15fd8b54);}else if(
  914. DATARMNET7c5ef97eab){DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET562b7d32a8
  915. ,(0xd26+209-0xdf6),DATARMNETecc0627c70.DATARMNETa2e32cdd3a,(0x16e8+787-0xc0c),
  916. (0x16e8+787-0xc0c),NULL,NULL);if(DATARMNET58b009b16b)DATARMNET14ed771dfb[
  917. DATARMNETdf6ecde77a]++;DATARMNETa4bf9fbf64(DATARMNET7c5ef97eab,
  918. DATARMNET0b15fd8b54);}else if((DATARMNET0bf01e7c6f->config&RMNET_SHS_NO_DLMKR)&&
  919. DATARMNETecc0627c70.DATARMNETa2e32cdd3a){if(DATARMNET58b009b16b)
  920. DATARMNET14ed771dfb[DATARMNET04dac3a62b]++;DATARMNETa4bf9fbf64((0xd2d+202-0xdf7)
  921. ,DATARMNET0b15fd8b54);}else if(DATARMNETecc0627c70.DATARMNET34097703c8==
  922. DATARMNETb3e3b2a799){DATARMNET14ed771dfb[DATARMNETcfb1764a91]++;
  923. DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETa2bd301af7,(0xd26+209-0xdf6),
  924. DATARMNETecc0627c70.DATARMNETa2e32cdd3a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
  925. NULL,NULL);DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}else if(!
  926. (DATARMNET0bf01e7c6f->config&RMNET_SHS_NO_DLMKR)&&DATARMNETecc0627c70.
  927. DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=
  928. DATARMNET1c55e5fdb1){DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;
  929. DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}return
  930. (0xd2d+202-0xdf7);}void DATARMNET9297340f58(unsigned int DATARMNET9f4bc49c6f){
  931. DATARMNETdf74db7e38();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);
  932. unregister_oom_notifier(&DATARMNET105c85d84c);wakeup_source_unregister(
  933. DATARMNETecc0627c70.ws);if(DATARMNETecc0627c70.DATARMNETf5ab31b9b0)
  934. hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);hrtimer_cancel(&
  935. DATARMNETecc0627c70.DATARMNET645fb3b468);hrtimer_cancel(&DATARMNETecc0627c70.
  936. hrtimer_wake);memset(&DATARMNETecc0627c70,(0xd2d+202-0xdf7),sizeof(
  937. DATARMNETecc0627c70));DATARMNETecc0627c70.port=NULL;DATARMNETecc0627c70.
  938. DATARMNETfc89d842ae=(0xd2d+202-0xdf7);DATARMNET12565c8f98=DATARMNET9f4bc49c6f;}