rmnet_shs_main.c 68 KB

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