Browse Source

rmnet_offload: I590f620cea3770efb8bc319e3a0322bbc8acaf85

Updates the module to version I590f620cea3770efb8bc319e3a0322bbc8acaf85.

CRs-Fixed: 3358773
Change-Id: I590f620cea3770efb8bc319e3a0322bbc8acaf85
Signed-off-by: Sean Tranchetti <[email protected]>
Sean Tranchetti 2 years ago
parent
commit
43f9f56930
1 changed files with 47 additions and 32 deletions
  1. 47 32
      offload/rmnet_offload_main.c

+ 47 - 32
offload/rmnet_offload_main.c

@@ -1,5 +1,5 @@
 /* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-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
@@ -23,10 +23,11 @@
 #include "rmnet_offload_state.h"
 #include "rmnet_offload_engine.h"
 #include "rmnet_offload_stats.h"
-static char*verinfo[]={"\x65\x32\x31\x38\x66\x34\x35\x31",
-"\x32\x61\x34\x34\x66\x36\x62\x65","\x37\x34\x31\x35\x39\x32\x31\x63",
-"\x34\x31\x32\x39\x36\x62\x30\x39"};module_param_array(verinfo,charp,NULL,
-(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
+static char*verinfo[]={"\x63\x38\x61\x63\x61\x66\x38\x35",
+"\x65\x32\x31\x38\x66\x34\x35\x31","\x32\x61\x34\x34\x66\x36\x62\x65",
+"\x37\x34\x31\x35\x39\x32\x31\x63","\x34\x31\x32\x39\x36\x62\x30\x39"};
+module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
+verinfo,
 "\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
 );static DEFINE_SPINLOCK(DATARMNET0b5e447f18);static u32 DATARMNETcb7325e02d(
 struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){struct DATARMNET4287f07234*
@@ -67,6 +68,7 @@ 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->
@@ -92,13 +94,25 @@ sizeof(DATARMNETbf55123e5b->DATARMNET31202449fc));memcpy(&DATARMNET8814564ab9->
 DATARMNET45ec858bc5[(0xd2d+202-0xdf7)],&DATARMNETbf55123e5b->DATARMNETc657c0a139
 [(0xd2d+202-0xdf7)],sizeof(DATARMNETbf55123e5b->DATARMNETc657c0a139));
 DATARMNET8814564ab9->DATARMNETabd58f7f89=DATARMNETbf55123e5b->
-DATARMNET0687f7ecdc;}DATARMNET2e7cc88971=rmnet_frag_header_ptr(
+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(*
-DATARMNET2e7cc88971),&DATARMNETd1ff6cd568);if(!DATARMNET2e7cc88971)goto 
-DATARMNETaabe3a05f8;DATARMNET8814564ab9->DATARMNETa60d2ae3f6=DATARMNET2e7cc88971
-->DATARMNET6acbeeebb1;DATARMNET8814564ab9->DATARMNET5e7452ec23=
-DATARMNET2e7cc88971->DATARMNET29b8c05d14;if(DATARMNET8814564ab9->
-DATARMNET7fa8b2acbf==DATARMNETfd5c3d30e5){__be32 DATARMNET0849981c7c;if(
+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;if(
 DATARMNET9d1b321642->tcp_seq_set)DATARMNET0849981c7c=DATARMNET9d1b321642->
 tcp_seq;else DATARMNET0849981c7c=DATARMNET2e7cc88971->DATARMNETb3e70104e0;
 DATARMNET8814564ab9->DATARMNETbc28a5970f=ntohl(DATARMNET0849981c7c);}
@@ -129,29 +143,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->