123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020 |
- /* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
- #include <net/sock.h>
- #include <linux/netlink.h>
- #include <linux/ip.h>
- #include <linux/cpu.h>
- #include <linux/oom.h>
- #include <net/ip.h>
- #include <linux/cpu.h>
- #include <linux/bitmap.h>
- #include <linux/netdevice.h>
- #include <linux/kernel.h>
- #include <linux/pm_wakeup.h>
- #include <linux/smp.h>
- #include <linux/ipv6.h>
- #include <linux/netdevice.h>
- #include <linux/percpu-defs.h>
- #include "rmnet_module.h"
- #include "rmnet_shs.h"
- #include "rmnet_shs_config.h"
- #include "rmnet_shs_wq.h"
- #include "rmnet_shs_modules.h"
- #include "rmnet_shs_common.h"
- #include "rmnet_trace.h"
- #include "rmnet_shs_wq_genl.h"
- #include "rmnet_shs_ll.h"
- #include <linux/module.h>
- #include <linux/cpumask.h>
- #include <linux/icmp.h>
- #include <linux/inet.h>
- static char*verinfo[]={"\x34\x35\x35\x66\x31\x32\x38\x38"
- "\x36\x37\x30\x32\x34\x34\x63\x35","\x63\x66\x66\x31\x64\x38\x38\x36",
- "\x30\x37\x63\x37\x63\x37\x36\x39","\x63\x34\x65\x33\x65\x61\x34\x65",
- "\x37\x66\x63\x32\x33\x39\x31\x66","\x39\x35\x38\x61\x65\x34\x32\x34",
- "\x30\x66\x66\x65\x65\x39\x66\x65","\x32\x31\x30\x33\x65\x39\x38\x62",
- "\x37\x61\x32\x34\x64\x35\x34\x61","\x34\x34\x62\x37\x32\x33\x31\x32",
- "\x62\x66\x61\x30\x39\x34\x62\x35","\x62\x38\x38\x39\x38\x62\x66\x32",
- "\x33\x35\x32\x37\x62\x38\x30\x65","\x63\x30\x39\x37\x35\x35\x62\x33",
- "\x32\x36\x66\x64\x33\x30\x36\x35","\x65\x36\x66\x64\x34\x31\x33\x37",
- "\x36\x64\x38\x31\x37\x39\x62\x63","\x64\x66\x39\x32\x65\x35\x33\x34",
- "\x30\x38\x61\x39\x34\x38\x64\x61","\x36\x35\x35\x37\x37\x63\x32\x32"};
- module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
- verinfo,
- "\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
- );
- #define DATARMNET2f67183a86 2000000
- #define DATARMNET68fc0be252 1000000
- #define DATARMNETd391fbd694 (0xd2d+202-0xdf7)
- #define DATARMNETae2e980d66 (0xd11+230-0xdf3)
- #define DATARMNET249a927510 (0xd27+224-0xdfd)
- #define DATARMNET904145ccb9 (0xd11+230-0xdf3)
- #define DATARMNETb91aee91fd -(0xd26+209-0xdf6)
- #define DATARMNET00d5787aad 2000000
- #define DATARMNET8948dc953d (0xd0a+237-0xdf2)
- #define DATARMNET20dc6bb36b (0xd26+209-0xdf6)
- #define DATARMNETafc650134e (0xd26+209-0xdf6)
- #define DATARMNET832731a933(CPU) (per_cpu(softnet_data, CPU).input_pkt_queue)
- #define DATARMNET3de2536baf(CPU) (per_cpu(softnet_data, CPU).process_queue)
- #define DATARMNETd2d15e7f67(CPU) (DATARMNET832731a933(CPU).qlen + \
- DATARMNET3de2536baf(CPU).qlen)
- #define DATARMNET78ec5e8746(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
- DATARMNETfbfdc7f27e, CPU).input_queue_tail)
- #define DATARMNET9c1c20df35(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
- DATARMNETfbfdc7f27e, CPU).input_queue_head)
- #define DATARMNET66ead9195a(CPU) (per_cpu(softnet_data, CPU).input_queue_head)
- #define DATARMNETbb1541e65b(CPU) (per_cpu(softnet_data, CPU).input_queue_tail)
- #define DATARMNETba5ea4329f(CPU) DATARMNETecc0627c70.DATARMNET132b9c7dc4[CPU].\
- DATARMNET758a55f103
- #define DATARMNETe84c5b47ba (0xd2d+202-0xdf7)
- #define DATARMNET313d662f61 (0xd26+209-0xdf6)
- #define DATARMNET0085702236 (0xd0a+237-0xdf2)
- #define DATARMNETec970d7090 (0xd26+209-0xdf6)
- #define DATARMNET8fadb49f38 (0xd2d+202-0xdf7)
- #define DATARMNET48a89fcc16 (0xd26+209-0xdf6)
- #define DATARMNETbfe901fc62 (0xd2d+202-0xdf7)
- DEFINE_SPINLOCK(DATARMNET3764d083f0);DEFINE_HASHTABLE(DATARMNETe603c3a4b3,
- DATARMNET25437d35fd);struct DATARMNETe600c5b727 DATARMNET0997c5650d[
- DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];unsigned int
- DATARMNET064fbe9e3a __read_mostly=(0xd2d+202-0xdf7);module_param(
- DATARMNET064fbe9e3a,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNET064fbe9e3a,"\x77\x61\x6b\x65\x20\x73\x74\x61\x74\x75\x73");unsigned int
- DATARMNETe4a6d22824 __read_mostly=(0xc07+4861-0x1e3c);module_param(
- DATARMNETe4a6d22824,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNET94b2cc2f14,
- "\x75\x70\x20\x64\x75\x74\x79\x20\x63\x79\x63\x6c\x65\x20\x69\x6e\x20\x6d\x73");
- unsigned int DATARMNETaf998640fd __read_mostly=(0xcb7+1735-0x102c);module_param(
- DATARMNETaf998640fd,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNETaf998640fd,
- "\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"
- );unsigned int DATARMNET566e381630 __read_mostly=(0xf07+658-0x110d);module_param
- (DATARMNET566e381630,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNETaf998640fd,
- "\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"
- );unsigned int DATARMNETf4cacbb5dc __read_mostly=7000;module_param(
- DATARMNETf4cacbb5dc,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNETf4cacbb5dc,
- "\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"
- );unsigned int DATARMNET673cf85e28 __read_mostly=(0xd2d+202-0xdf7);module_param(
- DATARMNET673cf85e28,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNET673cf85e28,
- "\x4d\x61\x78\x20\x70\x68\x79\x20\x62\x61\x63\x6b\x6c\x6f\x67\x20\x73\x65\x65\x6e"
- );unsigned int DATARMNETcb9ef310a4 __read_mostly=(0xd2d+202-0xdf7);module_param(
- DATARMNETcb9ef310a4,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNETcb9ef310a4,
- "\x20\x45\x73\x70\x20\x70\x61\x63\x6b\x65\x74\x73\x20\x73\x65\x65\x6e");unsigned
- int DATARMNET2be16c76ac __read_mostly=(0xef7+1112-0x131d);module_param(
- DATARMNET2be16c76ac,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
- DATARMNET2be16c76ac,
- "\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"
- );struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8
- shs_rx_work;int DATARMNET762cfa52fe(u8 mask);unsigned DATARMNET016351c9e4=
- (0xd2d+202-0xdf7);ssize_t DATARMNET713da9913c(struct netdev_rx_queue*
- DATARMNETb4180393e4,u8 cpu,u8 DATARMNET5780499e9c){struct rps_map*
- DATARMNETaeb4918e65,*map;cpumask_var_t mask;map=rcu_dereference(
- DATARMNETb4180393e4->rps_map);if(map){map->cpus[(0xd2d+202-0xdf7)]=cpu;map->len=
- (0xd26+209-0xdf6);if(((0xd26+209-0xdf6)<<cpu)&DATARMNETbc3c416b77)
- DATARMNETb7ddf3c5dd[DATARMNET975060d6b5]++;else DATARMNETb7ddf3c5dd[
- DATARMNET0e398136dc]++;return(0xd2d+202-0xdf7);}if(!alloc_cpumask_var(&mask,
- GFP_ATOMIC))return-ENOMEM;cpumask_set_cpu(cpu,(struct cpumask*)&mask);map=
- kzalloc(max_t(unsigned int,RPS_MAP_SIZE(cpumask_weight(mask)),L1_CACHE_BYTES),
- GFP_ATOMIC);if(!map){free_cpumask_var(mask);return-ENOMEM;}map->cpus[
- (0xd2d+202-0xdf7)]=cpu;map->len=(0xd26+209-0xdf6);if(((0xd26+209-0xdf6)<<cpu)&
- DATARMNETbc3c416b77)DATARMNETb7ddf3c5dd[DATARMNET975060d6b5]++;else
- DATARMNETb7ddf3c5dd[DATARMNET0e398136dc]++;rcu_read_lock();DATARMNETaeb4918e65=
- rcu_dereference(DATARMNETb4180393e4->rps_map);rcu_assign_pointer(
- DATARMNETb4180393e4->rps_map,map);if(DATARMNETaeb4918e65)kfree(
- DATARMNETaeb4918e65);free_cpumask_var(mask);rcu_read_unlock();return
- (0xd2d+202-0xdf7);}int DATARMNET9303cec796(struct sk_buff*skb,u8*ret){int
- DATARMNETbd864aa442=(0xd2d+202-0xdf7);struct iphdr*ip4h,DATARMNETc00baf31c3;
- struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;const struct ipv6_opt_hdr*
- DATARMNET7b34b7b5be;struct ipv6_opt_hdr DATARMNET1688a97aa4;s64
- DATARMNETe30c7cdaf5;struct timespec64 time;int DATARMNET441081ddc0;if(
- rmnet_module_hook_perf_ingress(&DATARMNET441081ddc0,skb)){if(!
- DATARMNET441081ddc0){goto done;}}switch(skb->protocol){case htons(ETH_P_IP):ip4h
- =DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);
- if(!ip4h)break;if(!ip_is_fragment(ip4h)&&(ip4h->protocol==IPPROTO_TCP||ip4h->
- protocol==IPPROTO_UDP)){DATARMNETbd864aa442=(0xd26+209-0xdf6);break;}if(ip4h->
- protocol==IPPROTO_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=
- (0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&time);DATARMNETe30c7cdaf5=
- ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),DATARMNETecc0627c70.
- DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.hrtimer_wake)){
- hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
- DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
- DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
- (0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
- ns_to_ktime((0xbf7+4070-0x172d)*DATARMNET68fc0be252),HRTIMER_MODE_REL|
- HRTIMER_MODE_PINNED);__pm_stay_awake(DATARMNETecc0627c70.ws);DATARMNET064fbe9e3a
- =(0xd1f+216-0xdf5);}if(!hrtimer_active(&DATARMNETecc0627c70.DATARMNET645fb3b468)
- ){hrtimer_start(&DATARMNETecc0627c70.DATARMNET645fb3b468,ns_to_ktime(
- (0xdf7+3019-0x160c)*DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);
- if(DATARMNETe30c7cdaf5>DATARMNET12f3a261a0&&DATARMNETecc0627c70.
- DATARMNETdd3caf9200){DATARMNET930a441406[DATARMNETe35e238437]++;}else{*ret=
- (0xd26+209-0xdf6);}}else{DATARMNET930a441406[DATARMNETe35e238437]++;}if(
- trace_print_icmp_rx_enabled()){char saddr[INET6_ADDRSTRLEN],daddr[
- INET6_ADDRSTRLEN];u16 ip_proto=(0xd2d+202-0xdf7);__be16 sequence=
- (0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);struct icmphdr*icmphdr,
- DATARMNET5aa29a2264;memset(saddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);memset(
- daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmphdr=DATARMNETefcaf5fbe9(skb,ip4h->
- ihl*(0xd11+230-0xdf3),sizeof(*icmphdr),&DATARMNET5aa29a2264);if(!icmphdr)goto
- DATARMNET03fd0cd6e6;if(icmphdr->type!=ICMP_ECHOREPLY&&icmphdr->type!=ICMP_ECHO)
- goto DATARMNET03fd0cd6e6;ip_proto=htons(ETH_P_IP);type=icmphdr->type;sequence=
- icmphdr->un.echo.sequence;snprintf(saddr,INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&
- ip4h->saddr);snprintf(daddr,INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&ip4h->daddr);
- trace_print_icmp_rx(skb,ip_proto,type,sequence,saddr,daddr);}}else if(ip4h->
- protocol==IPPROTO_ESP){skb->hash=DATARMNETaa0602144b;skb->sw_hash=
- (0xd26+209-0xdf6);DATARMNETcb9ef310a4++;}DATARMNET03fd0cd6e6:break;case htons(
- ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
- DATARMNETcf1d9e2c1e);if(!ip6h)break;if(!(ip6h->nexthdr==NEXTHDR_FRAGMENT)&&(ip6h
- ->nexthdr==IPPROTO_TCP||ip6h->nexthdr==IPPROTO_UDP)){DATARMNETbd864aa442=
- (0xd26+209-0xdf6);break;}if(ip6h->nexthdr==NEXTHDR_ICMP){skb->hash=
- (0xd2d+202-0xdf7);skb->sw_hash=(0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&
- time);DATARMNETe30c7cdaf5=ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),
- DATARMNETecc0627c70.DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.
- hrtimer_wake)){hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
- DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
- DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
- (0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
- ns_to_ktime((0xbf7+4070-0x172d)*DATARMNET68fc0be252),HRTIMER_MODE_REL|
- HRTIMER_MODE_PINNED);__pm_stay_awake(DATARMNETecc0627c70.ws);DATARMNET064fbe9e3a
- =(0xd1f+216-0xdf5);}if(!hrtimer_active(&DATARMNETecc0627c70.DATARMNET645fb3b468)
- ){hrtimer_start(&DATARMNETecc0627c70.DATARMNET645fb3b468,ns_to_ktime(
- (0xdf7+3019-0x160c)*DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);
- if(DATARMNETe30c7cdaf5>DATARMNET12f3a261a0&&DATARMNETecc0627c70.
- DATARMNETdd3caf9200){DATARMNET930a441406[DATARMNETe35e238437]++;}else{*ret=
- (0xd26+209-0xdf6);}}else{DATARMNET930a441406[DATARMNETe35e238437]++;}if(
- trace_print_icmp_rx_enabled()){char saddr[INET6_ADDRSTRLEN],daddr[
- INET6_ADDRSTRLEN];u16 ip_proto=(0xd2d+202-0xdf7);__be16 sequence=
- (0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);struct icmp6hdr*icmp6hdr,
- DATARMNETaa41336581;memset(saddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);memset(
- daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmp6hdr=DATARMNETefcaf5fbe9(skb,
- sizeof(*ip6h),sizeof(*icmp6hdr),&DATARMNETaa41336581);if(!icmp6hdr)goto
- DATARMNETf623862dd4;if(icmp6hdr->icmp6_type!=ICMPV6_ECHO_REQUEST&&icmp6hdr->
- icmp6_type!=ICMPV6_ECHO_REPLY)goto DATARMNETf623862dd4;ip_proto=htons(ETH_P_IPV6
- );type=icmp6hdr->icmp6_type;sequence=icmp6hdr->icmp6_sequence;snprintf(saddr,
- INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->saddr);snprintf(daddr,
- INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->daddr);trace_print_icmp_rx(skb,
- ip_proto,type,sequence,saddr,daddr);}}else if(ip6h->nexthdr==NEXTHDR_ESP){skb->
- hash=DATARMNETaa0602144b;skb->sw_hash=(0xd26+209-0xdf6);DATARMNETcb9ef310a4++;}
- else if(ip6h->nexthdr==NEXTHDR_FRAGMENT){if(skb->len-sizeof(struct ipv6hdr)<(int
- )sizeof(struct ipv6_opt_hdr)){break;}DATARMNET7b34b7b5be=skb_header_pointer(skb,
- sizeof(struct ipv6hdr),sizeof(DATARMNET1688a97aa4),&DATARMNET1688a97aa4);if(
- DATARMNET7b34b7b5be&&DATARMNET7b34b7b5be->nexthdr==NEXTHDR_ESP){skb->hash=
- DATARMNETaa0602144b;skb->sw_hash=(0xd26+209-0xdf6);DATARMNETcb9ef310a4++;}}
- DATARMNETf623862dd4:break;default:break;}done:DATARMNETda96251102(
- DATARMNETcd24fca747,DATARMNET116c96c236,DATARMNETbd864aa442,(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);return DATARMNETbd864aa442;}
- static void DATARMNETfa919d00dc(int cpu,int DATARMNET8a461bad56){struct
- timespec64 DATARMNET2e47295bf1;struct timespec64*DATARMNET736ac5582e;long
- DATARMNETb64270afc1;int DATARMNETa67155ba38=(DATARMNETa1ac2608b5<
- DATARMNET8948dc953d)?DATARMNET8948dc953d:DATARMNETa1ac2608b5;
- ktime_get_boottime_ts64(&DATARMNET2e47295bf1);DATARMNET736ac5582e=&
- DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380;
- DATARMNETb64270afc1=DATARMNETe6671dbf38(DATARMNET2e47295bf1.tv_sec-
- DATARMNET736ac5582e->tv_sec)+DATARMNET2e47295bf1.tv_nsec-DATARMNET736ac5582e->
- tv_nsec;if(DATARMNETb64270afc1>=DATARMNETa67155ba38*DATARMNET68fc0be252){if(
- DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f>
- DATARMNETd75e474598[cpu])DATARMNETd75e474598[cpu]=DATARMNETecc0627c70.
- DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f;DATARMNETecc0627c70.
- DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380.tv_sec=DATARMNET2e47295bf1.tv_sec;
- DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].DATARMNET251b97a380.tv_nsec=
- DATARMNET2e47295bf1.tv_nsec;DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].
- DATARMNETe61d62310f=DATARMNET8a461bad56;}else{DATARMNETecc0627c70.
- DATARMNET132b9c7dc4[cpu].DATARMNETe61d62310f+=DATARMNET8a461bad56;}}void
- DATARMNETe767554e6e(struct sk_buff*skb){DATARMNETda96251102(DATARMNET6b317c4c73,
- DATARMNET43225b7a7c,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),skb,NULL);netif_receive_skb(skb);}void DATARMNET514ce0bf59(
- struct sk_buff*skb){DATARMNETda96251102(DATARMNET6b317c4c73,DATARMNET43225b7a7c,
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,
- NULL);netif_rx(skb);}static struct sk_buff*DATARMNET0e315f0262(struct sk_buff*
- skb,u16 DATARMNETf8272cfb41){struct skb_shared_info*shinfo=skb_shinfo(skb);
- struct sk_buff*DATARMNET6643e66666,*tmp;u16 gso_size=shinfo->gso_size;u16
- gso_segs=shinfo->gso_segs;unsigned int gso_type=shinfo->gso_type;if(
- DATARMNETf8272cfb41>=gso_segs){return NULL;}shinfo->gso_segs=DIV_ROUND_UP(
- gso_segs,DATARMNETf8272cfb41);shinfo->gso_size=gso_size*DATARMNETf8272cfb41;
- DATARMNET6643e66666=__skb_gso_segment(skb,NETIF_F_SG,false);if(unlikely(
- IS_ERR_OR_NULL(DATARMNET6643e66666))){shinfo->gso_size=gso_size;shinfo->gso_segs
- =gso_segs;return NULL;}if(DATARMNETf8272cfb41<=(0xd26+209-0xdf6))return
- DATARMNET6643e66666;for(tmp=DATARMNET6643e66666;tmp;tmp=tmp->next){struct
- skb_shared_info*DATARMNETa7dac37e66=skb_shinfo(tmp);DATARMNETa7dac37e66->
- gso_type=gso_type;DATARMNETa7dac37e66->gso_size=gso_size;if(gso_segs>=
- DATARMNETf8272cfb41)DATARMNETa7dac37e66->gso_segs=DATARMNETf8272cfb41;else
- DATARMNETa7dac37e66->gso_segs=gso_segs;gso_segs-=DATARMNETf8272cfb41;if(gso_segs
- <=(0xd26+209-0xdf6)){break;}}return DATARMNET6643e66666;}static void
- DATARMNET21243b86ae(struct sk_buff*DATARMNETe08e18123e,u8 DATARMNETf345c1d909,
- u16 DATARMNET87636d0152){struct sk_buff*skb=NULL;struct sk_buff*
- DATARMNETcebafc57a4=NULL;struct sk_buff*DATARMNET39bcb0d197=NULL;int count=
- (0xd2d+202-0xdf7);DATARMNETda96251102(DATARMNET6b317c4c73,DATARMNET43225b7a7c,
- (0xd26+209-0xdf6),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- DATARMNETe08e18123e,NULL);DATARMNET39bcb0d197=DATARMNET0e315f0262(
- DATARMNETe08e18123e,DATARMNET87636d0152);if(DATARMNET39bcb0d197==NULL){if(
- DATARMNETf345c1d909==DATARMNET0b15fd8b54)netif_receive_skb(DATARMNETe08e18123e);
- else netif_rx(DATARMNETe08e18123e);return;}for((skb=DATARMNET39bcb0d197);skb!=
- NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4=skb->next;skb->hash=
- DATARMNETe08e18123e->hash;skb->dev=DATARMNETe08e18123e->dev;skb->next=NULL;if(
- DATARMNETf345c1d909==DATARMNET0b15fd8b54)netif_receive_skb(skb);else netif_rx(
- skb);count+=(0xd26+209-0xdf6);}consume_skb(DATARMNETe08e18123e);return;}int
- DATARMNET2efb1a51c7(struct DATARMNET63d7680df2*node_p){int ret=(0xd2d+202-0xdf7)
- ;int DATARMNET42c3ecbd5e=(0xd26+209-0xdf6);u16 idx=(0xd2d+202-0xdf7);for(idx=
- (0xd2d+202-0xdf7);idx<DATARMNETc6782fed88;idx++){if(node_p->DATARMNET341ea38662
- ->DATARMNET1a1d89d417&DATARMNET42c3ecbd5e)ret++;DATARMNET42c3ecbd5e=
- DATARMNET42c3ecbd5e<<(0xd26+209-0xdf6);}return ret;}int DATARMNET762cfa52fe(u8
- mask){int ret=DATARMNETb91aee91fd;int DATARMNETd416f5b047=DATARMNETb91aee91fd;u8
- DATARMNET05e5e122cd=(0xd2d+202-0xdf7);u8 i;for(i=(0xd2d+202-0xdf7);i<
- DATARMNETc6782fed88;i++){if(!(mask&((0xd26+209-0xdf6)<<i)))continue;if(mask&(
- (0xd26+209-0xdf6)<<i))DATARMNET05e5e122cd++;if(list_empty(&DATARMNET0997c5650d[i
- ].DATARMNET3dc4262f53))return i;if(DATARMNETcff375d916[i]<=DATARMNETd416f5b047||
- DATARMNETd416f5b047==DATARMNETb91aee91fd){ret=i;DATARMNETd416f5b047=
- DATARMNETcff375d916[i];}}return ret;}static int DATARMNETaef946bb68(u8 index,u8
- mask){int ret=DATARMNETb91aee91fd;u8 DATARMNET05e5e122cd=(0xd2d+202-0xdf7);u8 i;
- for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(DATARMNET05e5e122cd==index
- &&(mask&((0xd26+209-0xdf6)<<i)))return i;if(mask&((0xd26+209-0xdf6)<<i))
- DATARMNET05e5e122cd++;}return ret;}int DATARMNET6af33ebb5b(struct
- DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu=DATARMNETb91aee91fd;u8
- DATARMNETd4a0b11b47;u8 DATARMNET7dc3d97229;if(DATARMNET63b1a086d5->
- DATARMNET85c698ec34)return DATARMNETecc0627c70.DATARMNET5c24e1df05;else if(
- DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNETef866573e0&&
- DATARMNET362b15f941(DATARMNET63b1a086d5->map_cpu)){cpu=DATARMNET762cfa52fe(
- DATARMNETbc3c416b77&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
- DATARMNET121c8bc82a&DATARMNET63b1a086d5->DATARMNETfbbec4c537);if(cpu<
- (0xd2d+202-0xdf7)&&DATARMNET63b1a086d5->DATARMNET341ea38662!=NULL){cpu=
- DATARMNET63b1a086d5->DATARMNET341ea38662->DATARMNET6e1a4eaf09;}}else if(
- DATARMNET63b1a086d5->DATARMNET341ea38662!=NULL){cpu=DATARMNET63b1a086d5->
- DATARMNET341ea38662->DATARMNET6e1a4eaf09;if(((0xd26+209-0xdf6)<<
- DATARMNET63b1a086d5->map_cpu)&(DATARMNETecc0627c70.DATARMNETba3f7a11ef|
- DATARMNET121c8bc82a)){DATARMNETd4a0b11b47=(DATARMNETbc3c416b77&(
- (0xd26+209-0xdf6)<<cpu))?DATARMNETbc3c416b77:DATARMNET9273f84bf1;if(!(
- DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
- DATARMNET121c8bc82a&DATARMNET63b1a086d5->DATARMNETfbbec4c537))
- DATARMNETd4a0b11b47=DATARMNETbc3c416b77;cpu=DATARMNET762cfa52fe(
- DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
- DATARMNET121c8bc82a&DATARMNET63b1a086d5->DATARMNETfbbec4c537);if((
- (0xd26+209-0xdf6)<<DATARMNET63b1a086d5->map_cpu)&(DATARMNETecc0627c70.
- DATARMNETba3f7a11ef))DATARMNETb7ddf3c5dd[DATARMNET7f401828b3]++;}else if((
- (0xd26+209-0xdf6)<<cpu)&DATARMNETecc0627c70.DATARMNETba3f7a11ef){
- DATARMNETd4a0b11b47=(DATARMNETbc3c416b77&((0xd26+209-0xdf6)<<cpu))?
- DATARMNETbc3c416b77:DATARMNET9273f84bf1;DATARMNET7dc3d97229=(DATARMNETbc3c416b77
- &((0xd26+209-0xdf6)<<DATARMNET63b1a086d5->map_cpu))?DATARMNETbc3c416b77:
- DATARMNET9273f84bf1;if(!(DATARMNETd4a0b11b47&~DATARMNETecc0627c70.
- DATARMNETba3f7a11ef&~DATARMNET121c8bc82a&DATARMNET63b1a086d5->
- DATARMNETfbbec4c537))DATARMNETd4a0b11b47=DATARMNETbc3c416b77;if(
- DATARMNETd4a0b11b47!=DATARMNET7dc3d97229)cpu=DATARMNET762cfa52fe(
- DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5
- ->DATARMNETfbbec4c537);else cpu=DATARMNET63b1a086d5->map_cpu;}else if(
- DATARMNET0997c5650d[cpu].DATARMNETef866573e0){cpu=DATARMNET63b1a086d5->map_cpu;}
- }return cpu;}int DATARMNETb6bff4a724(struct DATARMNET63d7680df2*
- DATARMNET63b1a086d5){int cpu,idx=DATARMNETb91aee91fd;cpu=DATARMNET6af33ebb5b(
- DATARMNET63b1a086d5);idx=DATARMNET04e8d1b862(cpu,DATARMNET63b1a086d5->
- DATARMNETfbbec4c537);if(unlikely(idx<(0xd2d+202-0xdf7)))idx=DATARMNET04e8d1b862(
- DATARMNET63b1a086d5->map_cpu,DATARMNET63b1a086d5->DATARMNETfbbec4c537);
- DATARMNETda96251102(DATARMNETf3aaad06eb,DATARMNETf2fc7954d4,DATARMNET63b1a086d5
- ->hash,cpu,idx,(0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);return idx;}static
- int DATARMNET2af09ccd0b(int cpu,int DATARMNET63a222ae1f,int DATARMNETea08087fc0)
- {int ret=(0xd2d+202-0xdf7);if(DATARMNETecc0627c70.DATARMNET132b9c7dc4[cpu].
- DATARMNETe61d62310f>=DATARMNET65393dea13[cpu]){ret=DATARMNET0efbbe2821;}if(
- DATARMNET63a222ae1f&&((DATARMNETeea3cef5b6(cpu)+DATARMNETea08087fc0)>=
- DATARMNETbc049ffc4c[cpu]))ret=DATARMNETa4267dfd8a;return ret;}void
- DATARMNET349c3a0cab(u16 map_cpu,bool DATARMNETb639f6e1b1){if(map_cpu<
- DATARMNETc6782fed88)(DATARMNETb639f6e1b1)?DATARMNETcff375d916[map_cpu]++:
- DATARMNETcff375d916[map_cpu]--;else DATARMNET68d84e7b98[DATARMNETcc0ef52ccb]++;}
- void DATARMNETb1157fd5c4(u8 DATARMNET42a992465f){if(DATARMNET42a992465f>=
- DATARMNETc6782fed88)return;rcu_read_lock();DATARMNET0997c5650d[
- DATARMNET42a992465f].DATARMNETae196235f2=DATARMNET9c1c20df35(softnet_data,
- DATARMNET42a992465f);DATARMNET0997c5650d[DATARMNET42a992465f].qtail=
- DATARMNET78ec5e8746(softnet_data,DATARMNET42a992465f);rcu_read_unlock();
- DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET96571b28de=DATARMNET0997c5650d
- [DATARMNET42a992465f].qtail-DATARMNET0997c5650d[DATARMNET42a992465f].
- DATARMNETae196235f2;DATARMNETda96251102(DATARMNET75d955c408,DATARMNET5874e1ecd7,
- DATARMNET42a992465f,DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETae196235f2
- ,DATARMNET0997c5650d[DATARMNET42a992465f].qtail,(0x16e8+787-0xc0c),NULL,NULL);}
- void DATARMNETe074a09496(void){u8 DATARMNET42a992465f;rcu_read_lock();for(
- DATARMNET42a992465f=(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;
- DATARMNET42a992465f++){if(!cpu_online(DATARMNET42a992465f))continue;
- DATARMNETb1157fd5c4(DATARMNET42a992465f);DATARMNETda96251102(DATARMNET75d955c408
- ,DATARMNET5874e1ecd7,DATARMNET42a992465f,DATARMNET0997c5650d[DATARMNET42a992465f
- ].DATARMNETae196235f2,DATARMNET0997c5650d[DATARMNET42a992465f].qtail,
- (0x16e8+787-0xc0c),NULL,NULL);}rcu_read_unlock();}int DATARMNET765b8ecfba(struct
- net_device*dev,u8 cpu,u8 DATARMNET5780499e9c){struct DATARMNET177911299b
- DATARMNETecb92a9ca5;if(rmnet_is_real_dev_registered(dev)){if(DATARMNET713da9913c
- (dev->_rx,cpu,DATARMNET5780499e9c)==(0xd2d+202-0xdf7)){DATARMNETecc0627c70.
- DATARMNETba3f7a11ef=(0xd26+209-0xdf6)<<cpu;DATARMNETecc0627c70.
- DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;DATARMNETecc0627c70.
- DATARMNET7d667e828e=cpu;DATARMNET1d4b1eff85(&DATARMNETecb92a9ca5,
- DATARMNETecc0627c70.DATARMNET6625085b71,cpu);DATARMNETb5d58adbe7(&
- DATARMNETecb92a9ca5);}else{return-(0xd26+209-0xdf6);}}else{DATARMNET68d84e7b98[
- DATARMNET767c76ca08]++;}return(0xd2d+202-0xdf7);}int DATARMNETe488c1c396(struct
- DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8
- DATARMNET5447204733){int DATARMNET5c4a331b9c;u32 DATARMNETd3673fd5f0;u32
- DATARMNET9bbfe49633;int ret=(0xd2d+202-0xdf7);int DATARMNET5a2e9192f9=-
- (0xd26+209-0xdf6);int DATARMNET8ceb7a8cc9;int DATARMNET42a992465f;int
- DATARMNETcfb5dc7296;struct DATARMNETe600c5b727*DATARMNET373e474754;u8 map=
- DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET5c4a331b9c=DATARMNETb6bff4a724
- (DATARMNET63b1a086d5);do{DATARMNET5a2e9192f9=DATARMNET63b1a086d5->map_cpu;if(
- DATARMNET5c4a331b9c<(0xd2d+202-0xdf7)){DATARMNET63b1a086d5->DATARMNET6250e93187=
- (0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}DATARMNET63b1a086d5->
- DATARMNET6250e93187=(0xd26+209-0xdf6);if(!map){DATARMNET63b1a086d5->
- DATARMNET6250e93187=(0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}if(
- DATARMNET5c4a331b9c==DATARMNET63b1a086d5->map_index){ret=(0xd26+209-0xdf6);break
- ;}if(!DATARMNET63b1a086d5->DATARMNET85c698ec34)DATARMNETd3673fd5f0=
- DATARMNETadb0248bd4(DATARMNET63b1a086d5->map_cpu);else DATARMNETd3673fd5f0=
- DATARMNETadb0248bd4(DATARMNETecc0627c70.DATARMNET7d667e828e);DATARMNET9bbfe49633
- =DATARMNET63b1a086d5->queue_head;DATARMNET42a992465f=DATARMNET63b1a086d5->
- map_cpu;if((!DATARMNET63b1a086d5->DATARMNET85c698ec34&&DATARMNETd3673fd5f0>=(
- DATARMNET9bbfe49633+DATARMNET63b1a086d5->DATARMNET0371465875))||(
- DATARMNETd87669e323>=DATARMNETa7d45fb6d4||(DATARMNETd87669e323&&
- DATARMNET63b1a086d5->DATARMNET85c698ec34))||(!DATARMNET63b1a086d5->
- DATARMNET85c698ec34&&!DATARMNETeea3cef5b6(DATARMNET42a992465f)&&++
- DATARMNET14ed771dfb[DATARMNET0d07041c32])){if(likely(DATARMNETa7909611da)){
- DATARMNETcfb5dc7296=DATARMNETaef946bb68(DATARMNET5c4a331b9c,DATARMNET63b1a086d5
- ->DATARMNETfbbec4c537);if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){ret=
- (0xd26+209-0xdf6);break;}DATARMNET0997c5650d[DATARMNETcfb5dc7296].
- DATARMNET4133fc9428+=DATARMNET63b1a086d5->DATARMNETae4b27456e.
- DATARMNET6215127f48;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
- DATARMNET4133fc9428-=DATARMNET63b1a086d5->DATARMNETae4b27456e.
- DATARMNET6215127f48;DATARMNET63b1a086d5->map_index=DATARMNET5c4a331b9c;
- DATARMNET63b1a086d5->map_cpu=DATARMNETcfb5dc7296;DATARMNET8ceb7a8cc9=
- DATARMNET63b1a086d5->map_cpu;if(DATARMNETd3673fd5f0<(DATARMNET9bbfe49633+
- DATARMNET63b1a086d5->DATARMNET0371465875)){DATARMNETb7ddf3c5dd[
- DATARMNET28bb261646]++;DATARMNETb7ddf3c5dd[DATARMNET67b67dc88f]+=(
- DATARMNET9bbfe49633-DATARMNETd3673fd5f0)+DATARMNET63b1a086d5->
- DATARMNET0371465875;DATARMNET4bde88919f(DATARMNET42a992465f,(DATARMNET9bbfe49633
- -DATARMNETd3673fd5f0)+DATARMNET63b1a086d5->DATARMNET0371465875);pr_info(
- "\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"
- ,DATARMNET63b1a086d5->DATARMNET85c698ec34,DATARMNETcfb5dc7296,
- DATARMNET42a992465f,DATARMNET63b1a086d5->DATARMNET0371465875,DATARMNET9bbfe49633
- ,DATARMNETd3673fd5f0,DATARMNETd87669e323,DATARMNETeea3cef5b6(DATARMNET42a992465f
- ),DATARMNETeea3cef5b6(DATARMNETcfb5dc7296));}if(DATARMNET0997c5650d[
- DATARMNET42a992465f].DATARMNETef866573e0){DATARMNET0997c5650d[
- DATARMNET8ceb7a8cc9].DATARMNET1e1f197118=(0xd26+209-0xdf6);DATARMNETb7ddf3c5dd[
- DATARMNETc3bce05be2]++;}else if(((0xd26+209-0xdf6)<<DATARMNET42a992465f)&
- DATARMNET121c8bc82a){DATARMNETb7ddf3c5dd[DATARMNET6bf40b86f6]++;}else{
- DATARMNETb7ddf3c5dd[DATARMNET14067f0be4]++;}DATARMNET373e474754=&
- DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu];DATARMNETe074a09496();
- DATARMNET63b1a086d5->queue_head=DATARMNET373e474754->DATARMNETae196235f2;
- DATARMNET63b1a086d5->queue_head+=DATARMNET63b1a086d5->DATARMNETae4b27456e.
- DATARMNET6215127f48;if(DATARMNET63b1a086d5->DATARMNET341ea38662)
- DATARMNET63b1a086d5->DATARMNET341ea38662->DATARMNET6e1a4eaf09=
- DATARMNET8ceb7a8cc9;DATARMNETe102b3a798(DATARMNET63b1a086d5,&DATARMNET373e474754
- ->DATARMNET3dc4262f53,DATARMNET42a992465f);DATARMNET52de1f3dc0(
- DATARMNET4510abc30d,DATARMNET052f49b190,DATARMNET63b1a086d5->map_cpu,
- DATARMNET5a2e9192f9,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET63b1a086d5,
- NULL);}ret=(0xd26+209-0xdf6);}}while((0xd2d+202-0xdf7));DATARMNETda96251102(
- DATARMNET4510abc30d,DATARMNET23b8465daf,ret,DATARMNET63b1a086d5->map_cpu,
- DATARMNET5a2e9192f9,(0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);return ret;}
- void DATARMNETfbc06e60f1(u8 DATARMNET42a992465f){struct DATARMNET63d7680df2*
- DATARMNET3f85732c70;struct list_head*DATARMNET7b34b7b5be,*next;u32
- DATARMNET61ab18a4bd;u32 DATARMNETed7800fc72=(0xd2d+202-0xdf7);u32
- DATARMNETa0df5de99d=(0xd2d+202-0xdf7);u32 DATARMNET8bf94cc2f7=(0xd2d+202-0xdf7);
- u32 DATARMNET76192fa639=(0xd2d+202-0xdf7);DATARMNETe074a09496();
- DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETde91850c28,DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),NULL,NULL);spin_lock_bh(&DATARMNET3764d083f0);
- DATARMNET61ab18a4bd=DATARMNETeb3978575d(DATARMNET42a992465f);list_for_each_safe(
- DATARMNET7b34b7b5be,next,&DATARMNET0997c5650d[DATARMNET42a992465f].
- DATARMNET3dc4262f53){DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct
- DATARMNET63d7680df2,DATARMNET04c88b8191);if(DATARMNET3f85732c70->
- DATARMNETae4b27456e.DATARMNET6215127f48){DATARMNETed7800fc72=DATARMNET3f85732c70
- ->DATARMNETae4b27456e.DATARMNET6215127f48;DATARMNETa0df5de99d=
- DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNETbaa5765693;DATARMNETe02152c351
- (DATARMNET3f85732c70,DATARMNET6aecae7be2,DATARMNET5b5927fd7e,NULL);
- DATARMNET8bf94cc2f7+=DATARMNETed7800fc72;DATARMNET76192fa639+=
- DATARMNETa0df5de99d;if(DATARMNET3f85732c70->map_cpu==DATARMNET42a992465f){
- DATARMNET61ab18a4bd+=DATARMNETed7800fc72;DATARMNET3f85732c70->queue_head=
- DATARMNET61ab18a4bd;}}}DATARMNETecc0627c70.DATARMNETc252a1f55d-=
- DATARMNET76192fa639;DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNET8bf94cc2f7
- ;DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0=(0xd2d+202-0xdf7);
- DATARMNETecc0627c70.DATARMNET132b9c7dc4[DATARMNET42a992465f].DATARMNETe61d62310f
- =(0xd2d+202-0xdf7);DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428=
- (0xd2d+202-0xdf7);spin_unlock_bh(&DATARMNET3764d083f0);if(DATARMNET42a992465f==
- DATARMNETecc0627c70.DATARMNET6625085b71&&rcu_dereference(rmnet_shs_switch)){
- DATARMNETa871eeb7e7();DATARMNETecc0627c70.DATARMNETfeee6933fc=(0xd2d+202-0xdf7);
- DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;
- }DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET576793621a,DATARMNETecc0627c70
- .DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,DATARMNET8bf94cc2f7
- ,DATARMNET76192fa639,NULL,NULL);}void DATARMNET056c939591(struct work_struct*
- DATARMNET33110a3ff5){struct DATARMNETa6f2d499b2*DATARMNET4b39dc1574=container_of
- (DATARMNET33110a3ff5,struct DATARMNETa6f2d499b2,DATARMNET33110a3ff5);
- DATARMNETfbc06e60f1(DATARMNET4b39dc1574->DATARMNET42c3ecbd5e);
- DATARMNET14ed771dfb[DATARMNETbb5757569c]++;}void DATARMNETcba2f7f7b6(struct
- DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETf345c1d909,struct sk_buff**
- DATARMNETc88d0a6cdd){struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=
- NULL;u32 DATARMNETe20a9cab2b=(0xd2d+202-0xdf7);u32 DATARMNETb481d13a78=
- (0xd2d+202-0xdf7);u32 DATARMNET1fcbf046ec=(0xd2d+202-0xdf7);u8 map=
- (0xd2d+202-0xdf7),DATARMNET0258668025=(0xd2d+202-0xdf7);u16 DATARMNET87636d0152=
- (0xd2d+202-0xdf7);u16 index;u8 DATARMNET3894230a14=(0xd2d+202-0xdf7);u8 cpu;if(!
- DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;if(!DATARMNET63b1a086d5->
- DATARMNETfbbec4c537){map=DATARMNETecc0627c70.map_mask;DATARMNET0258668025=
- DATARMNETecc0627c70.map_len;index=DATARMNET63b1a086d5->map_index;}else{map=
- DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET0258668025=DATARMNET63b1a086d5
- ->DATARMNETa59ce1fd2d;index=DATARMNET63b1a086d5->map_index;}cpu=
- DATARMNET63b1a086d5->map_cpu;if(DATARMNET0997c5650d[cpu].DATARMNET72067bf727){
- DATARMNET3894230a14=DATARMNET0997c5650d[cpu].DATARMNET72067bf727&&
- rmnet_shs_no_sync_off;}if(map){DATARMNET1fcbf046ec=DATARMNET8532ab3089(index,
- DATARMNET0258668025,DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash,
- DATARMNET3894230a14);}else{DATARMNET63b1a086d5->DATARMNET6250e93187=
- (0xd2d+202-0xdf7);}DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETe4ee0d2636,
- DATARMNET63b1a086d5->hash,DATARMNET1fcbf046ec,DATARMNET63b1a086d5->
- DATARMNETae4b27456e.DATARMNET6215127f48,DATARMNET63b1a086d5->DATARMNETae4b27456e
- .DATARMNETbaa5765693,DATARMNET63b1a086d5,DATARMNET63b1a086d5->
- DATARMNETae4b27456e.head);DATARMNET87636d0152=(u16)DATARMNET63b1a086d5->
- DATARMNET341ea38662->DATARMNET87636d0152;for((skb=DATARMNET63b1a086d5->
- DATARMNETae4b27456e.head);skb!=NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4
- =skb->next;if(DATARMNET63b1a086d5->DATARMNET6250e93187)skb->hash=
- DATARMNET1fcbf046ec;skb->next=NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6);
- DATARMNETb481d13a78+=skb->len;if(DATARMNET3894230a14)DATARMNET952c960091++;if(
- DATARMNET87636d0152>(0xd2d+202-0xdf7)&&!DATARMNET63b1a086d5->DATARMNET85c698ec34
- ){if(DATARMNET63b1a086d5->DATARMNET1e9d25d9ff==IPPROTO_UDP)DATARMNET68d84e7b98[
- DATARMNETdd6bf3de6b]++;DATARMNET21243b86ae(skb,DATARMNETf345c1d909,
- DATARMNET87636d0152);}else{if(DATARMNETf345c1d909==DATARMNET0b15fd8b54&&(!
- DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
- DATARMNETf345c1d909==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
- DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else if(DATARMNET63b1a086d5->
- DATARMNET85c698ec34&&DATARMNETf345c1d909==DATARMNET0b15fd8b54&&
- DATARMNETc88d0a6cdd){if(!*DATARMNETc88d0a6cdd){skb->prev=skb;*
- DATARMNETc88d0a6cdd=skb;}else{(*DATARMNETc88d0a6cdd)->prev->next=skb;(*
- DATARMNETc88d0a6cdd)->prev=skb;}}else{DATARMNET14ed771dfb[DATARMNET94658618fc]++
- ;netif_rx(skb);}}}DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=
- (0xd2d+202-0xdf7);DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=
- (0xd2d+202-0xdf7);DATARMNET63b1a086d5->DATARMNETae4b27456e.head=NULL;
- DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=NULL;DATARMNET52de1f3dc0(
- DATARMNET4510abc30d,DATARMNETfb753e521e,DATARMNET63b1a086d5->hash,
- DATARMNET1fcbf046ec,DATARMNETe20a9cab2b,DATARMNETb481d13a78,DATARMNET63b1a086d5,
- NULL);}void DATARMNET23c7ddd780(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,
- u8 DATARMNET5447204733){struct sk_buff*skb;struct sk_buff*DATARMNETcebafc57a4=
- NULL;u32 DATARMNETe20a9cab2b=(0xd2d+202-0xdf7);u32 DATARMNETb481d13a78=
- (0xd2d+202-0xdf7);u32 DATARMNET1fcbf046ec;u8 map,DATARMNET0258668025;if(!
- DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;map=DATARMNET63b1a086d5->
- DATARMNETfbbec4c537;DATARMNET0258668025=DATARMNET63b1a086d5->DATARMNETa59ce1fd2d
- ;if(map){DATARMNET1fcbf046ec=DATARMNET8532ab3089(DATARMNET63b1a086d5->map_index,
- DATARMNET0258668025,DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash,
- (0xd2d+202-0xdf7));}else{DATARMNET63b1a086d5->DATARMNET6250e93187=
- (0xd2d+202-0xdf7);}for((skb=DATARMNET63b1a086d5->DATARMNETae4b27456e.head);skb!=
- NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4=skb->next;if(
- DATARMNET63b1a086d5->DATARMNET6250e93187)skb->hash=DATARMNET1fcbf046ec;skb->next
- =NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6);DATARMNETb481d13a78+=skb->len;if(
- DATARMNET5447204733==DATARMNET0b15fd8b54&&(!DATARMNET63b1a086d5->
- DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(DATARMNET5447204733==
- DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->DATARMNET85c698ec34))
- DATARMNET514ce0bf59(skb);else{netif_rx(skb);}}DATARMNET68d84e7b98[
- DATARMNET72db8b9bac]++;DATARMNETecc0627c70.DATARMNETc252a1f55d-=
- DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNETe20a9cab2b
- ;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNET4133fc9428-=
- DATARMNETe20a9cab2b;}int DATARMNETe02152c351(struct DATARMNET63d7680df2*
- DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 DATARMNET5447204733,struct sk_buff
- **DATARMNETc88d0a6cdd){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);int map=
- DATARMNET63b1a086d5->DATARMNETfbbec4c537;int DATARMNET5643f7b5e9;
- DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET022082b219,DATARMNETd87669e323,
- DATARMNET5447204733,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET63b1a086d5,
- NULL);if(DATARMNETaef946bb68(DATARMNET63b1a086d5->map_index,map)!=
- DATARMNET63b1a086d5->map_cpu){DATARMNET5643f7b5e9=DATARMNET04e8d1b862(
- DATARMNET63b1a086d5->map_cpu,map);if(DATARMNET5643f7b5e9>=(0xd2d+202-0xdf7)){
- DATARMNET63b1a086d5->map_index=DATARMNET5643f7b5e9;DATARMNET63b1a086d5->map_cpu=
- DATARMNETaef946bb68(DATARMNET5643f7b5e9,map);}else{DATARMNET63b1a086d5->
- map_index=DATARMNET2edff26954;DATARMNET63b1a086d5->map_cpu=DATARMNETaef946bb68(
- DATARMNET2edff26954,map);if(DATARMNET63b1a086d5->map_cpu<(0xd2d+202-0xdf7))
- DATARMNET63b1a086d5->map_cpu=DATARMNET2edff26954;}DATARMNETd87669e323=
- (0xd26+209-0xdf6);DATARMNET68d84e7b98[DATARMNETa1f9420686]++;DATARMNET015fb2ba0e
- (DATARMNET720469c0a9,DATARMNET998c6de143,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}if(DATARMNETe488c1c396(
- DATARMNET63b1a086d5,DATARMNETd87669e323,DATARMNET5447204733)){
- DATARMNETcba2f7f7b6(DATARMNET63b1a086d5,DATARMNET5447204733,DATARMNETc88d0a6cdd)
- ;DATARMNETbd864aa442=(0xd26+209-0xdf6);}DATARMNET52de1f3dc0(DATARMNET4510abc30d,
- DATARMNET64b02f64c6,DATARMNETbd864aa442,DATARMNETd87669e323,(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);return DATARMNETbd864aa442;}static
- void DATARMNETc54e431bbc(u8 DATARMNET42a992465f,u8 DATARMNET7845d39672,u32
- DATARMNETea08087fc0){u32 DATARMNETba6017a3a9=(!DATARMNET227d2ff866)?
- (0xd26+209-0xdf6):DATARMNET227d2ff866;int DATARMNETd9d8392917;if((
- DATARMNETd9d8392917=DATARMNET2af09ccd0b(DATARMNET42a992465f,DATARMNET7845d39672,
- DATARMNETea08087fc0))&&DATARMNET362b15f941(DATARMNET42a992465f)&&!
- DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0&&
- DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNET42a992465f&&
- DATARMNET42a992465f!=(0xd26+209-0xdf6)){DATARMNETba6017a3a9=(!
- DATARMNET7845d39672)?DATARMNET249a927510:DATARMNETba6017a3a9;DATARMNET0997c5650d
- [DATARMNET42a992465f].DATARMNETef866573e0=(0xd26+209-0xdf6);DATARMNETfb7007f025(
- );if(hrtimer_active(&DATARMNETba5ea4329f(DATARMNET42a992465f)))hrtimer_cancel(&
- DATARMNETba5ea4329f(DATARMNET42a992465f));hrtimer_start(&DATARMNETba5ea4329f(
- DATARMNET42a992465f),ns_to_ktime(DATARMNETba6017a3a9*DATARMNET68fc0be252),
- HRTIMER_MODE_REL);DATARMNETb7ddf3c5dd[DATARMNETd9d8392917]++;}}void
- DATARMNETe377e0368d(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){struct
- DATARMNET63d7680df2*DATARMNET3f85732c70=NULL;struct DATARMNET63d7680df2*
- DATARMNETbb236c7d08=NULL;struct list_head*DATARMNET7b34b7b5be=NULL,*next=NULL;
- struct sk_buff*DATARMNETc88d0a6cdd=NULL;int DATARMNET42a992465f;u32
- DATARMNET61ab18a4bd;u32 DATARMNETed7800fc72=(0xd2d+202-0xdf7);u32
- DATARMNETa0df5de99d=(0xd2d+202-0xdf7);u32 DATARMNETe56f4fbbe6=(0xd2d+202-0xdf7);
- u32 DATARMNET8bf94cc2f7=(0xd2d+202-0xdf7);u32 DATARMNET76192fa639=
- (0xd2d+202-0xdf7);u32 DATARMNET870611bedd=(0xd2d+202-0xdf7);u32
- DATARMNETa6424e3c4e=(0xd2d+202-0xdf7);u8 DATARMNET77e7f4db43=(0xd2d+202-0xdf7);
- struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=NULL;struct
- DATARMNETe600c5b727*DATARMNETa4055affd5=NULL;DATARMNETe074a09496();
- DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETde91850c28,DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),NULL,NULL);for(DATARMNET42a992465f=(0xd2d+202-0xdf7);
- DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++){
- DATARMNET61ab18a4bd=DATARMNETeb3978575d(DATARMNET42a992465f);DATARMNET870611bedd
- =(0xd2d+202-0xdf7);DATARMNETe56f4fbbe6=(0xd2d+202-0xdf7);list_for_each_safe(
- DATARMNET7b34b7b5be,next,&DATARMNET0997c5650d[DATARMNET42a992465f].
- DATARMNET3dc4262f53){DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct
- DATARMNET63d7680df2,DATARMNET04c88b8191);DATARMNETe56f4fbbe6+=
- DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET35234676d4;}if(
- DATARMNET12565c8f98){DATARMNETc54e431bbc(DATARMNET42a992465f,DATARMNET20dc6bb36b
- ,DATARMNETe56f4fbbe6);}list_for_each_safe(DATARMNET7b34b7b5be,next,&
- DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET3dc4262f53){
- DATARMNET3f85732c70=list_entry(DATARMNET7b34b7b5be,struct DATARMNET63d7680df2,
- DATARMNET04c88b8191);if(DATARMNET3f85732c70->DATARMNETae4b27456e.
- DATARMNET6215127f48){if(DATARMNET3f85732c70->DATARMNET85c698ec34)
- DATARMNETbb236c7d08=DATARMNET3f85732c70;DATARMNETed7800fc72=DATARMNET3f85732c70
- ->DATARMNETae4b27456e.DATARMNET6215127f48;DATARMNETa0df5de99d=
- DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNETbaa5765693;DATARMNETa6424e3c4e
- =DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET35234676d4;
- DATARMNET77e7f4db43=DATARMNETe02152c351(DATARMNET3f85732c70,DATARMNETded3da1a77,
- DATARMNET5447204733,&DATARMNETc88d0a6cdd);if(DATARMNET77e7f4db43){
- DATARMNET870611bedd+=DATARMNETa6424e3c4e;DATARMNET8bf94cc2f7+=
- DATARMNETed7800fc72;DATARMNET76192fa639+=DATARMNETa0df5de99d;DATARMNET0997c5650d
- [DATARMNET3f85732c70->map_cpu].DATARMNET4133fc9428-=DATARMNETed7800fc72;
- DATARMNET3f85732c70->DATARMNETae4b27456e.DATARMNET35234676d4=(0xd2d+202-0xdf7);
- if(DATARMNET3f85732c70->map_cpu==DATARMNET42a992465f){DATARMNET61ab18a4bd+=
- DATARMNETed7800fc72;DATARMNET3f85732c70->queue_head=DATARMNET61ab18a4bd;}}}}if(
- DATARMNET12565c8f98){if(DATARMNET362b15f941(DATARMNET42a992465f)&&!
- DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0)DATARMNETfa919d00dc
- (DATARMNET42a992465f,DATARMNET870611bedd);DATARMNETc54e431bbc(
- DATARMNET42a992465f,DATARMNET20dc6bb36b,(0xd2d+202-0xdf7));}if(
- DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428<(0xd2d+202-0xdf7))
- DATARMNET68d84e7b98[DATARMNET33a9d4759f]++;if(DATARMNETeea3cef5b6(
- DATARMNET42a992465f)>=DATARMNET84413d1257[DATARMNET42a992465f])
- DATARMNET84413d1257[DATARMNET42a992465f]=DATARMNETeea3cef5b6(DATARMNET42a992465f
- );}DATARMNETecc0627c70.DATARMNETc252a1f55d-=DATARMNET76192fa639;
- DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNET8bf94cc2f7;if(
- DATARMNETc88d0a6cdd&&DATARMNETbb236c7d08){DATARMNETa4055affd5=&
- DATARMNET0997c5650d[DATARMNETbb236c7d08->map_cpu];DATARMNETecc0627c70.
- DATARMNET75af9f3c31=(0xd26+209-0xdf6);spin_unlock_bh(&DATARMNET3764d083f0);
- DATARMNETbb236c7d08->DATARMNET0371465875=(0xd2d+202-0xdf7);for((skb=
- DATARMNETc88d0a6cdd);skb!=NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4=skb
- ->next;skb->next=NULL;DATARMNETde8ee16f92(DATARMNETbb236c7d08);rmnet_rx_handler(
- &skb);DATARMNET3e37ad2816(DATARMNETbb236c7d08,&DATARMNETa4055affd5->
- DATARMNET3dc4262f53);}spin_lock_bh(&DATARMNET3764d083f0);DATARMNETa871eeb7e7();
- DATARMNETecc0627c70.DATARMNET75af9f3c31=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
- DATARMNETfeee6933fc=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET6625085b71=
- DATARMNETecc0627c70.DATARMNET7d667e828e;}DATARMNET52de1f3dc0(DATARMNET4510abc30d
- ,DATARMNET576793621a,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70
- .DATARMNETc252a1f55d,DATARMNET8bf94cc2f7,DATARMNET76192fa639,NULL,NULL);if((
- DATARMNETecc0627c70.DATARMNETc252a1f55d<=(0xd2d+202-0xdf7))||(
- DATARMNETecc0627c70.DATARMNETa2e32cdd3a<=(0xd2d+202-0xdf7))){DATARMNETecc0627c70
- .DATARMNETc252a1f55d=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETa2e32cdd3a=
- (0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd2d+202-0xdf7);
- DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;}}void
- DATARMNETa4bf9fbf64(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){spin_lock_bh(
- &DATARMNET3764d083f0);DATARMNETe377e0368d(DATARMNETded3da1a77,
- DATARMNET5447204733);spin_unlock_bh(&DATARMNET3764d083f0);if(DATARMNET5447204733
- ==DATARMNET5b5927fd7e){if(DATARMNET365ddeca1c&&DATARMNETecc0627c70.
- DATARMNETc252a1f55d&&DATARMNETecc0627c70.DATARMNETa2e32cdd3a){if(hrtimer_active(
- &DATARMNETecc0627c70.DATARMNET6fd692fc7a))hrtimer_cancel(&DATARMNETecc0627c70.
- DATARMNET6fd692fc7a);hrtimer_start(&DATARMNETecc0627c70.DATARMNET6fd692fc7a,
- ns_to_ktime(DATARMNET4ac8af832c*DATARMNET68fc0be252),HRTIMER_MODE_REL);}
- DATARMNET14ed771dfb[DATARMNETd45c383019]++;}}void DATARMNET495dab3d72(struct
- sk_buff*skb,struct DATARMNET63d7680df2*DATARMNET63b1a086d5,struct
- rmnet_shs_clnt_s*DATARMNET0bf01e7c6f){u8 DATARMNET7d63e92341=(0xd2d+202-0xdf7);
- #ifdef DATARMNETdddae6afa8
- if(!(DATARMNET0bf01e7c6f->config&DATARMNET2a76d433b3)&&skb->cb[
- DATARMNET8fadb49f38]){DATARMNETe377e0368d((0xd2d+202-0xdf7),DATARMNET0b15fd8b54)
- ;DATARMNET14ed771dfb[DATARMNETc8058e2cff]++;DATARMNET7d63e92341=
- (0xd26+209-0xdf6);}
- #endif
- if(skb_shinfo(skb)->gso_segs){DATARMNET63b1a086d5->DATARMNET11930c5df8+=
- skb_shinfo(skb)->gso_segs;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
- DATARMNET4133fc9428++;DATARMNET63b1a086d5->DATARMNETae4b27456e.
- DATARMNET35234676d4+=skb_shinfo(skb)->gso_segs;}else{DATARMNET63b1a086d5->
- DATARMNET11930c5df8+=(0xd26+209-0xdf6);DATARMNET0997c5650d[DATARMNET63b1a086d5->
- map_cpu].DATARMNET4133fc9428++;DATARMNET63b1a086d5->DATARMNETae4b27456e.
- DATARMNET35234676d4++;}DATARMNET63b1a086d5->DATARMNETa8940e4a7b+=
- (0xd26+209-0xdf6);DATARMNET63b1a086d5->DATARMNET3ecedac168+=RMNET_SKB_CB(skb)->
- coal_bytes;DATARMNET63b1a086d5->DATARMNETce5f56eab9+=RMNET_SKB_CB(skb)->
- coal_bufsize;DATARMNET63b1a086d5->bif=RMNET_SKB_CB(skb)->bif;DATARMNET63b1a086d5
- ->ack_thresh=RMNET_SKB_CB(skb)->ack_thresh;DATARMNET63b1a086d5->
- DATARMNET2594c418db+=skb->len;DATARMNET63b1a086d5->DATARMNETae4b27456e.
- DATARMNETbaa5765693+=skb->len;DATARMNETecc0627c70.DATARMNETc252a1f55d+=skb->len;
- if(DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48>
- (0xd2d+202-0xdf7)){DATARMNET63b1a086d5->DATARMNETae4b27456e.tail->next=skb;
- DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=DATARMNET63b1a086d5->
- DATARMNETae4b27456e.tail->next;}else{DATARMNET63b1a086d5->DATARMNETae4b27456e.
- head=skb;DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=skb;}DATARMNET63b1a086d5
- ->DATARMNETae4b27456e.DATARMNET6215127f48+=(0xd26+209-0xdf6);DATARMNETecc0627c70
- .DATARMNETa2e32cdd3a+=(0xd26+209-0xdf6);if(unlikely(DATARMNET7d63e92341))
- DATARMNETe377e0368d((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);DATARMNET52de1f3dc0(
- DATARMNET720469c0a9,DATARMNETf5c836f9ae,DATARMNET63b1a086d5->DATARMNETae4b27456e
- .DATARMNET6215127f48,DATARMNET63b1a086d5->DATARMNETae4b27456e.
- DATARMNETbaa5765693,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70.
- DATARMNETc252a1f55d,skb,DATARMNET63b1a086d5);}static void DATARMNETa7afc8cdaa(
- struct work_struct*DATARMNET33110a3ff5){DATARMNET52de1f3dc0(DATARMNET4510abc30d,
- DATARMNET816bb1e327,(0xd2d+202-0xdf7),DATARMNETecc0627c70.DATARMNET34097703c8,
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET34097703c8==
- DATARMNETb3e3b2a799){local_bh_disable();DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),
- DATARMNET5b5927fd7e);local_bh_enable();}DATARMNET52de1f3dc0(DATARMNET4510abc30d,
- DATARMNETf311f20c00,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),NULL,NULL);}enum hrtimer_restart DATARMNET0a73c53ae6(struct
- hrtimer*DATARMNET6e4292679f){enum hrtimer_restart ret=HRTIMER_NORESTART;
- DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET237e7bd5f6,DATARMNETecc0627c70.
- DATARMNET34097703c8,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- NULL,NULL);if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>(0xd2d+202-0xdf7)){if(
- DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNET7bc926fdbe){
- DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNETb3e3b2a799;hrtimer_forward(
- DATARMNET6e4292679f,hrtimer_cb_get_time(DATARMNET6e4292679f),ns_to_ktime(
- DATARMNET00d5787aad));ret=HRTIMER_RESTART;DATARMNET52de1f3dc0(
- DATARMNET4510abc30d,DATARMNETf16e78412b,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}else if(
- DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNET8dcf06727b){
- DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET7bc926fdbe;}else if(
- DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNETb3e3b2a799){
- DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET83147a2e7d,DATARMNETecc0627c70.
- DATARMNET34097703c8,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- NULL,NULL);schedule_work((struct work_struct*)&shs_rx_work);}}return ret;}enum
- hrtimer_restart DATARMNET2ba63fbd90(struct hrtimer*DATARMNET6e4292679f){const
- enum hrtimer_restart ret=HRTIMER_NORESTART;__pm_relax(DATARMNETecc0627c70.ws);
- DATARMNET064fbe9e3a=(0xd26+209-0xdf6);return ret;}enum hrtimer_restart
- DATARMNETc2b0dbbb32(struct hrtimer*DATARMNET6e4292679f){const enum
- hrtimer_restart ret=HRTIMER_NORESTART;struct DATARMNET177911299b
- DATARMNET9f249e95ee;struct timespec64 time;DATARMNET8d0d510d45(
- DATARMNETe4a6d22824,&DATARMNET9f249e95ee);DATARMNETb5d58adbe7(&
- DATARMNET9f249e95ee);ktime_get_boottime_ts64(&time);DATARMNETecc0627c70.
- DATARMNETdd3caf9200=ktime_set(time.tv_sec,time.tv_nsec);return ret;}enum
- hrtimer_restart DATARMNET4ce9744605(struct hrtimer*DATARMNET6e4292679f){const
- enum hrtimer_restart ret=HRTIMER_NORESTART;struct DATARMNETa6f2d499b2*
- DATARMNET4b39dc1574=container_of(DATARMNET6e4292679f,struct DATARMNETa6f2d499b2,
- DATARMNET758a55f103);DATARMNET371703c28d();schedule_work(&DATARMNET4b39dc1574->
- DATARMNET33110a3ff5);return ret;}enum hrtimer_restart DATARMNETbfbe1f5cd0(struct
- hrtimer*DATARMNET6e4292679f){const enum hrtimer_restart ret=HRTIMER_NORESTART;
- DATARMNETda96251102(DATARMNETb77d87790d,DATARMNET623224aa0a,(0xd2d+202-0xdf7),
- (0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
- DATARMNETf20806b279();return ret;}void DATARMNETe1f95274f1(void){int i;for(i=
- (0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){DATARMNETecc0627c70.
- DATARMNET132b9c7dc4[i].DATARMNET42c3ecbd5e=i;INIT_WORK(&DATARMNETecc0627c70.
- DATARMNET132b9c7dc4[i].DATARMNET33110a3ff5,DATARMNET056c939591);hrtimer_init(&
- DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET758a55f103,CLOCK_MONOTONIC,
- HRTIMER_MODE_REL);DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET758a55f103
- .function=DATARMNET4ce9744605;}hrtimer_init(&DATARMNETecc0627c70.
- DATARMNET6fd692fc7a,CLOCK_MONOTONIC,HRTIMER_MODE_REL);DATARMNETecc0627c70.
- DATARMNET6fd692fc7a.function=DATARMNET0a73c53ae6;hrtimer_init(&
- DATARMNETecc0627c70.DATARMNET645fb3b468,CLOCK_MONOTONIC,HRTIMER_MODE_REL);
- DATARMNETecc0627c70.DATARMNET645fb3b468.function=DATARMNETc2b0dbbb32;
- hrtimer_init(&DATARMNETecc0627c70.hrtimer_wake,CLOCK_MONOTONIC,HRTIMER_MODE_REL)
- ;DATARMNETecc0627c70.hrtimer_wake.function=DATARMNET2ba63fbd90;hrtimer_init(&
- DATARMNETecc0627c70.DATARMNET533dba0f29,CLOCK_MONOTONIC,HRTIMER_MODE_REL);
- DATARMNETecc0627c70.DATARMNET533dba0f29.function=DATARMNETbfbe1f5cd0;INIT_WORK(&
- shs_rx_work.DATARMNET33110a3ff5,DATARMNETa7afc8cdaa);}unsigned int
- DATARMNET02cdd9b125(void){unsigned int DATARMNET9f4bc49c6f=DATARMNET12565c8f98;
- int i;DATARMNET12565c8f98=(0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<
- DATARMNETc6782fed88;i++){hrtimer_cancel(&DATARMNETba5ea4329f(i));
- cancel_work_sync(&DATARMNETecc0627c70.DATARMNET132b9c7dc4[i].DATARMNET33110a3ff5
- );}cancel_work_sync(&shs_rx_work.DATARMNET33110a3ff5);return DATARMNET9f4bc49c6f
- ;}int DATARMNET82e88dbb56(struct sk_buff_head*list,int cpu){struct sk_buff*skb;
- struct softnet_data*DATARMNETe95ad852b4=&per_cpu(softnet_data,cpu);rtnl_lock();
- while((skb=skb_dequeue_tail(list))!=NULL){if(rmnet_is_real_dev_registered(skb->
- dev)){DATARMNET68d84e7b98[DATARMNETf8de7cb644]++;dev_core_stats_rx_dropped_inc(
- skb->dev);input_queue_head_incr(DATARMNETe95ad852b4);DATARMNETe95ad852b4->
- dropped++;kfree_skb(skb);}}rtnl_unlock();return(0xd2d+202-0xdf7);}static int
- DATARMNET2aa4ef6ff9(struct notifier_block*DATARMNETea991f24f2,unsigned long
- DATARMNET7ee7b05b93,void*DATARMNETe53e117dd2){int DATARMNETc3193054f2,
- DATARMNET25fc1e341e,cpu;int*DATARMNETc628e18b55=(int*)DATARMNETe53e117dd2;struct
- sk_buff_head*DATARMNET49115bea94;struct sk_buff_head*DATARMNETaf21dd6000;
- for_each_possible_cpu(cpu){DATARMNET49115bea94=&DATARMNET3de2536baf(cpu);
- DATARMNETaf21dd6000=&DATARMNET832731a933(cpu);DATARMNETc3193054f2=skb_queue_len(
- DATARMNET49115bea94);DATARMNET25fc1e341e=skb_queue_len(DATARMNETaf21dd6000);if(
- DATARMNET1ad396a890&&(DATARMNETc3193054f2+DATARMNET25fc1e341e)>=
- DATARMNET1ad396a890){DATARMNET82e88dbb56(&per_cpu(softnet_data,cpu).
- input_pkt_queue,cpu);DATARMNETc3193054f2=skb_queue_len(DATARMNET49115bea94);
- DATARMNET25fc1e341e=skb_queue_len(DATARMNETaf21dd6000);if(DATARMNET25fc1e341e>=
- DATARMNET1ad396a890){DATARMNET82e88dbb56(DATARMNET49115bea94,cpu);}(*
- DATARMNETc628e18b55)++;}}return(0xd2d+202-0xdf7);}static struct notifier_block
- DATARMNET105c85d84c={.notifier_call=DATARMNET2aa4ef6ff9,};void
- DATARMNET4684d6c911(struct rmnet_map_pb_ind_hdr*DATARMNET4e61dda775){struct
- hrtimer*DATARMNET9c579dacb5;DATARMNETda96251102(DATARMNETb77d87790d,
- DATARMNETae009376be,DATARMNET4e61dda775->le.seq_num,DATARMNET4e61dda775->le.
- start_end_seq_num,DATARMNET4e61dda775->le.row_bytes_pending,DATARMNET4e61dda775
- ->le.fc_bytes_pending,NULL,NULL);DATARMNET202a68d7d0();DATARMNET9c579dacb5=&
- DATARMNETecc0627c70.DATARMNET533dba0f29;if(hrtimer_active(DATARMNET9c579dacb5))
- hrtimer_cancel(DATARMNET9c579dacb5);hrtimer_start(DATARMNET9c579dacb5,
- ns_to_ktime(DATARMNET2be16c76ac*DATARMNET68fc0be252),HRTIMER_MODE_REL);return;}
- void DATARMNET78bb6be330(struct rmnet_map_dl_ind_hdr*dlhdr,struct
- rmnet_map_control_command_header*qcmd){DATARMNET7ed4cef8a3(dlhdr);}void
- DATARMNET7ed4cef8a3(struct rmnet_map_dl_ind_hdr*dlhdr){DATARMNETda96251102(
- DATARMNET23f8730007,DATARMNET4ebbc01257,dlhdr->le.seq,dlhdr->le.pkts,
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(!DATARMNET016351c9e4||
- DATARMNET016351c9e4<dlhdr->le.seq)DATARMNET016351c9e4=dlhdr->le.seq;else{if(
- DATARMNET756bdd424a)pr_info(
- "\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"
- ,DATARMNET016351c9e4,dlhdr->le.seq);DATARMNET016351c9e4=dlhdr->le.seq;
- DATARMNET68d84e7b98[DATARMNETf352684b06]++;}if(!spin_is_locked(&
- DATARMNET3764d083f0)){if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>
- (0xd2d+202-0xdf7)&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=DATARMNET4ab5a31d0c)
- {DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;DATARMNETa4bf9fbf64(
- (0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}DATARMNETecc0627c70.DATARMNET6fe0db3a49=
- DATARMNET1c55e5fdb1;}}void DATARMNETf61cd23b90(struct rmnet_map_dl_ind_trl*dltrl
- ,struct rmnet_map_control_command_header*qcmd){DATARMNET613a81eca8(dltrl);}void
- DATARMNET613a81eca8(struct rmnet_map_dl_ind_trl*dltrl){DATARMNET52de1f3dc0(
- DATARMNET23f8730007,DATARMNET0808844559,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,
- (0xd2d+202-0xdf7),dltrl->seq_le,(0x16e8+787-0xc0c),NULL,NULL);
- DATARMNETecc0627c70.DATARMNET6fe0db3a49=DATARMNET4ab5a31d0c;if(
- DATARMNETecc0627c70.DATARMNETa2e32cdd3a>(0xd2d+202-0xdf7)&&!spin_is_locked(&
- DATARMNET3764d083f0)){DATARMNET14ed771dfb[DATARMNET84a9e136b8]++;
- DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}}void
- DATARMNETaeb508acb0(void){struct DATARMNETe2f668ccb4 DATARMNET5e1b15e908[
- DATARMNETc6782fed88];int i=(0xd2d+202-0xdf7),DATARMNET42a992465f=
- (0xd2d+202-0xdf7);int DATARMNET8b7fada323=(0xd2d+202-0xdf7),DATARMNET71967642e2=
- (0xd2d+202-0xdf7),cpu=(0xd2d+202-0xdf7),DATARMNET7e100af73e=(0xd2d+202-0xdf7);
- memset(DATARMNET5e1b15e908,(0xd2d+202-0xdf7),DATARMNETc6782fed88*sizeof(struct
- DATARMNETe2f668ccb4));for_each_cpu(cpu,cpu_possible_mask){DATARMNET7e100af73e=
- (0xd2d+202-0xdf7);DATARMNET5e1b15e908[cpu].DATARMNET42c3ecbd5e=cpu;
- DATARMNET5e1b15e908[cpu].DATARMNET24fec1b9ad=topology_cluster_id(cpu);
- for_each_cpu(DATARMNET7e100af73e,topology_cluster_cpumask(cpu)){
- DATARMNET5e1b15e908[cpu].DATARMNETf58377e952|=(0xd26+209-0xdf6)<<
- DATARMNET7e100af73e;}DATARMNET5e1b15e908[cpu].DATARMNET5c98629e14=
- arch_scale_cpu_capacity(cpu);rm_err(
- "\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"
- ,DATARMNET5e1b15e908[cpu].DATARMNET42c3ecbd5e,DATARMNET5e1b15e908[cpu].
- DATARMNET24fec1b9ad,DATARMNET5e1b15e908[cpu].DATARMNETf58377e952,
- DATARMNET5e1b15e908[cpu].DATARMNET5c98629e14);}DATARMNET8b7fada323=
- DATARMNET5e1b15e908[(0xd2d+202-0xdf7)].DATARMNET5c98629e14;DATARMNET71967642e2=
- (0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(
- DATARMNET5e1b15e908[i].DATARMNET5c98629e14<DATARMNET8b7fada323){
- DATARMNET8b7fada323=DATARMNET5e1b15e908[i].DATARMNET5c98629e14;
- DATARMNET71967642e2=i;}}DATARMNETecc0627c70.DATARMNET637025ccc1=
- DATARMNET5e1b15e908[DATARMNET71967642e2].DATARMNETf58377e952;DATARMNETecc0627c70
- .DATARMNET2f954f58f8=hweight_long(DATARMNETecc0627c70.DATARMNET637025ccc1);
- DATARMNETecc0627c70.DATARMNETf510b48c29=((0xbf7+4364-0x1c04)^DATARMNETecc0627c70
- .DATARMNET637025ccc1);for(DATARMNET42a992465f=(0xd2d+202-0xdf7);
- DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++){if((
- (0xd26+209-0xdf6)<<DATARMNET42a992465f)&DATARMNETecc0627c70.DATARMNET637025ccc1)
- {DATARMNET4793ed48af[DATARMNET42a992465f]=DATARMNET9bc9e0cac3;
- DATARMNET713717107f[DATARMNET42a992465f]=DATARMNETb38cb72105;}else{
- DATARMNET4793ed48af[DATARMNET42a992465f]=DATARMNET22feab5726;DATARMNET713717107f
- [DATARMNET42a992465f]=DATARMNET243c638e7d;}}rm_err(
- "\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"
- ,DATARMNETecc0627c70.DATARMNET2f954f58f8,DATARMNETecc0627c70.DATARMNET637025ccc1
- ,DATARMNETecc0627c70.DATARMNETf510b48c29);}void DATARMNET45d8cdb224(struct
- net_device*dev,struct net_device*vnd){struct rps_map*map;int rc;u8
- DATARMNET0e4304d903;u8 map_mask;u8 map_len;if(DATARMNETecc0627c70.
- DATARMNETfc89d842ae)return;map=rcu_dereference(vnd->_rx->rps_map);if(!map){
- map_mask=(0xd2d+202-0xdf7);map_len=(0xd2d+202-0xdf7);}else{map_mask=
- DATARMNET928c931df9(map);map_len=DATARMNET310c3eb16e(map_mask);}
- DATARMNETecc0627c70.port=rmnet_get_port(dev);DATARMNETecc0627c70.map_mask=
- map_mask;DATARMNETecc0627c70.map_len=map_len;DATARMNETecc0627c70.
- DATARMNETba3f7a11ef=(0xd1f+216-0xdf5);DATARMNETecc0627c70.DATARMNET5c24e1df05=
- (0xd26+209-0xdf6);DATARMNETecc0627c70.DATARMNET6625085b71=(0xd26+209-0xdf6);
- DATARMNETecc0627c70.DATARMNET7d667e828e=(0xd26+209-0xdf6);DATARMNETaeb508acb0();
- for(DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<
- DATARMNETc6782fed88;DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[
- DATARMNET0e4304d903].DATARMNET3dc4262f53);DATARMNETe6e8431304();
- DATARMNET44499733f2();rc=register_oom_notifier(&DATARMNET105c85d84c);if(rc<
- (0xd2d+202-0xdf7)){pr_info(
- "\x52\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x6f\x6d\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x69\x6c\x75\x72\x65"
- );}pr_info(
- "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x69\x74\x20\x77\x69\x74\x68\x20\x25\x78"
- ,DATARMNETecc0627c70.map_mask);DATARMNETecc0627c70.ws=wakeup_source_register(
- NULL,"\x52\x4d\x4e\x45\x54\x5f\x53\x48\x53");DATARMNETecc0627c70.
- DATARMNETfc89d842ae=(0xd26+209-0xdf6);}void DATARMNETeacad8334e(void){struct
- hlist_node*tmp;struct DATARMNET63d7680df2*DATARMNET63b1a086d5;struct sk_buff*
- DATARMNET9a788b5480;int bkt;struct sk_buff*buf;if(!DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a)return;spin_lock_bh(&DATARMNET3764d083f0);hash_for_each_safe
- (DATARMNETe603c3a4b3,bkt,tmp,DATARMNET63b1a086d5,list){for((buf=
- DATARMNET63b1a086d5->DATARMNETae4b27456e.head);buf!=NULL;buf=DATARMNET9a788b5480
- ){DATARMNET9a788b5480=buf->next;if(buf)consume_skb(buf);}DATARMNET63b1a086d5->
- DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);DATARMNET63b1a086d5->
- DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);DATARMNET63b1a086d5->
- DATARMNETae4b27456e.head=NULL;DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=NULL
- ;}DATARMNETecc0627c70.DATARMNETc252a1f55d=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETd9cfd2812b=
- (0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;
- spin_unlock_bh(&DATARMNET3764d083f0);}void DATARMNET02fc8b29a0(struct
- DATARMNET63d7680df2*node_p,struct rmnet_shs_clnt_s*DATARMNET0bf01e7c6f,struct
- net_device*dev){u32 DATARMNET421230d879;u32 DATARMNET5eee131e74;node_p->
- DATARMNET85c698ec34=(0xd26+209-0xdf6);node_p->DATARMNETfbbec4c537=
- DATARMNET0bf01e7c6f->map_mask;node_p->DATARMNETa59ce1fd2d=DATARMNET310c3eb16e(
- node_p->DATARMNETfbbec4c537);node_p->map_cpu=DATARMNETecc0627c70.
- DATARMNET7d667e828e;node_p->map_index=node_p->map_cpu;node_p->
- DATARMNET0371465875=(0xd2d+202-0xdf7);if(DATARMNET362b15f941(node_p->map_cpu)){
- DATARMNET5e4aeef593(DATARMNETecc0627c70.DATARMNET5c24e1df05);DATARMNETfb7007f025
- ();}DATARMNET765b8ecfba(dev,DATARMNETecc0627c70.DATARMNET5c24e1df05,
- (0xd26+209-0xdf6));DATARMNET421230d879=(DATARMNET3de2536baf(node_p->map_cpu).
- qlen+DATARMNET832731a933(node_p->map_cpu).qlen);if(DATARMNET421230d879>
- DATARMNET673cf85e28)DATARMNET673cf85e28=DATARMNET421230d879;node_p->queue_head=
- DATARMNETeb3978575d(DATARMNETecc0627c70.DATARMNET5c24e1df05)+DATARMNET421230d879
- ;DATARMNET5eee131e74=(DATARMNET3de2536baf(DATARMNETecc0627c70.
- DATARMNET5c24e1df05).qlen+DATARMNET832731a933(DATARMNETecc0627c70.
- DATARMNET5c24e1df05).qlen);if(DATARMNET362b15f941(node_p->map_cpu)){if(!
- hrtimer_active(&DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&
- DATARMNETba5ea4329f(node_p->map_cpu),ns_to_ktime((DATARMNET566e381630)*
- DATARMNET68fc0be252),HRTIMER_MODE_REL);}}else if((DATARMNET421230d879+
- DATARMNET5eee131e74)<DATARMNET0085702236){if(!hrtimer_active(&
- DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&DATARMNETba5ea4329f(node_p
- ->map_cpu),ns_to_ktime((DATARMNET566e381630/(0xeb7+1130-0x130d))*
- DATARMNET68fc0be252),HRTIMER_MODE_REL);}}else{if(!hrtimer_active(&
- DATARMNETba5ea4329f(node_p->map_cpu))){hrtimer_start(&DATARMNETba5ea4329f(node_p
- ->map_cpu),ns_to_ktime((DATARMNET566e381630/(0xd1f+216-0xdf5))*
- DATARMNET68fc0be252),HRTIMER_MODE_REL);}}}int DATARMNET756778f14f(struct sk_buff
- *skb,struct rmnet_shs_clnt_s*DATARMNET0bf01e7c6f){struct DATARMNET63d7680df2*
- node_p;struct hlist_node*tmp;int map=DATARMNETecc0627c70.map_mask;int
- DATARMNETcfb5dc7296;int map_cpu;u32 DATARMNET5c4a331b9c,hash;u8 is_match_found=
- (0xd2d+202-0xdf7);u8 DATARMNET935af10724=(0xd2d+202-0xdf7);u8
- DATARMNET7c5ef97eab=(0xd2d+202-0xdf7);struct DATARMNETe600c5b727*
- DATARMNETa4055affd5;struct rmnet_priv*priv;u8 DATARMNET5b3782c91e=
- (0xd2d+202-0xdf7);struct DATARMNET177911299b DATARMNET9f249e95ee;int
- DATARMNETd0bfb31db5=(0xd2d+202-0xdf7);u8 DATARMNETd07e717728=(0xd2d+202-0xdf7);
- if(!(DATARMNET0bf01e7c6f->config&RMNET_SHS_STMP_ALL)&&!DATARMNET9303cec796(skb,&
- DATARMNET5b3782c91e)){if(DATARMNET5b3782c91e){DATARMNETe767554e6e(skb);
- DATARMNET8d0d510d45(DATARMNETafc650134e,&DATARMNET9f249e95ee);
- DATARMNETb5d58adbe7(&DATARMNET9f249e95ee);}else{DATARMNETe767554e6e(skb);}return
- (0xd2d+202-0xdf7);}if((unlikely(!map))||!DATARMNETecc0627c70.DATARMNETfc89d842ae
- ){DATARMNETe767554e6e(skb);DATARMNET015fb2ba0e(DATARMNET720469c0a9,
- DATARMNETe0fee0991a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),NULL,NULL);DATARMNET68d84e7b98[DATARMNETe3c02ddaeb]++;return
- (0xd2d+202-0xdf7);}DATARMNET52de1f3dc0(DATARMNET720469c0a9,DATARMNET856c53293b,
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,
- NULL);hash=skb_get_hash(skb);if(DATARMNET0bf01e7c6f->map_mask){skb->hash=57005;
- hash=57005;if(raw_smp_processor_id()==DATARMNETecc0627c70.DATARMNET6625085b71&&
- DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNETecc0627c70.DATARMNET7d667e828e
- ){netif_rx(skb);DATARMNETecc0627c70.DATARMNETfeee6933fc++;if(DATARMNETecc0627c70
- .DATARMNETfeee6933fc>DATARMNETf4cacbb5dc){DATARMNETa4bf9fbf64(
- DATARMNETf3dfa53867,DATARMNET0b15fd8b54);DATARMNETa871eeb7e7();
- DATARMNET68d84e7b98[DATARMNET43405942ed]++;DATARMNETecc0627c70.
- DATARMNETfeee6933fc=(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}}spin_lock_bh(&
- DATARMNET3764d083f0);do{hash_for_each_possible_safe(DATARMNETe603c3a4b3,node_p,
- tmp,list,hash){if(hash!=node_p->hash)continue;DATARMNETda96251102(
- DATARMNET720469c0a9,DATARMNET08b6defcff,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);DATARMNET5c4a331b9c=node_p->
- map_index;is_match_found=(0xd26+209-0xdf6);DATARMNET935af10724=(0xd26+209-0xdf6)
- ;if(node_p->DATARMNET80eb31d7b8){if(node_p->DATARMNET80eb31d7b8==
- DATARMNET64165df74d){if(DATARMNETe24386452c(skb)){node_p->DATARMNET80eb31d7b8=
- DATARMNET6a801720f2;}else{node_p->DATARMNET80eb31d7b8=DATARMNETf8fcf5a1db;}}
- spin_unlock_bh(&DATARMNET3764d083f0);node_p->DATARMNET11930c5df8+=
- (0xd26+209-0xdf6);node_p->DATARMNET2594c418db+=skb->len;DATARMNETf5821256ad(skb,
- DATARMNET0bf01e7c6f);return(0xd2d+202-0xdf7);}if(node_p->DATARMNET85c698ec34){
- DATARMNETe074a09496();if(raw_smp_processor_id()!=DATARMNETecc0627c70.
- DATARMNET7d667e828e){DATARMNET68d84e7b98[DATARMNETbb641cd339]++;}if(
- DATARMNETecc0627c70.DATARMNET5c24e1df05!=DATARMNETecc0627c70.DATARMNET7d667e828e
- ){if(node_p->map_cpu!=DATARMNETecc0627c70.DATARMNET7d667e828e){
- DATARMNETa4055affd5=&DATARMNET0997c5650d[DATARMNETecc0627c70.DATARMNET7d667e828e
- ];DATARMNETe102b3a798(node_p,&DATARMNETa4055affd5->DATARMNET3dc4262f53,node_p->
- map_cpu);DATARMNETb7ddf3c5dd[DATARMNETcf84373518]++;}DATARMNET02fc8b29a0(node_p,
- DATARMNET0bf01e7c6f,skb->dev);netif_rx(skb);break;}node_p->DATARMNET0371465875++
- ;DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);if(!rcu_dereference(
- rmnet_shs_switch)){DATARMNET68d84e7b98[DATARMNET2e68f4bd9f]++;
- DATARMNET7c5ef97eab=DATARMNET27fb9a225d;break;}if(DATARMNETadb0248bd4(
- DATARMNETecc0627c70.DATARMNET7d667e828e)>=(node_p->queue_head+node_p->
- DATARMNET0371465875)){DATARMNET7c5ef97eab=DATARMNETbbf8fe40aa;break;}if(
- DATARMNETaf998640fd&&node_p->DATARMNETae4b27456e.DATARMNET6215127f48>
- DATARMNETaf998640fd){DATARMNET14ed771dfb[DATARMNETcc3c294f38]++;
- DATARMNET7c5ef97eab=DATARMNET95c85e6fe1;break;}spin_unlock_bh(&
- DATARMNET3764d083f0);return(0xd2d+202-0xdf7);}else DATARMNET495dab3d72(skb,
- node_p,DATARMNET0bf01e7c6f);break;}if(is_match_found)break;DATARMNETd0bfb31db5=(
- DATARMNET9273f84bf1&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
- DATARMNET121c8bc82a&DATARMNETecc0627c70.map_mask)?DATARMNET9273f84bf1:
- DATARMNETbc3c416b77;if(DATARMNET0bf01e7c6f->map_mask){DATARMNETcfb5dc7296=
- DATARMNET362c14e98b(DATARMNETecc0627c70.map_mask&DATARMNETd0bfb31db5&~
- DATARMNETecc0627c70.DATARMNETba3f7a11ef&~DATARMNET121c8bc82a);}else{
- DATARMNETcfb5dc7296=DATARMNET762cfa52fe(DATARMNETecc0627c70.map_mask&
- DATARMNETd0bfb31db5&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
- DATARMNET121c8bc82a);}if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){
- DATARMNET68d84e7b98[DATARMNETa1f9420686]++;break;}if(atomic_long_read(&
- DATARMNETecc0627c70.DATARMNET64bb8a8f57)>DATARMNETbfe31ef643){
- DATARMNET68d84e7b98[DATARMNETe6e77f9f03]++;break;}node_p=kzalloc(sizeof(*node_p)
- ,GFP_ATOMIC);if(!node_p){DATARMNET68d84e7b98[DATARMNET394acaf558]++;break;}
- atomic_long_inc(&DATARMNETecc0627c70.DATARMNET64bb8a8f57);node_p->dev=skb->dev;
- node_p->hash=skb->hash;node_p->map_cpu=DATARMNETcfb5dc7296;node_p->map_index=
- DATARMNET04e8d1b862(node_p->map_cpu,map);INIT_LIST_HEAD(&node_p->
- DATARMNET04c88b8191);DATARMNET44459105b4(skb,node_p);DATARMNET350f55bfca(node_p)
- ;if(!node_p->DATARMNET341ea38662){atomic_long_dec(&DATARMNETecc0627c70.
- DATARMNET64bb8a8f57);kfree(node_p);break;}if(DATARMNET0bf01e7c6f->map_mask){
- DATARMNETe074a09496();DATARMNET02fc8b29a0(node_p,DATARMNET0bf01e7c6f,skb->dev);}
- else{node_p->DATARMNETfbbec4c537=DATARMNETecc0627c70.map_mask;node_p->
- DATARMNETa59ce1fd2d=DATARMNETecc0627c70.map_len;}map_cpu=node_p->map_cpu;
- DATARMNETa4055affd5=&DATARMNET0997c5650d[map_cpu];priv=netdev_priv(node_p->dev);
- if(!priv){rm_err(
- "\x70\x72\x69\x76\x20\x66\x6f\x72\x20\x6e\x65\x74\x64\x65\x76\x20\x69\x73\x20\x6e\x75\x6c\x6c\x20\x66\x6f\x72\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78"
- ,node_p->hash);DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;}else{node_p->
- DATARMNET341ea38662->mux_id=priv->mux_id;rm_err(
- "\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"
- ,node_p->hash,node_p->DATARMNET341ea38662->mux_id);}DATARMNET3e37ad2816(node_p,&
- DATARMNETa4055affd5->DATARMNET3dc4262f53);hash_add_rcu(DATARMNETe603c3a4b3,&
- node_p->list,skb->hash);if(DATARMNETe24386452c(skb)){node_p->DATARMNET80eb31d7b8
- =DATARMNET6a801720f2;spin_unlock_bh(&DATARMNET3764d083f0);DATARMNETf5821256ad(
- skb,DATARMNET0bf01e7c6f);return(0xd2d+202-0xdf7);}if(!node_p->
- DATARMNET85c698ec34)DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);else{
- netif_rx(skb);spin_unlock_bh(&DATARMNET3764d083f0);return(0xd2d+202-0xdf7);}
- DATARMNET935af10724=(0xd26+209-0xdf6);break;}while((0xd2d+202-0xdf7));if(!
- DATARMNET935af10724){spin_unlock_bh(&DATARMNET3764d083f0);DATARMNET68d84e7b98[
- DATARMNET99db6e7d86]++;DATARMNETe767554e6e(skb);DATARMNET015fb2ba0e(
- DATARMNET720469c0a9,DATARMNETe0fee0991a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return(0xd2d+202-0xdf7);}if(!
- DATARMNETecc0627c70.DATARMNETd9cfd2812b&&DATARMNETecc0627c70.DATARMNETa2e32cdd3a
- &&DATARMNET365ddeca1c){DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd26+209-0xdf6)
- ;DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET7bc926fdbe;DATARMNETd07e717728
- =(0xd26+209-0xdf6);}spin_unlock_bh(&DATARMNET3764d083f0);if(DATARMNETd07e717728)
- {if(hrtimer_active(&DATARMNETecc0627c70.DATARMNET6fd692fc7a)){
- DATARMNETda96251102(DATARMNET720469c0a9,DATARMNETf730f80f06,DATARMNET2f67183a86,
- (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);
- hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);}hrtimer_start(&
- DATARMNETecc0627c70.DATARMNET6fd692fc7a,ns_to_ktime(DATARMNET4ac8af832c*
- DATARMNET68fc0be252),HRTIMER_MODE_REL);DATARMNETda96251102(DATARMNET720469c0a9,
- DATARMNETdd870ee64c,DATARMNET2f67183a86,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),skb,NULL);}if(DATARMNETecc0627c70.DATARMNETa2e32cdd3a>
- DATARMNET7d18c0bcf8){if(DATARMNET58b009b16b)DATARMNET14ed771dfb[
- DATARMNET802083239a]++;DATARMNET52de1f3dc0(DATARMNET4510abc30d,
- DATARMNET562b7d32a8,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),NULL,NULL);DATARMNETa4bf9fbf64(DATARMNET0acd775aa8,
- DATARMNET0b15fd8b54);}else if(DATARMNETecc0627c70.DATARMNETc252a1f55d>
- DATARMNETea75c7b6f6){if(DATARMNET58b009b16b)DATARMNET14ed771dfb[
- DATARMNETed69052342]++;DATARMNET52de1f3dc0(DATARMNET4510abc30d,
- DATARMNET99640d60f7,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
- (0x16e8+787-0xc0c),NULL,NULL);DATARMNETa4bf9fbf64(DATARMNET2217440c2e,
- DATARMNET0b15fd8b54);}else if(DATARMNET7c5ef97eab){DATARMNET52de1f3dc0(
- DATARMNET4510abc30d,DATARMNET562b7d32a8,(0xd26+209-0xdf6),DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);if(
- DATARMNET58b009b16b)DATARMNET14ed771dfb[DATARMNETdf6ecde77a]++;
- DATARMNETa4bf9fbf64(DATARMNET7c5ef97eab,DATARMNET0b15fd8b54);}else if((
- DATARMNET0bf01e7c6f->config&RMNET_SHS_NO_DLMKR)&&DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a){if(DATARMNET58b009b16b)DATARMNET14ed771dfb[
- DATARMNET04dac3a62b]++;DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54
- );}else if(DATARMNETecc0627c70.DATARMNET34097703c8==DATARMNETb3e3b2a799){
- DATARMNET14ed771dfb[DATARMNETcfb1764a91]++;DATARMNET52de1f3dc0(
- DATARMNET4510abc30d,DATARMNETa2bd301af7,(0xd26+209-0xdf6),DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
- DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}else if(!(
- DATARMNET0bf01e7c6f->config&RMNET_SHS_NO_DLMKR)&&DATARMNETecc0627c70.
- DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=
- DATARMNET1c55e5fdb1){DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;
- DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}return
- (0xd2d+202-0xdf7);}static const struct rmnet_module_hook_register_info
- DATARMNETef42b9f0b2={.hooknum=RMNET_MODULE_HOOK_SHS_SKB_ENTRY,.func=
- DATARMNET756778f14f,};void DATARMNET203752febd(void){RCU_INIT_POINTER(
- rmnet_shs_skb_entry,NULL);rmnet_module_hook_unregister_no_sync(&
- DATARMNETef42b9f0b2,(0xd26+209-0xdf6));}void DATARMNET7520667b38(void){
- RCU_INIT_POINTER(rmnet_shs_skb_entry,DATARMNET756778f14f);
- rmnet_module_hook_register(&DATARMNETef42b9f0b2,(0xd26+209-0xdf6));}static const
- struct rmnet_module_hook_register_info DATARMNET28a9685974={.hooknum=
- RMNET_MODULE_HOOK_SHS_SWITCH,.func=DATARMNET756778f14f,};void
- DATARMNETa871eeb7e7(void){RCU_INIT_POINTER(rmnet_shs_switch,NULL);
- rmnet_module_hook_unregister_no_sync(&DATARMNET28a9685974,(0xd26+209-0xdf6));}
- void DATARMNET8f9da46b14(void){RCU_INIT_POINTER(rmnet_shs_switch,
- DATARMNET756778f14f);rmnet_module_hook_register(&DATARMNET28a9685974,
- (0xd26+209-0xdf6));}void DATARMNET9297340f58(unsigned int DATARMNET9f4bc49c6f){
- DATARMNETdf74db7e38();DATARMNET90fe3a4b56();DATARMNETecc0627c70.
- DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);unregister_oom_notifier(&
- DATARMNET105c85d84c);if(DATARMNETecc0627c70.DATARMNETf5ab31b9b0)hrtimer_cancel(&
- DATARMNETecc0627c70.DATARMNET6fd692fc7a);hrtimer_cancel(&DATARMNETecc0627c70.
- DATARMNET645fb3b468);hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);
- wakeup_source_unregister(DATARMNETecc0627c70.ws);memset(&DATARMNETecc0627c70,
- (0xd2d+202-0xdf7),sizeof(DATARMNETecc0627c70));DATARMNETecc0627c70.port=NULL;
- DATARMNETecc0627c70.DATARMNETfc89d842ae=(0xd2d+202-0xdf7);DATARMNET12565c8f98=
- DATARMNET9f4bc49c6f;}
|