Przeglądaj źródła

rmnet_shs: Ibc7ab45f8be0dfaf12659e220923790f5a1a3430

CRs-Fixed: 2938622
Change-Id: Ibc7ab45f8be0dfaf12659e220923790f5a1a3430
Acked-by: Raul Martinez <[email protected]>
Signed-off-by: Subash Abhinov Kasiviswanathan <[email protected]>
Subash Abhinov Kasiviswanathan 4 lat temu
rodzic
commit
036a84ba54

+ 64 - 64
shs/rmnet_shs.h

@@ -29,7 +29,7 @@
 #include "qmi_rmnet.h"
 #define DATARMNETe603c3a4b3 DATARMNETbfe1afe595
 #define DATARMNET25437d35fd 9
-#define DATARMNET4899358462 (0xec7+1108-0x12fd)
+#define DATARMNET4899358462 (0xeb7+1101-0x12f5)
 #define DATARMNET401583e606 (0xd11+230-0xdf3)
 #define DATARMNETc6782fed88  (0xd35+210-0xdff)
 #define DATARMNETbc3c416b77 (0xbf7+4405-0x1c3c)
@@ -38,7 +38,7 @@
 #define DATARMNET752465942a (0xbf7+4364-0x1c04)
 #define DATARMNETbfe31ef643 (0xc07+1233-0xe1c)
 #define DATARMNET7a815512d3 (0xef7+1100-0x12fd)
-#define DATARMNET270b564b55  (0xd27+224-0xdfd)
+#define DATARMNET270b564b55  (0xd35+210-0xdff)
 #define DATARMNET1c2d76f636 (0xf07+658-0x110d)
 #define DATARMNET2922c89d50  (0xd1f+216-0xdf5)
 #define DATARMNET015fb2ba0e(...) \
@@ -72,68 +72,68 @@ DATARMNETbd3a0ee74e[DATARMNETc6782fed88];long DATARMNETc252a1f55d;long
 DATARMNETa2e32cdd3a;u32 DATARMNET9c869c1ec2;u16 DATARMNET64bb8a8f57;u8 
 DATARMNETd9cfd2812b;u8 DATARMNETf5ab31b9b0;u8 DATARMNET34097703c8;u8 
 DATARMNETfc89d842ae;u8 DATARMNET6fe0db3a49;u8 DATARMNETba3f7a11ef;u8 map_mask;u8
- map_len;u8 DATARMNET5c24e1df05;};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 DATARMNET6250e93187;u8 mux_id;};
-enum DATARMNET156842d55e{DATARMNET7bc926fdbe,DATARMNETb3e3b2a799,
-DATARMNET8dcf06727b};enum DATARMNET8463cba7c7{DATARMNETc3bce05be2,
-DATARMNET14067f0be4,DATARMNET28bb261646,DATARMNET67b67dc88f,DATARMNET0efbbe2821,
-DATARMNETa4267dfd8a,DATARMNETf13db5ace8,DATARMNETb6eae1e097,DATARMNET7f401828b3,
-DATARMNETeccb61ebc3};enum DATARMNETf355367410{DATARMNET557ff68d74,
-DATARMNET1c55e5fdb1,DATARMNET4ab5a31d0c,DATARMNETde2dd86539};enum 
-DATARMNET3f3bc61c03{DATARMNETf5157a9b85,DATARMNET709b59b0e6,DATARMNET99db6e7d86,
-DATARMNETe3c02ddaeb,DATARMNET394acaf558,DATARMNETef8cbfa62f,DATARMNETe6e77f9f03,
-DATARMNETecdf13872c,DATARMNETd1687e0776,DATARMNET1828d69e96,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};struct 
-DATARMNETfd554c7eac{struct sk_buff*skb;struct DATARMNETfd554c7eac*next;};struct 
-DATARMNET37ef896af8{struct work_struct DATARMNET33110a3ff5;struct rmnet_port*
-port;};struct DATARMNETe600c5b727{struct list_head DATARMNET3dc4262f53;u32 
-DATARMNETae196235f2;u32 qtail;u32 DATARMNET96571b28de;u32 DATARMNET4133fc9428;
-u32 seg;u8 DATARMNETef866573e0;u8 DATARMNET1e1f197118;};enum DATARMNETf0a06dc55a
-{DATARMNET1790979ccf,DATARMNETd5eb6398da,DATARMNETcd24fca747,DATARMNETe50d824af7
-,DATARMNET6b317c4c73,DATARMNET75d955c408,DATARMNETf3aaad06eb,DATARMNET720469c0a9
-,DATARMNET4510abc30d,DATARMNET23f8730007,};enum DATARMNETc1d9e38720{
-DATARMNET0b15fd8b54,DATARMNET5b5927fd7e,DATARMNETba3049005f};enum 
-DATARMNET4f392b0182{DATARMNET72cb00fdc0,DATARMNET443dab7031,DATARMNET96db46917c,
-DATARMNET89958f9b63,DATARMNET6d7a3a033a,DATARMNET16a68afc17,DATARMNET916f444e0a,
-DATARMNETe9a79499ac,DATARMNET89f4779456,DATARMNETa94c7e31a0,DATARMNET116c96c236,
-DATARMNET9da2ea4f74,DATARMNETe55953a107,DATARMNET43225b7a7c,DATARMNET4dbb6812b5,
-DATARMNETbf80eada88,DATARMNET26438cb654,DATARMNETa6d85c8497,DATARMNET650a0ef6e1,
-DATARMNET3e031f1532,DATARMNET9f467b9ce4,DATARMNETc154fd2d48,DATARMNET5874e1ecd7,
-DATARMNET4f09dc5794,DATARMNET11a1fd3964,DATARMNETf2fc7954d4,DATARMNET4e91ddb48a,
-DATARMNET16befe9635,DATARMNET856c53293b,DATARMNET7e63a08ad4,DATARMNETf7c8c7aa3f,
-DATARMNET08b6defcff,DATARMNETf5c836f9ae,DATARMNETdd870ee64c,DATARMNETf730f80f06,
-DATARMNET998c6de143,DATARMNETe7afce2292,DATARMNETe0fee0991a,DATARMNETbc2a6aea12,
-DATARMNETde91850c28,DATARMNET237e7bd5f6,DATARMNETf16e78412b,DATARMNET83147a2e7d,
-DATARMNET816bb1e327,DATARMNETf311f20c00,DATARMNETa2bd301af7,DATARMNET99640d60f7,
-DATARMNET562b7d32a8,DATARMNET0808844559,DATARMNET5410705c1c,DATARMNET022082b219,
-DATARMNETe4ee0d2636,DATARMNET23b8465daf,DATARMNET052f49b190,DATARMNETfb753e521e,
-DATARMNET64b02f64c6,DATARMNET576793621a,DATARMNETc262b24b02,DATARMNET4ebbc01257,
-DATARMNET595eed6ea2,DATARMNETde090e8314,DATARMNETa593d87b38,DATARMNET8a2898988b,
-DATARMNET0709c9f764,};extern struct DATARMNET37ef896af8 DATARMNET1731db288b;
-extern spinlock_t DATARMNET3764d083f0;extern spinlock_t DATARMNETec2a4f5211;
-extern spinlock_t DATARMNETfbdbab2ef6;extern struct hlist_head 
-DATARMNETe603c3a4b3[(0xd26+209-0xdf6)<<(DATARMNET25437d35fd)];extern int(*
-rmnet_shs_skb_entry)(struct sk_buff*skb,struct rmnet_shs_clnt_s*
-DATARMNET9e820fbfe3);extern int(*rmnet_shs_switch)(struct sk_buff*skb,struct 
-rmnet_shs_clnt_s*DATARMNET9e820fbfe3);int DATARMNET362b15f941(u16 cpu);void 
-DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);unsigned int 
-DATARMNET02cdd9b125(void);int DATARMNET310c3eb16e(u8 mask);int 
+ 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 
+DATARMNET6250e93187;u8 mux_id;};enum DATARMNET156842d55e{DATARMNET7bc926fdbe,
+DATARMNETb3e3b2a799,DATARMNET8dcf06727b};enum DATARMNET8463cba7c7{
+DATARMNETc3bce05be2,DATARMNET14067f0be4,DATARMNET28bb261646,DATARMNET67b67dc88f,
+DATARMNET0efbbe2821,DATARMNETa4267dfd8a,DATARMNETf13db5ace8,DATARMNETb6eae1e097,
+DATARMNET7f401828b3,DATARMNETeccb61ebc3};enum DATARMNETf355367410{
+DATARMNET557ff68d74,DATARMNET1c55e5fdb1,DATARMNET4ab5a31d0c,DATARMNETde2dd86539}
+;enum DATARMNET3f3bc61c03{DATARMNETf5157a9b85,DATARMNET709b59b0e6,
+DATARMNET99db6e7d86,DATARMNETe3c02ddaeb,DATARMNET394acaf558,DATARMNETef8cbfa62f,
+DATARMNETe6e77f9f03,DATARMNETecdf13872c,DATARMNETd1687e0776,DATARMNET1828d69e96,
+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}
+;struct DATARMNETfd554c7eac{struct sk_buff*skb;struct DATARMNETfd554c7eac*next;}
+;struct DATARMNET37ef896af8{struct work_struct DATARMNET33110a3ff5;struct 
+rmnet_port*port;};struct DATARMNETe600c5b727{struct list_head 
+DATARMNET3dc4262f53;u32 DATARMNETae196235f2;u32 qtail;u32 DATARMNET96571b28de;
+u32 DATARMNET4133fc9428;u32 seg;u8 DATARMNETef866573e0;u8 DATARMNET1e1f197118;};
+enum DATARMNETf0a06dc55a{DATARMNET1790979ccf,DATARMNETd5eb6398da,
+DATARMNETcd24fca747,DATARMNETe50d824af7,DATARMNET6b317c4c73,DATARMNET75d955c408,
+DATARMNETf3aaad06eb,DATARMNET720469c0a9,DATARMNET4510abc30d,DATARMNET23f8730007,
+};enum DATARMNETc1d9e38720{DATARMNET0b15fd8b54,DATARMNET5b5927fd7e,
+DATARMNETba3049005f};enum DATARMNET4f392b0182{DATARMNET72cb00fdc0,
+DATARMNET443dab7031,DATARMNET96db46917c,DATARMNET89958f9b63,DATARMNET6d7a3a033a,
+DATARMNET16a68afc17,DATARMNET916f444e0a,DATARMNETe9a79499ac,DATARMNET89f4779456,
+DATARMNETa94c7e31a0,DATARMNET116c96c236,DATARMNET9da2ea4f74,DATARMNETe55953a107,
+DATARMNET43225b7a7c,DATARMNET4dbb6812b5,DATARMNETbf80eada88,DATARMNET26438cb654,
+DATARMNETa6d85c8497,DATARMNET650a0ef6e1,DATARMNET3e031f1532,DATARMNET9f467b9ce4,
+DATARMNETc154fd2d48,DATARMNET5874e1ecd7,DATARMNET4f09dc5794,DATARMNET11a1fd3964,
+DATARMNETf2fc7954d4,DATARMNET4e91ddb48a,DATARMNET16befe9635,DATARMNET856c53293b,
+DATARMNET7e63a08ad4,DATARMNETf7c8c7aa3f,DATARMNET08b6defcff,DATARMNETf5c836f9ae,
+DATARMNETdd870ee64c,DATARMNETf730f80f06,DATARMNET998c6de143,DATARMNETe7afce2292,
+DATARMNETe0fee0991a,DATARMNETbc2a6aea12,DATARMNETde91850c28,DATARMNET237e7bd5f6,
+DATARMNETf16e78412b,DATARMNET83147a2e7d,DATARMNET816bb1e327,DATARMNETf311f20c00,
+DATARMNETa2bd301af7,DATARMNET99640d60f7,DATARMNET562b7d32a8,DATARMNET0808844559,
+DATARMNET5410705c1c,DATARMNET022082b219,DATARMNETe4ee0d2636,DATARMNET23b8465daf,
+DATARMNET052f49b190,DATARMNETfb753e521e,DATARMNET64b02f64c6,DATARMNET576793621a,
+DATARMNETc262b24b02,DATARMNET4ebbc01257,DATARMNET595eed6ea2,DATARMNETde090e8314,
+DATARMNETa593d87b38,DATARMNET8a2898988b,DATARMNET0709c9f764,};extern struct 
+DATARMNET37ef896af8 DATARMNET1731db288b;extern spinlock_t DATARMNET3764d083f0;
+extern spinlock_t DATARMNETec2a4f5211;extern spinlock_t DATARMNETfbdbab2ef6;
+extern struct hlist_head DATARMNETe603c3a4b3[(0xd26+209-0xdf6)<<(
+DATARMNET25437d35fd)];extern int(*rmnet_shs_skb_entry)(struct sk_buff*skb,struct
+ rmnet_shs_clnt_s*DATARMNET9e820fbfe3);extern int(*rmnet_shs_switch)(struct 
+sk_buff*skb,struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3);int DATARMNET362b15f941
+(u16 cpu);void DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);unsigned
+ int DATARMNET02cdd9b125(void);int DATARMNET310c3eb16e(u8 mask);int 
 DATARMNETe02152c351(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 
 DATARMNETd87669e323,u8 DATARMNET5447204733);void DATARMNET78bb6be330(struct 
 rmnet_map_dl_ind_hdr*dlhdr,struct rmnet_map_control_command_header*qcmd);void 

+ 7 - 5
shs/rmnet_shs_common.c

@@ -61,11 +61,13 @@ DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if
 (0xd26+209-0xdf6);}}if(!DATARMNET998de79791){DATARMNETecc0627c70.map_mask=
 (0xd2d+202-0xdf7);DATARMNETecc0627c70.map_len=(0xd2d+202-0xdf7);return;}else if(
 DATARMNETecc0627c70.map_mask!=mask){DATARMNETecc0627c70.map_mask=mask;
-DATARMNETecc0627c70.map_len=DATARMNET310c3eb16e(mask);}}void DATARMNETde8ee16f92
-(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){DATARMNETda96251102(
-DATARMNETd5eb6398da,DATARMNETe9a79499ac,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);list_del_init(&
-DATARMNET63b1a086d5->DATARMNET04c88b8191);DATARMNET349c3a0cab(
+DATARMNETecc0627c70.map_len=DATARMNET310c3eb16e(mask);pr_info(
+"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x20\x6d\x61\x73\x6b\x3a\x20\x30\x78\x25\x78\x20\x6d\x61\x70\x6c\x65\x6e\x3a\x20\x25\x64"
+,DATARMNETecc0627c70.map_mask,DATARMNETecc0627c70.map_len);}}void 
+DATARMNETde8ee16f92(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){
+DATARMNETda96251102(DATARMNETd5eb6398da,DATARMNETe9a79499ac,(0x16e8+787-0xc0c),
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
+list_del_init(&DATARMNET63b1a086d5->DATARMNET04c88b8191);DATARMNET349c3a0cab(
 DATARMNET63b1a086d5->map_cpu,DATARMNETbfe901fc62);}void DATARMNET3e37ad2816(
 struct DATARMNET63d7680df2*DATARMNET63b1a086d5,struct list_head*
 DATARMNET4d030eb9b5){DATARMNETda96251102(DATARMNETd5eb6398da,DATARMNET16a68afc17

+ 32 - 21
shs/rmnet_shs_config.c

@@ -51,6 +51,16 @@ DATARMNET5fc54f7a13 __read_mostly={.notifier_call=DATARMNETe9173bbe0e,.priority=
 "\x49\x66\x63\x62\x65\x30\x31\x31\x34\x66\x33\x34\x35\x65\x37\x30\x34\x63\x39\x33\x66\x64\x39\x36\x63\x66\x36\x63\x39\x36\x38\x66\x37\x65\x65\x31\x30\x30\x35\x62\x37"
 ,
 "\x49\x39\x62\x64\x32\x61\x32\x37\x30\x35\x64\x34\x30\x31\x66\x62\x66\x38\x34\x30\x31\x32\x35\x38\x37\x66\x39\x37\x38\x31\x63\x34\x33\x63\x38\x66\x61\x35\x64\x33\x37"
+,
+"\x49\x37\x32\x33\x65\x63\x63\x32\x62\x37\x36\x30\x31\x38\x32\x34\x64\x66\x32\x61\x66\x32\x33\x66\x62\x35\x35\x39\x64\x38\x64\x66\x35\x33\x63\x66\x65\x32\x63\x63\x31"
+,
+"\x49\x39\x39\x63\x36\x62\x34\x66\x61\x37\x38\x37\x64\x64\x34\x66\x64\x36\x33\x62\x38\x31\x64\x66\x63\x39\x32\x32\x39\x36\x65\x64\x33\x65\x63\x31\x64\x38\x37\x38\x35"
+,
+"\x49\x34\x63\x61\x64\x33\x39\x34\x66\x65\x66\x66\x31\x39\x33\x35\x63\x30\x39\x63\x33\x64\x31\x66\x30\x66\x30\x66\x34\x62\x65\x35\x66\x30\x35\x38\x33\x64\x34\x61\x64"
+,
+"\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"
 };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(
@@ -70,29 +80,30 @@ net_device*dev=netdev_notifier_info_to_dev(data);struct rmnet_priv*priv;struct
 rmnet_port*port;int ret=(0xd2d+202-0xdf7);if(!dev){DATARMNET68d84e7b98[
 DATARMNETf5157a9b85]++;return NOTIFY_DONE;}if(!(strncmp(dev->name,
 "\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61",(0xd27+224-0xdfd))==(0xd2d+202-0xdf7)
-||strncmp(dev->name,"\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61",
-(0xd19+238-0xdfb))==(0xd2d+202-0xdf7)))return NOTIFY_DONE;switch(
-DATARMNET7f045a1e6e){case NETDEV_UNREGISTER:DATARMNETd6ee05f1b4(dev);
-DATARMNET2cb9ae589c--;if(!DATARMNET2cb9ae589c&&DATARMNETecc0627c70.
-DATARMNETfc89d842ae){unsigned int DATARMNET9f4bc49c6f;pr_info(
+))return NOTIFY_DONE;switch(DATARMNET7f045a1e6e){case NETDEV_DOWN:
+DATARMNETd6ee05f1b4(dev);break;case NETDEV_UNREGISTER:DATARMNET2cb9ae589c--;if(!
+DATARMNET2cb9ae589c&&DATARMNETecc0627c70.DATARMNETfc89d842ae){unsigned int 
+DATARMNET9f4bc49c6f;pr_info(
 "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x64\x65\x69\x6e\x69\x74\x20\x25\x73\x20\x67\x6f\x69\x6e\x67\x20\x64\x6f\x77\x6e\x20"
 ,dev->name);RCU_INIT_POINTER(rmnet_shs_skb_entry,NULL);RCU_INIT_POINTER(
 rmnet_shs_switch,NULL);qmi_rmnet_ps_ind_deregister(DATARMNETecc0627c70.port,&
-DATARMNETecc0627c70.rmnet_idl_ind_cb);DATARMNETeacad8334e();DATARMNET9f4bc49c6f=
-DATARMNET02cdd9b125();DATARMNETf7dcab9a9e();DATARMNET9297340f58(
-DATARMNET9f4bc49c6f);trace_rmnet_shs_high(DATARMNET1790979ccf,
-DATARMNET443dab7031,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),NULL,NULL);}break;case NETDEV_REGISTER:DATARMNET2cb9ae589c++;
-if(DATARMNET2cb9ae589c&&!DATARMNETecc0627c70.DATARMNETfc89d842ae){pr_info(
+DATARMNETecc0627c70.rmnet_idl_ind_cb);rmnet_map_dl_ind_deregister(
+DATARMNETecc0627c70.port,&DATARMNETecc0627c70.DATARMNET08dbb5ab35);
+DATARMNETeacad8334e();DATARMNET9f4bc49c6f=DATARMNET02cdd9b125();
+DATARMNETf7dcab9a9e();DATARMNET9297340f58(DATARMNET9f4bc49c6f);
+trace_rmnet_shs_high(DATARMNET1790979ccf,DATARMNET443dab7031,(0x16e8+787-0xc0c),
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}break;case 
+NETDEV_REGISTER:DATARMNET2cb9ae589c++;if(DATARMNET2cb9ae589c&&!
+DATARMNETecc0627c70.DATARMNETfc89d842ae){pr_info(
 "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x69\x6e\x67\x20\x25\x73"
 ,dev->name);priv=netdev_priv(dev);port=rmnet_get_port(priv->real_dev);if(!port){
 pr_err(
 "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x72\x6d\x6e\x65\x74\x5f\x70\x6f\x72\x74"
 );break;}DATARMNET45d8cdb224(priv->real_dev,dev);DATARMNET3ae0d614d6();
 DATARMNETe1f95274f1();DATARMNETecc0627c70.DATARMNETf5ab31b9b0=(0xd26+209-0xdf6);
-}DATARMNET7492293980(dev);break;case NETDEV_UP:if(!DATARMNETecc0627c70.
-DATARMNET9c869c1ec2&&DATARMNETecc0627c70.DATARMNETfc89d842ae){port=
-DATARMNETecc0627c70.port;if(!port){pr_err(
+}break;case NETDEV_UP:if(!DATARMNETecc0627c70.DATARMNET9c869c1ec2&&
+DATARMNETecc0627c70.DATARMNETfc89d842ae){port=DATARMNETecc0627c70.port;if(!port)
+{pr_err(
 "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x72\x6d\x6e\x65\x74\x5f\x63\x66\x67\x5f\x70\x6f\x72\x74"
 );break;}DATARMNETecc0627c70.DATARMNET08dbb5ab35.priority=RMNET_SHS;if(port->
 data_format&RMNET_INGRESS_FORMAT_DL_MARKER_V2){DATARMNETecc0627c70.
@@ -106,10 +117,10 @@ 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();DATARMNETe46c480d71();DATARMNET0a6fb12cb2();
-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);RCU_INIT_POINTER(
-rmnet_shs_switch,NULL);RCU_INIT_POINTER(rmnet_shs_skb_entry,DATARMNET756778f14f)
-;}break;default:break;}return NOTIFY_DONE;}module_init(DATARMNET163e93649e);
-module_exit(DATARMNETf3298dab6f);
+,__func__);DATARMNET039ac6d55d();DATARMNET0a6fb12cb2();DATARMNET7492293980(dev);
+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);
+RCU_INIT_POINTER(rmnet_shs_switch,NULL);RCU_INIT_POINTER(rmnet_shs_skb_entry,
+DATARMNET756778f14f);break;}DATARMNET7492293980(dev);break;default:break;}return
+ NOTIFY_DONE;}module_init(DATARMNET163e93649e);module_exit(DATARMNETf3298dab6f);

+ 189 - 167
shs/rmnet_shs_main.c

@@ -56,35 +56,36 @@ DATARMNET758a55f103
 #define DATARMNETbfe901fc62 (0xd2d+202-0xdf7)
 DEFINE_SPINLOCK(DATARMNET3764d083f0);DEFINE_HASHTABLE(DATARMNETe603c3a4b3,
 DATARMNET25437d35fd);struct DATARMNETe600c5b727 DATARMNET0997c5650d[
-DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];struct 
+DATARMNETc6782fed88];int DATARMNETcff375d916[DATARMNETc6782fed88];unsigned int 
+DATARMNETaf998640fd __read_mostly=(0xcb7+2213-0x123c);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;unsigned long ht_flags;int DATARMNET421230d879;if(!
-DATARMNET5780499e9c&&(DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen&
-DATARMNET832731a933(DATARMNETa7a5705ab0).qlen))return-(0xd26+209-0xdf6);map=
-rcu_dereference(DATARMNETb4180393e4->rps_map);if(map){spin_lock_irqsave(&
-DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);map->cpus[
-(0xd2d+202-0xdf7)]=cpu;map->len=(0xd26+209-0xdf6);spin_unlock_irqrestore(&
-DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);DATARMNET421230d879=(
-DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen+DATARMNET832731a933(
-DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879){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);spin_lock_irqsave(&
-DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);rcu_read_lock();
+*map;cpumask_var_t mask;int DATARMNET421230d879;if(!DATARMNET5780499e9c&&(
+DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen&DATARMNET832731a933(
+DATARMNETa7a5705ab0).qlen))return-(0xd26+209-0xdf6);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();
-spin_unlock_irqrestore(&DATARMNET832731a933(DATARMNETa7a5705ab0).lock,ht_flags);
 DATARMNET421230d879=(DATARMNET3de2536baf(DATARMNETa7a5705ab0).qlen+
-DATARMNET832731a933(DATARMNETa7a5705ab0).qlen);if(DATARMNET421230d879){
-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 
+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=
@@ -99,20 +100,20 @@ 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&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&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=&
+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->
@@ -195,23 +196,30 @@ DATARMNETf54fdb137b=DATARMNET98b2a0ce62(dev);DATARMNET52de1f3dc0(
 DATARMNET720469c0a9,DATARMNET7e63a08ad4,DATARMNETf54fdb137b,DATARMNETab155dfd5d,
 (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return DATARMNETf54fdb137b;}int
  DATARMNET6af33ebb5b(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu=
-DATARMNETb91aee91fd;u8 DATARMNETd4a0b11b47;if(DATARMNET63b1a086d5->
-DATARMNET85c698ec34)return DATARMNETecc0627c70.DATARMNET5c24e1df05;else if(
-DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNETef866573e0&&
-DATARMNET362b15f941(DATARMNET63b1a086d5->map_cpu)){cpu=DATARMNET762cfa52fe(
-DATARMNETbc3c416b77&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5
-->DATARMNETfbbec4c537);if(cpu<(0xd2d+202-0xdf7)&&DATARMNET63b1a086d5->
-DATARMNET341ea38662!=NULL)cpu=DATARMNET63b1a086d5->DATARMNET341ea38662->
-DATARMNET6e1a4eaf09;}else if(DATARMNET63b1a086d5->DATARMNET341ea38662!=NULL){cpu
-=DATARMNET63b1a086d5->DATARMNET341ea38662->DATARMNET6e1a4eaf09;if((
-(0xd26+209-0xdf6)<<DATARMNET63b1a086d5->map_cpu)&DATARMNETecc0627c70.
-DATARMNETba3f7a11ef||((0xd26+209-0xdf6)<<cpu)&DATARMNETecc0627c70.
-DATARMNETba3f7a11ef){DATARMNETd4a0b11b47=(DATARMNETbc3c416b77&((0xd26+209-0xdf6)
-<<cpu))?DATARMNETbc3c416b77:DATARMNET9273f84bf1;cpu=DATARMNET762cfa52fe(
+DATARMNETb91aee91fd;u8 DATARMNETd4a0b11b47;u8 DATARMNET7dc3d97229;if(
+DATARMNET63b1a086d5->DATARMNET85c698ec34)return DATARMNETecc0627c70.
+DATARMNET5c24e1df05;else if(DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
+DATARMNETef866573e0&&DATARMNET362b15f941(DATARMNET63b1a086d5->map_cpu)){cpu=
+DATARMNET762cfa52fe(DATARMNETbc3c416b77&~DATARMNETecc0627c70.DATARMNETba3f7a11ef
+&DATARMNET63b1a086d5->DATARMNETfbbec4c537);if(cpu<(0xd2d+202-0xdf7)&&
+DATARMNET63b1a086d5->DATARMNET341ea38662!=NULL)cpu=DATARMNET63b1a086d5->
+DATARMNET341ea38662->DATARMNET6e1a4eaf09;}else if(DATARMNET63b1a086d5->
+DATARMNET341ea38662!=NULL){cpu=DATARMNET63b1a086d5->DATARMNET341ea38662->
+DATARMNET6e1a4eaf09;if(((0xd26+209-0xdf6)<<DATARMNET63b1a086d5->map_cpu)&
+DATARMNETecc0627c70.DATARMNETba3f7a11ef){DATARMNETd4a0b11b47=(
+DATARMNETbc3c416b77&((0xd26+209-0xdf6)<<cpu))?DATARMNETbc3c416b77:
+DATARMNET9273f84bf1;cpu=DATARMNET762cfa52fe(DATARMNETd4a0b11b47&~
+DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5->DATARMNETfbbec4c537
+);DATARMNETb7ddf3c5dd[DATARMNET7f401828b3]++;}else if(((0xd26+209-0xdf6)<<cpu)&
+DATARMNETecc0627c70.DATARMNETba3f7a11ef){DATARMNETd4a0b11b47=(
+DATARMNETbc3c416b77&((0xd26+209-0xdf6)<<cpu))?DATARMNETbc3c416b77:
+DATARMNET9273f84bf1;DATARMNET7dc3d97229=(DATARMNETbc3c416b77&((0xd26+209-0xdf6)
+<<DATARMNET63b1a086d5->map_cpu))?DATARMNETbc3c416b77:DATARMNET9273f84bf1;if(
+DATARMNETd4a0b11b47!=DATARMNET7dc3d97229)cpu=DATARMNET762cfa52fe(
 DATARMNETd4a0b11b47&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&DATARMNET63b1a086d5
-->DATARMNETfbbec4c537);DATARMNETb7ddf3c5dd[DATARMNET7f401828b3]++;}}return cpu;}
-int DATARMNETb6bff4a724(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu,
-idx=DATARMNETb91aee91fd;cpu=DATARMNET6af33ebb5b(DATARMNET63b1a086d5);idx=
+->DATARMNETfbbec4c537);else cpu=DATARMNET63b1a086d5->map_cpu;}}return cpu;}int 
+DATARMNETb6bff4a724(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){int cpu,idx=
+DATARMNETb91aee91fd;cpu=DATARMNET6af33ebb5b(DATARMNET63b1a086d5);idx=
 DATARMNET04e8d1b862(cpu,DATARMNET63b1a086d5->DATARMNETfbbec4c537);if(unlikely(
 idx<(0xd2d+202-0xdf7)))idx=DATARMNET04e8d1b862(DATARMNET63b1a086d5->map_cpu,
 DATARMNET63b1a086d5->DATARMNETfbbec4c537);DATARMNETda96251102(
@@ -247,33 +255,34 @@ 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;}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 DATARMNETe600c5b727*DATARMNET373e474754;u8 map=
-DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET5c4a331b9c=DATARMNETb6bff4a724
-(DATARMNET63b1a086d5);do{DATARMNET5a2e9192f9=DATARMNET63b1a086d5->map_cpu;if(
-DATARMNET5c4a331b9c<(0xd2d+202-0xdf7)){DATARMNET63b1a086d5->DATARMNET6250e93187=
-(0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}DATARMNET63b1a086d5->
-DATARMNET6250e93187=(0xd26+209-0xdf6);if(!map){DATARMNET63b1a086d5->
-DATARMNET6250e93187=(0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}if(
-DATARMNET5c4a331b9c==DATARMNET63b1a086d5->map_index){ret=(0xd26+209-0xdf6);break
-;}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;}
+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 
+DATARMNETe600c5b727*DATARMNET373e474754;u8 map=DATARMNET63b1a086d5->
+DATARMNETfbbec4c537;DATARMNET5c4a331b9c=DATARMNETb6bff4a724(DATARMNET63b1a086d5)
+;do{DATARMNET5a2e9192f9=DATARMNET63b1a086d5->map_cpu;if(DATARMNET5c4a331b9c<
+(0xd2d+202-0xdf7)){DATARMNET63b1a086d5->DATARMNET6250e93187=(0xd2d+202-0xdf7);
+ret=(0xd26+209-0xdf6);break;}DATARMNET63b1a086d5->DATARMNET6250e93187=
+(0xd26+209-0xdf6);if(!map){DATARMNET63b1a086d5->DATARMNET6250e93187=
+(0xd2d+202-0xdf7);ret=(0xd26+209-0xdf6);break;}if(DATARMNET5c4a331b9c==
+DATARMNET63b1a086d5->map_index){ret=(0xd26+209-0xdf6);break;}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->
@@ -356,7 +365,7 @@ DATARMNET63b1a086d5->DATARMNET1e9d25d9ff==IPPROTO_UDP)DATARMNET68d84e7b98[
 DATARMNETdd6bf3de6b]++;DATARMNET21243b86ae(skb,DATARMNETf345c1d909,
 DATARMNET87636d0152);}else{if(DATARMNETf345c1d909==DATARMNET0b15fd8b54&&(!
 DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
-DATARMNETf345c1d909==DATARMNET5b5927fd7e&&DATARMNET63b1a086d5->
+DATARMNETf345c1d909==DATARMNET5b5927fd7e&&!DATARMNET63b1a086d5->
 DATARMNET85c698ec34)DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}}
 DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);
 DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);
@@ -376,23 +385,25 @@ 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)
-DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}DATARMNET68d84e7b98[
-DATARMNET72db8b9bac]++;DATARMNETecc0627c70.DATARMNETc252a1f55d-=
-DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a-=DATARMNETe20a9cab2b
-;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].DATARMNET4133fc9428-=
-DATARMNETe20a9cab2b;}int DATARMNETe02152c351(struct DATARMNET63d7680df2*
-DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 DATARMNET5447204733){int 
-DATARMNETbd864aa442=(0xd2d+202-0xdf7);int map=DATARMNET63b1a086d5->
-DATARMNETfbbec4c537;int DATARMNET5643f7b5e9;DATARMNET52de1f3dc0(
-DATARMNET4510abc30d,DATARMNET022082b219,DATARMNETd87669e323,DATARMNET5447204733,
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET63b1a086d5,NULL);if(
-DATARMNETaef946bb68(DATARMNET63b1a086d5->map_index,map)!=DATARMNET63b1a086d5->
-map_cpu){DATARMNET5643f7b5e9=DATARMNET04e8d1b862(DATARMNET63b1a086d5->map_cpu,
-map);if(DATARMNET5643f7b5e9>=(0xd2d+202-0xdf7)){DATARMNET63b1a086d5->map_index=
-DATARMNET5643f7b5e9;DATARMNET63b1a086d5->map_cpu=DATARMNETaef946bb68(
-DATARMNET5643f7b5e9,map);}else{DATARMNET63b1a086d5->map_index=
-DATARMNET2edff26954;DATARMNET63b1a086d5->map_cpu=DATARMNETaef946bb68(
+;DATARMNETb481d13a78+=skb->len;if(DATARMNET5447204733==DATARMNET0b15fd8b54&&(!
+DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
+DATARMNET5447204733==DATARMNET5b5927fd7e&&!DATARMNET63b1a086d5->
+DATARMNET85c698ec34)DATARMNETe767554e6e(skb);else DATARMNET514ce0bf59(skb);}
+DATARMNET68d84e7b98[DATARMNET72db8b9bac]++;DATARMNETecc0627c70.
+DATARMNETc252a1f55d-=DATARMNETb481d13a78;DATARMNETecc0627c70.DATARMNETa2e32cdd3a
+-=DATARMNETe20a9cab2b;DATARMNET0997c5650d[DATARMNET63b1a086d5->map_cpu].
+DATARMNET4133fc9428-=DATARMNETe20a9cab2b;}int DATARMNETe02152c351(struct 
+DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 
+DATARMNET5447204733){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);int map=
+DATARMNET63b1a086d5->DATARMNETfbbec4c537;int DATARMNET5643f7b5e9;
+DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET022082b219,DATARMNETd87669e323,
+DATARMNET5447204733,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET63b1a086d5,
+NULL);if(DATARMNETaef946bb68(DATARMNET63b1a086d5->map_index,map)!=
+DATARMNET63b1a086d5->map_cpu){DATARMNET5643f7b5e9=DATARMNET04e8d1b862(
+DATARMNET63b1a086d5->map_cpu,map);if(DATARMNET5643f7b5e9>=(0xd2d+202-0xdf7)){
+DATARMNET63b1a086d5->map_index=DATARMNET5643f7b5e9;DATARMNET63b1a086d5->map_cpu=
+DATARMNETaef946bb68(DATARMNET5643f7b5e9,map);}else{DATARMNET63b1a086d5->
+map_index=DATARMNET2edff26954;DATARMNET63b1a086d5->map_cpu=DATARMNETaef946bb68(
 DATARMNET2edff26954,map);if(DATARMNET63b1a086d5->map_cpu<(0xd2d+202-0xdf7))
 DATARMNET63b1a086d5->map_cpu=DATARMNET2edff26954;}DATARMNETd87669e323=
 (0xd26+209-0xdf6);DATARMNET68d84e7b98[DATARMNETa1f9420686]++;DATARMNET015fb2ba0e
@@ -597,72 +608,83 @@ 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);for(DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<
-DATARMNETc6782fed88;DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[
-DATARMNET0e4304d903].DATARMNET3dc4262f53);DATARMNETe6e8431304();rc=
-register_oom_notifier(&DATARMNET105c85d84c);if(rc<(0xd2d+202-0xdf7)){pr_info(
+(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(&
+DATARMNET105c85d84c);if(rc<(0xd2d+202-0xdf7)){pr_info(
 "\x52\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x6f\x6d\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x69\x6c\x75\x72\x65"
-);}DATARMNETecc0627c70.DATARMNETfc89d842ae=(0xd26+209-0xdf6);}void 
-DATARMNETeacad8334e(void){struct hlist_node*tmp;struct DATARMNET63d7680df2*
-DATARMNET63b1a086d5;struct sk_buff*DATARMNET9a788b5480;int bkt;struct sk_buff*
-buf;unsigned long ht_flags;if(!DATARMNETecc0627c70.DATARMNETa2e32cdd3a)return;
-spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);hash_for_each_safe(
-DATARMNETe603c3a4b3,bkt,tmp,DATARMNET63b1a086d5,list){for((buf=
-DATARMNET63b1a086d5->DATARMNETae4b27456e.head);buf!=NULL;buf=DATARMNET9a788b5480
-){DATARMNET9a788b5480=buf->next;if(buf)consume_skb(buf);}DATARMNET63b1a086d5->
-DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);DATARMNET63b1a086d5->
-DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);DATARMNET63b1a086d5->
-DATARMNETae4b27456e.head=NULL;DATARMNET63b1a086d5->DATARMNETae4b27456e.tail=NULL
-;}DATARMNETecc0627c70.DATARMNETc252a1f55d=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
-DATARMNETa2e32cdd3a=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETd9cfd2812b=
-(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET34097703c8=DATARMNET8dcf06727b;
-spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);}void DATARMNET44459105b4(
-struct sk_buff*skb,struct DATARMNET63d7680df2*node_p){struct iphdr*ip4h,
-DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;struct tcphdr*tp,
-DATARMNETd1ff6cd568;struct udphdr*up,DATARMNETc82d2f4e16;int len=
-(0xd2d+202-0xdf7);u16 ip_len=(0xd2d+202-0xdf7);__be16 frag_off;u8 protocol;
-node_p->DATARMNETa1099c74fe=(0xd2d+202-0xdf7);switch(skb->protocol){case htons(
-ETH_P_IP):ip4h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&
-DATARMNETc00baf31c3);if(!ip4h)return;node_p->DATARMNET1e9d25d9ff=ip4h->protocol;
-memcpy(&(node_p->ip_hdr.DATARMNETac9bbaad7c),ip4h,sizeof(*ip4h));ip_len=ip4h->
-ihl*(0xd11+230-0xdf3);node_p->DATARMNETa1099c74fe=!(ip4h->frag_off&htons(IP_DF))
-;break;case htons(ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),
-sizeof(*ip6h),&DATARMNETcf1d9e2c1e);if(!ip6h)return;node_p->DATARMNET1e9d25d9ff=
-ip6h->nexthdr;memcpy(&(node_p->ip_hdr.DATARMNET1688a97aa4),ip6h,sizeof(*ip6h));
-protocol=ip6h->nexthdr;len=ipv6_skip_exthdr(skb,sizeof(*ip6h),&protocol,&
-frag_off);if(len<(0xd2d+202-0xdf7)){return;}ip_len=(u16)len;break;default:break;
-}if(node_p->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!=
+);}pr_info(
+"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x69\x74\x20\x77\x69\x74\x68\x20\x25\x78"
+,DATARMNETecc0627c70.map_mask);DATARMNETecc0627c70.DATARMNETfc89d842ae=
+(0xd26+209-0xdf6);}void DATARMNETeacad8334e(void){struct hlist_node*tmp;struct 
+DATARMNET63d7680df2*DATARMNET63b1a086d5;struct sk_buff*DATARMNET9a788b5480;int 
+bkt;struct sk_buff*buf;unsigned long ht_flags;if(!DATARMNETecc0627c70.
+DATARMNETa2e32cdd3a)return;spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);
+hash_for_each_safe(DATARMNETe603c3a4b3,bkt,tmp,DATARMNET63b1a086d5,list){for((
+buf=DATARMNET63b1a086d5->DATARMNETae4b27456e.head);buf!=NULL;buf=
+DATARMNET9a788b5480){DATARMNET9a788b5480=buf->next;if(buf)consume_skb(buf);}
+DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);
+DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);
+DATARMNET63b1a086d5->DATARMNETae4b27456e.head=NULL;DATARMNET63b1a086d5->
+DATARMNETae4b27456e.tail=NULL;}DATARMNETecc0627c70.DATARMNETc252a1f55d=
+(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETa2e32cdd3a=(0xd2d+202-0xdf7);
+DATARMNETecc0627c70.DATARMNETd9cfd2812b=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
+DATARMNET34097703c8=DATARMNET8dcf06727b;spin_unlock_irqrestore(&
+DATARMNET3764d083f0,ht_flags);}void DATARMNET44459105b4(struct sk_buff*skb,
+struct DATARMNET63d7680df2*node_p){struct iphdr*ip4h,DATARMNETc00baf31c3;struct 
+ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;struct tcphdr*tp,DATARMNETd1ff6cd568;struct 
+udphdr*up,DATARMNETc82d2f4e16;int len=(0xd2d+202-0xdf7);u16 ip_len=
+(0xd2d+202-0xdf7);__be16 frag_off;u8 protocol;node_p->DATARMNETa1099c74fe=
+(0xd2d+202-0xdf7);switch(skb->protocol){case htons(ETH_P_IP):ip4h=
+DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);if
+(!ip4h)return;node_p->DATARMNET1e9d25d9ff=ip4h->protocol;memcpy(&(node_p->ip_hdr
+.DATARMNETac9bbaad7c),ip4h,sizeof(*ip4h));ip_len=ip4h->ihl*(0xd11+230-0xdf3);
+node_p->DATARMNETa1099c74fe=!(ip4h->frag_off&htons(IP_DF));break;case htons(
+ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
+DATARMNETcf1d9e2c1e);if(!ip6h)return;node_p->DATARMNET1e9d25d9ff=ip6h->nexthdr;
+memcpy(&(node_p->ip_hdr.DATARMNET1688a97aa4),ip6h,sizeof(*ip6h));protocol=ip6h->
+nexthdr;len=ipv6_skip_exthdr(skb,sizeof(*ip6h),&protocol,&frag_off);if(len<
+(0xd2d+202-0xdf7)){return;}ip_len=(u16)len;break;default:break;}if(node_p->
+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(raw_smp_processor_id()==DATARMNETecc0627c70.
-DATARMNET5c24e1df05)DATARMNET68d84e7b98[DATARMNET048727d1d9]++;if(
-DATARMNET0bf01e7c6f->max_pkts&&node_p->DATARMNETae4b27456e.DATARMNET6215127f48>
-DATARMNET0bf01e7c6f->max_pkts)DATARMNET7c5ef97eab=(0xd26+209-0xdf6);}break;}if(
-is_match_found)break;DATARMNETcfb5dc7296=DATARMNET362c14e98b(DATARMNETecc0627c70
-.map_mask&DATARMNET9273f84bf1&~DATARMNETecc0627c70.DATARMNETba3f7a11ef);if(
+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)
@@ -674,12 +696,15 @@ DATARMNET44459105b4(skb,node_p);if(DATARMNET0bf01e7c6f->map_mask){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);}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(
+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(
 "\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(
@@ -731,10 +756,7 @@ DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=
 DATARMNET1c55e5fdb1){DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;
 DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}return
 (0xd2d+202-0xdf7);}void DATARMNET9297340f58(unsigned int DATARMNET9f4bc49c6f){
-DATARMNETdf74db7e38();DATARMNETecc0627c70.DATARMNET08dbb5ab35.dl_hdr_handler_v2=
-NULL;DATARMNETecc0627c70.DATARMNET08dbb5ab35.dl_trl_handler_v2=NULL;
-rmnet_map_dl_ind_deregister(DATARMNETecc0627c70.port,&DATARMNETecc0627c70.
-DATARMNET08dbb5ab35);DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);
+DATARMNETdf74db7e38();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);
 unregister_oom_notifier(&DATARMNET105c85d84c);if(DATARMNETecc0627c70.
 DATARMNETf5ab31b9b0)hrtimer_cancel(&DATARMNETecc0627c70.DATARMNET6fd692fc7a);
 memset(&DATARMNETecc0627c70,(0xd2d+202-0xdf7),sizeof(DATARMNETecc0627c70));

+ 1 - 1
shs/rmnet_shs_modules.c

@@ -140,7 +140,7 @@ DATARMNETea75c7b6f6,
 DATARMNET7d18c0bcf8,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
 DATARMNET7d18c0bcf8,
 "\x4d\x61\x78\x69\x6d\x75\x6d\x20\x70\x6b\x74\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x69\x6c\x6c\x20\x70\x61\x72\x6b"
-);unsigned int DATARMNET227d2ff866 __read_mostly=(0xec7+1131-0x1305);
+);unsigned int DATARMNET227d2ff866 __read_mostly=(0xef7+1112-0x131d);
 module_param(DATARMNET227d2ff866,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
 DATARMNET227d2ff866,
 "\x4d\x61\x78\x20\x77\x61\x69\x74\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x69\x6c\x6c\x20\x77\x61\x69\x74\x20\x64\x75\x72\x69\x6e\x67\x20\x6d\x6f\x76\x65\x20\x74\x6f\x20\x70\x65\x72\x66\x20\x63\x6f\x72\x65\x20\x69\x6e\x20\x6d\x73"

+ 89 - 79
shs/rmnet_shs_wq.c

@@ -216,11 +216,13 @@ DATARMNETdbe9f3dbe3->DATARMNETadd51beef4=DATARMNETb3a4036d6d;DATARMNETdbe9f3dbe3
 DATARMNETa7352711af=node_p->DATARMNETa8940e4a7b;DATARMNETdbe9f3dbe3->rx_bytes=
 node_p->DATARMNET2594c418db;DATARMNET96f21fddc1=(DATARMNETdbe9f3dbe3->
 DATARMNETadd51beef4-DATARMNETdbe9f3dbe3->DATARMNET68714ac92c);
-DATARMNETee9f72f13f=DATARMNETdbe9f3dbe3->DATARMNET4b4a76b094-DATARMNETdbe9f3dbe3
-->DATARMNET6edbc8b649;DATARMNET539a572f34=DATARMNETdbe9f3dbe3->
-DATARMNETa7352711af-DATARMNETdbe9f3dbe3->DATARMNET4025a4ec90;DATARMNET33b006454e
-=DATARMNETdbe9f3dbe3->rx_bytes-DATARMNETdbe9f3dbe3->DATARMNETde6a309f37;
-DATARMNETd2da2e8466(
+DATARMNET96f21fddc1=(DATARMNET96f21fddc1>DATARMNETac617c8dce(DATARMNET1fc3ad67fd
+)&&DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?DATARMNET96f21fddc1:
+DATARMNETac617c8dce((0xeb7+698-0x110d));DATARMNETee9f72f13f=DATARMNETdbe9f3dbe3
+->DATARMNET4b4a76b094-DATARMNETdbe9f3dbe3->DATARMNET6edbc8b649;
+DATARMNET539a572f34=DATARMNETdbe9f3dbe3->DATARMNETa7352711af-DATARMNETdbe9f3dbe3
+->DATARMNET4025a4ec90;DATARMNET33b006454e=DATARMNETdbe9f3dbe3->rx_bytes-
+DATARMNETdbe9f3dbe3->DATARMNETde6a309f37;DATARMNETd2da2e8466(
 "\x53\x48\x53\x5f\x53\x45\x47\x53\x3a\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x63\x6f\x61\x6c\x20\x73\x6b\x62\x20\x3d\x20\x25\x6c\x75\x20\x7c\x20\x6c\x61\x73\x74\x20\x63\x6f\x61\x6c\x20\x73\x6b\x62\x20\x3d\x20\x25\x6c\x75\x20\x7c\x20\x72\x78\x20\x73\x6b\x62\x20\x3d\x20\x25\x6c\x75\x20\x7c\x20\x6c\x61\x73\x74\x20\x72\x78\x20\x73\x6b\x62\x20\x25\x6c\x75"
 ,DATARMNETdbe9f3dbe3->hash,DATARMNETdbe9f3dbe3->DATARMNETa7352711af,
 DATARMNETdbe9f3dbe3->DATARMNET4025a4ec90,DATARMNETdbe9f3dbe3->
@@ -260,18 +262,23 @@ DATARMNET4947607c52;DATARMNET3c48cbf7e4->DATARMNETbfe25a2160=DATARMNET3c48cbf7e4
 DATARMNET68d84e7b98[DATARMNET42b73d0f3f]++;return;}DATARMNET3c48cbf7e4->
 DATARMNET903a2cea81=port->stats.dl_hdr_total_pkts;DATARMNET3c48cbf7e4->
 DATARMNET4947607c52=port->stats.dl_hdr_total_bytes;DATARMNET96f21fddc1=
-DATARMNETb3a4036d6d-DATARMNET3c48cbf7e4->DATARMNET68714ac92c;DATARMNETe3ed6089ca
-=DATARMNET3c48cbf7e4->DATARMNET903a2cea81-DATARMNET3c48cbf7e4->
-DATARMNETbfe25a2160;byte_diff=DATARMNET3c48cbf7e4->DATARMNET4947607c52-
-DATARMNET3c48cbf7e4->DATARMNET601156672d;DATARMNET3c48cbf7e4->
-DATARMNET3067b3dafd=DATARMNET855e9d7062(DATARMNETe3ed6089ca)/DATARMNET96f21fddc1
-;DATARMNET3c48cbf7e4->DATARMNET47334112aa=DATARMNET855e9d7062(byte_diff)/
-DATARMNET96f21fddc1;DATARMNET3c48cbf7e4->DATARMNET47334112aa=DATARMNET64577537b7
-(DATARMNET3c48cbf7e4->DATARMNET47334112aa);}static void DATARMNET0ce3f33785(void
-){struct DATARMNETc8fdbf9c85*DATARMNET3c48cbf7e4=&DATARMNET6cdd58e74c;u64 
-DATARMNETe3ed6089ca,byte_diff,DATARMNETccb5dc8a5c,DATARMNET4df302dbd6;ktime_t 
-DATARMNET96f21fddc1;DATARMNET96f21fddc1=DATARMNETb3a4036d6d-DATARMNET3c48cbf7e4
-->DATARMNET68714ac92c;DATARMNETe3ed6089ca=(DATARMNET3c48cbf7e4->
+DATARMNETb3a4036d6d-DATARMNET3c48cbf7e4->DATARMNET68714ac92c;DATARMNET96f21fddc1
+=(DATARMNET96f21fddc1>DATARMNETac617c8dce(DATARMNET1fc3ad67fd)&&
+DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?DATARMNET96f21fddc1:DATARMNETac617c8dce(
+(0xeb7+698-0x110d));DATARMNETe3ed6089ca=DATARMNET3c48cbf7e4->DATARMNET903a2cea81
+-DATARMNET3c48cbf7e4->DATARMNETbfe25a2160;byte_diff=DATARMNET3c48cbf7e4->
+DATARMNET4947607c52-DATARMNET3c48cbf7e4->DATARMNET601156672d;DATARMNET3c48cbf7e4
+->DATARMNET3067b3dafd=DATARMNET855e9d7062(DATARMNETe3ed6089ca)/
+DATARMNET96f21fddc1;DATARMNET3c48cbf7e4->DATARMNET47334112aa=DATARMNET855e9d7062
+(byte_diff)/DATARMNET96f21fddc1;DATARMNET3c48cbf7e4->DATARMNET47334112aa=
+DATARMNET64577537b7(DATARMNET3c48cbf7e4->DATARMNET47334112aa);}static void 
+DATARMNET0ce3f33785(void){struct DATARMNETc8fdbf9c85*DATARMNET3c48cbf7e4=&
+DATARMNET6cdd58e74c;u64 DATARMNETe3ed6089ca,byte_diff,DATARMNETccb5dc8a5c,
+DATARMNET4df302dbd6;ktime_t DATARMNET96f21fddc1;DATARMNET96f21fddc1=
+DATARMNETb3a4036d6d-DATARMNET3c48cbf7e4->DATARMNET68714ac92c;DATARMNET96f21fddc1
+=(DATARMNET96f21fddc1>DATARMNETac617c8dce(DATARMNET1fc3ad67fd)&&
+DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?DATARMNET96f21fddc1:DATARMNETac617c8dce(
+(0xeb7+698-0x110d));DATARMNETe3ed6089ca=(DATARMNET3c48cbf7e4->
 DATARMNET7fc41d655d-DATARMNET3c48cbf7e4->DATARMNET9853a006ae);byte_diff=
 DATARMNET3c48cbf7e4->rx_bytes-DATARMNET3c48cbf7e4->DATARMNETde6a309f37;
 DATARMNETccb5dc8a5c=DATARMNET855e9d7062(DATARMNETe3ed6089ca)/DATARMNET96f21fddc1
@@ -312,26 +319,28 @@ DATARMNETc6439e3d71(&DATARMNET6cdd58e74c,DATARMNETcf7ef40ff9,&
 DATARMNETe46ae760db);}DATARMNET33f47350f0(cpu,DATARMNETcf7ef40ff9);return;}
 DATARMNET96f21fddc1=DATARMNETb3a4036d6d-DATARMNETcf7ef40ff9->DATARMNET68714ac92c
 ;DATARMNETedf00aed6f=DATARMNETcf7ef40ff9->rx_bytes-DATARMNETcf7ef40ff9->
-DATARMNETde6a309f37;DATARMNET8233cb4988=DATARMNETcf7ef40ff9->DATARMNETbb80fccd97
-;DATARMNET27c3925eff=DATARMNETcf7ef40ff9->DATARMNET324c1a8f98;
-DATARMNETcf7ef40ff9->DATARMNET324c1a8f98=DATARMNET855e9d7062(DATARMNET55fffa9aa9
-)/DATARMNET96f21fddc1;DATARMNETcf7ef40ff9->DATARMNETbb80fccd97=
-DATARMNET855e9d7062(DATARMNETedf00aed6f)/DATARMNET96f21fddc1;DATARMNETcf7ef40ff9
-->DATARMNETbb80fccd97=DATARMNET64577537b7(DATARMNETcf7ef40ff9->
-DATARMNETbb80fccd97);DATARMNETcf7ef40ff9->DATARMNET253a9fc708=
-DATARMNET183789850d(cpu);DATARMNETcf7ef40ff9->DATARMNET8233cb4988=
-DATARMNET8233cb4988;DATARMNETcf7ef40ff9->DATARMNET27c3925eff=DATARMNET27c3925eff
-;DATARMNETcf7ef40ff9->DATARMNET68714ac92c=DATARMNETb3a4036d6d;
-DATARMNETcf7ef40ff9->DATARMNET9853a006ae=DATARMNETcf7ef40ff9->
-DATARMNET7fc41d655d;DATARMNETcf7ef40ff9->DATARMNETde6a309f37=DATARMNETcf7ef40ff9
-->rx_bytes;DATARMNETcf7ef40ff9->DATARMNETc0b20e240a=DATARMNETcf7ef40ff9->
-DATARMNETbb80fccd97;if(DATARMNETc252c204a8){DATARMNETc6439e3d71(&
-DATARMNET6cdd58e74c,DATARMNETcf7ef40ff9,&DATARMNETe46ae760db);}
-trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,DATARMNET95d1ddcb1a,cpu,
-DATARMNETcf7ef40ff9->flows,DATARMNETcf7ef40ff9->DATARMNET324c1a8f98,
-DATARMNETcf7ef40ff9->DATARMNETbb80fccd97,NULL,NULL);DATARMNET33f47350f0(cpu,
-DATARMNETcf7ef40ff9);}static void DATARMNET617b443145(void){u16 cpu;
-trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,DATARMNET6bde6a5171,
+DATARMNETde6a309f37;DATARMNET96f21fddc1=(DATARMNET96f21fddc1>DATARMNETac617c8dce
+(DATARMNET1fc3ad67fd)&&DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?
+DATARMNET96f21fddc1:DATARMNETac617c8dce((0xeb7+698-0x110d));DATARMNET8233cb4988=
+DATARMNETcf7ef40ff9->DATARMNETbb80fccd97;DATARMNET27c3925eff=DATARMNETcf7ef40ff9
+->DATARMNET324c1a8f98;DATARMNETcf7ef40ff9->DATARMNET324c1a8f98=
+DATARMNET855e9d7062(DATARMNET55fffa9aa9)/DATARMNET96f21fddc1;DATARMNETcf7ef40ff9
+->DATARMNETbb80fccd97=DATARMNET855e9d7062(DATARMNETedf00aed6f)/
+DATARMNET96f21fddc1;DATARMNETcf7ef40ff9->DATARMNETbb80fccd97=DATARMNET64577537b7
+(DATARMNETcf7ef40ff9->DATARMNETbb80fccd97);DATARMNETcf7ef40ff9->
+DATARMNET253a9fc708=DATARMNET183789850d(cpu);DATARMNETcf7ef40ff9->
+DATARMNET8233cb4988=DATARMNET8233cb4988;DATARMNETcf7ef40ff9->DATARMNET27c3925eff
+=DATARMNET27c3925eff;DATARMNETcf7ef40ff9->DATARMNET68714ac92c=
+DATARMNETb3a4036d6d;DATARMNETcf7ef40ff9->DATARMNET9853a006ae=DATARMNETcf7ef40ff9
+->DATARMNET7fc41d655d;DATARMNETcf7ef40ff9->DATARMNETde6a309f37=
+DATARMNETcf7ef40ff9->rx_bytes;DATARMNETcf7ef40ff9->DATARMNETc0b20e240a=
+DATARMNETcf7ef40ff9->DATARMNETbb80fccd97;if(DATARMNETc252c204a8){
+DATARMNETc6439e3d71(&DATARMNET6cdd58e74c,DATARMNETcf7ef40ff9,&
+DATARMNETe46ae760db);}trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,
+DATARMNET95d1ddcb1a,cpu,DATARMNETcf7ef40ff9->flows,DATARMNETcf7ef40ff9->
+DATARMNET324c1a8f98,DATARMNETcf7ef40ff9->DATARMNETbb80fccd97,NULL,NULL);
+DATARMNET33f47350f0(cpu,DATARMNETcf7ef40ff9);}static void DATARMNET617b443145(
+void){u16 cpu;trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,DATARMNET6bde6a5171,
 (0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL
 ,NULL);for(cpu=(0xd2d+202-0xdf7);cpu<DATARMNETc6782fed88;cpu++)
 DATARMNET73d2153565(cpu);trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,
@@ -429,10 +438,10 @@ DATARMNET609049f7b7=U64_MAX;u32 DATARMNET84d36cfd28=U32_MAX;int
 DATARMNETbd864aa442=-(0xd26+209-0xdf6);int DATARMNETd415a9f9bd=-
 (0xd26+209-0xdf6);int DATARMNETb6773d2790=-(0xd26+209-0xdf6);int 
 DATARMNET42a992465f=(0xd2d+202-0xdf7);u16 DATARMNETdebcca6b26;for(
-DATARMNET42a992465f=(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;
-DATARMNET42a992465f++){DATARMNETdebcca6b26=(((0xd26+209-0xdf6)<<
-DATARMNET42a992465f)&DATARMNETfaedbb66a9)&&cpu_online(DATARMNET42a992465f);if(!
-DATARMNETdebcca6b26)continue;DATARMNET65385af8a0=&DATARMNET7bea4a06a6->
+DATARMNET42a992465f=DATARMNETc6782fed88-(0xd26+209-0xdf6);DATARMNET42a992465f>=
+(0xd2d+202-0xdf7);DATARMNET42a992465f--){DATARMNETdebcca6b26=(((0xd26+209-0xdf6)
+<<DATARMNET42a992465f)&DATARMNETfaedbb66a9)&&cpu_online(DATARMNET42a992465f);if(
+!DATARMNETdebcca6b26)continue;DATARMNET65385af8a0=&DATARMNET7bea4a06a6->
 DATARMNET73464778dc[DATARMNET42a992465f];trace_rmnet_shs_wq_low(
 DATARMNET39a68a0eba,DATARMNET55cd50e666,DATARMNET42a992465f,DATARMNET65385af8a0
 ->DATARMNET324c1a8f98,DATARMNET609049f7b7,(0xd2d+202-0xdf7),NULL,NULL);if(
@@ -620,41 +629,42 @@ DATARMNETc35b40fa7b=ep->DATARMNET1a1d89d417;memset(ep->DATARMNET5af04d0405,-
 (0xd26+209-0xdf6),sizeof(*ep->DATARMNET5af04d0405)*DATARMNETc6782fed88);memset(
 ep->DATARMNET7167e10d99,-(0xd26+209-0xdf6),sizeof(*ep->DATARMNET7167e10d99)*
 DATARMNETc6782fed88);do{DATARMNET9025861a27=DATARMNET362c14e98b(
-DATARMNETc312f6517d);if(DATARMNET9025861a27>=(0xd2d+202-0xdf7)){ep->
-DATARMNET5af04d0405[DATARMNETffd83bb362]=DATARMNET9025861a27;DATARMNETc312f6517d
-=DATARMNETc312f6517d&~((0xd26+209-0xdf6)<<DATARMNET9025861a27);
-DATARMNETffd83bb362++;}else{break;}}while(DATARMNETc312f6517d!=(0xd2d+202-0xdf7)
-);trace_rmnet_shs_wq_low(DATARMNET39a68a0eba,DATARMNETb9205423e5,ep->
-DATARMNET5af04d0405[(0xd2d+202-0xdf7)],ep->DATARMNET5af04d0405[(0xd26+209-0xdf6)
-],ep->DATARMNET5af04d0405[(0xd1f+216-0xdf5)],ep->DATARMNETd7a83774f8,ep,NULL);do
-{DATARMNETef87f9e251=DATARMNET362c14e98b(DATARMNETc35b40fa7b);if(
-DATARMNETef87f9e251>=(0xd2d+202-0xdf7)){ep->DATARMNET7167e10d99[
-DATARMNET24f6ce5dc0]=DATARMNETef87f9e251;DATARMNETc35b40fa7b=DATARMNETc35b40fa7b
-&~((0xd26+209-0xdf6)<<DATARMNETef87f9e251);DATARMNET24f6ce5dc0++;}else break;}
-while(DATARMNETc35b40fa7b!=(0xd2d+202-0xdf7));ep->DATARMNETd7a83774f8=
-DATARMNETffd83bb362;ep->DATARMNET847276e5af=DATARMNET24f6ce5dc0;ep->
-DATARMNET6bda8fe27e=(0xd2d+202-0xdf7);ep->DATARMNET121a654efd=(0xd2d+202-0xdf7);
-trace_rmnet_shs_wq_low(DATARMNET39a68a0eba,DATARMNETffec99a10f,ep->
-DATARMNET7167e10d99[(0xd2d+202-0xdf7)],ep->DATARMNET7167e10d99[(0xd26+209-0xdf6)
-],ep->DATARMNET7167e10d99[(0xd1f+216-0xdf5)],ep->DATARMNET847276e5af,ep,NULL);
-return;}void DATARMNET0a6fb12cb2(void){struct DATARMNET9b44b71ee9*ep=NULL;
-list_for_each_entry(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->
-DATARMNET4a4e6f66b5)continue;DATARMNETe00453a3e4(ep);}}static int 
-DATARMNET1154e4fac6(ktime_t time,int DATARMNET64bb8a8f57){int ret=false;if(time>
-DATARMNETa804c0b904)ret=true;else if(DATARMNET64bb8a8f57>DATARMNET1c2d76f636&&
-time>DATARMNET2922c89d50)ret=true;else if(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*
+DATARMNETc312f6517d&~DATARMNETecc0627c70.DATARMNETba3f7a11ef);if(
+DATARMNET9025861a27>=(0xd2d+202-0xdf7)){ep->DATARMNET5af04d0405[
+DATARMNETffd83bb362]=DATARMNET9025861a27;DATARMNETc312f6517d=DATARMNETc312f6517d
+&~((0xd26+209-0xdf6)<<DATARMNET9025861a27);DATARMNETffd83bb362++;}else{break;}}
+while(DATARMNETc312f6517d!=(0xd2d+202-0xdf7));trace_rmnet_shs_wq_low(
+DATARMNET39a68a0eba,DATARMNETb9205423e5,ep->DATARMNET5af04d0405[
+(0xd2d+202-0xdf7)],ep->DATARMNET5af04d0405[(0xd26+209-0xdf6)],ep->
+DATARMNET5af04d0405[(0xd1f+216-0xdf5)],ep->DATARMNETd7a83774f8,ep,NULL);do{
+DATARMNETef87f9e251=DATARMNET362c14e98b(DATARMNETc35b40fa7b&~DATARMNETecc0627c70
+.DATARMNETba3f7a11ef);if(DATARMNETef87f9e251>=(0xd2d+202-0xdf7)){ep->
+DATARMNET7167e10d99[DATARMNET24f6ce5dc0]=DATARMNETef87f9e251;DATARMNETc35b40fa7b
+=DATARMNETc35b40fa7b&~((0xd26+209-0xdf6)<<DATARMNETef87f9e251);
+DATARMNET24f6ce5dc0++;}else break;}while(DATARMNETc35b40fa7b!=(0xd2d+202-0xdf7))
+;ep->DATARMNETd7a83774f8=DATARMNETffd83bb362;ep->DATARMNET847276e5af=
+DATARMNET24f6ce5dc0;ep->DATARMNET6bda8fe27e=(0xd2d+202-0xdf7);ep->
+DATARMNET121a654efd=(0xd2d+202-0xdf7);trace_rmnet_shs_wq_low(DATARMNET39a68a0eba
+,DATARMNETffec99a10f,ep->DATARMNET7167e10d99[(0xd2d+202-0xdf7)],ep->
+DATARMNET7167e10d99[(0xd26+209-0xdf6)],ep->DATARMNET7167e10d99[(0xd1f+216-0xdf5)
+],ep->DATARMNET847276e5af,ep,NULL);return;}void DATARMNET0a6fb12cb2(void){struct
+ DATARMNET9b44b71ee9*ep=NULL;list_for_each_entry(ep,&DATARMNET30a3e83974,
+DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;DATARMNETe00453a3e4(ep
+);}}static int DATARMNET1154e4fac6(ktime_t time,int DATARMNET64bb8a8f57){int ret
+=false;if(time>DATARMNETa804c0b904)ret=true;else if(DATARMNET64bb8a8f57>
+DATARMNET1c2d76f636&&time>DATARMNET2922c89d50)ret=true;else if(
+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){
-trace_rmnet_shs_wq_low(DATARMNET394831f22a,DATARMNET5e2c5adaae,node_p->hash,
+DATARMNETecc0627c70.DATARMNET64bb8a8f57)||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(
@@ -668,10 +678,10 @@ DATARMNET253a9fc708);DATARMNETb4a6870b3b(DATARMNETd2a694d52a);if(
 DATARMNETd2a694d52a->DATARMNET0bfc2b2c85==(0xd2d+202-0xdf7)||DATARMNETcd94e0d3c7
 ){DATARMNET2fe780019f(DATARMNETd2a694d52a);kfree(DATARMNETd2a694d52a);}else{
 DATARMNETa6e92c3315(DATARMNETd2a694d52a);}DATARMNETecc0627c70.
-DATARMNET64bb8a8f57--;spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);}}}
-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(
+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(
 "\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){
@@ -773,11 +783,11 @@ DATARMNETab5c1e9ad5);DATARMNET7bea4a06a6->DATARMNET42a992465f=
 DATARMNET42a992465f;}}void DATARMNET4063c95208(void){int cpu;if(
 DATARMNETf141197982&&DATARMNET9dc7755be5)cancel_delayed_work_sync(&
 DATARMNET9dc7755be5->DATARMNET1150269da2);for(cpu=(0xd2d+202-0xdf7);cpu<
-DATARMNETc6782fed88;cpu++)DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);if((
-(0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&DATARMNETbc3c416b77)
-{DATARMNETecc0627c70.DATARMNET5c24e1df05=(0xd26+209-0xdf6);rcu_read_lock();
-RCU_INIT_POINTER(rmnet_shs_switch,DATARMNET756778f14f);rcu_read_unlock();
-DATARMNET68d84e7b98[DATARMNET6ea8a58f4e]++;}}void DATARMNET7b6c061b06(void){if(
+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[
+DATARMNET6ea8a58f4e]++;}rcu_read_unlock();}void DATARMNET7b6c061b06(void){if(
 DATARMNETf141197982&&DATARMNET9dc7755be5)queue_delayed_work(DATARMNETf141197982,
 &DATARMNET9dc7755be5->DATARMNET1150269da2,(0xd2d+202-0xdf7));}void 
 DATARMNET3ae0d614d6(void){if(DATARMNETf141197982)return;DATARMNETf5f83b943f();

+ 2 - 0
shs/rmnet_shs_wq.h

@@ -33,6 +33,8 @@
 1000000000)
 #define DATARMNET64577537b7(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95)*\
 (0xd35+210-0xdff))
+#define DATARMNETac617c8dce(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95)*1000000\
+  )
 #define DATARMNET138a989ecb (0xeb7+1158-0x132d)
 #define DATARMNETe4c625a3a3  (0xeb7+698-0x110d)
 extern struct list_head DATARMNET30a3e83974;struct DATARMNET9b44b71ee9{u64 

+ 2 - 2
shs/rmnet_shs_wq_genl.c

@@ -131,7 +131,7 @@ if(na){if(nla_memcpy(&DATARMNET7f0ce2d6ad,na,sizeof(DATARMNET7f0ce2d6ad))>
 (0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNET9273f84bf1)
 ||(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&
 DATARMNET9273f84bf1)){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
-DATARMNET96de786762);return-(0xd26+209-0xdf6);}DATARMNETecc0627c70.
+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
@@ -139,7 +139,7 @@ DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return
 DATARMNET37da25c8e8){if(!(((0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.
 DATARMNET208ea67e1d)&DATARMNETbc3c416b77)||(((0xd26+209-0xdf6)<<
 DATARMNETecc0627c70.DATARMNET5c24e1df05)&DATARMNETbc3c416b77)){
-DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET96de786762);return-
+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,