rmnet_offload: I6d6f925f3e321e1228d3873fc78218ba90e94506
Updates the module to version I6d6f925f3e321e1228d3873fc78218ba90e94506. Change-Id: I85c13aab81f3fc562692e85dd83d55d16e1a36ff
This commit is contained in:
@@ -21,170 +21,169 @@
|
||||
#include "rmnet_offload_state.h"
|
||||
#include "rmnet_offload_engine.h"
|
||||
#include "rmnet_offload_stats.h"
|
||||
static const char*DATARMNET9a36480134[]__always_unused={
|
||||
static const char*DATARMNET9be3ddbe97[]__always_unused={
|
||||
"\x49\x37\x32\x31\x62\x64\x36\x39\x35\x32\x31\x66\x65\x34\x61\x61\x38\x64\x61\x65\x62\x65\x66\x62\x32\x38\x30\x64\x38\x64\x31\x35\x30\x39\x66\x39\x31\x65\x36\x37\x33"
|
||||
,};static DEFINE_SPINLOCK(DATARMNET56235f0bb4);static u32 DATARMNETf6597f07e9(
|
||||
struct DATARMNETadd6ff90d0*DATARMNET809d788099){__be32 DATARMNET51e56c6582[
|
||||
(0x5b9+1700-0xc52)];u32 DATARMNETb65409e3b5;__be16 DATARMNETe048999b85=
|
||||
(0xb0c+7037-0x2689),DATARMNET6b15e99cb9=(0x6dc+1549-0xce9);if(
|
||||
DATARMNET809d788099->DATARMNET072708db10==DATARMNETb02d95e937||
|
||||
DATARMNET809d788099->DATARMNET072708db10==DATARMNET70889e5696){struct
|
||||
DATARMNET2d87db499d*DATARMNET5829e80183=DATARMNET809d788099->DATARMNETc51cdf696b
|
||||
;DATARMNETe048999b85=DATARMNET5829e80183->DATARMNETaad9b0a864;
|
||||
DATARMNET6b15e99cb9=DATARMNET5829e80183->DATARMNETd751c12d13;}if(
|
||||
DATARMNET809d788099->DATARMNET9f5b2909c8==(0x10f3+703-0x13ae)){struct
|
||||
DATARMNETf61a39bce9*DATARMNETf7a5ea0c29=DATARMNET809d788099->DATARMNET574a565f78
|
||||
;DATARMNET51e56c6582[(0x167b+1973-0x1e30)]=DATARMNETf7a5ea0c29->
|
||||
DATARMNET799b2a47a5;DATARMNET51e56c6582[(0xcb3+6554-0x264c)]=DATARMNETf7a5ea0c29
|
||||
->DATARMNET7c6ed51964;DATARMNET51e56c6582[(0x1c51+2147-0x24b2)]=
|
||||
DATARMNETf7a5ea0c29->DATARMNET065f40367c;DATARMNET51e56c6582[
|
||||
(0x1092+2502-0x1a55)]=DATARMNET6b15e99cb9;DATARMNET51e56c6582[
|
||||
(0x1300+1818-0x1a16)]=DATARMNETe048999b85;DATARMNETb65409e3b5=
|
||||
(0x1ac+8562-0x2319);}else{struct DATARMNETfab66e680d*DATARMNET6bd3c60da4=
|
||||
DATARMNET809d788099->DATARMNET1dab0af728;memcpy(&DATARMNET51e56c6582[
|
||||
(0x11d+5240-0x1595)],&DATARMNET6bd3c60da4->DATARMNET818f335f71[
|
||||
(0x8dd+4882-0x1bef)],sizeof(DATARMNET6bd3c60da4->DATARMNET818f335f71));memcpy(&
|
||||
DATARMNET51e56c6582[(0xbbd+5094-0x1f9e)],&DATARMNET6bd3c60da4->
|
||||
DATARMNET0f6f3a8868[(0x2fb+6889-0x1de4)],sizeof(DATARMNET6bd3c60da4->
|
||||
DATARMNET818f335f71));DATARMNET51e56c6582[(0x1438+742-0x1716)]=
|
||||
DATARMNET6bd3c60da4->DATARMNETa2be9ad0de;DATARMNET51e56c6582[(0x411+5381-0x190d)
|
||||
]=DATARMNET6b15e99cb9;DATARMNET51e56c6582[(0x1e1+3364-0xefb)]=
|
||||
DATARMNETe048999b85;DATARMNETb65409e3b5=(0x59b+5231-0x19ff);}return jhash2(
|
||||
DATARMNET51e56c6582,DATARMNETb65409e3b5,(0xeea+3831-0x1de1));}static void
|
||||
DATARMNETee281dc788(u32 DATARMNET0eb96739bf){u32 DATARMNETc7bc65a2a5;if(
|
||||
DATARMNET0eb96739bf>50000)DATARMNETc7bc65a2a5=DATARMNETd096b7b9cd;else if(
|
||||
DATARMNET0eb96739bf>30000)DATARMNETc7bc65a2a5=DATARMNET1e2ecb33d1;else if(
|
||||
DATARMNET0eb96739bf>23000)DATARMNETc7bc65a2a5=DATARMNET3b1a812e5c;else if(
|
||||
DATARMNET0eb96739bf>14500)DATARMNETc7bc65a2a5=DATARMNET64bf04bc47;else if(
|
||||
DATARMNET0eb96739bf>(0x22ed+7824-0x2625))DATARMNETc7bc65a2a5=DATARMNET7069e38e48
|
||||
;else if(DATARMNET0eb96739bf>(0x1fd3+2486-0x2411))DATARMNETc7bc65a2a5=
|
||||
DATARMNETc005f7933f;else DATARMNETc7bc65a2a5=DATARMNET2eb3321438;
|
||||
DATARMNET5d24865423(DATARMNETc7bc65a2a5);}static bool DATARMNET00b745f472(struct
|
||||
rmnet_frag_descriptor*DATARMNETa41162aa9b,struct DATARMNETadd6ff90d0*
|
||||
DATARMNET809d788099){u8*DATARMNET218e3007fa;u16 DATARMNET0eb96739bf;u16
|
||||
DATARMNET0d3dcef7b0;if(DATARMNETa41162aa9b->hdrs_valid){DATARMNET809d788099->
|
||||
DATARMNET9f5b2909c8=DATARMNETa41162aa9b->ip_proto;DATARMNET809d788099->
|
||||
DATARMNETa7eaea0d00=DATARMNETa41162aa9b->ip_len;DATARMNET809d788099->
|
||||
DATARMNET072708db10=DATARMNETa41162aa9b->trans_proto;DATARMNET809d788099->
|
||||
DATARMNETfeb7c81ac7=DATARMNETa41162aa9b->trans_len;DATARMNET809d788099->
|
||||
DATARMNET574a565f78=(struct DATARMNETf61a39bce9*)DATARMNETa41162aa9b->hdr_ptr;
|
||||
DATARMNET809d788099->DATARMNET7ff34eacb7=(struct DATARMNET1bffb1c388*)(
|
||||
DATARMNETa41162aa9b->hdr_ptr+DATARMNETa41162aa9b->ip_len);DATARMNET809d788099->
|
||||
DATARMNET68ad0738e2=DATARMNETf6597f07e9(DATARMNET809d788099);DATARMNET809d788099
|
||||
->DATARMNET5671455f38=skb_frag_size(&DATARMNETa41162aa9b->frag);if(
|
||||
DATARMNETa41162aa9b->hdr_ptr==rmnet_frag_data_ptr(DATARMNETa41162aa9b))
|
||||
DATARMNET809d788099->DATARMNET5671455f38-=DATARMNETa41162aa9b->ip_len+
|
||||
DATARMNETa41162aa9b->trans_len;DATARMNET809d788099->DATARMNET798fafaf36=
|
||||
DATARMNETa41162aa9b;return false;}DATARMNET218e3007fa=rmnet_frag_data_ptr(
|
||||
DATARMNETa41162aa9b);DATARMNET0eb96739bf=skb_frag_size(&DATARMNETa41162aa9b->
|
||||
frag);DATARMNET809d788099->DATARMNET2f3cb41448=true;DATARMNET809d788099->
|
||||
DATARMNET9f5b2909c8=(DATARMNET218e3007fa[(0x2a+5400-0x1542)]&
|
||||
(0x1881+3821-0x267e))>>(0x16d+792-0x481);if(DATARMNET809d788099->
|
||||
DATARMNET9f5b2909c8==(0x73a+2289-0x1027)){struct DATARMNETf61a39bce9*
|
||||
DATARMNETf7a5ea0c29;DATARMNETf7a5ea0c29=(struct DATARMNETf61a39bce9*)
|
||||
DATARMNET218e3007fa;DATARMNET809d788099->DATARMNET574a565f78=DATARMNETf7a5ea0c29
|
||||
;DATARMNET809d788099->DATARMNETa7eaea0d00=DATARMNETf7a5ea0c29->
|
||||
DATARMNET422c25939d*(0x1235+3369-0x1f5a);DATARMNET809d788099->
|
||||
DATARMNET072708db10=DATARMNETf7a5ea0c29->DATARMNET065f40367c;if(
|
||||
DATARMNETf7a5ea0c29->DATARMNETa803e4f68b&htons(16383)){DATARMNET5d24865423(
|
||||
DATARMNET433e163a43);goto DATARMNET02a8afcd23;}DATARMNET0d3dcef7b0=ntohs(
|
||||
DATARMNETf7a5ea0c29->DATARMNETefd12e7a2b);DATARMNET809d788099->
|
||||
DATARMNET6cc77c7b3f=DATARMNET0d3dcef7b0!=DATARMNET0eb96739bf;}else if(
|
||||
DATARMNET809d788099->DATARMNET9f5b2909c8==(0x79a+292-0x8b8)){struct
|
||||
DATARMNETfab66e680d*DATARMNET6bd3c60da4;int DATARMNET5fc606c6dc;__be16
|
||||
DATARMNETe95a0a73b9;u8 DATARMNETcb5c3d9e39;DATARMNET6bd3c60da4=(struct
|
||||
DATARMNETfab66e680d*)DATARMNET218e3007fa;DATARMNET809d788099->
|
||||
DATARMNET1dab0af728=DATARMNET6bd3c60da4;DATARMNETcb5c3d9e39=DATARMNET6bd3c60da4
|
||||
->DATARMNETa2be9ad0de;DATARMNET5fc606c6dc=rmnet_frag_ipv6_skip_exthdr(
|
||||
DATARMNETa41162aa9b,sizeof(*DATARMNET6bd3c60da4),&DATARMNETcb5c3d9e39,&
|
||||
DATARMNETe95a0a73b9);if(DATARMNET5fc606c6dc<(0x13d7+456-0x159f)){goto
|
||||
DATARMNET02a8afcd23;}DATARMNET809d788099->DATARMNETa7eaea0d00=(u16)
|
||||
DATARMNET5fc606c6dc;DATARMNET809d788099->DATARMNET072708db10=DATARMNETcb5c3d9e39
|
||||
;if(DATARMNETe95a0a73b9){if(DATARMNET809d788099->DATARMNET072708db10==
|
||||
DATARMNET75cddb74df)DATARMNET809d788099->DATARMNETa7eaea0d00+=
|
||||
(0xc6f+3338-0x1971);DATARMNET5d24865423(DATARMNET433e163a43);goto
|
||||
DATARMNET02a8afcd23;}DATARMNET0d3dcef7b0=ntohs(DATARMNET6bd3c60da4->
|
||||
DATARMNET5aeba29b95)+sizeof(*DATARMNET6bd3c60da4);DATARMNET809d788099->
|
||||
DATARMNET6cc77c7b3f=DATARMNET0d3dcef7b0!=DATARMNET0eb96739bf;}else{return true;}
|
||||
DATARMNET218e3007fa+=DATARMNET809d788099->DATARMNETa7eaea0d00;if(
|
||||
DATARMNET809d788099->DATARMNET072708db10==DATARMNET70889e5696){struct
|
||||
DATARMNET1bffb1c388*DATARMNETbd1c0986f8;DATARMNETbd1c0986f8=(struct
|
||||
DATARMNET1bffb1c388*)DATARMNET218e3007fa;DATARMNET809d788099->
|
||||
DATARMNET7ff34eacb7=DATARMNETbd1c0986f8;DATARMNET809d788099->DATARMNETfeb7c81ac7
|
||||
=DATARMNETbd1c0986f8->DATARMNET686636af95*(0xcb9+267-0xdc0);}else if(
|
||||
DATARMNET809d788099->DATARMNET072708db10==DATARMNETb02d95e937){struct
|
||||
DATARMNET2d87db499d*DATARMNET5829e80183;DATARMNET5829e80183=(struct
|
||||
DATARMNET2d87db499d*)DATARMNET218e3007fa;DATARMNET809d788099->
|
||||
DATARMNETc51cdf696b=DATARMNET5829e80183;DATARMNET809d788099->DATARMNETfeb7c81ac7
|
||||
=sizeof(*DATARMNET5829e80183);}else{goto DATARMNET02a8afcd23;}
|
||||
DATARMNET809d788099->DATARMNET2f3cb41448=false;DATARMNET809d788099->
|
||||
DATARMNET68ad0738e2=DATARMNETf6597f07e9(DATARMNET809d788099);if(!
|
||||
DATARMNET809d788099->DATARMNET6cc77c7b3f){DATARMNETa41162aa9b->ip_proto=
|
||||
DATARMNET809d788099->DATARMNET9f5b2909c8;DATARMNETa41162aa9b->ip_len=
|
||||
DATARMNET809d788099->DATARMNETa7eaea0d00;DATARMNETa41162aa9b->trans_proto=
|
||||
DATARMNET809d788099->DATARMNET072708db10;DATARMNETa41162aa9b->trans_len=
|
||||
DATARMNET809d788099->DATARMNETfeb7c81ac7;DATARMNETa41162aa9b->hdrs_valid=
|
||||
(0x9a3+3898-0x18dc);}DATARMNET02a8afcd23:DATARMNET809d788099->
|
||||
DATARMNET5671455f38=DATARMNET0eb96739bf-DATARMNET809d788099->DATARMNETa7eaea0d00
|
||||
-DATARMNET809d788099->DATARMNETfeb7c81ac7;if(DATARMNET809d788099->
|
||||
DATARMNET6cc77c7b3f)DATARMNET5d24865423(DATARMNETf4e67e1692);DATARMNET809d788099
|
||||
->DATARMNET798fafaf36=DATARMNETa41162aa9b;return false;}static void
|
||||
DATARMNET5eaded9c32(struct rmnet_frag_descriptor*DATARMNETa41162aa9b,struct
|
||||
rmnet_port*DATARMNETe8a5f322f0){struct DATARMNET8357daf015*DATARMNETf7e8f6395c=
|
||||
DATARMNETccc25794e0();struct DATARMNETadd6ff90d0 DATARMNET809d788099;memset(&
|
||||
DATARMNET809d788099,(0x1b23+1630-0x2181),sizeof(DATARMNET809d788099));
|
||||
DATARMNET8f8c3a4cc3();DATARMNETf7e8f6395c->DATARMNET547651077b=
|
||||
DATARMNETe8a5f322f0;if(DATARMNET00b745f472(DATARMNETa41162aa9b,&
|
||||
DATARMNET809d788099)){DATARMNET5d24865423(DATARMNET056a0fe195);
|
||||
rmnet_recycle_frag_descriptor(DATARMNETa41162aa9b,DATARMNETe8a5f322f0);goto
|
||||
DATARMNETe1f307999b;}DATARMNET5d24865423(DATARMNET18d408a5a5);if(
|
||||
DATARMNET809d788099.DATARMNET2f3cb41448){goto DATARMNET52a3ca33f8;}else if(
|
||||
DATARMNET809d788099.DATARMNET6cc77c7b3f){DATARMNET8b657e07e9(DATARMNET809d788099
|
||||
.DATARMNET68ad0738e2);goto DATARMNET52a3ca33f8;}if(!DATARMNETa41162aa9b->
|
||||
csum_valid){goto DATARMNET52a3ca33f8;}if(!DATARMNET9b8a1a69f3(&
|
||||
DATARMNET809d788099))goto DATARMNET52a3ca33f8;goto DATARMNETe1f307999b;
|
||||
DATARMNET52a3ca33f8:DATARMNETf9d626d72b(&DATARMNET809d788099);
|
||||
DATARMNETe1f307999b:DATARMNET4c69e80b6f();}void DATARMNET8f8c3a4cc3(void){
|
||||
spin_lock_bh(&DATARMNET56235f0bb4);}void DATARMNET4c69e80b6f(void){
|
||||
spin_unlock_bh(&DATARMNET56235f0bb4);}void DATARMNETd9ec5f4e65(void){
|
||||
rcu_assign_pointer(rmnet_perf_desc_entry,DATARMNET5eaded9c32);}void
|
||||
DATARMNET848914898b(void){rcu_assign_pointer(rmnet_perf_desc_entry,NULL);}bool
|
||||
DATARMNET4e490d9d37(void){void(*DATARMNETb4f3500b6d)(struct
|
||||
rmnet_frag_descriptor*DATARMNETa41162aa9b,struct rmnet_port*DATARMNETe8a5f322f0)
|
||||
;rcu_read_lock();DATARMNETb4f3500b6d=rcu_dereference(rmnet_perf_desc_entry);
|
||||
rcu_read_unlock();return DATARMNETb4f3500b6d!=NULL;}void DATARMNET654b85a739(
|
||||
struct rmnet_frag_descriptor*DATARMNETa41162aa9b,u32 DATARMNET30fde83b85){struct
|
||||
DATARMNET8357daf015*DATARMNETf7e8f6395c=DATARMNETccc25794e0();
|
||||
DATARMNETee281dc788(DATARMNET30fde83b85);DATARMNET5d24865423(DATARMNET6b8a6c4f4e
|
||||
);rmnet_frag_deliver(DATARMNETa41162aa9b,DATARMNETf7e8f6395c->
|
||||
DATARMNET547651077b);}void DATARMNETf9d626d72b(struct DATARMNETadd6ff90d0*
|
||||
DATARMNET809d788099){struct rmnet_frag_descriptor*DATARMNETa41162aa9b=
|
||||
DATARMNET809d788099->DATARMNET798fafaf36;u32 DATARMNET0eb96739bf=
|
||||
DATARMNET809d788099->DATARMNET5671455f38+DATARMNET809d788099->
|
||||
DATARMNETa7eaea0d00+DATARMNET809d788099->DATARMNETfeb7c81ac7;if(
|
||||
DATARMNET0eb96739bf>65536)return;if(!DATARMNET809d788099->DATARMNET2f3cb41448)
|
||||
DATARMNETa41162aa9b->hash=DATARMNET809d788099->DATARMNET68ad0738e2;
|
||||
DATARMNET654b85a739(DATARMNETa41162aa9b,DATARMNET0eb96739bf);}void
|
||||
DATARMNETfaa320a86a(void*DATARMNETe8a5f322f0){(void)DATARMNETe8a5f322f0;
|
||||
DATARMNETafcdd1146f();}void DATARMNET6b57fa3471(void*DATARMNETe8a5f322f0){struct
|
||||
DATARMNET8357daf015*DATARMNETf7e8f6395c=DATARMNETccc25794e0();(void)
|
||||
DATARMNETe8a5f322f0;if(DATARMNETf7e8f6395c->DATARMNETfe5583a585.
|
||||
DATARMNETf82a9c29ed)DATARMNET28dfa538f2();}void DATARMNET4aefca6d3c(struct
|
||||
rmnet_map_dl_ind_hdr*DATARMNETf3449c6d59,struct rmnet_map_control_command_header
|
||||
*DATARMNET23a4adcff8){struct DATARMNET8357daf015*DATARMNETf7e8f6395c=
|
||||
DATARMNETccc25794e0();(void)DATARMNET23a4adcff8;if(DATARMNETf7e8f6395c->
|
||||
DATARMNETfe5583a585.DATARMNETecff29bcbf&&DATARMNET54fd6bf483())
|
||||
DATARMNET5d24865423(DATARMNET51527f883c);DATARMNETf7e8f6395c->
|
||||
DATARMNETfe5583a585.DATARMNETecff29bcbf=true;DATARMNETf7e8f6395c->
|
||||
DATARMNETfe5583a585.DATARMNET26e013d9f7=DATARMNETf3449c6d59->le.seq;
|
||||
DATARMNETf7e8f6395c->DATARMNETfe5583a585.DATARMNETdd6feb57a5=DATARMNETf3449c6d59
|
||||
->le.pkts;}void DATARMNET94edfae28d(struct rmnet_map_dl_ind_trl*
|
||||
DATARMNET0303d63d24,struct rmnet_map_control_command_header*DATARMNET23a4adcff8)
|
||||
{struct DATARMNET8357daf015*DATARMNETf7e8f6395c=DATARMNETccc25794e0();(void)
|
||||
DATARMNET23a4adcff8;if(DATARMNETf7e8f6395c->DATARMNETfe5583a585.
|
||||
DATARMNET26e013d9f7!=DATARMNET0303d63d24->seq_le)DATARMNET5d24865423(
|
||||
DATARMNETae9ed9e102);if(DATARMNET54fd6bf483())DATARMNET5d24865423(
|
||||
DATARMNET3f56a10f4d);DATARMNETf7e8f6395c->DATARMNETfe5583a585.
|
||||
DATARMNETecff29bcbf=false;DATARMNETf7e8f6395c->DATARMNETfe5583a585.
|
||||
DATARMNET26e013d9f7=(0x1dfd+911-0x218c);DATARMNETf7e8f6395c->DATARMNETfe5583a585
|
||||
.DATARMNETdd6feb57a5=(0x2bb+6482-0x1c0d);}
|
||||
,
|
||||
"\x49\x36\x64\x36\x66\x39\x32\x35\x66\x33\x65\x33\x32\x31\x65\x31\x32\x32\x38\x64\x33\x38\x37\x33\x66\x63\x37\x38\x32\x31\x38\x62\x61\x39\x30\x65\x39\x34\x35\x30\x36"
|
||||
,};static DEFINE_SPINLOCK(DATARMNET0b5e447f18);static u32 DATARMNETcb7325e02d(
|
||||
struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){__be32 DATARMNETdfd47b00ff[
|
||||
(0xd20+231-0xdfc)];u32 DATARMNET5ebf661879;__be16 DATARMNET08e913477e=
|
||||
(0xd2d+202-0xdf7),DATARMNETda7f7fa492=(0xd2d+202-0xdf7);if(DATARMNET458b70e7e5->
|
||||
DATARMNET098910da0f==DATARMNETa656f324b2||DATARMNET458b70e7e5->
|
||||
DATARMNET098910da0f==DATARMNETfd5c3d30e5){struct DATARMNET0b82084e89*
|
||||
DATARMNET75be5f3406=DATARMNET458b70e7e5->DATARMNET0da3c8035d;DATARMNET08e913477e
|
||||
=DATARMNET75be5f3406->DATARMNET1b1c406ae9;DATARMNETda7f7fa492=
|
||||
DATARMNET75be5f3406->DATARMNETdf0e8545ee;}if(DATARMNET458b70e7e5->
|
||||
DATARMNETaebe0581f2==(0xd11+230-0xdf3)){struct DATARMNET308c06fca6*
|
||||
DATARMNET86f1f2cdc9=DATARMNET458b70e7e5->DATARMNET1469d7a840;DATARMNETdfd47b00ff
|
||||
[(0xd2d+202-0xdf7)]=DATARMNET86f1f2cdc9->DATARMNET11ef55b2bb;DATARMNETdfd47b00ff
|
||||
[(0xd26+209-0xdf6)]=DATARMNET86f1f2cdc9->DATARMNET9bbd2ca483;DATARMNETdfd47b00ff
|
||||
[(0xd1f+216-0xdf5)]=DATARMNET86f1f2cdc9->DATARMNET953d32410f;DATARMNETdfd47b00ff
|
||||
[(0xd18+223-0xdf4)]=DATARMNETda7f7fa492;DATARMNETdfd47b00ff[(0xd11+230-0xdf3)]=
|
||||
DATARMNET08e913477e;DATARMNET5ebf661879=(0xd0a+237-0xdf2);}else{struct
|
||||
DATARMNET64bb8f616e*DATARMNETbf55123e5b=DATARMNET458b70e7e5->DATARMNET5559b05582
|
||||
;memcpy(&DATARMNETdfd47b00ff[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->
|
||||
DATARMNETc657c0a139[(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b->
|
||||
DATARMNETc657c0a139));memcpy(&DATARMNETdfd47b00ff[(0xd0a+237-0xdf2)],&
|
||||
DATARMNETbf55123e5b->DATARMNET31202449fc[(0xd2d+202-0xdf7)],sizeof(
|
||||
DATARMNETbf55123e5b->DATARMNETc657c0a139));DATARMNETdfd47b00ff[(0xd35+210-0xdff)
|
||||
]=DATARMNETbf55123e5b->DATARMNET7244bfdc4f;DATARMNETdfd47b00ff[9]=
|
||||
DATARMNETda7f7fa492;DATARMNETdfd47b00ff[(0xd27+224-0xdfd)]=DATARMNET08e913477e;
|
||||
DATARMNET5ebf661879=(0xd20+231-0xdfc);}return jhash2(DATARMNETdfd47b00ff,
|
||||
DATARMNET5ebf661879,(0xd2d+202-0xdf7));}static void DATARMNETe26a68d20e(u32
|
||||
DATARMNET5affe290b8){u32 DATARMNET2991ac9aa9;if(DATARMNET5affe290b8>50000)
|
||||
DATARMNET2991ac9aa9=DATARMNETa121404606;else if(DATARMNET5affe290b8>30000)
|
||||
DATARMNET2991ac9aa9=DATARMNET787b04223a;else if(DATARMNET5affe290b8>23000)
|
||||
DATARMNET2991ac9aa9=DATARMNET8e1480cff2;else if(DATARMNET5affe290b8>14500)
|
||||
DATARMNET2991ac9aa9=DATARMNETf335e26298;else if(DATARMNET5affe290b8>7000)
|
||||
DATARMNET2991ac9aa9=DATARMNET3067ea3199;else if(DATARMNET5affe290b8>
|
||||
(0x5b4+1875-0x78f))DATARMNET2991ac9aa9=DATARMNETa76d93355c;else
|
||||
DATARMNET2991ac9aa9=DATARMNET92f3434694;DATARMNETa00cda79d0(DATARMNET2991ac9aa9)
|
||||
;}static bool DATARMNET1a7ed9a6a2(struct rmnet_frag_descriptor*
|
||||
DATARMNET9d1b321642,struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){u8*
|
||||
DATARMNETdf2dbc641f;u16 DATARMNET5affe290b8;u16 DATARMNETdaa9248df1;if(
|
||||
DATARMNET9d1b321642->hdrs_valid){DATARMNET458b70e7e5->DATARMNETaebe0581f2=
|
||||
DATARMNET9d1b321642->ip_proto;DATARMNET458b70e7e5->DATARMNETbecebb23ac=
|
||||
DATARMNET9d1b321642->ip_len;DATARMNET458b70e7e5->DATARMNET098910da0f=
|
||||
DATARMNET9d1b321642->trans_proto;DATARMNET458b70e7e5->DATARMNET0ab9b2ce3b=
|
||||
DATARMNET9d1b321642->trans_len;DATARMNET458b70e7e5->DATARMNET1469d7a840=(struct
|
||||
DATARMNET308c06fca6*)DATARMNET9d1b321642->hdr_ptr;DATARMNET458b70e7e5->
|
||||
DATARMNET96c6c71653=(struct DATARMNETd2991e8952*)(DATARMNET9d1b321642->hdr_ptr+
|
||||
DATARMNET9d1b321642->ip_len);DATARMNET458b70e7e5->DATARMNET645e8912b8=
|
||||
DATARMNETcb7325e02d(DATARMNET458b70e7e5);DATARMNET458b70e7e5->
|
||||
DATARMNET1ef22e4c76=skb_frag_size(&DATARMNET9d1b321642->frag);if(
|
||||
DATARMNET9d1b321642->hdr_ptr==rmnet_frag_data_ptr(DATARMNET9d1b321642))
|
||||
DATARMNET458b70e7e5->DATARMNET1ef22e4c76-=DATARMNET9d1b321642->ip_len+
|
||||
DATARMNET9d1b321642->trans_len;DATARMNET458b70e7e5->DATARMNET719f68fb88=
|
||||
DATARMNET9d1b321642;return false;}DATARMNETdf2dbc641f=rmnet_frag_data_ptr(
|
||||
DATARMNET9d1b321642);DATARMNET5affe290b8=skb_frag_size(&DATARMNET9d1b321642->
|
||||
frag);DATARMNET458b70e7e5->DATARMNET3eb91ee54d=true;DATARMNET458b70e7e5->
|
||||
DATARMNETaebe0581f2=(DATARMNETdf2dbc641f[(0xd2d+202-0xdf7)]&(0xbf7+4405-0x1c3c))
|
||||
>>(0xd11+230-0xdf3);if(DATARMNET458b70e7e5->DATARMNETaebe0581f2==
|
||||
(0xd11+230-0xdf3)){struct DATARMNET308c06fca6*DATARMNET86f1f2cdc9;
|
||||
DATARMNET86f1f2cdc9=(struct DATARMNET308c06fca6*)DATARMNETdf2dbc641f;
|
||||
DATARMNET458b70e7e5->DATARMNET1469d7a840=DATARMNET86f1f2cdc9;DATARMNET458b70e7e5
|
||||
->DATARMNETbecebb23ac=DATARMNET86f1f2cdc9->DATARMNET610d06a887*(0xd11+230-0xdf3)
|
||||
;DATARMNET458b70e7e5->DATARMNET098910da0f=DATARMNET86f1f2cdc9->
|
||||
DATARMNET953d32410f;if(DATARMNET86f1f2cdc9->DATARMNET2c091223da&htons(16383)){
|
||||
DATARMNETa00cda79d0(DATARMNET807e4dad18);goto DATARMNETaabe3a05f8;}
|
||||
DATARMNETdaa9248df1=ntohs(DATARMNET86f1f2cdc9->DATARMNET8e175ac02d);
|
||||
DATARMNET458b70e7e5->DATARMNET8f59f5a745=DATARMNETdaa9248df1!=
|
||||
DATARMNET5affe290b8;}else if(DATARMNET458b70e7e5->DATARMNETaebe0581f2==
|
||||
(0xd03+244-0xdf1)){struct DATARMNET64bb8f616e*DATARMNETbf55123e5b;int
|
||||
DATARMNET0549c61885;__be16 DATARMNET833503918f;u8 DATARMNET3f56a2bcf4;
|
||||
DATARMNETbf55123e5b=(struct DATARMNET64bb8f616e*)DATARMNETdf2dbc641f;
|
||||
DATARMNET458b70e7e5->DATARMNET5559b05582=DATARMNETbf55123e5b;DATARMNET3f56a2bcf4
|
||||
=DATARMNETbf55123e5b->DATARMNET7244bfdc4f;DATARMNET0549c61885=
|
||||
rmnet_frag_ipv6_skip_exthdr(DATARMNET9d1b321642,sizeof(*DATARMNETbf55123e5b),&
|
||||
DATARMNET3f56a2bcf4,&DATARMNET833503918f);if(DATARMNET0549c61885<
|
||||
(0xd2d+202-0xdf7)){goto DATARMNETaabe3a05f8;}DATARMNET458b70e7e5->
|
||||
DATARMNETbecebb23ac=(u16)DATARMNET0549c61885;DATARMNET458b70e7e5->
|
||||
DATARMNET098910da0f=DATARMNET3f56a2bcf4;if(DATARMNET833503918f){if(
|
||||
DATARMNET458b70e7e5->DATARMNET098910da0f==DATARMNET5b166167a8)
|
||||
DATARMNET458b70e7e5->DATARMNETbecebb23ac+=(0xd35+210-0xdff);DATARMNETa00cda79d0(
|
||||
DATARMNET807e4dad18);goto DATARMNETaabe3a05f8;}DATARMNETdaa9248df1=ntohs(
|
||||
DATARMNETbf55123e5b->DATARMNETaa340485c5)+sizeof(*DATARMNETbf55123e5b);
|
||||
DATARMNET458b70e7e5->DATARMNET8f59f5a745=DATARMNETdaa9248df1!=
|
||||
DATARMNET5affe290b8;}else{return true;}DATARMNETdf2dbc641f+=DATARMNET458b70e7e5
|
||||
->DATARMNETbecebb23ac;if(DATARMNET458b70e7e5->DATARMNET098910da0f==
|
||||
DATARMNETfd5c3d30e5){struct DATARMNETd2991e8952*DATARMNET2e7cc88971;
|
||||
DATARMNET2e7cc88971=(struct DATARMNETd2991e8952*)DATARMNETdf2dbc641f;
|
||||
DATARMNET458b70e7e5->DATARMNET96c6c71653=DATARMNET2e7cc88971;DATARMNET458b70e7e5
|
||||
->DATARMNET0ab9b2ce3b=DATARMNET2e7cc88971->DATARMNETcf2e43ad69*(0xd11+230-0xdf3)
|
||||
;}else if(DATARMNET458b70e7e5->DATARMNET098910da0f==DATARMNETa656f324b2){struct
|
||||
DATARMNET0b82084e89*DATARMNET75be5f3406;DATARMNET75be5f3406=(struct
|
||||
DATARMNET0b82084e89*)DATARMNETdf2dbc641f;DATARMNET458b70e7e5->
|
||||
DATARMNET0da3c8035d=DATARMNET75be5f3406;DATARMNET458b70e7e5->DATARMNET0ab9b2ce3b
|
||||
=sizeof(*DATARMNET75be5f3406);}else{goto DATARMNETaabe3a05f8;}
|
||||
DATARMNET458b70e7e5->DATARMNET3eb91ee54d=false;DATARMNET458b70e7e5->
|
||||
DATARMNET645e8912b8=DATARMNETcb7325e02d(DATARMNET458b70e7e5);if(!
|
||||
DATARMNET458b70e7e5->DATARMNET8f59f5a745){DATARMNET9d1b321642->ip_proto=
|
||||
DATARMNET458b70e7e5->DATARMNETaebe0581f2;DATARMNET9d1b321642->ip_len=
|
||||
DATARMNET458b70e7e5->DATARMNETbecebb23ac;DATARMNET9d1b321642->trans_proto=
|
||||
DATARMNET458b70e7e5->DATARMNET098910da0f;DATARMNET9d1b321642->trans_len=
|
||||
DATARMNET458b70e7e5->DATARMNET0ab9b2ce3b;DATARMNET9d1b321642->hdrs_valid=
|
||||
(0xd26+209-0xdf6);}DATARMNETaabe3a05f8:DATARMNET458b70e7e5->DATARMNET1ef22e4c76=
|
||||
DATARMNET5affe290b8-DATARMNET458b70e7e5->DATARMNETbecebb23ac-DATARMNET458b70e7e5
|
||||
->DATARMNET0ab9b2ce3b;if(DATARMNET458b70e7e5->DATARMNET8f59f5a745)
|
||||
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){
|
||||
spin_lock_bh(&DATARMNET0b5e447f18);}void DATARMNET6a76048590(void){
|
||||
spin_unlock_bh(&DATARMNET0b5e447f18);}void DATARMNET818b960147(void){
|
||||
rcu_assign_pointer(rmnet_perf_desc_entry,DATARMNET29e8d137c4);}void
|
||||
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->
|
||||
DATARMNETbecebb23ac+DATARMNET458b70e7e5->DATARMNET0ab9b2ce3b;if(
|
||||
DATARMNET5affe290b8>65536)return;if(!DATARMNET458b70e7e5->DATARMNET3eb91ee54d)
|
||||
DATARMNET9d1b321642->hash=DATARMNET458b70e7e5->DATARMNET645e8912b8;
|
||||
DATARMNET58a244b2fe(DATARMNET9d1b321642,DATARMNET5affe290b8);}void
|
||||
DATARMNET9292bebdd3(void*DATARMNETf0d9de7e2f){(void)DATARMNETf0d9de7e2f;
|
||||
DATARMNETd4230b6bfe();}void DATARMNETb7e47d7254(void*DATARMNETf0d9de7e2f){struct
|
||||
DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();(void)
|
||||
DATARMNETf0d9de7e2f;if(DATARMNETe05748b000->DATARMNETa9f2b2f677.
|
||||
DATARMNETc2832b8f85)DATARMNET560e127137();}void DATARMNET95e1703026(struct
|
||||
rmnet_map_dl_ind_hdr*DATARMNET7c7748ef7a,struct rmnet_map_control_command_header
|
||||
*DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
||||
DATARMNETc2a630b113();(void)DATARMNET8b07ee3e82;if(DATARMNETe05748b000->
|
||||
DATARMNETa9f2b2f677.DATARMNETb165d2c5c4&&DATARMNETae70636c90())
|
||||
DATARMNETa00cda79d0(DATARMNET372ef39ae4);DATARMNETe05748b000->
|
||||
DATARMNETa9f2b2f677.DATARMNETb165d2c5c4=true;DATARMNETe05748b000->
|
||||
DATARMNETa9f2b2f677.DATARMNETe2251ce433=DATARMNET7c7748ef7a->le.seq;
|
||||
DATARMNETe05748b000->DATARMNETa9f2b2f677.DATARMNET7f59b108db=DATARMNET7c7748ef7a
|
||||
->le.pkts;}void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*
|
||||
DATARMNET2541770fea,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82)
|
||||
{struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();(void)
|
||||
DATARMNET8b07ee3e82;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);}
|
||||
|
Viittaa uudesa ongelmassa
Block a user