Loading offload/rmnet_offload_main.c +91 −70 Original line number Diff line number Diff line /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -22,6 +23,10 @@ #include "rmnet_offload_engine.h" #include "rmnet_offload_stats.h" static const char*DATARMNET9be3ddbe97[]__always_unused={ "\x49\x35\x39\x30\x66\x36\x32\x30\x63\x65\x61\x33\x37\x37\x30\x65\x66\x62\x38\x62\x63\x33\x31\x39\x65\x33\x61\x30\x33\x32\x32\x62\x62\x63\x38\x61\x63\x61\x66\x38\x35" , "\x49\x33\x38\x33\x35\x64\x61\x37\x38\x66\x30\x33\x30\x63\x31\x37\x35\x62\x62\x36\x63\x65\x31\x35\x63\x62\x63\x62\x37\x33\x63\x35\x30\x32\x37\x32\x64\x64\x37\x66\x32" , "\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" , "\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" Loading Loading @@ -78,58 +83,73 @@ DATARMNET2991ac9aa9);}static bool DATARMNET1a7ed9a6a2(struct rmnet_frag_descriptor*DATARMNET9d1b321642,struct DATARMNETd812bcdbb5* DATARMNET458b70e7e5){struct DATARMNET4287f07234*DATARMNET8814564ab9=& DATARMNET458b70e7e5->DATARMNET144d119066;u8*DATARMNETdf2dbc641f;u16 DATARMNET5affe290b8;u16 DATARMNETdaa9248df1;if(DATARMNET9d1b321642->hdrs_valid){ struct DATARMNETd2991e8952*DATARMNET2e7cc88971,DATARMNETd1ff6cd568; DATARMNET8814564ab9->DATARMNET388842c721=DATARMNET9d1b321642->ip_proto; DATARMNET8814564ab9->DATARMNET4ca5ac9de1=DATARMNET9d1b321642->ip_len; DATARMNET8814564ab9->DATARMNET7fa8b2acbf=DATARMNET9d1b321642->trans_proto; DATARMNET8814564ab9->DATARMNET0aeee57ceb=DATARMNET9d1b321642->trans_len; DATARMNET5affe290b8=DATARMNET9d1b321642->len;if(DATARMNET8814564ab9-> DATARMNET388842c721==(0xd11+230-0xdf3)){struct DATARMNET308c06fca6* DATARMNET86f1f2cdc9,DATARMNETbf6548198e;DATARMNET86f1f2cdc9= DATARMNET5affe290b8;u16 DATARMNETdaa9248df1;DATARMNET5affe290b8= DATARMNET9d1b321642->len;DATARMNET458b70e7e5->DATARMNET3eb91ee54d=true;if( unlikely(!(DATARMNET9d1b321642->dev->features&NETIF_F_RXCSUM))){goto DATARMNETaabe3a05f8;}if(DATARMNET9d1b321642->hdrs_valid){struct DATARMNET0b82084e89*DATARMNET75be5f3406,DATARMNETc82d2f4e16;struct DATARMNETd2991e8952*DATARMNET2e7cc88971,DATARMNETd1ff6cd568;DATARMNET8814564ab9 ->DATARMNET388842c721=DATARMNET9d1b321642->ip_proto;DATARMNET8814564ab9-> DATARMNET4ca5ac9de1=DATARMNET9d1b321642->ip_len;DATARMNET8814564ab9-> DATARMNET7fa8b2acbf=DATARMNET9d1b321642->trans_proto;DATARMNET8814564ab9-> DATARMNET0aeee57ceb=DATARMNET9d1b321642->trans_len;DATARMNET5affe290b8= DATARMNET9d1b321642->len;if(DATARMNET8814564ab9->DATARMNET388842c721== (0xd11+230-0xdf3)){struct DATARMNET308c06fca6*DATARMNET86f1f2cdc9, DATARMNETbf6548198e;DATARMNET86f1f2cdc9=rmnet_frag_header_ptr( DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(*DATARMNET86f1f2cdc9),& DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8; DATARMNET8814564ab9->DATARMNET1a2be7b6c2=DATARMNET86f1f2cdc9-> DATARMNET9bbd2ca483;DATARMNET8814564ab9->DATARMNET0a28fa80f4=DATARMNET86f1f2cdc9 ->DATARMNET11ef55b2bb;DATARMNET8814564ab9->DATARMNET19b03754c4= DATARMNET86f1f2cdc9->DATARMNET1eb6c27583;DATARMNET8814564ab9-> DATARMNET57bf608183=DATARMNET86f1f2cdc9->DATARMNET03e081f69f;DATARMNET8814564ab9 ->DATARMNETcf915688f5=DATARMNET86f1f2cdc9->DATARMNET2c091223da;}else{struct DATARMNET64bb8f616e*DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;DATARMNETbf55123e5b= rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(* DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9->DATARMNET1a2be7b6c2=DATARMNET86f1f2cdc9 ->DATARMNET9bbd2ca483;DATARMNET8814564ab9->DATARMNET0a28fa80f4= DATARMNET86f1f2cdc9->DATARMNET11ef55b2bb;DATARMNET8814564ab9-> DATARMNET19b03754c4=DATARMNET86f1f2cdc9->DATARMNET1eb6c27583;DATARMNET8814564ab9 ->DATARMNET57bf608183=DATARMNET86f1f2cdc9->DATARMNET03e081f69f; DATARMNET8814564ab9->DATARMNETcf915688f5=DATARMNET86f1f2cdc9-> DATARMNET2c091223da;}else{struct DATARMNET64bb8f616e*DATARMNETbf55123e5b, DATARMNETcf1d9e2c1e;DATARMNETbf55123e5b=rmnet_frag_header_ptr( DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(*DATARMNETbf55123e5b),& DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNETaabe3a05f8;memcpy(& DATARMNET8814564ab9->DATARMNET949c2754de[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b ->DATARMNET31202449fc[(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b-> DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9->DATARMNET45ec858bc5[ (0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139[(0xd2d+202-0xdf7)], sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139));DATARMNET8814564ab9-> DATARMNETabd58f7f89=DATARMNETbf55123e5b->DATARMNET0687f7ecdc;} DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNETaabe3a05f8;memcpy(&DATARMNET8814564ab9->DATARMNET949c2754de[ (0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNET31202449fc[(0xd2d+202-0xdf7)], sizeof(DATARMNETbf55123e5b->DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9-> DATARMNET45ec858bc5[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139 [(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139)); DATARMNET8814564ab9->DATARMNETabd58f7f89=DATARMNETbf55123e5b-> DATARMNET0687f7ecdc;if(DATARMNET8814564ab9->DATARMNET4ca5ac9de1>sizeof(* DATARMNETbf55123e5b)){int DATARMNET0afb05821a;__be16 DATARMNET833503918f;bool DATARMNETcd214ed34c;u8 DATARMNET615595a09c=DATARMNETbf55123e5b-> DATARMNET7244bfdc4f;DATARMNET0afb05821a=rmnet_frag_ipv6_skip_exthdr( DATARMNET9d1b321642,sizeof(*DATARMNETbf55123e5b),&DATARMNET615595a09c,& DATARMNET833503918f,&DATARMNETcd214ed34c);if(DATARMNET0afb05821a< (0xd2d+202-0xdf7)||DATARMNET833503918f||DATARMNETcd214ed34c){if( DATARMNET615595a09c==DATARMNET5b166167a8)DATARMNET8814564ab9-> DATARMNET4ca5ac9de1+=(0xd35+210-0xdff);DATARMNETa00cda79d0(DATARMNET807e4dad18); goto DATARMNETaabe3a05f8;}}}DATARMNET75be5f3406=rmnet_frag_header_ptr( DATARMNET9d1b321642,DATARMNET8814564ab9->DATARMNET4ca5ac9de1,sizeof(* DATARMNET75be5f3406),&DATARMNETc82d2f4e16);if(!DATARMNET75be5f3406)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9->DATARMNETa60d2ae3f6=DATARMNET75be5f3406 ->DATARMNET1b1c406ae9;DATARMNET8814564ab9->DATARMNET5e7452ec23= DATARMNET75be5f3406->DATARMNETdf0e8545ee;if(DATARMNET8814564ab9-> DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5){__be32 DATARMNET0849981c7c; DATARMNET2e7cc88971=rmnet_frag_header_ptr(DATARMNET9d1b321642, DATARMNET8814564ab9->DATARMNET4ca5ac9de1,sizeof(*DATARMNET2e7cc88971),& DATARMNETd1ff6cd568);if(!DATARMNET2e7cc88971)goto DATARMNETaabe3a05f8; DATARMNET8814564ab9->DATARMNETa60d2ae3f6=DATARMNET2e7cc88971-> DATARMNET6acbeeebb1;DATARMNET8814564ab9->DATARMNET5e7452ec23=DATARMNET2e7cc88971 ->DATARMNET29b8c05d14;if(DATARMNET8814564ab9->DATARMNET7fa8b2acbf== DATARMNETfd5c3d30e5){__be32 DATARMNET0849981c7c;if(DATARMNET9d1b321642-> tcp_seq_set)DATARMNET0849981c7c=DATARMNET9d1b321642->tcp_seq;else DATARMNET0849981c7c=DATARMNET2e7cc88971->DATARMNETb3e70104e0;DATARMNET8814564ab9 ->DATARMNETbc28a5970f=ntohl(DATARMNET0849981c7c);}DATARMNET458b70e7e5-> DATARMNET645e8912b8=DATARMNETcb7325e02d(DATARMNET458b70e7e5);DATARMNET458b70e7e5 ->DATARMNET1ef22e4c76=DATARMNET9d1b321642->len-DATARMNET9d1b321642->ip_len- DATARMNET9d1b321642->trans_len;DATARMNET458b70e7e5->DATARMNET719f68fb88= DATARMNET9d1b321642;return false;}DATARMNETdf2dbc641f=rmnet_frag_data_ptr( DATARMNET9d1b321642);if(unlikely(!DATARMNETdf2dbc641f))return true; DATARMNET5affe290b8=DATARMNET9d1b321642->len;DATARMNET458b70e7e5-> DATARMNET3eb91ee54d=true;DATARMNET8814564ab9->DATARMNET388842c721=( DATARMNETdf2dbc641f[(0xd2d+202-0xdf7)]&(0xbf7+4405-0x1c3c))>>(0xd11+230-0xdf3); if(DATARMNET8814564ab9->DATARMNET388842c721==(0xd11+230-0xdf3)){struct DATARMNET308c06fca6*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;DATARMNET86f1f2cdc9= rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(* DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9->DATARMNET4ca5ac9de1=DATARMNET86f1f2cdc9 ->DATARMNET610d06a887*(0xd11+230-0xdf3);DATARMNET8814564ab9->DATARMNET7fa8b2acbf =DATARMNET86f1f2cdc9->DATARMNET953d32410f;DATARMNET8814564ab9-> DATARMNETd1ff6cd568);if(!DATARMNET2e7cc88971)goto DATARMNETaabe3a05f8;if( DATARMNET9d1b321642->tcp_seq_set)DATARMNET0849981c7c=DATARMNET9d1b321642-> tcp_seq;else DATARMNET0849981c7c=DATARMNET2e7cc88971->DATARMNETb3e70104e0; DATARMNET8814564ab9->DATARMNETbc28a5970f=ntohl(DATARMNET0849981c7c);} DATARMNET458b70e7e5->DATARMNET645e8912b8=DATARMNETcb7325e02d(DATARMNET458b70e7e5 );DATARMNET458b70e7e5->DATARMNET1ef22e4c76=DATARMNET9d1b321642->len- DATARMNET9d1b321642->ip_len-DATARMNET9d1b321642->trans_len;DATARMNET458b70e7e5-> DATARMNET719f68fb88=DATARMNET9d1b321642;DATARMNET458b70e7e5->DATARMNET3eb91ee54d =false;return false;}DATARMNETdf2dbc641f=rmnet_frag_data_ptr(DATARMNET9d1b321642 );if(unlikely(!DATARMNETdf2dbc641f))return true;DATARMNET8814564ab9-> DATARMNET388842c721=(DATARMNETdf2dbc641f[(0xd2d+202-0xdf7)]&(0xbf7+4405-0x1c3c)) >>(0xd11+230-0xdf3);if(DATARMNET8814564ab9->DATARMNET388842c721== (0xd11+230-0xdf3)){struct DATARMNET308c06fca6*DATARMNET86f1f2cdc9, DATARMNETbf6548198e;DATARMNET86f1f2cdc9=rmnet_frag_header_ptr( DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(*DATARMNET86f1f2cdc9),& DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8; DATARMNET8814564ab9->DATARMNET4ca5ac9de1=DATARMNET86f1f2cdc9-> DATARMNET610d06a887*(0xd11+230-0xdf3);DATARMNET8814564ab9->DATARMNET7fa8b2acbf= DATARMNET86f1f2cdc9->DATARMNET953d32410f;DATARMNET8814564ab9-> DATARMNET1a2be7b6c2=DATARMNET86f1f2cdc9->DATARMNET9bbd2ca483;DATARMNET8814564ab9 ->DATARMNET0a28fa80f4=DATARMNET86f1f2cdc9->DATARMNET11ef55b2bb; DATARMNET8814564ab9->DATARMNET19b03754c4=DATARMNET86f1f2cdc9-> Loading @@ -142,29 +162,30 @@ DATARMNET8e175ac02d);DATARMNET458b70e7e5->DATARMNET8f59f5a745= DATARMNETdaa9248df1!=DATARMNET5affe290b8;}else if(DATARMNET8814564ab9-> DATARMNET388842c721==(0xd03+244-0xdf1)){struct DATARMNET64bb8f616e* DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;int DATARMNET0549c61885;__be16 DATARMNET833503918f;u8 DATARMNET3f56a2bcf4;DATARMNETbf55123e5b= rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(* DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNET833503918f;bool DATARMNETcd214ed34c;u8 DATARMNET3f56a2bcf4; DATARMNETbf55123e5b=rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7), sizeof(*DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNETaabe3a05f8;DATARMNET3f56a2bcf4=DATARMNETbf55123e5b->DATARMNET7244bfdc4f ;DATARMNET0549c61885=rmnet_frag_ipv6_skip_exthdr(DATARMNET9d1b321642,sizeof(* DATARMNETbf55123e5b),&DATARMNET3f56a2bcf4,&DATARMNET833503918f);if( DATARMNET0549c61885<(0xd2d+202-0xdf7)){goto DATARMNETaabe3a05f8;} DATARMNET8814564ab9->DATARMNET4ca5ac9de1=(u16)DATARMNET0549c61885; DATARMNET8814564ab9->DATARMNET7fa8b2acbf=DATARMNET3f56a2bcf4;memcpy(& DATARMNET8814564ab9->DATARMNET949c2754de[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b ->DATARMNET31202449fc[(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b-> DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9->DATARMNET45ec858bc5[ (0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139[(0xd2d+202-0xdf7)], sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139));DATARMNET8814564ab9-> DATARMNETabd58f7f89=DATARMNETbf55123e5b->DATARMNET0687f7ecdc;if( DATARMNET833503918f){if(DATARMNET8814564ab9->DATARMNET7fa8b2acbf== DATARMNET5b166167a8)DATARMNET8814564ab9->DATARMNET4ca5ac9de1+=(0xd35+210-0xdff); DATARMNETa00cda79d0(DATARMNET807e4dad18);goto DATARMNETaabe3a05f8;} DATARMNETdaa9248df1=ntohs(DATARMNETbf55123e5b->DATARMNETaa340485c5)+sizeof(* DATARMNETbf55123e5b);DATARMNET458b70e7e5->DATARMNET8f59f5a745= DATARMNETdaa9248df1!=DATARMNET5affe290b8;}else{return true;}if( DATARMNET8814564ab9->DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5){struct DATARMNETd2991e8952*DATARMNET2e7cc88971,DATARMNETd1ff6cd568;DATARMNET2e7cc88971= DATARMNETbf55123e5b),&DATARMNET3f56a2bcf4,&DATARMNET833503918f,& DATARMNETcd214ed34c);if(DATARMNET0549c61885<(0xd2d+202-0xdf7)){goto DATARMNETaabe3a05f8;}DATARMNET8814564ab9->DATARMNET4ca5ac9de1=(u16) DATARMNET0549c61885;DATARMNET8814564ab9->DATARMNET7fa8b2acbf=DATARMNET3f56a2bcf4 ;memcpy(&DATARMNET8814564ab9->DATARMNET949c2754de[(0xd2d+202-0xdf7)],& DATARMNETbf55123e5b->DATARMNET31202449fc[(0xd2d+202-0xdf7)],sizeof( DATARMNETbf55123e5b->DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9-> DATARMNET45ec858bc5[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139 [(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139)); DATARMNET8814564ab9->DATARMNETabd58f7f89=DATARMNETbf55123e5b-> DATARMNET0687f7ecdc;if(DATARMNET833503918f||DATARMNETcd214ed34c){if( DATARMNET8814564ab9->DATARMNET7fa8b2acbf==DATARMNET5b166167a8) DATARMNET8814564ab9->DATARMNET4ca5ac9de1+=(0xd35+210-0xdff);DATARMNETa00cda79d0( DATARMNET807e4dad18);goto DATARMNETaabe3a05f8;}DATARMNETdaa9248df1=ntohs( DATARMNETbf55123e5b->DATARMNETaa340485c5)+sizeof(*DATARMNETbf55123e5b); DATARMNET458b70e7e5->DATARMNET8f59f5a745=DATARMNETdaa9248df1!= DATARMNET5affe290b8;}else{return true;}if(DATARMNET8814564ab9-> DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5){struct DATARMNETd2991e8952* DATARMNET2e7cc88971,DATARMNETd1ff6cd568;DATARMNET2e7cc88971= rmnet_frag_header_ptr(DATARMNET9d1b321642,DATARMNET8814564ab9-> DATARMNET4ca5ac9de1,sizeof(*DATARMNET2e7cc88971),&DATARMNETd1ff6cd568);if(! DATARMNET2e7cc88971)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9-> Loading Loading
offload/rmnet_offload_main.c +91 −70 Original line number Diff line number Diff line /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -22,6 +23,10 @@ #include "rmnet_offload_engine.h" #include "rmnet_offload_stats.h" static const char*DATARMNET9be3ddbe97[]__always_unused={ "\x49\x35\x39\x30\x66\x36\x32\x30\x63\x65\x61\x33\x37\x37\x30\x65\x66\x62\x38\x62\x63\x33\x31\x39\x65\x33\x61\x30\x33\x32\x32\x62\x62\x63\x38\x61\x63\x61\x66\x38\x35" , "\x49\x33\x38\x33\x35\x64\x61\x37\x38\x66\x30\x33\x30\x63\x31\x37\x35\x62\x62\x36\x63\x65\x31\x35\x63\x62\x63\x62\x37\x33\x63\x35\x30\x32\x37\x32\x64\x64\x37\x66\x32" , "\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" , "\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" Loading Loading @@ -78,58 +83,73 @@ DATARMNET2991ac9aa9);}static bool DATARMNET1a7ed9a6a2(struct rmnet_frag_descriptor*DATARMNET9d1b321642,struct DATARMNETd812bcdbb5* DATARMNET458b70e7e5){struct DATARMNET4287f07234*DATARMNET8814564ab9=& DATARMNET458b70e7e5->DATARMNET144d119066;u8*DATARMNETdf2dbc641f;u16 DATARMNET5affe290b8;u16 DATARMNETdaa9248df1;if(DATARMNET9d1b321642->hdrs_valid){ struct DATARMNETd2991e8952*DATARMNET2e7cc88971,DATARMNETd1ff6cd568; DATARMNET8814564ab9->DATARMNET388842c721=DATARMNET9d1b321642->ip_proto; DATARMNET8814564ab9->DATARMNET4ca5ac9de1=DATARMNET9d1b321642->ip_len; DATARMNET8814564ab9->DATARMNET7fa8b2acbf=DATARMNET9d1b321642->trans_proto; DATARMNET8814564ab9->DATARMNET0aeee57ceb=DATARMNET9d1b321642->trans_len; DATARMNET5affe290b8=DATARMNET9d1b321642->len;if(DATARMNET8814564ab9-> DATARMNET388842c721==(0xd11+230-0xdf3)){struct DATARMNET308c06fca6* DATARMNET86f1f2cdc9,DATARMNETbf6548198e;DATARMNET86f1f2cdc9= DATARMNET5affe290b8;u16 DATARMNETdaa9248df1;DATARMNET5affe290b8= DATARMNET9d1b321642->len;DATARMNET458b70e7e5->DATARMNET3eb91ee54d=true;if( unlikely(!(DATARMNET9d1b321642->dev->features&NETIF_F_RXCSUM))){goto DATARMNETaabe3a05f8;}if(DATARMNET9d1b321642->hdrs_valid){struct DATARMNET0b82084e89*DATARMNET75be5f3406,DATARMNETc82d2f4e16;struct DATARMNETd2991e8952*DATARMNET2e7cc88971,DATARMNETd1ff6cd568;DATARMNET8814564ab9 ->DATARMNET388842c721=DATARMNET9d1b321642->ip_proto;DATARMNET8814564ab9-> DATARMNET4ca5ac9de1=DATARMNET9d1b321642->ip_len;DATARMNET8814564ab9-> DATARMNET7fa8b2acbf=DATARMNET9d1b321642->trans_proto;DATARMNET8814564ab9-> DATARMNET0aeee57ceb=DATARMNET9d1b321642->trans_len;DATARMNET5affe290b8= DATARMNET9d1b321642->len;if(DATARMNET8814564ab9->DATARMNET388842c721== (0xd11+230-0xdf3)){struct DATARMNET308c06fca6*DATARMNET86f1f2cdc9, DATARMNETbf6548198e;DATARMNET86f1f2cdc9=rmnet_frag_header_ptr( DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(*DATARMNET86f1f2cdc9),& DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8; DATARMNET8814564ab9->DATARMNET1a2be7b6c2=DATARMNET86f1f2cdc9-> DATARMNET9bbd2ca483;DATARMNET8814564ab9->DATARMNET0a28fa80f4=DATARMNET86f1f2cdc9 ->DATARMNET11ef55b2bb;DATARMNET8814564ab9->DATARMNET19b03754c4= DATARMNET86f1f2cdc9->DATARMNET1eb6c27583;DATARMNET8814564ab9-> DATARMNET57bf608183=DATARMNET86f1f2cdc9->DATARMNET03e081f69f;DATARMNET8814564ab9 ->DATARMNETcf915688f5=DATARMNET86f1f2cdc9->DATARMNET2c091223da;}else{struct DATARMNET64bb8f616e*DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;DATARMNETbf55123e5b= rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(* DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9->DATARMNET1a2be7b6c2=DATARMNET86f1f2cdc9 ->DATARMNET9bbd2ca483;DATARMNET8814564ab9->DATARMNET0a28fa80f4= DATARMNET86f1f2cdc9->DATARMNET11ef55b2bb;DATARMNET8814564ab9-> DATARMNET19b03754c4=DATARMNET86f1f2cdc9->DATARMNET1eb6c27583;DATARMNET8814564ab9 ->DATARMNET57bf608183=DATARMNET86f1f2cdc9->DATARMNET03e081f69f; DATARMNET8814564ab9->DATARMNETcf915688f5=DATARMNET86f1f2cdc9-> DATARMNET2c091223da;}else{struct DATARMNET64bb8f616e*DATARMNETbf55123e5b, DATARMNETcf1d9e2c1e;DATARMNETbf55123e5b=rmnet_frag_header_ptr( DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(*DATARMNETbf55123e5b),& DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNETaabe3a05f8;memcpy(& DATARMNET8814564ab9->DATARMNET949c2754de[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b ->DATARMNET31202449fc[(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b-> DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9->DATARMNET45ec858bc5[ (0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139[(0xd2d+202-0xdf7)], sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139));DATARMNET8814564ab9-> DATARMNETabd58f7f89=DATARMNETbf55123e5b->DATARMNET0687f7ecdc;} DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNETaabe3a05f8;memcpy(&DATARMNET8814564ab9->DATARMNET949c2754de[ (0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNET31202449fc[(0xd2d+202-0xdf7)], sizeof(DATARMNETbf55123e5b->DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9-> DATARMNET45ec858bc5[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139 [(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139)); DATARMNET8814564ab9->DATARMNETabd58f7f89=DATARMNETbf55123e5b-> DATARMNET0687f7ecdc;if(DATARMNET8814564ab9->DATARMNET4ca5ac9de1>sizeof(* DATARMNETbf55123e5b)){int DATARMNET0afb05821a;__be16 DATARMNET833503918f;bool DATARMNETcd214ed34c;u8 DATARMNET615595a09c=DATARMNETbf55123e5b-> DATARMNET7244bfdc4f;DATARMNET0afb05821a=rmnet_frag_ipv6_skip_exthdr( DATARMNET9d1b321642,sizeof(*DATARMNETbf55123e5b),&DATARMNET615595a09c,& DATARMNET833503918f,&DATARMNETcd214ed34c);if(DATARMNET0afb05821a< (0xd2d+202-0xdf7)||DATARMNET833503918f||DATARMNETcd214ed34c){if( DATARMNET615595a09c==DATARMNET5b166167a8)DATARMNET8814564ab9-> DATARMNET4ca5ac9de1+=(0xd35+210-0xdff);DATARMNETa00cda79d0(DATARMNET807e4dad18); goto DATARMNETaabe3a05f8;}}}DATARMNET75be5f3406=rmnet_frag_header_ptr( DATARMNET9d1b321642,DATARMNET8814564ab9->DATARMNET4ca5ac9de1,sizeof(* DATARMNET75be5f3406),&DATARMNETc82d2f4e16);if(!DATARMNET75be5f3406)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9->DATARMNETa60d2ae3f6=DATARMNET75be5f3406 ->DATARMNET1b1c406ae9;DATARMNET8814564ab9->DATARMNET5e7452ec23= DATARMNET75be5f3406->DATARMNETdf0e8545ee;if(DATARMNET8814564ab9-> DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5){__be32 DATARMNET0849981c7c; DATARMNET2e7cc88971=rmnet_frag_header_ptr(DATARMNET9d1b321642, DATARMNET8814564ab9->DATARMNET4ca5ac9de1,sizeof(*DATARMNET2e7cc88971),& DATARMNETd1ff6cd568);if(!DATARMNET2e7cc88971)goto DATARMNETaabe3a05f8; DATARMNET8814564ab9->DATARMNETa60d2ae3f6=DATARMNET2e7cc88971-> DATARMNET6acbeeebb1;DATARMNET8814564ab9->DATARMNET5e7452ec23=DATARMNET2e7cc88971 ->DATARMNET29b8c05d14;if(DATARMNET8814564ab9->DATARMNET7fa8b2acbf== DATARMNETfd5c3d30e5){__be32 DATARMNET0849981c7c;if(DATARMNET9d1b321642-> tcp_seq_set)DATARMNET0849981c7c=DATARMNET9d1b321642->tcp_seq;else DATARMNET0849981c7c=DATARMNET2e7cc88971->DATARMNETb3e70104e0;DATARMNET8814564ab9 ->DATARMNETbc28a5970f=ntohl(DATARMNET0849981c7c);}DATARMNET458b70e7e5-> DATARMNET645e8912b8=DATARMNETcb7325e02d(DATARMNET458b70e7e5);DATARMNET458b70e7e5 ->DATARMNET1ef22e4c76=DATARMNET9d1b321642->len-DATARMNET9d1b321642->ip_len- DATARMNET9d1b321642->trans_len;DATARMNET458b70e7e5->DATARMNET719f68fb88= DATARMNET9d1b321642;return false;}DATARMNETdf2dbc641f=rmnet_frag_data_ptr( DATARMNET9d1b321642);if(unlikely(!DATARMNETdf2dbc641f))return true; DATARMNET5affe290b8=DATARMNET9d1b321642->len;DATARMNET458b70e7e5-> DATARMNET3eb91ee54d=true;DATARMNET8814564ab9->DATARMNET388842c721=( DATARMNETdf2dbc641f[(0xd2d+202-0xdf7)]&(0xbf7+4405-0x1c3c))>>(0xd11+230-0xdf3); if(DATARMNET8814564ab9->DATARMNET388842c721==(0xd11+230-0xdf3)){struct DATARMNET308c06fca6*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;DATARMNET86f1f2cdc9= rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(* DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9->DATARMNET4ca5ac9de1=DATARMNET86f1f2cdc9 ->DATARMNET610d06a887*(0xd11+230-0xdf3);DATARMNET8814564ab9->DATARMNET7fa8b2acbf =DATARMNET86f1f2cdc9->DATARMNET953d32410f;DATARMNET8814564ab9-> DATARMNETd1ff6cd568);if(!DATARMNET2e7cc88971)goto DATARMNETaabe3a05f8;if( DATARMNET9d1b321642->tcp_seq_set)DATARMNET0849981c7c=DATARMNET9d1b321642-> tcp_seq;else DATARMNET0849981c7c=DATARMNET2e7cc88971->DATARMNETb3e70104e0; DATARMNET8814564ab9->DATARMNETbc28a5970f=ntohl(DATARMNET0849981c7c);} DATARMNET458b70e7e5->DATARMNET645e8912b8=DATARMNETcb7325e02d(DATARMNET458b70e7e5 );DATARMNET458b70e7e5->DATARMNET1ef22e4c76=DATARMNET9d1b321642->len- DATARMNET9d1b321642->ip_len-DATARMNET9d1b321642->trans_len;DATARMNET458b70e7e5-> DATARMNET719f68fb88=DATARMNET9d1b321642;DATARMNET458b70e7e5->DATARMNET3eb91ee54d =false;return false;}DATARMNETdf2dbc641f=rmnet_frag_data_ptr(DATARMNET9d1b321642 );if(unlikely(!DATARMNETdf2dbc641f))return true;DATARMNET8814564ab9-> DATARMNET388842c721=(DATARMNETdf2dbc641f[(0xd2d+202-0xdf7)]&(0xbf7+4405-0x1c3c)) >>(0xd11+230-0xdf3);if(DATARMNET8814564ab9->DATARMNET388842c721== (0xd11+230-0xdf3)){struct DATARMNET308c06fca6*DATARMNET86f1f2cdc9, DATARMNETbf6548198e;DATARMNET86f1f2cdc9=rmnet_frag_header_ptr( DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(*DATARMNET86f1f2cdc9),& DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto DATARMNETaabe3a05f8; DATARMNET8814564ab9->DATARMNET4ca5ac9de1=DATARMNET86f1f2cdc9-> DATARMNET610d06a887*(0xd11+230-0xdf3);DATARMNET8814564ab9->DATARMNET7fa8b2acbf= DATARMNET86f1f2cdc9->DATARMNET953d32410f;DATARMNET8814564ab9-> DATARMNET1a2be7b6c2=DATARMNET86f1f2cdc9->DATARMNET9bbd2ca483;DATARMNET8814564ab9 ->DATARMNET0a28fa80f4=DATARMNET86f1f2cdc9->DATARMNET11ef55b2bb; DATARMNET8814564ab9->DATARMNET19b03754c4=DATARMNET86f1f2cdc9-> Loading @@ -142,29 +162,30 @@ DATARMNET8e175ac02d);DATARMNET458b70e7e5->DATARMNET8f59f5a745= DATARMNETdaa9248df1!=DATARMNET5affe290b8;}else if(DATARMNET8814564ab9-> DATARMNET388842c721==(0xd03+244-0xdf1)){struct DATARMNET64bb8f616e* DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;int DATARMNET0549c61885;__be16 DATARMNET833503918f;u8 DATARMNET3f56a2bcf4;DATARMNETbf55123e5b= rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7),sizeof(* DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNET833503918f;bool DATARMNETcd214ed34c;u8 DATARMNET3f56a2bcf4; DATARMNETbf55123e5b=rmnet_frag_header_ptr(DATARMNET9d1b321642,(0xd2d+202-0xdf7), sizeof(*DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNETaabe3a05f8;DATARMNET3f56a2bcf4=DATARMNETbf55123e5b->DATARMNET7244bfdc4f ;DATARMNET0549c61885=rmnet_frag_ipv6_skip_exthdr(DATARMNET9d1b321642,sizeof(* DATARMNETbf55123e5b),&DATARMNET3f56a2bcf4,&DATARMNET833503918f);if( DATARMNET0549c61885<(0xd2d+202-0xdf7)){goto DATARMNETaabe3a05f8;} DATARMNET8814564ab9->DATARMNET4ca5ac9de1=(u16)DATARMNET0549c61885; DATARMNET8814564ab9->DATARMNET7fa8b2acbf=DATARMNET3f56a2bcf4;memcpy(& DATARMNET8814564ab9->DATARMNET949c2754de[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b ->DATARMNET31202449fc[(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b-> DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9->DATARMNET45ec858bc5[ (0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139[(0xd2d+202-0xdf7)], sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139));DATARMNET8814564ab9-> DATARMNETabd58f7f89=DATARMNETbf55123e5b->DATARMNET0687f7ecdc;if( DATARMNET833503918f){if(DATARMNET8814564ab9->DATARMNET7fa8b2acbf== DATARMNET5b166167a8)DATARMNET8814564ab9->DATARMNET4ca5ac9de1+=(0xd35+210-0xdff); DATARMNETa00cda79d0(DATARMNET807e4dad18);goto DATARMNETaabe3a05f8;} DATARMNETdaa9248df1=ntohs(DATARMNETbf55123e5b->DATARMNETaa340485c5)+sizeof(* DATARMNETbf55123e5b);DATARMNET458b70e7e5->DATARMNET8f59f5a745= DATARMNETdaa9248df1!=DATARMNET5affe290b8;}else{return true;}if( DATARMNET8814564ab9->DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5){struct DATARMNETd2991e8952*DATARMNET2e7cc88971,DATARMNETd1ff6cd568;DATARMNET2e7cc88971= DATARMNETbf55123e5b),&DATARMNET3f56a2bcf4,&DATARMNET833503918f,& DATARMNETcd214ed34c);if(DATARMNET0549c61885<(0xd2d+202-0xdf7)){goto DATARMNETaabe3a05f8;}DATARMNET8814564ab9->DATARMNET4ca5ac9de1=(u16) DATARMNET0549c61885;DATARMNET8814564ab9->DATARMNET7fa8b2acbf=DATARMNET3f56a2bcf4 ;memcpy(&DATARMNET8814564ab9->DATARMNET949c2754de[(0xd2d+202-0xdf7)],& DATARMNETbf55123e5b->DATARMNET31202449fc[(0xd2d+202-0xdf7)],sizeof( DATARMNETbf55123e5b->DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9-> DATARMNET45ec858bc5[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139 [(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139)); DATARMNET8814564ab9->DATARMNETabd58f7f89=DATARMNETbf55123e5b-> DATARMNET0687f7ecdc;if(DATARMNET833503918f||DATARMNETcd214ed34c){if( DATARMNET8814564ab9->DATARMNET7fa8b2acbf==DATARMNET5b166167a8) DATARMNET8814564ab9->DATARMNET4ca5ac9de1+=(0xd35+210-0xdff);DATARMNETa00cda79d0( DATARMNET807e4dad18);goto DATARMNETaabe3a05f8;}DATARMNETdaa9248df1=ntohs( DATARMNETbf55123e5b->DATARMNETaa340485c5)+sizeof(*DATARMNETbf55123e5b); DATARMNET458b70e7e5->DATARMNET8f59f5a745=DATARMNETdaa9248df1!= DATARMNET5affe290b8;}else{return true;}if(DATARMNET8814564ab9-> DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5){struct DATARMNETd2991e8952* DATARMNET2e7cc88971,DATARMNETd1ff6cd568;DATARMNET2e7cc88971= rmnet_frag_header_ptr(DATARMNET9d1b321642,DATARMNET8814564ab9-> DATARMNET4ca5ac9de1,sizeof(*DATARMNET2e7cc88971),&DATARMNETd1ff6cd568);if(! DATARMNET2e7cc88971)goto DATARMNETaabe3a05f8;DATARMNET8814564ab9-> Loading