rmnet_shs_main.c 71 KB

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