rmnet_shs/rmnet_offload: Ie7ff28395888bb10a247c24031bfec520d18b4a6
CRs-Fixed: 2938622 Change-Id: Ie7ff28395888bb10a247c24031bfec520d18b4a6 Acked-by: Raul Martinez <mraul@qti.qualcomm.com> Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
This commit is contained in:

committato da
Gerrit - the friendly Code Review server

parent
036a84ba54
commit
4c5c8023ec
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021, The Linux Foundation. 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
|
||||
@@ -24,14 +24,15 @@
|
||||
#define DATARMNET644a5e11da \
|
||||
(const_ilog2(DATARMNET78d9393ac8))
|
||||
static DEFINE_HASHTABLE(DATARMNET4791268d67,DATARMNET644a5e11da);static u32
|
||||
DATARMNET1993bae165(u8 DATARMNET06d2413ad2){struct DATARMNETd7c9631acd*
|
||||
DATARMNET7c382e536d;int DATARMNETae0201901a;u32 DATARMNET737bbd41c3=
|
||||
(0xd2d+202-0xdf7);hash_for_each(DATARMNET4791268d67,DATARMNETae0201901a,
|
||||
DATARMNET7c382e536d,DATARMNETbd5d7d96d8){if(DATARMNET7c382e536d->
|
||||
DATARMNET1db11fa85e&&DATARMNET7c382e536d->DATARMNET78fd20ce0e.
|
||||
DATARMNET7fa8b2acbf==DATARMNET06d2413ad2){DATARMNET737bbd41c3++;
|
||||
DATARMNETa3055c21f2(DATARMNET7c382e536d);}}return DATARMNET737bbd41c3;}static
|
||||
bool DATARMNET2013036d80(u8 DATARMNET06d2413ad2){u64 DATARMNET3924f3f9e3;
|
||||
DATARMNET1993bae165(u8 DATARMNET06d2413ad2,struct list_head*DATARMNET6f9bfa17e6)
|
||||
{struct DATARMNETd7c9631acd*DATARMNET7c382e536d;int DATARMNETae0201901a;u32
|
||||
DATARMNET737bbd41c3=(0xd2d+202-0xdf7);hash_for_each(DATARMNET4791268d67,
|
||||
DATARMNETae0201901a,DATARMNET7c382e536d,DATARMNETbd5d7d96d8){if(
|
||||
DATARMNET7c382e536d->DATARMNET1db11fa85e&&DATARMNET7c382e536d->
|
||||
DATARMNET78fd20ce0e.DATARMNET7fa8b2acbf==DATARMNET06d2413ad2){
|
||||
DATARMNET737bbd41c3++;DATARMNETa3055c21f2(DATARMNET7c382e536d,
|
||||
DATARMNET6f9bfa17e6);}}return DATARMNET737bbd41c3;}static bool
|
||||
DATARMNET2013036d80(u8 DATARMNET06d2413ad2){u64 DATARMNET3924f3f9e3;
|
||||
DATARMNET3924f3f9e3=DATARMNETf1d1b8287f(DATARMNET6d2ed4b822);if(
|
||||
DATARMNET3924f3f9e3==DATARMNET2d89680280)return true;if(DATARMNET3924f3f9e3==
|
||||
DATARMNET03daf91a60&&DATARMNET06d2413ad2==DATARMNETfd5c3d30e5)return true;if(
|
||||
@@ -78,70 +79,75 @@ DATARMNET8814564ab9->DATARMNET45ec858bc5)))return false;}else{return false;}
|
||||
return true;}static struct DATARMNETd7c9631acd*DATARMNETd41def0046(void){struct
|
||||
DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();struct
|
||||
DATARMNET907d58c807*DATARMNETa6f73cbe10;struct DATARMNETd7c9631acd*
|
||||
DATARMNET6745427f98;DATARMNETa6f73cbe10=&DATARMNETe05748b000->
|
||||
DATARMNETebb45c8d86;if(DATARMNETa6f73cbe10->DATARMNET8dfc11cccd<
|
||||
DATARMNET78d9393ac8){DATARMNET6745427f98=&DATARMNETa6f73cbe10->
|
||||
DATARMNET2846a01cce[DATARMNETa6f73cbe10->DATARMNET8dfc11cccd];
|
||||
DATARMNETa6f73cbe10->DATARMNET8dfc11cccd++;return DATARMNET6745427f98;}
|
||||
DATARMNET6745427f98=&DATARMNETa6f73cbe10->DATARMNET2846a01cce[
|
||||
DATARMNETa6f73cbe10->DATARMNET57d435b225];DATARMNETa6f73cbe10->
|
||||
DATARMNET57d435b225++;DATARMNETa6f73cbe10->DATARMNET57d435b225%=
|
||||
DATARMNET78d9393ac8;hash_del(&DATARMNET6745427f98->DATARMNETbd5d7d96d8);if(
|
||||
DATARMNET6745427f98->DATARMNET1db11fa85e){DATARMNETa00cda79d0(
|
||||
DATARMNETf3f92fc0b9);DATARMNETa3055c21f2(DATARMNET6745427f98);}return
|
||||
DATARMNET6745427f98;}static void DATARMNETbe30d096c6(void){DATARMNET664568fcd0()
|
||||
;if(DATARMNETae70636c90())DATARMNETa00cda79d0(DATARMNET5727f095ec);
|
||||
DATARMNET6a76048590();}void DATARMNETd4230b6bfe(void){rcu_assign_pointer(
|
||||
rmnet_perf_chain_end,DATARMNETbe30d096c6);}void DATARMNET560e127137(void){
|
||||
rcu_assign_pointer(rmnet_perf_chain_end,NULL);}int DATARMNET241493ab9a(u64
|
||||
DATARMNET0470698d6c,u64 DATARMNETfeff65e096){u32 DATARMNET737bbd41c3=
|
||||
DATARMNET6745427f98;LIST_HEAD(DATARMNET6f9bfa17e6);DATARMNETa6f73cbe10=&
|
||||
DATARMNETe05748b000->DATARMNETebb45c8d86;if(DATARMNETa6f73cbe10->
|
||||
DATARMNET8dfc11cccd<DATARMNET78d9393ac8){DATARMNET6745427f98=&
|
||||
DATARMNETa6f73cbe10->DATARMNET2846a01cce[DATARMNETa6f73cbe10->
|
||||
DATARMNET8dfc11cccd];DATARMNETa6f73cbe10->DATARMNET8dfc11cccd++;return
|
||||
DATARMNET6745427f98;}DATARMNET6745427f98=&DATARMNETa6f73cbe10->
|
||||
DATARMNET2846a01cce[DATARMNETa6f73cbe10->DATARMNET57d435b225];
|
||||
DATARMNETa6f73cbe10->DATARMNET57d435b225++;DATARMNETa6f73cbe10->
|
||||
DATARMNET57d435b225%=DATARMNET78d9393ac8;hash_del(&DATARMNET6745427f98->
|
||||
DATARMNETbd5d7d96d8);if(DATARMNET6745427f98->DATARMNET1db11fa85e){
|
||||
DATARMNETa00cda79d0(DATARMNETf3f92fc0b9);DATARMNETa3055c21f2(DATARMNET6745427f98
|
||||
,&DATARMNET6f9bfa17e6);}DATARMNETc70e73c8d4(&DATARMNET6f9bfa17e6);return
|
||||
DATARMNET6745427f98;}static void DATARMNETbe30d096c6(void){LIST_HEAD(
|
||||
DATARMNET6f9bfa17e6);DATARMNET664568fcd0();if(DATARMNETae70636c90(&
|
||||
DATARMNET6f9bfa17e6))DATARMNETa00cda79d0(DATARMNET5727f095ec);
|
||||
DATARMNET6a76048590();DATARMNETc70e73c8d4(&DATARMNET6f9bfa17e6);}void
|
||||
DATARMNETd4230b6bfe(void){rcu_assign_pointer(rmnet_perf_chain_end,
|
||||
DATARMNETbe30d096c6);}void DATARMNET560e127137(void){rcu_assign_pointer(
|
||||
rmnet_perf_chain_end,NULL);}int DATARMNET241493ab9a(u64 DATARMNET0470698d6c,u64
|
||||
DATARMNETfeff65e096){LIST_HEAD(DATARMNET6f9bfa17e6);u32 DATARMNET737bbd41c3=
|
||||
(0xd2d+202-0xdf7);if(DATARMNET0470698d6c==DATARMNET5fe3af8828||
|
||||
DATARMNETfeff65e096==DATARMNET2d89680280)return(0xd2d+202-0xdf7);switch(
|
||||
DATARMNETfeff65e096){case DATARMNET03daf91a60:DATARMNET737bbd41c3=
|
||||
DATARMNET1993bae165(DATARMNETa656f324b2);break;case DATARMNET88a9920663:
|
||||
DATARMNET737bbd41c3=DATARMNET1993bae165(DATARMNETfd5c3d30e5);break;case
|
||||
DATARMNET5fe3af8828:DATARMNET737bbd41c3=DATARMNETae70636c90();break;}
|
||||
DATARMNETbad3b5165e(DATARMNETddf572458d,DATARMNET737bbd41c3);return
|
||||
(0xd2d+202-0xdf7);}void DATARMNETa3055c21f2(struct DATARMNETd7c9631acd*
|
||||
DATARMNETaa568481cf){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
||||
DATARMNETc2a630b113();struct rmnet_frag_descriptor*DATARMNETd74aeaa49a,*
|
||||
DATARMNETa1625e27e2,*DATARMNET0386f6f82a;struct DATARMNET4287f07234*
|
||||
DATARMNET699c2c62cd=&DATARMNETaa568481cf->DATARMNET78fd20ce0e;u32
|
||||
DATARMNET567bdc7221=DATARMNET699c2c62cd->DATARMNET4ca5ac9de1+DATARMNET699c2c62cd
|
||||
->DATARMNET0aeee57ceb;u32 DATARMNETf333d55b33=DATARMNETaa568481cf->
|
||||
DATARMNETcf28ae376b+DATARMNET567bdc7221;if(!DATARMNETaa568481cf->
|
||||
DATARMNET1db11fa85e)return;DATARMNETd74aeaa49a=list_first_entry(&
|
||||
DATARMNETaa568481cf->DATARMNETb76b79d0d5,struct rmnet_frag_descriptor,list);if(!
|
||||
DATARMNETd74aeaa49a->gso_segs)DATARMNETd74aeaa49a->gso_segs=(0xd26+209-0xdf6);
|
||||
DATARMNETd74aeaa49a->gso_size=DATARMNETaa568481cf->DATARMNET1978d5d8de;
|
||||
DATARMNETa1625e27e2=DATARMNETd74aeaa49a;list_for_each_entry_safe_continue(
|
||||
DATARMNETa1625e27e2,DATARMNET0386f6f82a,&DATARMNETaa568481cf->
|
||||
DATARMNETb76b79d0d5,list){u32 DATARMNET904423d5e4=DATARMNETa1625e27e2->len-
|
||||
DATARMNET567bdc7221;if(!rmnet_frag_descriptor_add_frags_from(DATARMNETd74aeaa49a
|
||||
,DATARMNETa1625e27e2,DATARMNET567bdc7221,DATARMNET904423d5e4))
|
||||
DATARMNETd74aeaa49a->gso_segs+=(DATARMNETa1625e27e2->gso_segs)?:
|
||||
(0xd26+209-0xdf6);rmnet_recycle_frag_descriptor(DATARMNETa1625e27e2,
|
||||
DATARMNETe05748b000->DATARMNET403589239f);}DATARMNETd74aeaa49a->hash=
|
||||
DATARMNETaa568481cf->DATARMNET381f1cadc4;DATARMNET58a244b2fe(DATARMNETd74aeaa49a
|
||||
,DATARMNETf333d55b33);DATARMNETaa568481cf->DATARMNET1db11fa85e=(0xd2d+202-0xdf7)
|
||||
;DATARMNETaa568481cf->DATARMNETcf28ae376b=(0xd2d+202-0xdf7);}void
|
||||
DATARMNETc38c135c9f(u32 DATARMNET3f8cc6fc24){struct DATARMNETd7c9631acd*
|
||||
DATARMNETaa568481cf;hash_for_each_possible(DATARMNET4791268d67,
|
||||
DATARMNETaa568481cf,DATARMNETbd5d7d96d8,DATARMNET3f8cc6fc24){if(
|
||||
DATARMNETaa568481cf->DATARMNET381f1cadc4==DATARMNET3f8cc6fc24&&
|
||||
DATARMNET1993bae165(DATARMNETa656f324b2,&DATARMNET6f9bfa17e6);break;case
|
||||
DATARMNET88a9920663:DATARMNET737bbd41c3=DATARMNET1993bae165(DATARMNETfd5c3d30e5,
|
||||
&DATARMNET6f9bfa17e6);break;case DATARMNET5fe3af8828:DATARMNET737bbd41c3=
|
||||
DATARMNETae70636c90(&DATARMNET6f9bfa17e6);break;}DATARMNETbad3b5165e(
|
||||
DATARMNETddf572458d,DATARMNET737bbd41c3);DATARMNETc70e73c8d4(&
|
||||
DATARMNET6f9bfa17e6);return(0xd2d+202-0xdf7);}void DATARMNETa3055c21f2(struct
|
||||
DATARMNETd7c9631acd*DATARMNETaa568481cf,struct list_head*DATARMNET6f9bfa17e6){
|
||||
struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();struct
|
||||
rmnet_frag_descriptor*DATARMNETd74aeaa49a,*DATARMNETa1625e27e2,*
|
||||
DATARMNET0386f6f82a;struct DATARMNET4287f07234*DATARMNET699c2c62cd=&
|
||||
DATARMNETaa568481cf->DATARMNET78fd20ce0e;u32 DATARMNET567bdc7221=
|
||||
DATARMNET699c2c62cd->DATARMNET4ca5ac9de1+DATARMNET699c2c62cd->
|
||||
DATARMNET0aeee57ceb;if(!DATARMNETaa568481cf->DATARMNET1db11fa85e)return;
|
||||
DATARMNETd74aeaa49a=list_first_entry(&DATARMNETaa568481cf->DATARMNETb76b79d0d5,
|
||||
struct rmnet_frag_descriptor,list);if(!DATARMNETd74aeaa49a->gso_segs)
|
||||
DATARMNETd74aeaa49a->gso_segs=(0xd26+209-0xdf6);DATARMNETd74aeaa49a->gso_size=
|
||||
DATARMNETaa568481cf->DATARMNET1978d5d8de;DATARMNETa1625e27e2=DATARMNETd74aeaa49a
|
||||
;list_for_each_entry_safe_continue(DATARMNETa1625e27e2,DATARMNET0386f6f82a,&
|
||||
DATARMNETaa568481cf->DATARMNETb76b79d0d5,list){u32 DATARMNET904423d5e4=
|
||||
DATARMNETa1625e27e2->len-DATARMNET567bdc7221;if(!
|
||||
rmnet_frag_descriptor_add_frags_from(DATARMNETd74aeaa49a,DATARMNETa1625e27e2,
|
||||
DATARMNET567bdc7221,DATARMNET904423d5e4))DATARMNETd74aeaa49a->gso_segs+=(
|
||||
DATARMNETa1625e27e2->gso_segs)?:(0xd26+209-0xdf6);rmnet_recycle_frag_descriptor(
|
||||
DATARMNETa1625e27e2,DATARMNETe05748b000->DATARMNET403589239f);}
|
||||
DATARMNETd74aeaa49a->hash=DATARMNETaa568481cf->DATARMNET381f1cadc4;list_del_init
|
||||
(&DATARMNETd74aeaa49a->list);list_add_tail(&DATARMNETd74aeaa49a->list,
|
||||
DATARMNET6f9bfa17e6);DATARMNETaa568481cf->DATARMNET1db11fa85e=(0xd2d+202-0xdf7);
|
||||
DATARMNETaa568481cf->DATARMNETcf28ae376b=(0xd2d+202-0xdf7);}void
|
||||
DATARMNETc38c135c9f(u32 DATARMNET3f8cc6fc24,struct list_head*DATARMNET6f9bfa17e6
|
||||
){struct DATARMNETd7c9631acd*DATARMNETaa568481cf;hash_for_each_possible(
|
||||
DATARMNET4791268d67,DATARMNETaa568481cf,DATARMNETbd5d7d96d8,DATARMNET3f8cc6fc24)
|
||||
{if(DATARMNETaa568481cf->DATARMNET381f1cadc4==DATARMNET3f8cc6fc24&&
|
||||
DATARMNETaa568481cf->DATARMNET1db11fa85e)DATARMNETa3055c21f2(DATARMNETaa568481cf
|
||||
);}}u32 DATARMNETae70636c90(void){struct DATARMNETd7c9631acd*DATARMNETaa568481cf
|
||||
;int DATARMNETae0201901a;u32 DATARMNET737bbd41c3=(0xd2d+202-0xdf7);hash_for_each
|
||||
(DATARMNET4791268d67,DATARMNETae0201901a,DATARMNETaa568481cf,DATARMNETbd5d7d96d8
|
||||
){if(DATARMNETaa568481cf->DATARMNET1db11fa85e){DATARMNET737bbd41c3++;
|
||||
DATARMNETa3055c21f2(DATARMNETaa568481cf);}}return DATARMNET737bbd41c3;}void
|
||||
DATARMNET33aa5df9ef(struct DATARMNETd7c9631acd*DATARMNETaa568481cf,struct
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8){if(DATARMNET5fe4c722a8->
|
||||
DATARMNETf1b6b0a6cc){memcpy(&DATARMNETaa568481cf->DATARMNET78fd20ce0e,&
|
||||
DATARMNET5fe4c722a8->DATARMNET144d119066,sizeof(DATARMNETaa568481cf->
|
||||
DATARMNET78fd20ce0e));DATARMNETaa568481cf->DATARMNET381f1cadc4=
|
||||
DATARMNET5fe4c722a8->DATARMNET645e8912b8;DATARMNETaa568481cf->
|
||||
DATARMNET1978d5d8de=(DATARMNET5fe4c722a8->DATARMNET719f68fb88->gso_size)?:
|
||||
,DATARMNET6f9bfa17e6);}}u32 DATARMNETae70636c90(struct list_head*
|
||||
DATARMNET6f9bfa17e6){struct DATARMNETd7c9631acd*DATARMNETaa568481cf;int
|
||||
DATARMNETae0201901a;u32 DATARMNET737bbd41c3=(0xd2d+202-0xdf7);hash_for_each(
|
||||
DATARMNET4791268d67,DATARMNETae0201901a,DATARMNETaa568481cf,DATARMNETbd5d7d96d8)
|
||||
{if(DATARMNETaa568481cf->DATARMNET1db11fa85e){DATARMNET737bbd41c3++;
|
||||
DATARMNETa3055c21f2(DATARMNETaa568481cf,DATARMNET6f9bfa17e6);}}return
|
||||
DATARMNET737bbd41c3;}void DATARMNET33aa5df9ef(struct DATARMNETd7c9631acd*
|
||||
DATARMNETaa568481cf,struct DATARMNETd812bcdbb5*DATARMNET5fe4c722a8){if(
|
||||
DATARMNET5fe4c722a8->DATARMNETf1b6b0a6cc){memcpy(&DATARMNETaa568481cf->
|
||||
DATARMNET78fd20ce0e,&DATARMNET5fe4c722a8->DATARMNET144d119066,sizeof(
|
||||
DATARMNETaa568481cf->DATARMNET78fd20ce0e));DATARMNETaa568481cf->
|
||||
DATARMNET381f1cadc4=DATARMNET5fe4c722a8->DATARMNET645e8912b8;DATARMNETaa568481cf
|
||||
->DATARMNET1978d5d8de=(DATARMNET5fe4c722a8->DATARMNET719f68fb88->gso_size)?:
|
||||
DATARMNET5fe4c722a8->DATARMNET1ef22e4c76;}if(DATARMNET5fe4c722a8->
|
||||
DATARMNET144d119066.DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5)DATARMNETaa568481cf
|
||||
->DATARMNET78fd20ce0e.DATARMNETbc28a5970f+=DATARMNET5fe4c722a8->
|
||||
@@ -149,32 +155,33 @@ DATARMNET1ef22e4c76;list_add_tail(&DATARMNET5fe4c722a8->DATARMNET719f68fb88->
|
||||
list,&DATARMNETaa568481cf->DATARMNETb76b79d0d5);DATARMNETaa568481cf->
|
||||
DATARMNET1db11fa85e++;DATARMNETaa568481cf->DATARMNETcf28ae376b+=
|
||||
DATARMNET5fe4c722a8->DATARMNET1ef22e4c76;}bool DATARMNETfbf5798e15(struct
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8){struct DATARMNETd7c9631acd*
|
||||
DATARMNETaa568481cf;bool DATARMNET885970f252=false;u8 DATARMNET9695aa5b1d=
|
||||
DATARMNET5fe4c722a8->DATARMNET144d119066.DATARMNET7fa8b2acbf;if(!
|
||||
DATARMNET2013036d80(DATARMNET9695aa5b1d)){DATARMNETa00cda79d0(
|
||||
DATARMNET6a894ab63d);return false;}hash_for_each_possible(DATARMNET4791268d67,
|
||||
DATARMNETaa568481cf,DATARMNETbd5d7d96d8,DATARMNET5fe4c722a8->DATARMNET645e8912b8
|
||||
){bool DATARMNET2dd83daa1c;if(!DATARMNET6895620058(DATARMNETaa568481cf,
|
||||
DATARMNET5fe4c722a8))continue;DATARMNETc6f994577c:DATARMNET2dd83daa1c=
|
||||
DATARMNET5a0f9fc3a2(DATARMNETaa568481cf,DATARMNET5fe4c722a8);DATARMNET5fe4c722a8
|
||||
->DATARMNETf1b6b0a6cc=true;DATARMNET885970f252=true;switch(DATARMNET9695aa5b1d){
|
||||
case DATARMNETfd5c3d30e5:return DATARMNET4c7cdc25b7(DATARMNETaa568481cf,
|
||||
DATARMNET5fe4c722a8,DATARMNET2dd83daa1c);case DATARMNETa656f324b2:return
|
||||
DATARMNET8dc47eb7af(DATARMNETaa568481cf,DATARMNET5fe4c722a8,DATARMNET2dd83daa1c)
|
||||
;default:return false;}}if(!DATARMNET885970f252){DATARMNETaa568481cf=
|
||||
DATARMNETd41def0046();DATARMNETaa568481cf->DATARMNET381f1cadc4=
|
||||
DATARMNET5fe4c722a8->DATARMNET645e8912b8;hash_add(DATARMNET4791268d67,&
|
||||
DATARMNETaa568481cf->DATARMNETbd5d7d96d8,DATARMNETaa568481cf->
|
||||
DATARMNET381f1cadc4);goto DATARMNETc6f994577c;}return false;}void
|
||||
DATARMNETb98b78b8e3(void){struct DATARMNETd7c9631acd*DATARMNETaa568481cf;struct
|
||||
hlist_node*DATARMNET0386f6f82a;int DATARMNETae0201901a;hash_for_each_safe(
|
||||
DATARMNET4791268d67,DATARMNETae0201901a,DATARMNET0386f6f82a,DATARMNETaa568481cf,
|
||||
DATARMNETbd5d7d96d8)hash_del(&DATARMNETaa568481cf->DATARMNETbd5d7d96d8);}int
|
||||
DATARMNETdbcaf01255(void){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
||||
DATARMNETc2a630b113();u8 DATARMNETefc9df3df2;for(DATARMNETefc9df3df2=
|
||||
(0xd2d+202-0xdf7);DATARMNETefc9df3df2<DATARMNET78d9393ac8;DATARMNETefc9df3df2++)
|
||||
{struct DATARMNETd7c9631acd*DATARMNETaa568481cf;DATARMNETaa568481cf=&
|
||||
DATARMNETe05748b000->DATARMNETebb45c8d86.DATARMNET2846a01cce[DATARMNETefc9df3df2
|
||||
];INIT_LIST_HEAD(&DATARMNETaa568481cf->DATARMNETb76b79d0d5);INIT_HLIST_NODE(&
|
||||
DATARMNETaa568481cf->DATARMNETbd5d7d96d8);}return DATARMNET0529bb9c4e;}
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8,struct list_head*DATARMNET6f9bfa17e6){
|
||||
struct DATARMNETd7c9631acd*DATARMNETaa568481cf;bool DATARMNET885970f252=false;u8
|
||||
DATARMNET9695aa5b1d=DATARMNET5fe4c722a8->DATARMNET144d119066.
|
||||
DATARMNET7fa8b2acbf;if(!DATARMNET2013036d80(DATARMNET9695aa5b1d)){
|
||||
DATARMNETa00cda79d0(DATARMNET6a894ab63d);return false;}hash_for_each_possible(
|
||||
DATARMNET4791268d67,DATARMNETaa568481cf,DATARMNETbd5d7d96d8,DATARMNET5fe4c722a8
|
||||
->DATARMNET645e8912b8){bool DATARMNET2dd83daa1c;if(!DATARMNET6895620058(
|
||||
DATARMNETaa568481cf,DATARMNET5fe4c722a8))continue;DATARMNETc6f994577c:
|
||||
DATARMNET2dd83daa1c=DATARMNET5a0f9fc3a2(DATARMNETaa568481cf,DATARMNET5fe4c722a8)
|
||||
;DATARMNET5fe4c722a8->DATARMNETf1b6b0a6cc=true;DATARMNET885970f252=true;switch(
|
||||
DATARMNET9695aa5b1d){case DATARMNETfd5c3d30e5:return DATARMNET4c7cdc25b7(
|
||||
DATARMNETaa568481cf,DATARMNET5fe4c722a8,DATARMNET2dd83daa1c,DATARMNET6f9bfa17e6)
|
||||
;case DATARMNETa656f324b2:return DATARMNET8dc47eb7af(DATARMNETaa568481cf,
|
||||
DATARMNET5fe4c722a8,DATARMNET2dd83daa1c,DATARMNET6f9bfa17e6);default:return
|
||||
false;}}if(!DATARMNET885970f252){DATARMNETaa568481cf=DATARMNETd41def0046();
|
||||
DATARMNETaa568481cf->DATARMNET381f1cadc4=DATARMNET5fe4c722a8->
|
||||
DATARMNET645e8912b8;hash_add(DATARMNET4791268d67,&DATARMNETaa568481cf->
|
||||
DATARMNETbd5d7d96d8,DATARMNETaa568481cf->DATARMNET381f1cadc4);goto
|
||||
DATARMNETc6f994577c;}return false;}void DATARMNETb98b78b8e3(void){struct
|
||||
DATARMNETd7c9631acd*DATARMNETaa568481cf;struct hlist_node*DATARMNET0386f6f82a;
|
||||
int DATARMNETae0201901a;hash_for_each_safe(DATARMNET4791268d67,
|
||||
DATARMNETae0201901a,DATARMNET0386f6f82a,DATARMNETaa568481cf,DATARMNETbd5d7d96d8)
|
||||
hash_del(&DATARMNETaa568481cf->DATARMNETbd5d7d96d8);}int DATARMNETdbcaf01255(
|
||||
void){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();u8
|
||||
DATARMNETefc9df3df2;for(DATARMNETefc9df3df2=(0xd2d+202-0xdf7);
|
||||
DATARMNETefc9df3df2<DATARMNET78d9393ac8;DATARMNETefc9df3df2++){struct
|
||||
DATARMNETd7c9631acd*DATARMNETaa568481cf;DATARMNETaa568481cf=&DATARMNETe05748b000
|
||||
->DATARMNETebb45c8d86.DATARMNET2846a01cce[DATARMNETefc9df3df2];INIT_LIST_HEAD(&
|
||||
DATARMNETaa568481cf->DATARMNETb76b79d0d5);INIT_HLIST_NODE(&DATARMNETaa568481cf->
|
||||
DATARMNETbd5d7d96d8);}return DATARMNET0529bb9c4e;}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021, The Linux Foundation. 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
|
||||
@@ -26,10 +26,12 @@ DATARMNETd7c9631acd DATARMNET2846a01cce[DATARMNET78d9393ac8];u8
|
||||
DATARMNET8dfc11cccd;u8 DATARMNET57d435b225;};void DATARMNETd4230b6bfe(void);void
|
||||
DATARMNET560e127137(void);int DATARMNET241493ab9a(u64 DATARMNET0470698d6c,u64
|
||||
DATARMNETfeff65e096);void DATARMNETa3055c21f2(struct DATARMNETd7c9631acd*
|
||||
DATARMNETaa568481cf);void DATARMNETc38c135c9f(u32 DATARMNET3f8cc6fc24);u32
|
||||
DATARMNETae70636c90(void);void DATARMNET33aa5df9ef(struct DATARMNETd7c9631acd*
|
||||
DATARMNETaa568481cf,struct DATARMNETd812bcdbb5*DATARMNET5fe4c722a8);bool
|
||||
DATARMNETfbf5798e15(struct DATARMNETd812bcdbb5*DATARMNET5fe4c722a8);void
|
||||
DATARMNETb98b78b8e3(void);int DATARMNETdbcaf01255(void);
|
||||
DATARMNETaa568481cf,struct list_head*DATARMNET6f9bfa17e6);void
|
||||
DATARMNETc38c135c9f(u32 DATARMNET3f8cc6fc24,struct list_head*DATARMNET6f9bfa17e6
|
||||
);u32 DATARMNETae70636c90(struct list_head*DATARMNET6f9bfa17e6);void
|
||||
DATARMNET33aa5df9ef(struct DATARMNETd7c9631acd*DATARMNETaa568481cf,struct
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8);bool DATARMNETfbf5798e15(struct
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8,struct list_head*DATARMNET6f9bfa17e6);
|
||||
void DATARMNETb98b78b8e3(void);int DATARMNETdbcaf01255(void);
|
||||
#endif
|
||||
|
||||
|
@@ -43,6 +43,8 @@ static const char*DATARMNET9be3ddbe97[]__always_unused={
|
||||
"\x49\x65\x32\x33\x63\x62\x66\x36\x31\x35\x35\x39\x34\x32\x35\x30\x66\x34\x31\x31\x61\x34\x66\x32\x37\x37\x66\x30\x64\x32\x35\x30\x65\x61\x61\x36\x66\x65\x64\x37\x65"
|
||||
,
|
||||
"\x49\x38\x32\x35\x34\x30\x39\x61\x64\x37\x64\x39\x32\x31\x66\x66\x64\x65\x38\x37\x65\x61\x34\x32\x31\x62\x30\x66\x31\x37\x36\x37\x33\x65\x63\x38\x64\x63\x30\x39\x36"
|
||||
,
|
||||
"\x49\x64\x65\x34\x37\x33\x66\x64\x34\x36\x36\x31\x36\x38\x35\x39\x61\x36\x33\x33\x66\x61\x38\x63\x61\x61\x34\x61\x62\x39\x65\x39\x32\x64\x64\x31\x39\x36\x63\x64\x32"
|
||||
,};static DEFINE_SPINLOCK(DATARMNET0b5e447f18);static u32 DATARMNETcb7325e02d(
|
||||
struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){struct DATARMNET4287f07234*
|
||||
DATARMNET8814564ab9=&DATARMNET458b70e7e5->DATARMNET144d119066;__be32
|
||||
@@ -195,20 +197,22 @@ DATARMNETa00cda79d0(DATARMNET52b7da9033);DATARMNET458b70e7e5->
|
||||
DATARMNET719f68fb88=DATARMNET9d1b321642;return false;}static void
|
||||
DATARMNET29e8d137c4(struct rmnet_frag_descriptor*DATARMNET9d1b321642,struct
|
||||
rmnet_port*DATARMNETf0d9de7e2f){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
||||
DATARMNETc2a630b113();struct DATARMNETd812bcdbb5 DATARMNET458b70e7e5;memset(&
|
||||
DATARMNET458b70e7e5,(0xd2d+202-0xdf7),sizeof(DATARMNET458b70e7e5));
|
||||
DATARMNET664568fcd0();DATARMNETe05748b000->DATARMNET403589239f=
|
||||
DATARMNETf0d9de7e2f;if(DATARMNET1a7ed9a6a2(DATARMNET9d1b321642,&
|
||||
DATARMNET458b70e7e5)){DATARMNETa00cda79d0(DATARMNET1cddffce49);
|
||||
rmnet_recycle_frag_descriptor(DATARMNET9d1b321642,DATARMNETf0d9de7e2f);goto
|
||||
DATARMNETbf4095f79e;}DATARMNETa00cda79d0(DATARMNET9b3fdb0e16);if(
|
||||
DATARMNET458b70e7e5.DATARMNET3eb91ee54d){goto DATARMNET806c6f8e60;}else if(
|
||||
DATARMNET458b70e7e5.DATARMNET8f59f5a745){DATARMNETc38c135c9f(DATARMNET458b70e7e5
|
||||
.DATARMNET645e8912b8);goto DATARMNET806c6f8e60;}if(!DATARMNET9d1b321642->
|
||||
csum_valid){goto DATARMNET806c6f8e60;}if(!DATARMNETfbf5798e15(&
|
||||
DATARMNET458b70e7e5))goto DATARMNET806c6f8e60;goto DATARMNETbf4095f79e;
|
||||
DATARMNET806c6f8e60:DATARMNET19d190f2bd(&DATARMNET458b70e7e5);
|
||||
DATARMNETbf4095f79e:DATARMNET6a76048590();}void DATARMNET664568fcd0(void){
|
||||
DATARMNETc2a630b113();struct DATARMNETd812bcdbb5 DATARMNET458b70e7e5;LIST_HEAD(
|
||||
DATARMNET6f9bfa17e6);memset(&DATARMNET458b70e7e5,(0xd2d+202-0xdf7),sizeof(
|
||||
DATARMNET458b70e7e5));DATARMNET664568fcd0();DATARMNETe05748b000->
|
||||
DATARMNET403589239f=DATARMNETf0d9de7e2f;if(DATARMNET1a7ed9a6a2(
|
||||
DATARMNET9d1b321642,&DATARMNET458b70e7e5)){DATARMNETa00cda79d0(
|
||||
DATARMNET1cddffce49);rmnet_recycle_frag_descriptor(DATARMNET9d1b321642,
|
||||
DATARMNETf0d9de7e2f);goto DATARMNETbf4095f79e;}DATARMNETa00cda79d0(
|
||||
DATARMNET9b3fdb0e16);if(DATARMNET458b70e7e5.DATARMNET3eb91ee54d){goto
|
||||
DATARMNET806c6f8e60;}else if(DATARMNET458b70e7e5.DATARMNET8f59f5a745){
|
||||
DATARMNETc38c135c9f(DATARMNET458b70e7e5.DATARMNET645e8912b8,&DATARMNET6f9bfa17e6
|
||||
);goto DATARMNET806c6f8e60;}if(!DATARMNET9d1b321642->csum_valid){goto
|
||||
DATARMNET806c6f8e60;}if(!DATARMNETfbf5798e15(&DATARMNET458b70e7e5,&
|
||||
DATARMNET6f9bfa17e6))goto DATARMNET806c6f8e60;goto DATARMNETbf4095f79e;
|
||||
DATARMNET806c6f8e60:DATARMNET19d190f2bd(&DATARMNET458b70e7e5,&
|
||||
DATARMNET6f9bfa17e6);DATARMNETbf4095f79e:DATARMNET6a76048590();
|
||||
DATARMNETc70e73c8d4(&DATARMNET6f9bfa17e6);}void DATARMNET664568fcd0(void){
|
||||
spin_lock_bh(&DATARMNET0b5e447f18);}void DATARMNET6a76048590(void){
|
||||
spin_unlock_bh(&DATARMNET0b5e447f18);}void DATARMNET818b960147(void){
|
||||
rcu_assign_pointer(rmnet_perf_desc_entry,DATARMNET29e8d137c4);}void
|
||||
@@ -216,37 +220,43 @@ DATARMNETba38823a2f(void){rcu_assign_pointer(rmnet_perf_desc_entry,NULL);}bool
|
||||
DATARMNET19eb0de3b2(void){void(*DATARMNET27ebcde4bf)(struct
|
||||
rmnet_frag_descriptor*DATARMNET9d1b321642,struct rmnet_port*DATARMNETf0d9de7e2f)
|
||||
;rcu_read_lock();DATARMNET27ebcde4bf=rcu_dereference(rmnet_perf_desc_entry);
|
||||
rcu_read_unlock();return DATARMNET27ebcde4bf!=NULL;}void DATARMNET58a244b2fe(
|
||||
struct rmnet_frag_descriptor*DATARMNET9d1b321642,u32 DATARMNET0d47fb783d){struct
|
||||
DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();
|
||||
DATARMNETe26a68d20e(DATARMNET0d47fb783d);DATARMNETa00cda79d0(DATARMNET65843ad009
|
||||
);rmnet_frag_deliver(DATARMNET9d1b321642,DATARMNETe05748b000->
|
||||
DATARMNET403589239f);}void DATARMNET19d190f2bd(struct DATARMNETd812bcdbb5*
|
||||
DATARMNET458b70e7e5){struct rmnet_frag_descriptor*DATARMNET9d1b321642=
|
||||
DATARMNET458b70e7e5->DATARMNET719f68fb88;u32 DATARMNET5affe290b8=
|
||||
DATARMNET458b70e7e5->DATARMNET1ef22e4c76+DATARMNET458b70e7e5->
|
||||
DATARMNET144d119066.DATARMNET4ca5ac9de1+DATARMNET458b70e7e5->DATARMNET144d119066
|
||||
.DATARMNET0aeee57ceb;if(DATARMNET5affe290b8>65536)return;if(!DATARMNET458b70e7e5
|
||||
->DATARMNET3eb91ee54d)DATARMNET9d1b321642->hash=DATARMNET458b70e7e5->
|
||||
DATARMNET645e8912b8;DATARMNET58a244b2fe(DATARMNET9d1b321642,DATARMNET5affe290b8)
|
||||
;}void DATARMNET9292bebdd3(void*DATARMNETf0d9de7e2f){}void DATARMNETb7e47d7254(
|
||||
void*DATARMNETf0d9de7e2f){}void DATARMNET95e1703026(struct rmnet_map_dl_ind_hdr*
|
||||
DATARMNET7c7748ef7a,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82)
|
||||
{struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();(void)
|
||||
rcu_read_unlock();return DATARMNET27ebcde4bf!=NULL;}void DATARMNETc70e73c8d4(
|
||||
struct list_head*DATARMNETb5730f5283){struct DATARMNET70f3b87b5d*
|
||||
DATARMNETe05748b000=DATARMNETc2a630b113();struct rmnet_frag_descriptor*
|
||||
DATARMNET9d1b321642,*DATARMNET0386f6f82a;list_for_each_entry_safe(
|
||||
DATARMNET9d1b321642,DATARMNET0386f6f82a,DATARMNETb5730f5283,list){
|
||||
DATARMNETe26a68d20e(DATARMNET9d1b321642->len);DATARMNETa00cda79d0(
|
||||
DATARMNET65843ad009);list_del_init(&DATARMNET9d1b321642->list);
|
||||
rmnet_frag_deliver(DATARMNET9d1b321642,DATARMNETe05748b000->DATARMNET403589239f)
|
||||
;}}void DATARMNET19d190f2bd(struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5,
|
||||
struct list_head*DATARMNET6f9bfa17e6){struct rmnet_frag_descriptor*
|
||||
DATARMNET9d1b321642=DATARMNET458b70e7e5->DATARMNET719f68fb88;u32
|
||||
DATARMNET5affe290b8=DATARMNET458b70e7e5->DATARMNET1ef22e4c76+DATARMNET458b70e7e5
|
||||
->DATARMNET144d119066.DATARMNET4ca5ac9de1+DATARMNET458b70e7e5->
|
||||
DATARMNET144d119066.DATARMNET0aeee57ceb;if(DATARMNET5affe290b8>65536)return;if(!
|
||||
DATARMNET458b70e7e5->DATARMNET3eb91ee54d)DATARMNET9d1b321642->hash=
|
||||
DATARMNET458b70e7e5->DATARMNET645e8912b8;list_add_tail(&DATARMNET9d1b321642->
|
||||
list,DATARMNET6f9bfa17e6);}void DATARMNET9292bebdd3(void*DATARMNETf0d9de7e2f){}
|
||||
void DATARMNETb7e47d7254(void*DATARMNETf0d9de7e2f){}void DATARMNET95e1703026(
|
||||
struct rmnet_map_dl_ind_hdr*DATARMNET7c7748ef7a,struct
|
||||
rmnet_map_control_command_header*DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d
|
||||
*DATARMNETe05748b000=DATARMNETc2a630b113();LIST_HEAD(DATARMNET6f9bfa17e6);(void)
|
||||
DATARMNET8b07ee3e82;DATARMNET664568fcd0();if(DATARMNETe05748b000->
|
||||
DATARMNETa9f2b2f677.DATARMNETb165d2c5c4&&DATARMNETae70636c90())
|
||||
DATARMNETa00cda79d0(DATARMNET372ef39ae4);DATARMNETe05748b000->
|
||||
DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=true;DATARMNETe05748b000->
|
||||
DATARMNETa9f2b2f677.DATARMNETe2251ce433=DATARMNET7c7748ef7a->le.seq;
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=DATARMNET7c7748ef7a
|
||||
->le.pkts;DATARMNET6a76048590();}void DATARMNETc9dd320f49(struct
|
||||
rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct rmnet_map_control_command_header
|
||||
*DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
||||
DATARMNETc2a630b113();(void)DATARMNET8b07ee3e82;DATARMNET664568fcd0();if(
|
||||
DATARMNETa9f2b2f677.DATARMNETb165d2c5c4&&DATARMNETae70636c90(&
|
||||
DATARMNET6f9bfa17e6))DATARMNETa00cda79d0(DATARMNET372ef39ae4);
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=true;
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETe2251ce433=DATARMNET7c7748ef7a
|
||||
->le.seq;DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=
|
||||
DATARMNET7c7748ef7a->le.pkts;DATARMNET6a76048590();DATARMNETc70e73c8d4(&
|
||||
DATARMNET6f9bfa17e6);}void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*
|
||||
DATARMNET2541770fea,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82)
|
||||
{struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();LIST_HEAD(
|
||||
DATARMNET6f9bfa17e6);(void)DATARMNET8b07ee3e82;DATARMNET664568fcd0();if(
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETe2251ce433!=
|
||||
DATARMNET2541770fea->seq_le)DATARMNETa00cda79d0(DATARMNET30a4d88ea6);if(
|
||||
DATARMNETae70636c90())DATARMNETa00cda79d0(DATARMNETa03ed3629e);
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=false;
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNETe2251ce433=(0xd2d+202-0xdf7);
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=(0xd2d+202-0xdf7);
|
||||
DATARMNET6a76048590();}
|
||||
DATARMNETae70636c90(&DATARMNET6f9bfa17e6))DATARMNETa00cda79d0(
|
||||
DATARMNETa03ed3629e);DATARMNETe05748b000->DATARMNETa9f2b2f677.
|
||||
DATARMNETb165d2c5c4=false;DATARMNETe05748b000->DATARMNETa9f2b2f677.
|
||||
DATARMNETe2251ce433=(0xd2d+202-0xdf7);DATARMNETe05748b000->DATARMNETa9f2b2f677.
|
||||
DATARMNET7f59b108db=(0xd2d+202-0xdf7);DATARMNET6a76048590();DATARMNETc70e73c8d4(
|
||||
&DATARMNET6f9bfa17e6);}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021, The Linux Foundation. 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
|
||||
@@ -61,13 +61,13 @@ DATARMNET144d119066;u32 DATARMNET645e8912b8;u16 DATARMNET1ef22e4c76;bool
|
||||
DATARMNETf1b6b0a6cc;bool DATARMNET3eb91ee54d;bool DATARMNET8f59f5a745;};void
|
||||
DATARMNET664568fcd0(void);void DATARMNET6a76048590(void);void
|
||||
DATARMNET818b960147(void);void DATARMNETba38823a2f(void);bool
|
||||
DATARMNET19eb0de3b2(void);void DATARMNET58a244b2fe(struct rmnet_frag_descriptor*
|
||||
DATARMNET9d1b321642,u32 DATARMNET5affe290b8);void DATARMNET19d190f2bd(struct
|
||||
DATARMNETd812bcdbb5*DATARMNET458b70e7e5);void DATARMNET9292bebdd3(void*
|
||||
DATARMNETf0d9de7e2f);void DATARMNETb7e47d7254(void*DATARMNETf0d9de7e2f);void
|
||||
DATARMNET95e1703026(struct rmnet_map_dl_ind_hdr*DATARMNET7c7748ef7a,struct
|
||||
rmnet_map_control_command_header*DATARMNET8b07ee3e82);void DATARMNETc9dd320f49(
|
||||
struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct
|
||||
rmnet_map_control_command_header*DATARMNET8b07ee3e82);
|
||||
DATARMNET19eb0de3b2(void);void DATARMNETc70e73c8d4(struct list_head*
|
||||
DATARMNETb5730f5283);void DATARMNET19d190f2bd(struct DATARMNETd812bcdbb5*
|
||||
DATARMNET458b70e7e5,struct list_head*DATARMNET6f9bfa17e6);void
|
||||
DATARMNET9292bebdd3(void*DATARMNETf0d9de7e2f);void DATARMNETb7e47d7254(void*
|
||||
DATARMNETf0d9de7e2f);void DATARMNET95e1703026(struct rmnet_map_dl_ind_hdr*
|
||||
DATARMNET7c7748ef7a,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82)
|
||||
;void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct
|
||||
rmnet_map_control_command_header*DATARMNET8b07ee3e82);
|
||||
#endif
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021, The Linux Foundation. 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
|
||||
@@ -27,8 +27,9 @@ DATARMNETe05748b000->DATARMNET341393eda2);DATARMNET87b015f76f=&
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677;if(DATARMNET87b015f76f->
|
||||
DATARMNETc2832b8f85)rmnet_map_dl_ind_deregister(DATARMNETf0d9de7e2f,&
|
||||
DATARMNET87b015f76f->DATARMNET8633ae8f1e);}static void DATARMNET345f805b34(void)
|
||||
{if(!DATARMNETe05748b000)return;DATARMNETac9c8c14b1();DATARMNETba38823a2f();
|
||||
DATARMNET560e127137();DATARMNETae70636c90();DATARMNETb98b78b8e3();kfree(
|
||||
{LIST_HEAD(DATARMNET6f9bfa17e6);if(!DATARMNETe05748b000)return;
|
||||
DATARMNETac9c8c14b1();DATARMNETba38823a2f();DATARMNET560e127137();
|
||||
DATARMNETae70636c90(&DATARMNET6f9bfa17e6);DATARMNETb98b78b8e3();kfree(
|
||||
DATARMNETe05748b000);DATARMNETe05748b000=NULL;}static int DATARMNETd68e3594a7(
|
||||
void){struct rmnet_port*DATARMNETf0d9de7e2f=DATARMNETe05748b000->
|
||||
DATARMNET403589239f;struct qmi_rmnet_ps_ind*DATARMNETbc78d7fd3c;struct
|
||||
|
@@ -70,13 +70,14 @@ DATARMNET7457d496cb){DATARMNETa00cda79d0(DATARMNET1c0d243816);return
|
||||
DATARMNETb0bd5db24d;}DATARMNET5fe4c722a8->DATARMNETf1b6b0a6cc=false;return
|
||||
DATARMNET0413b43080;}bool DATARMNET4c7cdc25b7(struct DATARMNETd7c9631acd*
|
||||
DATARMNETaa568481cf,struct DATARMNETd812bcdbb5*DATARMNET5fe4c722a8,bool
|
||||
DATARMNETd87669e323){int DATARMNETb14e52a504;if(DATARMNETd87669e323){
|
||||
DATARMNETa00cda79d0(DATARMNET47a963957c);DATARMNETa3055c21f2(DATARMNETaa568481cf
|
||||
);DATARMNET19d190f2bd(DATARMNET5fe4c722a8);return true;}DATARMNETb14e52a504=
|
||||
DATARMNET9a13d70865(DATARMNETaa568481cf,DATARMNET5fe4c722a8);if(
|
||||
DATARMNETb14e52a504==DATARMNET0413b43080){DATARMNET33aa5df9ef(
|
||||
DATARMNETd87669e323,struct list_head*DATARMNET6f9bfa17e6){int
|
||||
DATARMNETb14e52a504;if(DATARMNETd87669e323){DATARMNETa00cda79d0(
|
||||
DATARMNET47a963957c);DATARMNETa3055c21f2(DATARMNETaa568481cf,DATARMNET6f9bfa17e6
|
||||
);DATARMNET19d190f2bd(DATARMNET5fe4c722a8,DATARMNET6f9bfa17e6);return true;}
|
||||
DATARMNETb14e52a504=DATARMNET9a13d70865(DATARMNETaa568481cf,DATARMNET5fe4c722a8)
|
||||
;if(DATARMNETb14e52a504==DATARMNET0413b43080){DATARMNET33aa5df9ef(
|
||||
DATARMNETaa568481cf,DATARMNET5fe4c722a8);}else if(DATARMNETb14e52a504==
|
||||
DATARMNETb0bd5db24d){DATARMNETa3055c21f2(DATARMNETaa568481cf);
|
||||
DATARMNET33aa5df9ef(DATARMNETaa568481cf,DATARMNET5fe4c722a8);}else{
|
||||
DATARMNETa3055c21f2(DATARMNETaa568481cf);DATARMNET19d190f2bd(DATARMNET5fe4c722a8
|
||||
);}return true;}
|
||||
DATARMNETb0bd5db24d){DATARMNETa3055c21f2(DATARMNETaa568481cf,DATARMNET6f9bfa17e6
|
||||
);DATARMNET33aa5df9ef(DATARMNETaa568481cf,DATARMNET5fe4c722a8);}else{
|
||||
DATARMNETa3055c21f2(DATARMNETaa568481cf,DATARMNET6f9bfa17e6);DATARMNET19d190f2bd
|
||||
(DATARMNET5fe4c722a8,DATARMNET6f9bfa17e6);}return true;}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021, The Linux Foundation. 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
|
||||
@@ -15,5 +15,7 @@
|
||||
#include "rmnet_offload_main.h"
|
||||
#include "rmnet_offload_engine.h"
|
||||
bool DATARMNET4c7cdc25b7(struct DATARMNETd7c9631acd*DATARMNETaa568481cf,struct
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8,bool DATARMNETd87669e323);
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8,bool DATARMNETd87669e323,struct
|
||||
list_head*DATARMNET6f9bfa17e6);
|
||||
#endif
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021, The Linux Foundation. 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
|
||||
@@ -28,12 +28,13 @@ DATARMNETcf28ae376b>=DATARMNET71c7d18d88){DATARMNETa00cda79d0(
|
||||
DATARMNETc9b8ef90d1);return DATARMNETb0bd5db24d;}DATARMNET5fe4c722a8->
|
||||
DATARMNETf1b6b0a6cc=false;return DATARMNET0413b43080;}bool DATARMNET8dc47eb7af(
|
||||
struct DATARMNETd7c9631acd*DATARMNETaa568481cf,struct DATARMNETd812bcdbb5*
|
||||
DATARMNET5fe4c722a8,bool DATARMNETd87669e323){int DATARMNETb14e52a504;if(
|
||||
DATARMNETd87669e323){DATARMNETa00cda79d0(DATARMNETc34a778ea2);
|
||||
DATARMNETa3055c21f2(DATARMNETaa568481cf);DATARMNET19d190f2bd(DATARMNET5fe4c722a8
|
||||
);return true;}DATARMNETb14e52a504=DATARMNETdf8e0dc3a0(DATARMNETaa568481cf,
|
||||
DATARMNET5fe4c722a8);if(DATARMNETb14e52a504==DATARMNET0413b43080){
|
||||
DATARMNET33aa5df9ef(DATARMNETaa568481cf,DATARMNET5fe4c722a8);}else if(
|
||||
DATARMNETb14e52a504==DATARMNETb0bd5db24d){DATARMNETa3055c21f2(
|
||||
DATARMNETaa568481cf);DATARMNET33aa5df9ef(DATARMNETaa568481cf,DATARMNET5fe4c722a8
|
||||
);}return true;}
|
||||
DATARMNET5fe4c722a8,bool DATARMNETd87669e323,struct list_head*
|
||||
DATARMNET6f9bfa17e6){int DATARMNETb14e52a504;if(DATARMNETd87669e323){
|
||||
DATARMNETa00cda79d0(DATARMNETc34a778ea2);DATARMNETa3055c21f2(DATARMNETaa568481cf
|
||||
,DATARMNET6f9bfa17e6);DATARMNET19d190f2bd(DATARMNET5fe4c722a8,
|
||||
DATARMNET6f9bfa17e6);return true;}DATARMNETb14e52a504=DATARMNETdf8e0dc3a0(
|
||||
DATARMNETaa568481cf,DATARMNET5fe4c722a8);if(DATARMNETb14e52a504==
|
||||
DATARMNET0413b43080){DATARMNET33aa5df9ef(DATARMNETaa568481cf,DATARMNET5fe4c722a8
|
||||
);}else if(DATARMNETb14e52a504==DATARMNETb0bd5db24d){DATARMNETa3055c21f2(
|
||||
DATARMNETaa568481cf,DATARMNET6f9bfa17e6);DATARMNET33aa5df9ef(DATARMNETaa568481cf
|
||||
,DATARMNET5fe4c722a8);}return true;}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021, The Linux Foundation. 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
|
||||
@@ -15,5 +15,7 @@
|
||||
#include "rmnet_offload_main.h"
|
||||
#include "rmnet_offload_engine.h"
|
||||
bool DATARMNET8dc47eb7af(struct DATARMNETd7c9631acd*DATARMNETaa568481cf,struct
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8,bool DATARMNETd87669e323);
|
||||
DATARMNETd812bcdbb5*DATARMNET5fe4c722a8,bool DATARMNETd87669e323,struct
|
||||
list_head*DATARMNET6f9bfa17e6);
|
||||
#endif
|
||||
|
||||
|
@@ -52,8 +52,8 @@
|
||||
(0xd2d+202-0xdf7))
|
||||
#define DATARMNETd82a2ed45e 204800
|
||||
#define DATARMNETc668d192f2 (0xec7+1093-0x12f5)
|
||||
#define DATARMNETb38cb72105 80000
|
||||
#define DATARMNETfbee9e182e 60000
|
||||
#define DATARMNETb38cb72105 100000
|
||||
#define DATARMNETfbee9e182e 100000
|
||||
#define DATARMNETac6d632788 (80000*DATARMNETc668d192f2)
|
||||
#define DATARMNET243c638e7d 210000
|
||||
#define DATARMNET03fd42433e (210000*DATARMNETc668d192f2)
|
||||
@@ -69,25 +69,27 @@ hrtimer DATARMNET6fd692fc7a;struct rmnet_map_dl_ind DATARMNET08dbb5ab35;struct
|
||||
qmi_rmnet_ps_ind rmnet_idl_ind_cb;struct rmnet_port*port;struct
|
||||
DATARMNETa6f2d499b2 DATARMNET132b9c7dc4[DATARMNETc6782fed88];u64
|
||||
DATARMNETbd3a0ee74e[DATARMNETc6782fed88];long DATARMNETc252a1f55d;long
|
||||
DATARMNETa2e32cdd3a;u32 DATARMNET9c869c1ec2;u16 DATARMNET64bb8a8f57;u8
|
||||
DATARMNETa2e32cdd3a;u16 DATARMNET64bb8a8f57;u8 DATARMNET9c869c1ec2;u8
|
||||
DATARMNETd9cfd2812b;u8 DATARMNETf5ab31b9b0;u8 DATARMNET34097703c8;u8
|
||||
DATARMNETfc89d842ae;u8 DATARMNET6fe0db3a49;u8 DATARMNETba3f7a11ef;u8 map_mask;u8
|
||||
map_len;u8 DATARMNET5c24e1df05;u8 DATARMNET7d667e828e;};struct
|
||||
DATARMNETa034b2e60c{struct sk_buff*head;struct sk_buff*tail;u64
|
||||
DATARMNETbaa5765693;u32 DATARMNET6215127f48;u32 DATARMNET35234676d4;};struct
|
||||
DATARMNET63d7680df2{union{struct iphdr DATARMNETac9bbaad7c;struct ipv6hdr
|
||||
DATARMNET1688a97aa4;}ip_hdr;union{struct tcphdr tp;struct udphdr up;}
|
||||
DATARMNETe33b41dad9;struct list_head DATARMNET04c88b8191;struct net_device*dev;
|
||||
struct DATARMNET6c78e47d24*DATARMNET341ea38662;struct DATARMNETa034b2e60c
|
||||
DATARMNETae4b27456e;struct hlist_node list;u64 DATARMNET11930c5df8;u64
|
||||
DATARMNETa8940e4a7b;u64 DATARMNET2594c418db;u32 queue_head;u32 hash;u16
|
||||
map_index;u16 map_cpu;u16 DATARMNETfbbec4c537;u16 DATARMNETa59ce1fd2d;u8
|
||||
DATARMNET85c698ec34;u16 DATARMNET1e9d25d9ff;u8 DATARMNETa1099c74fe;u8
|
||||
map_len;u8 DATARMNET5c24e1df05;u8 DATARMNET6625085b71;u16 DATARMNETfeee6933fc;
|
||||
u8 DATARMNET7d667e828e;};struct DATARMNETa034b2e60c{struct sk_buff*head;struct
|
||||
sk_buff*tail;u64 DATARMNETbaa5765693;u32 DATARMNET6215127f48;u32
|
||||
DATARMNET35234676d4;};struct DATARMNET63d7680df2{union{struct iphdr
|
||||
DATARMNETac9bbaad7c;struct ipv6hdr DATARMNET1688a97aa4;}ip_hdr;union{struct
|
||||
tcphdr tp;struct udphdr up;}DATARMNETe33b41dad9;struct list_head
|
||||
DATARMNET04c88b8191;struct net_device*dev;struct DATARMNET6c78e47d24*
|
||||
DATARMNET341ea38662;struct DATARMNETa034b2e60c DATARMNETae4b27456e;struct
|
||||
hlist_node list;u64 DATARMNET11930c5df8;u64 DATARMNETa8940e4a7b;u64
|
||||
DATARMNET2594c418db;u32 queue_head;u32 hash;u16 map_index;u16 map_cpu;u16
|
||||
DATARMNETfbbec4c537;u16 DATARMNETa59ce1fd2d;u8 DATARMNET85c698ec34;u16
|
||||
DATARMNET0371465875;u16 DATARMNET1e9d25d9ff;u8 DATARMNETa1099c74fe;u8
|
||||
DATARMNET6250e93187;u8 mux_id;};enum DATARMNET156842d55e{DATARMNET7bc926fdbe,
|
||||
DATARMNETb3e3b2a799,DATARMNET8dcf06727b};enum DATARMNET8463cba7c7{
|
||||
DATARMNETc3bce05be2,DATARMNET14067f0be4,DATARMNET28bb261646,DATARMNET67b67dc88f,
|
||||
DATARMNET0efbbe2821,DATARMNETa4267dfd8a,DATARMNETf13db5ace8,DATARMNETb6eae1e097,
|
||||
DATARMNET7f401828b3,DATARMNETeccb61ebc3};enum DATARMNETf355367410{
|
||||
DATARMNET0e398136dc,DATARMNET975060d6b5,DATARMNET7f401828b3,DATARMNET6ea8a58f4e,
|
||||
DATARMNETcf84373518,DATARMNETeccb61ebc3};enum DATARMNETf355367410{
|
||||
DATARMNET557ff68d74,DATARMNET1c55e5fdb1,DATARMNET4ab5a31d0c,DATARMNETde2dd86539}
|
||||
;enum DATARMNET3f3bc61c03{DATARMNETf5157a9b85,DATARMNET709b59b0e6,
|
||||
DATARMNET99db6e7d86,DATARMNETe3c02ddaeb,DATARMNET394acaf558,DATARMNETef8cbfa62f,
|
||||
@@ -96,10 +98,11 @@ DATARMNET40ceff078e,DATARMNET42b73d0f3f,DATARMNETb8fe2c0e64,DATARMNET72db8b9bac,
|
||||
DATARMNET33a9d4759f,DATARMNET46966e7828,DATARMNETa1f9420686,DATARMNET54b67b8a75,
|
||||
DATARMNETac729c3d29,DATARMNET6533f70c87,DATARMNET6f6efeaf61,DATARMNETcc0ef52ccb,
|
||||
DATARMNETf8de7cb644,DATARMNETdd6bf3de6b,DATARMNETfeaf903a28,DATARMNET767c76ca08,
|
||||
DATARMNET048727d1d9,DATARMNET6ea8a58f4e,DATARMNETf3110711cb};enum
|
||||
DATARMNETd751e3ec84{DATARMNETcc3c294f38,DATARMNET802083239a,DATARMNETed69052342,
|
||||
DATARMNETcfb1764a91,DATARMNET84a9e136b8,DATARMNET01bf75e27c,DATARMNETd45c383019,
|
||||
DATARMNETbb5757569c,DATARMNETc8058e2cff,DATARMNET04dac3a62b,DATARMNET3cef75f6cd}
|
||||
DATARMNET048727d1d9,DATARMNET43405942ed,DATARMNET2e68f4bd9f,DATARMNET0fa3506473,
|
||||
DATARMNETbb641cd339,DATARMNETf3110711cb};enum DATARMNETd751e3ec84{
|
||||
DATARMNETcc3c294f38,DATARMNET802083239a,DATARMNETed69052342,DATARMNETcfb1764a91,
|
||||
DATARMNET84a9e136b8,DATARMNET01bf75e27c,DATARMNETd45c383019,DATARMNETbb5757569c,
|
||||
DATARMNETc8058e2cff,DATARMNET04dac3a62b,DATARMNET94658618fc,DATARMNET3cef75f6cd}
|
||||
;struct DATARMNETfd554c7eac{struct sk_buff*skb;struct DATARMNETfd554c7eac*next;}
|
||||
;struct DATARMNET37ef896af8{struct work_struct DATARMNET33110a3ff5;struct
|
||||
rmnet_port*port;};struct DATARMNETe600c5b727{struct list_head
|
||||
|
@@ -61,6 +61,8 @@ DATARMNET5fc54f7a13 __read_mostly={.notifier_call=DATARMNETe9173bbe0e,.priority=
|
||||
"\x49\x37\x66\x66\x34\x66\x66\x31\x36\x62\x62\x36\x36\x31\x39\x63\x36\x65\x36\x39\x32\x37\x30\x37\x32\x37\x63\x31\x34\x66\x30\x31\x36\x65\x64\x31\x66\x37\x35\x61\x32"
|
||||
,
|
||||
"\x49\x63\x30\x39\x31\x36\x62\x35\x39\x37\x36\x35\x37\x30\x32\x35\x32\x32\x63\x36\x66\x64\x33\x36\x38\x31\x39\x64\x63\x34\x38\x31\x37\x66\x66\x66\x33\x37\x32\x30\x39"
|
||||
,
|
||||
"\x49\x65\x37\x66\x66\x32\x38\x33\x39\x35\x38\x38\x38\x62\x62\x31\x30\x61\x32\x34\x37\x63\x32\x34\x30\x33\x31\x62\x66\x65\x63\x35\x32\x30\x64\x31\x38\x62\x34\x61\x36"
|
||||
};static int DATARMNET2cb9ae589c;int __init DATARMNET163e93649e(void){pr_info(
|
||||
"\x25\x73\x28\x29\x3a\x20\x53\x74\x61\x72\x74\x69\x6e\x67\x20\x72\x6d\x6e\x65\x74\x20\x53\x48\x53\x20\x6d\x6f\x64\x75\x6c\x65\x20\x25\x73\x20" "\n"
|
||||
,__func__,DATARMNETbc8418e817[(0xd2d+202-0xdf7)]);trace_rmnet_shs_high(
|
||||
@@ -117,7 +119,7 @@ pr_err(
|
||||
,__func__);ret=qmi_rmnet_ps_ind_register(port,&DATARMNETecc0627c70.
|
||||
rmnet_idl_ind_cb);if(ret)pr_err(
|
||||
"\x25\x73\x28\x29\x3a\x20\x72\x6d\x6e\x65\x74\x20\x70\x73\x5f\x69\x6e\x64\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c" "\n"
|
||||
,__func__);DATARMNET039ac6d55d();DATARMNET0a6fb12cb2();DATARMNET7492293980(dev);
|
||||
,__func__);DATARMNET7492293980(dev);DATARMNET039ac6d55d();DATARMNET0a6fb12cb2();
|
||||
DATARMNETe46c480d71();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd26+209-0xdf6);
|
||||
trace_rmnet_shs_high(DATARMNET1790979ccf,DATARMNET443dab7031,(0x16e8+787-0xc0c),
|
||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2018-2021 The Linux Foundation. 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
|
||||
@@ -20,7 +20,8 @@
|
||||
#define DATARMNET8120d41372 (0xd1f+216-0xdf5)
|
||||
#define DATARMNET47c2367f93 (0xd18+223-0xdf4)
|
||||
extern struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;extern int
|
||||
rmnet_is_real_dev_registered(const struct net_device*real_dev);int __init
|
||||
DATARMNET163e93649e(void);void __exit DATARMNETf3298dab6f(void);
|
||||
rmnet_is_real_dev_registered(const struct net_device*real_dev);extern
|
||||
rx_handler_result_t rmnet_rx_handler(struct sk_buff**DATARMNET89946cec52);int
|
||||
__init DATARMNET163e93649e(void);void __exit DATARMNETf3298dab6f(void);
|
||||
#endif
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2020 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2020-2021 The Linux Foundation. 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
|
||||
@@ -20,6 +20,7 @@
|
||||
#define DATARMNET81fe789d21 INT_MAX
|
||||
#define MIN_FREQ (0xd2d+202-0xdf7)
|
||||
#define DATARMNET59b491fbc9 DATARMNET81fe789d21
|
||||
#define DATARMNET03d51cb126 (0xd1f+216-0xdf5)
|
||||
struct cpu_freq{unsigned int DATARMNET103c8d34fe;unsigned int
|
||||
DATARMNET1159aa2cb6;};unsigned int DATARMNET666c9ff35e __read_mostly=
|
||||
(0xd26+209-0xdf6);module_param(DATARMNET666c9ff35e,uint,(0xdb7+6665-0x261c));
|
||||
@@ -31,42 +32,47 @@ DATARMNETc4b1be7898;static struct work_struct DATARMNETbfcbb4b8ac;static
|
||||
DEFINE_PER_CPU(struct freq_qos_request,DATARMNET17d6a9530a);static void
|
||||
DATARMNETb90d2272b4(struct work_struct*DATARMNET33110a3ff5){struct cpu_freq*
|
||||
DATARMNETe24d518157;unsigned int i;int ret;struct freq_qos_request*
|
||||
DATARMNETddcafd8b91;get_online_cpus();for_each_online_cpu(i){if((
|
||||
(0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;DATARMNETe24d518157=
|
||||
per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=&
|
||||
DATARMNETddcafd8b91;get_online_cpus();for_each_online_cpu(i){DATARMNETe24d518157
|
||||
=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=&
|
||||
per_cpu(DATARMNET17d6a9530a,i);ret=freq_qos_update_request(DATARMNETddcafd8b91,
|
||||
DATARMNETe24d518157->DATARMNET103c8d34fe);}put_online_cpus();}void
|
||||
DATARMNET82d7f4ffa2(void){struct cpu_freq*DATARMNETe24d518157;int i;
|
||||
for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.
|
||||
DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;
|
||||
DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;}}void
|
||||
DATARMNET5e4aeef593(int cpu){struct cpu_freq*DATARMNETe24d518157;int i=cpu;if((
|
||||
(0xd26+209-0xdf6)<<i)&DATARMNET9273f84bf1)return;DATARMNETe24d518157=per_cpu_ptr
|
||||
(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->
|
||||
DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6
|
||||
=DATARMNET81fe789d21;trace_rmnet_freq_boost(i,DATARMNET59b491fbc9);}void
|
||||
DATARMNETfb7007f025(void){struct cpu_freq*DATARMNETe24d518157;int i;
|
||||
for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;
|
||||
DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);
|
||||
DATARMNETe24d518157->DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157
|
||||
->DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_boost(i,
|
||||
DATARMNET59b491fbc9);}if(work_pending(&DATARMNETbfcbb4b8ac))return;if(
|
||||
DATARMNETde8f350999){queue_work(DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}}void
|
||||
DATARMNET371703c28d(void){struct cpu_freq*DATARMNETe24d518157;int i;
|
||||
for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;
|
||||
DATARMNETde8f350999){queue_work_on(DATARMNET03d51cb126,DATARMNETde8f350999,&
|
||||
DATARMNETbfcbb4b8ac);}}void DATARMNET371703c28d(void){struct cpu_freq*
|
||||
DATARMNETe24d518157;int i;for_each_possible_cpu(i){DATARMNETe24d518157=
|
||||
per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->
|
||||
DATARMNET103c8d34fe=MIN_FREQ;DATARMNETe24d518157->DATARMNET1159aa2cb6=
|
||||
DATARMNET81fe789d21;trace_rmnet_freq_reset(i,MIN_FREQ);}if(work_pending(&
|
||||
DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work_on(
|
||||
DATARMNET03d51cb126,DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}static void
|
||||
DATARMNET009d37d173(void){struct freq_qos_request*DATARMNETddcafd8b91;int i;
|
||||
for_each_possible_cpu(i){DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);if(
|
||||
DATARMNETddcafd8b91&&freq_qos_request_active(DATARMNETddcafd8b91)){
|
||||
freq_qos_remove_request(DATARMNETddcafd8b91);}}}int DATARMNETe6e8431304(void){
|
||||
struct cpu_freq*DATARMNETe24d518157;int i;int ret=(0xd2d+202-0xdf7);struct
|
||||
freq_qos_request*DATARMNETddcafd8b91;struct cpufreq_policy*policy;
|
||||
DATARMNETc4b1be7898.DATARMNET9dd9bc4abb=alloc_percpu(struct cpu_freq);if(!
|
||||
DATARMNETc4b1be7898.DATARMNET9dd9bc4abb)return-ENOMEM;if(!DATARMNETde8f350999)
|
||||
DATARMNETde8f350999=alloc_workqueue(
|
||||
"\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI,(0xd2d+202-0xdf7))
|
||||
;if(!DATARMNETde8f350999){ret=-ENOMEM;goto err;}for_each_possible_cpu(i){
|
||||
DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);
|
||||
DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;DATARMNETe24d518157->
|
||||
DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_reset(i,MIN_FREQ);}if(
|
||||
work_pending(&DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work(
|
||||
DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}static void DATARMNET009d37d173(void)
|
||||
{struct freq_qos_request*DATARMNETddcafd8b91;int i;for_each_possible_cpu(i){
|
||||
DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);if(DATARMNETddcafd8b91&&
|
||||
freq_qos_request_active(DATARMNETddcafd8b91)){freq_qos_remove_request(
|
||||
DATARMNETddcafd8b91);}}}int DATARMNETe6e8431304(void){struct cpu_freq*
|
||||
DATARMNETe24d518157;int i;int ret=(0xd2d+202-0xdf7);struct freq_qos_request*
|
||||
DATARMNETddcafd8b91;struct cpufreq_policy*policy;DATARMNETc4b1be7898.
|
||||
DATARMNET9dd9bc4abb=alloc_percpu(struct cpu_freq);if(!DATARMNETc4b1be7898.
|
||||
DATARMNET9dd9bc4abb)return-ENOMEM;if(!DATARMNETde8f350999)DATARMNETde8f350999=
|
||||
alloc_workqueue("\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI,
|
||||
(0xd2d+202-0xdf7));if(!DATARMNETde8f350999){ret=-ENOMEM;goto err;}
|
||||
for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.
|
||||
DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);
|
||||
policy=cpufreq_cpu_get(i);if(!policy){pr_err(
|
||||
DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);policy=cpufreq_cpu_get(i);if
|
||||
(!policy){pr_err(
|
||||
"\x25\x73\x3a\x20\x63\x70\x75\x66\x72\x65\x71\x20\x70\x6f\x6c\x69\x63\x79\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x63\x70\x75\x25\x64" "\n"
|
||||
,__func__,i);return-ESRCH;}ret=freq_qos_add_request(&policy->constraints,
|
||||
DATARMNETddcafd8b91,FREQ_QOS_MIN,MIN_FREQ);if(ret<(0xd2d+202-0xdf7)){pr_err(
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2020 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2020-2021 The Linux Foundation. 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
|
||||
@@ -14,6 +14,7 @@
|
||||
#ifndef DATARMNETef19703014
|
||||
#define DATARMNETef19703014
|
||||
int DATARMNETe6e8431304(void);int DATARMNETdf74db7e38(void);void
|
||||
DATARMNETfb7007f025(void);void DATARMNET371703c28d(void);
|
||||
DATARMNETfb7007f025(void);void DATARMNET371703c28d(void);void
|
||||
DATARMNET5e4aeef593(int cpu);
|
||||
#endif
|
||||
|
||||
|
@@ -11,6 +11,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <net/sock.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/ip.h>
|
||||
@@ -50,6 +51,9 @@ DATARMNETfbfdc7f27e, CPU).input_queue_tail)
|
||||
DATARMNETfbfdc7f27e, CPU).input_queue_head)
|
||||
#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)
|
||||
@@ -57,63 +61,70 @@ DATARMNET758a55f103
|
||||
DEFINE_SPINLOCK(DATARMNET3764d083f0);DEFINE_HASHTABLE(DATARMNETe603c3a4b3,
|
||||
DATARMNET25437d35fd);struct DATARMNETe600c5b727 DATARMNET0997c5650d[
|
||||
DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];unsigned int
|
||||
DATARMNETaf998640fd __read_mostly=(0xcb7+2213-0x123c);module_param(
|
||||
DATARMNETaf998640fd __read_mostly=(0xeb7+698-0x110d);module_param(
|
||||
DATARMNETaf998640fd,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
||||
DATARMNETaf998640fd,
|
||||
"\x4d\x61\x78\x20\x71\x6d\x61\x70\x20\x62\x61\x63\x6b\x6c\x6f\x67");struct
|
||||
DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8 shs_rx_work;
|
||||
ssize_t DATARMNET713da9913c(struct netdev_rx_queue*DATARMNETb4180393e4,u8 cpu,u8
|
||||
DATARMNETa7a5705ab0,u8 DATARMNET5780499e9c){struct rps_map*DATARMNETaeb4918e65,
|
||||
*map;cpumask_var_t mask;int DATARMNET421230d879;if(!DATARMNET5780499e9c&&(
|
||||
DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen&DATARMNET832731a933(
|
||||
DATARMNETa7a5705ab0).qlen))return-(0xd26+209-0xdf6);map=rcu_dereference(
|
||||
"\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=(0xeb7+698-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"
|
||||
);struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8
|
||||
shs_rx_work;int DATARMNET762cfa52fe(u8 mask);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);DATARMNET421230d879=(DATARMNET3de2536baf(DATARMNETa7a5705ab0).
|
||||
qlen+DATARMNET832731a933(DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879&&
|
||||
DATARMNETecc0627c70.DATARMNET7d667e828e!=DATARMNETecc0627c70.DATARMNET5c24e1df05
|
||||
){DATARMNET68d84e7b98[DATARMNETfeaf903a28]++;DATARMNET4bde88919f(
|
||||
DATARMNETa7a5705ab0,DATARMNET421230d879);}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);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();
|
||||
DATARMNET421230d879=(DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen+
|
||||
DATARMNET832731a933(DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879&&
|
||||
DATARMNETecc0627c70.DATARMNET7d667e828e!=DATARMNETecc0627c70.DATARMNET5c24e1df05
|
||||
){DATARMNET68d84e7b98[DATARMNETfeaf903a28]++;}return(0xd2d+202-0xdf7);}static
|
||||
void*DATARMNETefcaf5fbe9(struct sk_buff*skb,u32 offset,u32 DATARMNET567bdc7221,
|
||||
void*buf){struct skb_shared_info*shinfo=skb_shinfo(skb);skb_frag_t*frag;u32
|
||||
DATARMNETedc267a909=offset;int i;if(offset>skb->len||DATARMNET567bdc7221>skb->
|
||||
len||offset+DATARMNET567bdc7221>skb->len)return NULL;if(skb_headlen(skb)>=offset
|
||||
+DATARMNET567bdc7221)return skb->data+offset;offset-=skb_headlen(skb);for(i=
|
||||
(0xd2d+202-0xdf7);i<shinfo->nr_frags;i++){u32 frag_size;frag=&shinfo->frags[i];
|
||||
frag_size=skb_frag_size(frag);if(offset>=frag_size){offset-=frag_size;continue;}
|
||||
if(frag_size>=offset+DATARMNET567bdc7221)return skb_frag_address(frag)+offset;}
|
||||
if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf,(int)DATARMNET567bdc7221))
|
||||
return NULL;return buf;}int DATARMNET9303cec796(struct sk_buff*skb){int
|
||||
DATARMNETbd864aa442=(0xd2d+202-0xdf7);struct iphdr*ip4h,DATARMNETc00baf31c3;
|
||||
struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;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=DATARMNET9273f84bf1&((0xd26+209-0xdf6)<<DATARMNETecc0627c70.
|
||||
DATARMNET5c24e1df05);}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==
|
||||
IPPROTO_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=DATARMNET9273f84bf1&(
|
||||
(0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05);}break;default:break
|
||||
;}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=&
|
||||
(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);}static void*DATARMNETefcaf5fbe9(struct sk_buff*skb,u32 offset
|
||||
,u32 DATARMNET567bdc7221,void*buf){struct skb_shared_info*shinfo=skb_shinfo(skb)
|
||||
;skb_frag_t*frag;u32 DATARMNETedc267a909=offset;int i;if(offset>skb->len||
|
||||
DATARMNET567bdc7221>skb->len||offset+DATARMNET567bdc7221>skb->len)return NULL;if
|
||||
(skb_headlen(skb)>=offset+DATARMNET567bdc7221)return skb->data+offset;offset-=
|
||||
skb_headlen(skb);for(i=(0xd2d+202-0xdf7);i<shinfo->nr_frags;i++){u32 frag_size;
|
||||
frag=&shinfo->frags[i];frag_size=skb_frag_size(frag);if(offset>=frag_size){
|
||||
offset-=frag_size;continue;}if(frag_size>=offset+DATARMNET567bdc7221)return
|
||||
skb_frag_address(frag)+offset;}if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf
|
||||
,(int)DATARMNET567bdc7221))return NULL;return buf;}int DATARMNET9303cec796(
|
||||
struct sk_buff*skb){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);struct iphdr*ip4h,
|
||||
DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;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=DATARMNET9273f84bf1&((0xd26+209-0xdf6)<<
|
||||
DATARMNETecc0627c70.DATARMNET5c24e1df05);}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==IPPROTO_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=
|
||||
DATARMNET9273f84bf1&((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)
|
||||
;}break;default:break;}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->
|
||||
@@ -125,23 +136,23 @@ 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;}}static void
|
||||
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);}static 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_ni(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->
|
||||
(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_ni(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
|
||||
@@ -251,18 +262,16 @@ DATARMNETb1157fd5c4(DATARMNET42a992465f);DATARMNETda96251102(DATARMNET75d955c408
|
||||
].DATARMNETae196235f2,DATARMNET0997c5650d[DATARMNET42a992465f].qtail,
|
||||
(0x16e8+787-0xc0c),NULL,NULL);}rcu_read_unlock();}int DATARMNET765b8ecfba(struct
|
||||
net_device*dev,u8 cpu,u8 DATARMNET5780499e9c){if(rmnet_is_real_dev_registered(
|
||||
dev)){if(DATARMNET713da9913c(dev->_rx,cpu,raw_smp_processor_id(),
|
||||
DATARMNET5780499e9c)==(0xd2d+202-0xdf7)){RCU_INIT_POINTER(rmnet_shs_switch,NULL)
|
||||
;if(((0xd26+209-0xdf6)<<cpu)&DATARMNETbc3c416b77)DATARMNETb7ddf3c5dd[
|
||||
DATARMNETf13db5ace8]++;else DATARMNETb7ddf3c5dd[DATARMNETb6eae1e097]++;
|
||||
DATARMNETecc0627c70.DATARMNETba3f7a11ef=(0xd26+209-0xdf6)<<cpu;
|
||||
DATARMNETecc0627c70.DATARMNET7d667e828e=cpu;}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;int DATARMNETeaf6716f3e;struct
|
||||
dev)){if(DATARMNET713da9913c(dev->_rx,cpu,DATARMNET5780499e9c)==
|
||||
(0xd2d+202-0xdf7)){DATARMNETecc0627c70.DATARMNETba3f7a11ef=(0xd26+209-0xdf6)<<
|
||||
cpu;DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.
|
||||
DATARMNET7d667e828e;DATARMNETecc0627c70.DATARMNET7d667e828e=cpu;}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<
|
||||
@@ -270,29 +279,27 @@ DATARMNETfbbec4c537;DATARMNET5c4a331b9c=DATARMNETb6bff4a724(DATARMNET63b1a086d5)
|
||||
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;}DATARMNETd3673fd5f0
|
||||
=DATARMNETadb0248bd4(DATARMNET63b1a086d5->map_cpu);DATARMNET9bbfe49633=
|
||||
DATARMNET63b1a086d5->queue_head;DATARMNET42a992465f=DATARMNET63b1a086d5->map_cpu
|
||||
;DATARMNETeaf6716f3e=DATARMNET3de2536baf(DATARMNET42a992465f).qlen+
|
||||
DATARMNET832731a933(DATARMNET42a992465f).qlen;if((DATARMNET63b1a086d5->
|
||||
DATARMNET85c698ec34&&(!DATARMNETeaf6716f3e))||(!DATARMNET63b1a086d5->
|
||||
DATARMNET85c698ec34&&DATARMNETd3673fd5f0>=DATARMNET9bbfe49633)||(
|
||||
DATARMNETd87669e323)){if(likely(DATARMNETa7909611da)){if(DATARMNET63b1a086d5->
|
||||
DATARMNET85c698ec34&&!((DATARMNET765b8ecfba(DATARMNET63b1a086d5->dev,
|
||||
DATARMNET5c4a331b9c,DATARMNETd87669e323)==(0xd2d+202-0xdf7)))){ret=
|
||||
(0xd26+209-0xdf6);break;}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){DATARMNETb7ddf3c5dd[DATARMNET28bb261646]++;
|
||||
DATARMNETb7ddf3c5dd[DATARMNET67b67dc88f]+=(DATARMNET9bbfe49633-
|
||||
DATARMNETd3673fd5f0);DATARMNET4bde88919f(DATARMNET42a992465f,DATARMNET9bbfe49633
|
||||
-DATARMNETd3673fd5f0);}if(DATARMNET0997c5650d[DATARMNET42a992465f].
|
||||
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))||(DATARMNETd87669e323)){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);DATARMNET4bde88919f(DATARMNET42a992465f
|
||||
,(DATARMNET9bbfe49633-DATARMNETd3673fd5f0)+DATARMNET63b1a086d5->
|
||||
DATARMNET0371465875);}if(DATARMNET0997c5650d[DATARMNET42a992465f].
|
||||
DATARMNETef866573e0){DATARMNET63b1a086d5->DATARMNET341ea38662->
|
||||
DATARMNET6e1a4eaf09=DATARMNET8ceb7a8cc9;DATARMNET0997c5650d[DATARMNET8ceb7a8cc9]
|
||||
.DATARMNET1e1f197118=(0xd26+209-0xdf6);DATARMNETb7ddf3c5dd[DATARMNETc3bce05be2]
|
||||
@@ -331,16 +338,20 @@ DATARMNETecc0627c70.DATARMNETc252a1f55d-=DATARMNET76192fa639;DATARMNETecc0627c70
|
||||
DATARMNET42a992465f].DATARMNETef866573e0=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
|
||||
DATARMNET132b9c7dc4[DATARMNET42a992465f].DATARMNETe61d62310f=(0xd2d+202-0xdf7);
|
||||
DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428=(0xd2d+202-0xdf7);
|
||||
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);local_bh_enable();
|
||||
DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET576793621a,DATARMNETecc0627c70.
|
||||
DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d,DATARMNET8bf94cc2f7,
|
||||
DATARMNET76192fa639,NULL,NULL);}static void DATARMNET056c939591(struct
|
||||
work_struct*DATARMNET33110a3ff5){struct DATARMNETa6f2d499b2*DATARMNET4b39dc1574=
|
||||
container_of(DATARMNET33110a3ff5,struct DATARMNETa6f2d499b2,DATARMNET33110a3ff5)
|
||||
;DATARMNETfbc06e60f1(DATARMNET4b39dc1574->DATARMNET42c3ecbd5e);
|
||||
DATARMNET14ed771dfb[DATARMNETbb5757569c]++;}void DATARMNETcba2f7f7b6(struct
|
||||
DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETf345c1d909){struct sk_buff*
|
||||
skb=NULL;struct sk_buff*DATARMNETcebafc57a4=NULL;u32 DATARMNETe20a9cab2b=
|
||||
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);local_bh_enable();if(
|
||||
DATARMNET42a992465f==DATARMNETecc0627c70.DATARMNET6625085b71&&rcu_dereference(
|
||||
rmnet_shs_switch)){RCU_INIT_POINTER(rmnet_shs_switch,NULL);DATARMNETecc0627c70.
|
||||
DATARMNETfeee6933fc=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET6625085b71=
|
||||
DATARMNETecc0627c70.DATARMNET7d667e828e;}DATARMNET52de1f3dc0(DATARMNET4510abc30d
|
||||
,DATARMNET576793621a,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70
|
||||
.DATARMNETc252a1f55d,DATARMNET8bf94cc2f7,DATARMNET76192fa639,NULL,NULL);}void
|
||||
DATARMNET056c939591(struct work_struct*DATARMNET33110a3ff5){struct
|
||||
DATARMNETa6f2d499b2*DATARMNET4b39dc1574=container_of(DATARMNET33110a3ff5,struct
|
||||
DATARMNETa6f2d499b2,DATARMNET33110a3ff5);DATARMNETfbc06e60f1(DATARMNET4b39dc1574
|
||||
->DATARMNET42c3ecbd5e);DATARMNET14ed771dfb[DATARMNETbb5757569c]++;}void
|
||||
DATARMNETcba2f7f7b6(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
|
||||
DATARMNETf345c1d909){struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=
|
||||
NULL;struct DATARMNETe600c5b727*DATARMNETa4055affd5;u32 DATARMNETe20a9cab2b=
|
||||
(0xd2d+202-0xdf7);u32 DATARMNETb481d13a78=(0xd2d+202-0xdf7);u32
|
||||
DATARMNET1fcbf046ec=(0xd2d+202-0xdf7);u8 map=(0xd2d+202-0xdf7),
|
||||
DATARMNET0258668025=(0xd2d+202-0xdf7);u16 DATARMNET87636d0152=(0xd2d+202-0xdf7);
|
||||
@@ -365,30 +376,40 @@ DATARMNET63b1a086d5->DATARMNET1e9d25d9ff==IPPROTO_UDP)DATARMNET68d84e7b98[
|
||||
DATARMNETdd6bf3de6b]++;DATARMNET21243b86ae(skb,DATARMNETf345c1d909,
|
||||
DATARMNET87636d0152);}else{if(DATARMNETf345c1d909==DATARMNET0b15fd8b54&&(!
|
||||
DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
|
||||
DATARMNETf345c1d909==DATARMNET5b5927fd7e&&!DATARMNET63b1a086d5->
|
||||
DATARMNET85c698ec34)DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}}
|
||||
DATARMNETf345c1d909==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
|
||||
DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else if(DATARMNET63b1a086d5->
|
||||
DATARMNET85c698ec34&&DATARMNETf345c1d909==DATARMNET0b15fd8b54){
|
||||
DATARMNETa4055affd5=&DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu];
|
||||
DATARMNETde8ee16f92(DATARMNET63b1a086d5);spin_unlock_bh(&DATARMNET3764d083f0);
|
||||
rmnet_rx_handler(&skb);spin_lock_bh(&DATARMNET3764d083f0);DATARMNET3e37ad2816(
|
||||
DATARMNET63b1a086d5,&DATARMNETa4055affd5->DATARMNET3dc4262f53);}else{
|
||||
DATARMNET14ed771dfb[DATARMNET94658618fc]++;netif_rx_ni(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);}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&&(!
|
||||
DATARMNETae4b27456e.tail=NULL;if(DATARMNET63b1a086d5->DATARMNET85c698ec34){
|
||||
RCU_INIT_POINTER(rmnet_shs_switch,NULL);DATARMNET63b1a086d5->DATARMNET0371465875
|
||||
=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETfeee6933fc=(0xd2d+202-0xdf7);
|
||||
DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;
|
||||
}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);}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)DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}
|
||||
DATARMNET5447204733==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
|
||||
DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else{netif_rx_ni(skb);}}
|
||||
DATARMNET68d84e7b98[DATARMNET72db8b9bac]++;DATARMNETecc0627c70.
|
||||
DATARMNETc252a1f55d-=DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a
|
||||
-=DATARMNETe20a9cab2b;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
|
||||
@@ -419,16 +440,18 @@ DATARMNETea08087fc0){u32 DATARMNETba6017a3a9=(!DATARMNET227d2ff866)?
|
||||
(0xd26+209-0xdf6):DATARMNET227d2ff866;int DATARMNETd9d8392917;if((
|
||||
DATARMNETd9d8392917=DATARMNET2af09ccd0b(DATARMNET42a992465f,DATARMNET7845d39672,
|
||||
DATARMNETea08087fc0))&&DATARMNET362b15f941(DATARMNET42a992465f)&&!
|
||||
DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETef866573e0){
|
||||
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
|
||||
list_head*DATARMNET7b34b7b5be=NULL,*next=NULL;int DATARMNET42a992465f;u32
|
||||
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 list_head*
|
||||
DATARMNET7b34b7b5be=NULL,*next=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=
|
||||
@@ -480,18 +503,18 @@ DATARMNETecc0627c70.DATARMNETa2e32cdd3a<=(0xd2d+202-0xdf7))){DATARMNETecc0627c70
|
||||
DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;if(
|
||||
DATARMNET365ddeca1c){if(hrtimer_active(&DATARMNETecc0627c70.DATARMNET6fd692fc7a)
|
||||
)hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);}}}void
|
||||
DATARMNETa4bf9fbf64(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){unsigned long
|
||||
ht_flags;spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);DATARMNETe377e0368d(
|
||||
DATARMNETded3da1a77,DATARMNET5447204733);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]++;}spin_unlock_irqrestore(&
|
||||
DATARMNET3764d083f0,ht_flags);}void DATARMNET495dab3d72(struct sk_buff*skb,
|
||||
struct DATARMNET63d7680df2*DATARMNET63b1a086d5,struct rmnet_shs_clnt_s*
|
||||
DATARMNET0bf01e7c6f){u8 DATARMNET7d63e92341=(0xd2d+202-0xdf7);
|
||||
DATARMNETa4bf9fbf64(u8 DATARMNETded3da1a77,u8 DATARMNET5447204733){spin_lock_bh(
|
||||
&DATARMNET3764d083f0);DATARMNETe377e0368d(DATARMNETded3da1a77,
|
||||
DATARMNET5447204733);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]++;}spin_unlock_bh(&DATARMNET3764d083f0);}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)
|
||||
@@ -587,28 +610,30 @@ 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(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)
|
||||
){DATARMNET14ed771dfb[DATARMNET84a9e136b8]++;DATARMNETa4bf9fbf64(
|
||||
(0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}}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.
|
||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);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
|
||||
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.DATARMNET7d667e828e=(0xd26+209-0xdf6);for(
|
||||
(0xd26+209-0xdf6);DATARMNETecc0627c70.DATARMNET6625085b71=(0xd26+209-0xdf6);
|
||||
DATARMNETecc0627c70.DATARMNET7d667e828e=(0xd26+209-0xdf6);for(
|
||||
DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<DATARMNETc6782fed88;
|
||||
DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[DATARMNET0e4304d903].
|
||||
DATARMNET3dc4262f53);DATARMNETe6e8431304();rc=register_oom_notifier(&
|
||||
@@ -650,108 +675,141 @@ DATARMNET1e9d25d9ff==IPPROTO_TCP){tp=DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*tp),
|
||||
&DATARMNETd1ff6cd568);if(!tp)return;memcpy(&(node_p->DATARMNETe33b41dad9.tp),tp,
|
||||
sizeof(struct tcphdr));}else if(node_p->DATARMNET1e9d25d9ff==IPPROTO_UDP){up=
|
||||
DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*up),&DATARMNETc82d2f4e16);if(!up)return;
|
||||
memcpy(&(node_p->DATARMNETe33b41dad9.up),up,sizeof(struct udphdr));}else{}}int
|
||||
DATARMNET756778f14f(struct sk_buff*skb,struct rmnet_shs_clnt_s*
|
||||
DATARMNET0bf01e7c6f){struct DATARMNET63d7680df2*node_p;struct hlist_node*tmp;int
|
||||
map=DATARMNETecc0627c70.map_mask;unsigned long ht_flags;int DATARMNETcfb5dc7296
|
||||
;int map_cpu;u32 DATARMNET5c4a331b9c,hash;u8 is_match_found=(0xd2d+202-0xdf7);u8
|
||||
DATARMNET935af10724=(0xd2d+202-0xdf7);u8 DATARMNET7c5ef97eab=(0xd2d+202-0xdf7);
|
||||
struct DATARMNETe600c5b727*DATARMNETa4055affd5;struct rmnet_priv*priv;if(!(
|
||||
DATARMNET0bf01e7c6f->config&RMNET_SHS_STMP_ALL)&&!DATARMNET9303cec796(skb)){
|
||||
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);spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);do{
|
||||
hash_for_each_possible_safe(DATARMNETe603c3a4b3,node_p,tmp,list,hash){if(hash!=
|
||||
node_p->hash)continue;DATARMNETda96251102(DATARMNET720469c0a9,
|
||||
DATARMNET08b6defcff,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
||||
(0x16e8+787-0xc0c),skb,NULL);DATARMNET5c4a331b9c=node_p->map_index;
|
||||
DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);is_match_found=
|
||||
(0xd26+209-0xdf6);DATARMNET935af10724=(0xd26+209-0xdf6);if(node_p->
|
||||
DATARMNET85c698ec34){if(node_p->map_cpu>=(0xd2d+202-0xdf7)&&node_p->map_cpu<
|
||||
DATARMNETc6782fed88){if(!hrtimer_active(&DATARMNETba5ea4329f(node_p->map_cpu)))
|
||||
hrtimer_start(&DATARMNETba5ea4329f(node_p->map_cpu),ns_to_ktime(
|
||||
DATARMNET4ac8af832c*DATARMNET68fc0be252),HRTIMER_MODE_REL);}if(
|
||||
raw_smp_processor_id()!=DATARMNETecc0627c70.DATARMNET7d667e828e&&(
|
||||
DATARMNETecc0627c70.DATARMNET7d667e828e==DATARMNETecc0627c70.DATARMNET5c24e1df05
|
||||
)){DATARMNET68d84e7b98[DATARMNET048727d1d9]++;DATARMNET7c5ef97eab=
|
||||
(0xd26+209-0xdf6);}if(DATARMNETaf998640fd&&node_p->DATARMNETae4b27456e.
|
||||
DATARMNET6215127f48>DATARMNETaf998640fd)DATARMNET7c5ef97eab=(0xd26+209-0xdf6);}
|
||||
break;}if(is_match_found)break;if(DATARMNET0bf01e7c6f->map_mask){
|
||||
DATARMNETcfb5dc7296=DATARMNET362c14e98b(DATARMNETecc0627c70.map_mask&
|
||||
DATARMNET9273f84bf1&~DATARMNETecc0627c70.DATARMNETba3f7a11ef);}else{
|
||||
DATARMNETcfb5dc7296=DATARMNET217fe38119((0xd2d+202-0xdf7),skb->dev);}if(
|
||||
DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){DATARMNET68d84e7b98[DATARMNETa1f9420686]
|
||||
++;break;}if(DATARMNETecc0627c70.DATARMNET64bb8a8f57>DATARMNETbfe31ef643){
|
||||
DATARMNET68d84e7b98[DATARMNETe6e77f9f03]++;break;}node_p=kzalloc(sizeof(*node_p)
|
||||
,GFP_ATOMIC);if(!node_p){DATARMNET68d84e7b98[DATARMNET394acaf558]++;break;}
|
||||
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);if(DATARMNET0bf01e7c6f->map_mask){node_p->
|
||||
memcpy(&(node_p->DATARMNETe33b41dad9.up),up,sizeof(struct udphdr));}else{}}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=
|
||||
raw_smp_processor_id();node_p->map_index=node_p->map_cpu;node_p->
|
||||
DATARMNET85c698ec34=(0xd26+209-0xdf6);if(hrtimer_active(&DATARMNETba5ea4329f(
|
||||
node_p->map_cpu)))hrtimer_cancel(&DATARMNETba5ea4329f(node_p->map_cpu));
|
||||
hrtimer_start(&DATARMNETba5ea4329f(node_p->map_cpu),ns_to_ktime(
|
||||
DATARMNET4ac8af832c*DATARMNET68fc0be252),HRTIMER_MODE_REL);}else if(node_p->
|
||||
DATARMNET85c698ec34){node_p->DATARMNET341ea38662->mux_id=(0xd2d+202-0xdf7);}else
|
||||
{node_p->DATARMNETfbbec4c537=DATARMNETecc0627c70.map_mask;node_p->
|
||||
DATARMNETa59ce1fd2d=DATARMNETecc0627c70.map_len;}DATARMNET0349051465(node_p->
|
||||
map_cpu);DATARMNET350f55bfca(node_p);map_cpu=node_p->map_cpu;DATARMNETa4055affd5
|
||||
=&DATARMNET0997c5650d[map_cpu];priv=netdev_priv(node_p->dev);if(!priv){rm_err(
|
||||
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;unsigned long
|
||||
ht_flags;int DATARMNETcfb5dc7296;int map_cpu;u32 DATARMNET5c4a331b9c,hash;u8
|
||||
is_match_found=(0xd2d+202-0xdf7);u8 DATARMNET935af10724=(0xd2d+202-0xdf7);u8
|
||||
DATARMNET7c5ef97eab=(0xd2d+202-0xdf7);struct DATARMNETe600c5b727*
|
||||
DATARMNETa4055affd5;struct rmnet_priv*priv;if(!(DATARMNET0bf01e7c6f->config&
|
||||
RMNET_SHS_STMP_ALL)&&!DATARMNET9303cec796(skb)){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((0xd26+209-0xdf6),
|
||||
DATARMNET0b15fd8b54);RCU_INIT_POINTER(rmnet_shs_switch,NULL);DATARMNET68d84e7b98
|
||||
[DATARMNET43405942ed]++;DATARMNETecc0627c70.DATARMNETfeee6933fc=
|
||||
(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}}spin_lock_irqsave(&
|
||||
DATARMNET3764d083f0,ht_flags);do{hash_for_each_possible_safe(DATARMNETe603c3a4b3
|
||||
,node_p,tmp,list,hash){if(hash!=node_p->hash)continue;DATARMNETda96251102(
|
||||
DATARMNET720469c0a9,DATARMNET08b6defcff,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb,NULL);DATARMNET5c4a331b9c=node_p->
|
||||
map_index;is_match_found=(0xd26+209-0xdf6);DATARMNET935af10724=(0xd26+209-0xdf6)
|
||||
;if(node_p->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=(0xd26+209-0xdf6)
|
||||
;break;}if(DATARMNETadb0248bd4(DATARMNETecc0627c70.DATARMNET7d667e828e)>=(node_p
|
||||
->queue_head+node_p->DATARMNET0371465875)){DATARMNET7c5ef97eab=(0xd26+209-0xdf6)
|
||||
;break;}if(DATARMNETaf998640fd&&node_p->DATARMNETae4b27456e.DATARMNET6215127f48>
|
||||
DATARMNETaf998640fd){DATARMNET14ed771dfb[DATARMNETcc3c294f38]++;
|
||||
DATARMNET7c5ef97eab=(0xd26+209-0xdf6);break;}spin_unlock_irqrestore(&
|
||||
DATARMNET3764d083f0,ht_flags);return(0xd2d+202-0xdf7);}else DATARMNET495dab3d72(
|
||||
skb,node_p,DATARMNET0bf01e7c6f);break;}if(is_match_found)break;if(
|
||||
DATARMNET0bf01e7c6f->map_mask){DATARMNETcfb5dc7296=DATARMNET362c14e98b(
|
||||
DATARMNETecc0627c70.map_mask&DATARMNET9273f84bf1&~DATARMNETecc0627c70.
|
||||
DATARMNETba3f7a11ef);}else{DATARMNETcfb5dc7296=DATARMNET217fe38119(
|
||||
(0xd2d+202-0xdf7),skb->dev);}if(DATARMNETcfb5dc7296<(0xd2d+202-0xdf7)){
|
||||
DATARMNET68d84e7b98[DATARMNETa1f9420686]++;break;}if(DATARMNETecc0627c70.
|
||||
DATARMNET64bb8a8f57>DATARMNETbfe31ef643){DATARMNET68d84e7b98[DATARMNETe6e77f9f03
|
||||
]++;break;}node_p=kzalloc(sizeof(*node_p),GFP_ATOMIC);if(!node_p){
|
||||
DATARMNET68d84e7b98[DATARMNET394acaf558]++;break;}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);if(DATARMNET0bf01e7c6f->map_mask){DATARMNETe074a09496();
|
||||
DATARMNET02fc8b29a0(node_p,DATARMNET0bf01e7c6f,skb->dev);}else{node_p->
|
||||
DATARMNETfbbec4c537=DATARMNETecc0627c70.map_mask;node_p->DATARMNETa59ce1fd2d=
|
||||
DATARMNETecc0627c70.map_len;}DATARMNET0349051465(node_p->map_cpu);
|
||||
DATARMNET350f55bfca(node_p);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);DATARMNET495dab3d72(skb,node_p,DATARMNET0bf01e7c6f);
|
||||
DATARMNET935af10724=(0xd26+209-0xdf6);break;}while((0xd2d+202-0xdf7));if(!
|
||||
DATARMNET935af10724){spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);
|
||||
DATARMNET68d84e7b98[DATARMNET99db6e7d86]++;DATARMNETe767554e6e(skb);
|
||||
DATARMNET015fb2ba0e(DATARMNET720469c0a9,DATARMNETe0fee0991a,(0x16e8+787-0xc0c),
|
||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return
|
||||
(0xd2d+202-0xdf7);}if(!DATARMNETecc0627c70.DATARMNETd9cfd2812b&&
|
||||
DATARMNETecc0627c70.DATARMNETa2e32cdd3a&&DATARMNET365ddeca1c){
|
||||
DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd26+209-0xdf6);DATARMNETecc0627c70.
|
||||
DATARMNET34097703c8=DATARMNET7bc926fdbe;if(hrtimer_active(&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);}
|
||||
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);if(DATARMNETecc0627c70.
|
||||
DATARMNETa2e32cdd3a>DATARMNET7d18c0bcf8){if(DATARMNET58b009b16b)
|
||||
DATARMNET14ed771dfb[DATARMNET802083239a]++;DATARMNET52de1f3dc0(
|
||||
DATARMNET4510abc30d,DATARMNET562b7d32a8,(0xd2d+202-0xdf7),(0x16e8+787-0xc0c),
|
||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);DATARMNETa4bf9fbf64(
|
||||
(0xd26+209-0xdf6),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(
|
||||
(0xd26+209-0xdf6),DATARMNET0b15fd8b54);}else if(DATARMNET7c5ef97eab){if(
|
||||
DATARMNET58b009b16b)DATARMNET14ed771dfb[DATARMNETcc3c294f38]++;
|
||||
DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET562b7d32a8,(0xd26+209-0xdf6),
|
||||
node_p->list,skb->hash);if(!node_p->DATARMNET85c698ec34)DATARMNET495dab3d72(skb,
|
||||
node_p,DATARMNET0bf01e7c6f);else{netif_rx(skb);spin_unlock_irqrestore(&
|
||||
DATARMNET3764d083f0,ht_flags);return(0xd2d+202-0xdf7);}DATARMNET935af10724=
|
||||
(0xd26+209-0xdf6);break;}while((0xd2d+202-0xdf7));if(!DATARMNET935af10724){
|
||||
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);DATARMNET68d84e7b98[
|
||||
DATARMNET99db6e7d86]++;DATARMNETe767554e6e(skb);DATARMNET015fb2ba0e(
|
||||
DATARMNET720469c0a9,DATARMNETe0fee0991a,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return(0xd2d+202-0xdf7);}if(!
|
||||
DATARMNETecc0627c70.DATARMNETd9cfd2812b&&DATARMNETecc0627c70.DATARMNETa2e32cdd3a
|
||||
&&DATARMNET365ddeca1c){DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd26+209-0xdf6)
|
||||
;DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET7bc926fdbe;if(hrtimer_active(&
|
||||
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);}spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);if(
|
||||
DATARMNETecc0627c70.DATARMNETa2e32cdd3a>DATARMNET7d18c0bcf8){if(
|
||||
DATARMNET58b009b16b)DATARMNET14ed771dfb[DATARMNET802083239a]++;
|
||||
DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET562b7d32a8,(0xd2d+202-0xdf7),
|
||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
||||
DATARMNETa4bf9fbf64((0xd26+209-0xdf6),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((0xd26+209-0xdf6),DATARMNET0b15fd8b54);}else if(
|
||||
DATARMNET7c5ef97eab){DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET562b7d32a8
|
||||
,(0xd26+209-0xdf6),DATARMNETecc0627c70.DATARMNETa2e32cdd3a,(0x16e8+787-0xc0c),
|
||||
(0x16e8+787-0xc0c),NULL,NULL);DATARMNETa4bf9fbf64((0xd26+209-0xdf6),
|
||||
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((0xd26+209-0xdf6),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.
|
||||
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
|
||||
|
@@ -162,11 +162,11 @@ DATARMNET365ddeca1c,
|
||||
DATARMNETbc049ffc4c,uint,NULL,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
||||
DATARMNETbc049ffc4c,
|
||||
"\x4d\x61\x78\x20\x70\x6b\x74\x73\x20\x69\x6e\x20\x62\x61\x63\x6b\x6c\x6f\x67\x20\x70\x72\x69\x6f\x72\x69\x74\x69\x7a\x69\x6e\x67"
|
||||
);unsigned int DATARMNET65393dea13[DATARMNETc6782fed88]={(0x16a8+1565-0x14f5),
|
||||
(0x10d9+1551-0xd24),(0x10d9+1551-0xd24),(0x10d9+1551-0xd24),(0x10d9+1551-0xd24),
|
||||
(0x10d9+1551-0xd24),(0x10d9+1551-0xd24),(0x10d9+1551-0xd24)};module_param_array(
|
||||
DATARMNET65393dea13,uint,NULL,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
||||
DATARMNET65393dea13,
|
||||
);unsigned int DATARMNET65393dea13[DATARMNETc6782fed88]={(0x17b8+5768-0x2224),
|
||||
(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),
|
||||
(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),
|
||||
(0x17b8+5768-0x2224)};module_param_array(DATARMNET65393dea13,uint,NULL,
|
||||
(0xdb7+6665-0x261c));MODULE_PARM_DESC(DATARMNET65393dea13,
|
||||
"\x4d\x61\x78\x20\x70\x6b\x74\x73\x20\x69\x6e\x20\x61\x20\x62\x75\x72\x73\x74\x20\x62\x65\x66\x6f\x72\x65\x20\x70\x72\x69\x6f\x72\x69\x74\x69\x7a\x69\x6e\x67"
|
||||
);unsigned int DATARMNET4ac8af832c __read_mostly=(0xd03+244-0xdf1);module_param(
|
||||
DATARMNET4ac8af832c,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
|
||||
|
@@ -657,14 +657,16 @@ DATARMNET64bb8a8f57>DATARMNET7a815512d3&&time>DATARMNET270b564b55)ret=true;
|
||||
return ret;}void DATARMNET39391a8bc5(u8 DATARMNETcd94e0d3c7){struct
|
||||
DATARMNET63d7680df2*node_p=NULL;ktime_t DATARMNETf48008e7b6;unsigned long
|
||||
ht_flags;struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;struct list_head*
|
||||
DATARMNET7b34b7b5be=NULL,*next=NULL;list_for_each_safe(DATARMNET7b34b7b5be,next,
|
||||
&DATARMNET9825511866){DATARMNETd2a694d52a=list_entry(DATARMNET7b34b7b5be,struct
|
||||
DATARMNET6c78e47d24,DATARMNET6de26f0feb);if(DATARMNETd2a694d52a->
|
||||
DATARMNET63b1a086d5==NULL)continue;node_p=DATARMNETd2a694d52a->
|
||||
DATARMNET63b1a086d5;DATARMNETf48008e7b6=DATARMNET36cfa76181(DATARMNETd2a694d52a
|
||||
->DATARMNET42ceaf5cc2);if(DATARMNET1154e4fac6(DATARMNETf48008e7b6,
|
||||
DATARMNETecc0627c70.DATARMNET64bb8a8f57)||DATARMNETcd94e0d3c7){local_bh_disable(
|
||||
);trace_rmnet_shs_wq_low(DATARMNET394831f22a,DATARMNET5e2c5adaae,node_p->hash,
|
||||
DATARMNET7b34b7b5be=NULL,*next=NULL;rcu_read_lock();list_for_each_safe(
|
||||
DATARMNET7b34b7b5be,next,&DATARMNET9825511866){DATARMNETd2a694d52a=list_entry(
|
||||
DATARMNET7b34b7b5be,struct DATARMNET6c78e47d24,DATARMNET6de26f0feb);if(
|
||||
DATARMNETd2a694d52a->DATARMNET63b1a086d5==NULL)continue;node_p=
|
||||
DATARMNETd2a694d52a->DATARMNET63b1a086d5;DATARMNETf48008e7b6=DATARMNET36cfa76181
|
||||
(DATARMNETd2a694d52a->DATARMNET42ceaf5cc2);if((DATARMNET1154e4fac6(
|
||||
DATARMNETf48008e7b6,DATARMNETecc0627c70.DATARMNET64bb8a8f57)&&((node_p->
|
||||
DATARMNET85c698ec34&&!rcu_dereference(rmnet_shs_switch))||!node_p->
|
||||
DATARMNET85c698ec34))||DATARMNETcd94e0d3c7){local_bh_disable();
|
||||
trace_rmnet_shs_wq_low(DATARMNET394831f22a,DATARMNET5e2c5adaae,node_p->hash,
|
||||
DATARMNETf48008e7b6,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),node_p,
|
||||
DATARMNETd2a694d52a);spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);
|
||||
DATARMNET23c7ddd780(node_p,DATARMNET5b5927fd7e);DATARMNET3669e7b703(
|
||||
@@ -679,9 +681,10 @@ DATARMNETd2a694d52a->DATARMNET0bfc2b2c85==(0xd2d+202-0xdf7)||DATARMNETcd94e0d3c7
|
||||
){DATARMNET2fe780019f(DATARMNETd2a694d52a);kfree(DATARMNETd2a694d52a);}else{
|
||||
DATARMNETa6e92c3315(DATARMNETd2a694d52a);}DATARMNETecc0627c70.
|
||||
DATARMNET64bb8a8f57--;spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);
|
||||
local_bh_enable();}}}void DATARMNETe69c918dc8(struct DATARMNET9b44b71ee9*ep){
|
||||
struct rps_map*map;u8 len=(0xd2d+202-0xdf7);if(!ep||!ep->ep){DATARMNET68d84e7b98
|
||||
[DATARMNETb8fe2c0e64]++;return;}rcu_read_lock();if(!ep->ep){pr_info(
|
||||
local_bh_enable();}}rcu_read_unlock();}void DATARMNETe69c918dc8(struct
|
||||
DATARMNET9b44b71ee9*ep){struct rps_map*map;u8 len=(0xd2d+202-0xdf7);if(!ep||!ep
|
||||
->ep){DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return;}rcu_read_lock();if(!ep
|
||||
->ep){pr_info(
|
||||
"\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x73\x74\x61\x74\x65\x20\x25\x70"
|
||||
,ep->ep);DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return;}map=rcu_dereference(
|
||||
ep->ep->_rx->rps_map);ep->DATARMNET9fb369ce5f=(0xd2d+202-0xdf7);if(map!=NULL){
|
||||
@@ -786,7 +789,7 @@ DATARMNET9dc7755be5->DATARMNET1150269da2);for(cpu=(0xd2d+202-0xdf7);cpu<
|
||||
DATARMNETc6782fed88;cpu++)DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);
|
||||
rcu_read_lock();if(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET7d667e828e)&
|
||||
DATARMNETbc3c416b77){DATARMNETecc0627c70.DATARMNET5c24e1df05=(0xd26+209-0xdf6);
|
||||
RCU_INIT_POINTER(rmnet_shs_switch,DATARMNET756778f14f);DATARMNET68d84e7b98[
|
||||
RCU_INIT_POINTER(rmnet_shs_switch,DATARMNET756778f14f);DATARMNETb7ddf3c5dd[
|
||||
DATARMNET6ea8a58f4e]++;}rcu_read_unlock();}void DATARMNET7b6c061b06(void){if(
|
||||
DATARMNETf141197982&&DATARMNET9dc7755be5)queue_delayed_work(DATARMNETf141197982,
|
||||
&DATARMNET9dc7755be5->DATARMNET1150269da2,(0xd2d+202-0xdf7));}void
|
||||
|
@@ -127,16 +127,17 @@ if(na){if(nla_memcpy(&DATARMNET7f0ce2d6ad,na,sizeof(DATARMNET7f0ce2d6ad))>
|
||||
"\x68\x61\x73\x68\x5f\x74\x6f\x5f\x6d\x6f\x76\x65\x20\x3d\x20\x30\x78\x25\x78\x20\x73\x75\x67\x67\x5f\x74\x79\x70\x65\x20\x3d\x20\x25\x75"
|
||||
,DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d
|
||||
,DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5
|
||||
);if(DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==DATARMNET5dccc475d4){if(!((
|
||||
(0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNET9273f84bf1)
|
||||
||(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&
|
||||
DATARMNET9273f84bf1)){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
|
||||
DATARMNET2d19c9b1ef);return-(0xd26+209-0xdf6);}DATARMNETecc0627c70.
|
||||
DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d;rcu_read_lock();
|
||||
RCU_INIT_POINTER(rmnet_shs_switch,DATARMNET756778f14f);rcu_read_unlock();
|
||||
DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return
|
||||
(0xd2d+202-0xdf7);}if(DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==
|
||||
DATARMNET37da25c8e8){if(!(((0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.
|
||||
);if(DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==DATARMNET5dccc475d4){
|
||||
DATARMNETb7ddf3c5dd[DATARMNETf13db5ace8]++;if(!(((0xd26+209-0xdf6)<<
|
||||
DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNET9273f84bf1)||((
|
||||
(0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&DATARMNET9273f84bf1)
|
||||
){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return-
|
||||
(0xd26+209-0xdf6);}DATARMNETecc0627c70.DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.
|
||||
DATARMNET208ea67e1d;rcu_read_lock();RCU_INIT_POINTER(rmnet_shs_switch,
|
||||
DATARMNET756778f14f);rcu_read_unlock();DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
|
||||
DATARMNET2d19c9b1ef);return(0xd2d+202-0xdf7);}if(DATARMNET7f0ce2d6ad.
|
||||
DATARMNETa3f89581b5==DATARMNET37da25c8e8){DATARMNETb7ddf3c5dd[
|
||||
DATARMNETb6eae1e097]++;if(!(((0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.
|
||||
DATARMNET208ea67e1d)&DATARMNETbc3c416b77)||(((0xd26+209-0xdf6)<<
|
||||
DATARMNETecc0627c70.DATARMNET5c24e1df05)&DATARMNETbc3c416b77)){
|
||||
DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return-
|
||||
|
Fai riferimento in un nuovo problema
Block a user