Updates modules to version I9df774e092cc6b420ed46206101e31f6e218f451
Updates modules to version I9df774e092cc6b420ed46206101e31f6e218f451. Change-Id: I9df774e092cc6b420ed46206101e31f6e218f451 Signed-off-by: Sean Tranchetti <quic_stranche@quicinc.com>
This commit is contained in:
@@ -17,12 +17,14 @@
|
|||||||
#include <net/ip.h>
|
#include <net/ip.h>
|
||||||
#include <net/ipv6.h>
|
#include <net/ipv6.h>
|
||||||
#include "rmnet_config.h"
|
#include "rmnet_config.h"
|
||||||
|
#include "rmnet_module.h"
|
||||||
#include "rmnet_aps.h"
|
#include "rmnet_aps.h"
|
||||||
#include "rmnet_aps_genl.h"
|
#include "rmnet_aps_genl.h"
|
||||||
static char*verinfo[]={"\x33\x32\x61\x36\x65\x62\x61\x39",
|
static char*verinfo[]={"\x65\x32\x31\x38\x66\x34\x35\x31",
|
||||||
"\x36\x39\x30\x35\x35\x36\x38\x65","\x37\x34\x31\x35\x39\x32\x31\x63",
|
"\x33\x32\x61\x36\x65\x62\x61\x39","\x36\x39\x30\x35\x35\x36\x38\x65",
|
||||||
"\x39\x66\x36\x36\x38\x31\x62\x34"};module_param_array(verinfo,charp,NULL,
|
"\x37\x34\x31\x35\x39\x32\x31\x63","\x39\x66\x36\x36\x38\x31\x62\x34"};
|
||||||
(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
|
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"
|
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
||||||
);
|
);
|
||||||
#define DATARMNET63ff5c35c2 (0xd26+209-0xdf6)
|
#define DATARMNET63ff5c35c2 (0xd26+209-0xdf6)
|
||||||
@@ -490,7 +492,10 @@ DATARMNET912d2a7edd;if(aps_cb->DATARMNET91119c34ed&&skb_hwtstamps(
|
|||||||
DATARMNET543491eb0f)->hwtstamp&&DATARMNETe7a1ab1dab){DATARMNET912d2a7edd=
|
DATARMNET543491eb0f)->hwtstamp&&DATARMNETe7a1ab1dab){DATARMNET912d2a7edd=
|
||||||
ktime_get_boottime();if(ktime_sub(DATARMNET912d2a7edd,skb_hwtstamps(
|
ktime_get_boottime();if(ktime_sub(DATARMNET912d2a7edd,skb_hwtstamps(
|
||||||
DATARMNET543491eb0f)->hwtstamp)>DATARMNETe7a1ab1dab)return-ETIMEDOUT;}return
|
DATARMNET543491eb0f)->hwtstamp)>DATARMNETe7a1ab1dab)return-ETIMEDOUT;}return
|
||||||
(0xd2d+202-0xdf7);}static int __init DATARMNET0718a3fa4c(void){int
|
(0xd2d+202-0xdf7);}static const struct rmnet_module_hook_register_info
|
||||||
|
DATARMNET509284caa6[]={{.hooknum=RMNET_MODULE_HOOK_APS_PRE_QUEUE,.func=
|
||||||
|
DATARMNETe0c7b9d5a4,},{.hooknum=RMNET_MODULE_HOOK_APS_POST_QUEUE,.func=
|
||||||
|
DATARMNET6ab4bbdaf4,},};static int __init DATARMNET0718a3fa4c(void){int
|
||||||
DATARMNETb14e52a504;pr_info(
|
DATARMNETb14e52a504;pr_info(
|
||||||
"\x61\x70\x73\x3a\x20\x69\x6e\x69\x74\x20\x28\x25\x73\x29" "\n",
|
"\x61\x70\x73\x3a\x20\x69\x6e\x69\x74\x20\x28\x25\x73\x29" "\n",
|
||||||
DATARMNETe5ef0e617c);DATARMNETb14e52a504=DATARMNETcfa8d492f8();if(
|
DATARMNETe5ef0e617c);DATARMNETb14e52a504=DATARMNETcfa8d492f8();if(
|
||||||
@@ -498,11 +503,13 @@ DATARMNETb14e52a504){pr_err(
|
|||||||
"\x61\x70\x73\x3a\x20\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x67\x65\x6e\x6c\x20\x66\x61\x6d\x69\x6c\x79" "\n"
|
"\x61\x70\x73\x3a\x20\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x67\x65\x6e\x6c\x20\x66\x61\x6d\x69\x6c\x79" "\n"
|
||||||
);return DATARMNETb14e52a504;}register_netdevice_notifier(&DATARMNETc580548769);
|
);return DATARMNETb14e52a504;}register_netdevice_notifier(&DATARMNETc580548769);
|
||||||
rcu_assign_pointer(rmnet_aps_pre_queue,DATARMNETe0c7b9d5a4);rcu_assign_pointer(
|
rcu_assign_pointer(rmnet_aps_pre_queue,DATARMNETe0c7b9d5a4);rcu_assign_pointer(
|
||||||
rmnet_aps_post_queue,DATARMNET6ab4bbdaf4);mutex_lock(&DATARMNETd7b5a80f84);
|
rmnet_aps_post_queue,DATARMNET6ab4bbdaf4);rmnet_module_hook_register(
|
||||||
DATARMNET54b95e4416=true;mutex_unlock(&DATARMNETd7b5a80f84);return
|
DATARMNET509284caa6,ARRAY_SIZE(DATARMNET509284caa6));mutex_lock(&
|
||||||
(0xd2d+202-0xdf7);}static void __exit DATARMNETff67054ba9(void){
|
DATARMNETd7b5a80f84);DATARMNET54b95e4416=true;mutex_unlock(&DATARMNETd7b5a80f84)
|
||||||
|
;return(0xd2d+202-0xdf7);}static void __exit DATARMNETff67054ba9(void){
|
||||||
rcu_assign_pointer(rmnet_aps_pre_queue,NULL);rcu_assign_pointer(
|
rcu_assign_pointer(rmnet_aps_pre_queue,NULL);rcu_assign_pointer(
|
||||||
rmnet_aps_post_queue,NULL);synchronize_rcu();mutex_lock(&DATARMNETd7b5a80f84);
|
rmnet_aps_post_queue,NULL);rmnet_module_hook_unregister(DATARMNET509284caa6,
|
||||||
|
ARRAY_SIZE(DATARMNET509284caa6));mutex_lock(&DATARMNETd7b5a80f84);
|
||||||
DATARMNET54b95e4416=false;DATARMNET9ac8a34003();mutex_unlock(&
|
DATARMNET54b95e4416=false;DATARMNET9ac8a34003();mutex_unlock(&
|
||||||
DATARMNETd7b5a80f84);DATARMNET446f780f19((0xd2d+202-0xdf7),DATARMNET94016043b8);
|
DATARMNETd7b5a80f84);DATARMNET446f780f19((0xd2d+202-0xdf7),DATARMNET94016043b8);
|
||||||
cancel_delayed_work_sync(&DATARMNET3481998252);del_timer_sync(&
|
cancel_delayed_work_sync(&DATARMNET3481998252);del_timer_sync(&
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
@@ -14,6 +15,7 @@
|
|||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/hashtable.h>
|
#include <linux/hashtable.h>
|
||||||
#include "rmnet_descriptor.h"
|
#include "rmnet_descriptor.h"
|
||||||
|
#include "rmnet_module.h"
|
||||||
#include "rmnet_offload_state.h"
|
#include "rmnet_offload_state.h"
|
||||||
#include "rmnet_offload_engine.h"
|
#include "rmnet_offload_engine.h"
|
||||||
#include "rmnet_offload_main.h"
|
#include "rmnet_offload_main.h"
|
||||||
@@ -94,20 +96,24 @@ DATARMNETa00cda79d0(DATARMNETf3f92fc0b9);DATARMNETa3055c21f2(DATARMNET6745427f98
|
|||||||
DATARMNET6745427f98;}static void DATARMNETbe30d096c6(void){LIST_HEAD(
|
DATARMNET6745427f98;}static void DATARMNETbe30d096c6(void){LIST_HEAD(
|
||||||
DATARMNET6f9bfa17e6);DATARMNET664568fcd0();if(DATARMNETae70636c90(&
|
DATARMNET6f9bfa17e6);DATARMNET664568fcd0();if(DATARMNETae70636c90(&
|
||||||
DATARMNET6f9bfa17e6))DATARMNETa00cda79d0(DATARMNET5727f095ec);
|
DATARMNET6f9bfa17e6))DATARMNETa00cda79d0(DATARMNET5727f095ec);
|
||||||
DATARMNET6a76048590();DATARMNETc70e73c8d4(&DATARMNET6f9bfa17e6);}void
|
DATARMNET6a76048590();DATARMNETc70e73c8d4(&DATARMNET6f9bfa17e6);}static const
|
||||||
|
struct rmnet_module_hook_register_info DATARMNETcbc211d052={.hooknum=
|
||||||
|
RMNET_MODULE_HOOK_OFFLOAD_CHAIN_END,.func=DATARMNETbe30d096c6,};void
|
||||||
DATARMNETd4230b6bfe(void){rcu_assign_pointer(rmnet_perf_chain_end,
|
DATARMNETd4230b6bfe(void){rcu_assign_pointer(rmnet_perf_chain_end,
|
||||||
DATARMNETbe30d096c6);}void DATARMNET560e127137(void){rcu_assign_pointer(
|
DATARMNETbe30d096c6);rmnet_module_hook_register(&DATARMNETcbc211d052,
|
||||||
rmnet_perf_chain_end,NULL);}int DATARMNET241493ab9a(u64 DATARMNET0470698d6c,u64
|
(0xd26+209-0xdf6));}void DATARMNET560e127137(void){rcu_assign_pointer(
|
||||||
DATARMNETfeff65e096){LIST_HEAD(DATARMNET6f9bfa17e6);u32 DATARMNET737bbd41c3=
|
rmnet_perf_chain_end,NULL);rmnet_module_hook_unregister_no_sync(&
|
||||||
(0xd2d+202-0xdf7);if(DATARMNET0470698d6c==DATARMNET5fe3af8828||
|
DATARMNETcbc211d052,(0xd26+209-0xdf6));}int DATARMNET241493ab9a(u64
|
||||||
DATARMNETfeff65e096==DATARMNET2d89680280)return(0xd2d+202-0xdf7);switch(
|
DATARMNET0470698d6c,u64 DATARMNETfeff65e096){LIST_HEAD(DATARMNET6f9bfa17e6);u32
|
||||||
DATARMNETfeff65e096){case DATARMNET03daf91a60:DATARMNET737bbd41c3=
|
DATARMNET737bbd41c3=(0xd2d+202-0xdf7);if(DATARMNET0470698d6c==
|
||||||
DATARMNET1993bae165(DATARMNETa656f324b2,&DATARMNET6f9bfa17e6);break;case
|
DATARMNET5fe3af8828||DATARMNETfeff65e096==DATARMNET2d89680280)return
|
||||||
DATARMNET88a9920663:DATARMNET737bbd41c3=DATARMNET1993bae165(DATARMNETfd5c3d30e5,
|
(0xd2d+202-0xdf7);switch(DATARMNETfeff65e096){case DATARMNET03daf91a60:
|
||||||
&DATARMNET6f9bfa17e6);break;case DATARMNET5fe3af8828:DATARMNET737bbd41c3=
|
DATARMNET737bbd41c3=DATARMNET1993bae165(DATARMNETa656f324b2,&DATARMNET6f9bfa17e6
|
||||||
DATARMNETae70636c90(&DATARMNET6f9bfa17e6);break;}DATARMNETbad3b5165e(
|
);break;case DATARMNET88a9920663:DATARMNET737bbd41c3=DATARMNET1993bae165(
|
||||||
DATARMNETddf572458d,DATARMNET737bbd41c3);DATARMNETc70e73c8d4(&
|
DATARMNETfd5c3d30e5,&DATARMNET6f9bfa17e6);break;case DATARMNET5fe3af8828:
|
||||||
DATARMNET6f9bfa17e6);return(0xd2d+202-0xdf7);}void DATARMNETa3055c21f2(struct
|
DATARMNET737bbd41c3=DATARMNETae70636c90(&DATARMNET6f9bfa17e6);break;}
|
||||||
|
DATARMNETbad3b5165e(DATARMNETddf572458d,DATARMNET737bbd41c3);DATARMNETc70e73c8d4
|
||||||
|
(&DATARMNET6f9bfa17e6);return(0xd2d+202-0xdf7);}void DATARMNETa3055c21f2(struct
|
||||||
DATARMNETd7c9631acd*DATARMNETaa568481cf,struct list_head*DATARMNET6f9bfa17e6){
|
DATARMNETd7c9631acd*DATARMNETaa568481cf,struct list_head*DATARMNET6f9bfa17e6){
|
||||||
struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();struct
|
struct DATARMNET70f3b87b5d*DATARMNETe05748b000=DATARMNETc2a630b113();struct
|
||||||
rmnet_frag_descriptor*DATARMNETd74aeaa49a,*DATARMNETa1625e27e2,*
|
rmnet_frag_descriptor*DATARMNETd74aeaa49a,*DATARMNETa1625e27e2,*
|
||||||
|
@@ -18,14 +18,15 @@
|
|||||||
#include "rmnet_descriptor.h"
|
#include "rmnet_descriptor.h"
|
||||||
#include "rmnet_handlers.h"
|
#include "rmnet_handlers.h"
|
||||||
#include "rmnet_map.h"
|
#include "rmnet_map.h"
|
||||||
|
#include "rmnet_module.h"
|
||||||
#include "rmnet_offload_main.h"
|
#include "rmnet_offload_main.h"
|
||||||
#include "rmnet_offload_state.h"
|
#include "rmnet_offload_state.h"
|
||||||
#include "rmnet_offload_engine.h"
|
#include "rmnet_offload_engine.h"
|
||||||
#include "rmnet_offload_stats.h"
|
#include "rmnet_offload_stats.h"
|
||||||
static char*verinfo[]={"\x32\x61\x34\x34\x66\x36\x62\x65",
|
static char*verinfo[]={"\x65\x32\x31\x38\x66\x34\x35\x31",
|
||||||
"\x37\x34\x31\x35\x39\x32\x31\x63","\x34\x31\x32\x39\x36\x62\x30\x39"};
|
"\x32\x61\x34\x34\x66\x36\x62\x65","\x37\x34\x31\x35\x39\x32\x31\x63",
|
||||||
module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
|
"\x34\x31\x32\x39\x36\x62\x30\x39"};module_param_array(verinfo,charp,NULL,
|
||||||
verinfo,
|
(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"
|
"\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(
|
);static DEFINE_SPINLOCK(DATARMNET0b5e447f18);static u32 DATARMNETcb7325e02d(
|
||||||
struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){struct DATARMNET4287f07234*
|
struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5){struct DATARMNET4287f07234*
|
||||||
@@ -179,7 +180,7 @@ DATARMNET5affe290b8-DATARMNET8814564ab9->DATARMNET4ca5ac9de1-DATARMNET8814564ab9
|
|||||||
->DATARMNET0aeee57ceb;if(DATARMNET458b70e7e5->DATARMNET8f59f5a745)
|
->DATARMNET0aeee57ceb;if(DATARMNET458b70e7e5->DATARMNET8f59f5a745)
|
||||||
DATARMNETa00cda79d0(DATARMNET52b7da9033);DATARMNET458b70e7e5->
|
DATARMNETa00cda79d0(DATARMNET52b7da9033);DATARMNET458b70e7e5->
|
||||||
DATARMNET719f68fb88=DATARMNET9d1b321642;return false;}static void
|
DATARMNET719f68fb88=DATARMNET9d1b321642;return false;}static void
|
||||||
DATARMNET29e8d137c4(struct rmnet_frag_descriptor*DATARMNET9d1b321642,struct
|
DATARMNETb56d685c50(struct rmnet_frag_descriptor*DATARMNET9d1b321642,struct
|
||||||
rmnet_port*DATARMNETf0d9de7e2f){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
rmnet_port*DATARMNETf0d9de7e2f){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
||||||
DATARMNETc2a630b113();struct DATARMNETd812bcdbb5 DATARMNET458b70e7e5;LIST_HEAD(
|
DATARMNETc2a630b113();struct DATARMNETd812bcdbb5 DATARMNET458b70e7e5;LIST_HEAD(
|
||||||
DATARMNET6f9bfa17e6);memset(&DATARMNET458b70e7e5,(0xd2d+202-0xdf7),sizeof(
|
DATARMNET6f9bfa17e6);memset(&DATARMNET458b70e7e5,(0xd2d+202-0xdf7),sizeof(
|
||||||
@@ -196,33 +197,38 @@ DATARMNET806c6f8e60;}if(!DATARMNETfbf5798e15(&DATARMNET458b70e7e5,&
|
|||||||
DATARMNET6f9bfa17e6))goto DATARMNET806c6f8e60;goto DATARMNETbf4095f79e;
|
DATARMNET6f9bfa17e6))goto DATARMNET806c6f8e60;goto DATARMNETbf4095f79e;
|
||||||
DATARMNET806c6f8e60:DATARMNET19d190f2bd(&DATARMNET458b70e7e5,&
|
DATARMNET806c6f8e60:DATARMNET19d190f2bd(&DATARMNET458b70e7e5,&
|
||||||
DATARMNET6f9bfa17e6);DATARMNETbf4095f79e:DATARMNET6a76048590();
|
DATARMNET6f9bfa17e6);DATARMNETbf4095f79e:DATARMNET6a76048590();
|
||||||
DATARMNETc70e73c8d4(&DATARMNET6f9bfa17e6);}void DATARMNET664568fcd0(void){
|
DATARMNETc70e73c8d4(&DATARMNET6f9bfa17e6);}static void DATARMNET29e8d137c4(
|
||||||
spin_lock_bh(&DATARMNET0b5e447f18);}void DATARMNET6a76048590(void){
|
struct list_head*DATARMNETb5730f5283,struct rmnet_port*DATARMNETf0d9de7e2f){
|
||||||
spin_unlock_bh(&DATARMNET0b5e447f18);}void DATARMNET818b960147(void){
|
struct rmnet_frag_descriptor*DATARMNETced5b4128f,*DATARMNET0386f6f82a;
|
||||||
rcu_assign_pointer(rmnet_perf_desc_entry,DATARMNET29e8d137c4);}void
|
list_for_each_entry_safe(DATARMNETced5b4128f,DATARMNET0386f6f82a,
|
||||||
DATARMNETba38823a2f(void){rcu_assign_pointer(rmnet_perf_desc_entry,NULL);}bool
|
DATARMNETb5730f5283,list){list_del_init(&DATARMNETced5b4128f->list);
|
||||||
DATARMNET19eb0de3b2(void){void(*DATARMNET27ebcde4bf)(struct
|
DATARMNETb56d685c50(DATARMNETced5b4128f,DATARMNETf0d9de7e2f);}}void
|
||||||
rmnet_frag_descriptor*DATARMNET9d1b321642,struct rmnet_port*DATARMNETf0d9de7e2f)
|
DATARMNET664568fcd0(void){spin_lock_bh(&DATARMNET0b5e447f18);}void
|
||||||
;rcu_read_lock();DATARMNET27ebcde4bf=rcu_dereference(rmnet_perf_desc_entry);
|
DATARMNET6a76048590(void){spin_unlock_bh(&DATARMNET0b5e447f18);}static const
|
||||||
rcu_read_unlock();return DATARMNET27ebcde4bf!=NULL;}void DATARMNETc70e73c8d4(
|
struct rmnet_module_hook_register_info DATARMNET162e7a2013={.hooknum=
|
||||||
struct list_head*DATARMNETb5730f5283){struct DATARMNET70f3b87b5d*
|
RMNET_MODULE_HOOK_OFFLOAD_INGRESS,.func=DATARMNET29e8d137c4,};void
|
||||||
DATARMNETe05748b000=DATARMNETc2a630b113();struct rmnet_frag_descriptor*
|
DATARMNET818b960147(void){rcu_assign_pointer(rmnet_perf_desc_entry,
|
||||||
DATARMNET9d1b321642,*DATARMNET0386f6f82a;list_for_each_entry_safe(
|
DATARMNETb56d685c50);rmnet_module_hook_register(&DATARMNET162e7a2013,
|
||||||
DATARMNET9d1b321642,DATARMNET0386f6f82a,DATARMNETb5730f5283,list){
|
(0xd26+209-0xdf6));}void DATARMNETba38823a2f(void){rcu_assign_pointer(
|
||||||
DATARMNETe26a68d20e(DATARMNET9d1b321642->len);DATARMNETa00cda79d0(
|
rmnet_perf_desc_entry,NULL);rmnet_module_hook_unregister_no_sync(&
|
||||||
DATARMNET65843ad009);list_del_init(&DATARMNET9d1b321642->list);
|
DATARMNET162e7a2013,(0xd26+209-0xdf6));}void DATARMNETc70e73c8d4(struct
|
||||||
rmnet_frag_deliver(DATARMNET9d1b321642,DATARMNETe05748b000->DATARMNET403589239f)
|
list_head*DATARMNETb5730f5283){struct DATARMNET70f3b87b5d*DATARMNETe05748b000=
|
||||||
;}}void DATARMNET19d190f2bd(struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5,
|
DATARMNETc2a630b113();struct rmnet_frag_descriptor*DATARMNET9d1b321642,*
|
||||||
struct list_head*DATARMNET6f9bfa17e6){struct rmnet_frag_descriptor*
|
DATARMNET0386f6f82a;list_for_each_entry_safe(DATARMNET9d1b321642,
|
||||||
DATARMNET9d1b321642=DATARMNET458b70e7e5->DATARMNET719f68fb88;u32
|
DATARMNET0386f6f82a,DATARMNETb5730f5283,list){DATARMNETe26a68d20e(
|
||||||
DATARMNET5affe290b8=DATARMNET458b70e7e5->DATARMNET1ef22e4c76+DATARMNET458b70e7e5
|
DATARMNET9d1b321642->len);DATARMNETa00cda79d0(DATARMNET65843ad009);list_del_init
|
||||||
->DATARMNET144d119066.DATARMNET4ca5ac9de1+DATARMNET458b70e7e5->
|
(&DATARMNET9d1b321642->list);rmnet_frag_deliver(DATARMNET9d1b321642,
|
||||||
DATARMNET144d119066.DATARMNET0aeee57ceb;if(DATARMNET5affe290b8>65536)return;if(!
|
DATARMNETe05748b000->DATARMNET403589239f);}}void DATARMNET19d190f2bd(struct
|
||||||
DATARMNET458b70e7e5->DATARMNET3eb91ee54d)DATARMNET9d1b321642->hash=
|
DATARMNETd812bcdbb5*DATARMNET458b70e7e5,struct list_head*DATARMNET6f9bfa17e6){
|
||||||
DATARMNET458b70e7e5->DATARMNET645e8912b8;list_add_tail(&DATARMNET9d1b321642->
|
struct rmnet_frag_descriptor*DATARMNET9d1b321642=DATARMNET458b70e7e5->
|
||||||
list,DATARMNET6f9bfa17e6);}void DATARMNET9292bebdd3(void*DATARMNETf0d9de7e2f){}
|
DATARMNET719f68fb88;u32 DATARMNET5affe290b8=DATARMNET458b70e7e5->
|
||||||
void DATARMNETb7e47d7254(void*DATARMNETf0d9de7e2f){}void DATARMNET95e1703026(
|
DATARMNET1ef22e4c76+DATARMNET458b70e7e5->DATARMNET144d119066.DATARMNET4ca5ac9de1
|
||||||
struct rmnet_map_dl_ind_hdr*DATARMNET7c7748ef7a,struct
|
+DATARMNET458b70e7e5->DATARMNET144d119066.DATARMNET0aeee57ceb;if(
|
||||||
|
DATARMNET5affe290b8>65536)return;if(!DATARMNET458b70e7e5->DATARMNET3eb91ee54d)
|
||||||
|
DATARMNET9d1b321642->hash=DATARMNET458b70e7e5->DATARMNET645e8912b8;list_add_tail
|
||||||
|
(&DATARMNET9d1b321642->list,DATARMNET6f9bfa17e6);}void DATARMNET9292bebdd3(void*
|
||||||
|
DATARMNETf0d9de7e2f){}void DATARMNETb7e47d7254(void*DATARMNETf0d9de7e2f){}void
|
||||||
|
DATARMNET95e1703026(struct rmnet_map_dl_ind_hdr*DATARMNET7c7748ef7a,struct
|
||||||
rmnet_map_control_command_header*DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d
|
rmnet_map_control_command_header*DATARMNET8b07ee3e82){struct DATARMNET70f3b87b5d
|
||||||
*DATARMNETe05748b000=DATARMNETc2a630b113();LIST_HEAD(DATARMNET6f9bfa17e6);(void)
|
*DATARMNETe05748b000=DATARMNETc2a630b113();LIST_HEAD(DATARMNET6f9bfa17e6);(void)
|
||||||
DATARMNET8b07ee3e82;DATARMNET664568fcd0();if(DATARMNETe05748b000->
|
DATARMNET8b07ee3e82;DATARMNET664568fcd0();if(DATARMNETe05748b000->
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
@@ -60,14 +61,14 @@ rmnet_frag_descriptor*DATARMNET719f68fb88;struct DATARMNET4287f07234
|
|||||||
DATARMNET144d119066;u32 DATARMNET645e8912b8;u16 DATARMNET1ef22e4c76;bool
|
DATARMNET144d119066;u32 DATARMNET645e8912b8;u16 DATARMNET1ef22e4c76;bool
|
||||||
DATARMNETf1b6b0a6cc;bool DATARMNET3eb91ee54d;bool DATARMNET8f59f5a745;};void
|
DATARMNETf1b6b0a6cc;bool DATARMNET3eb91ee54d;bool DATARMNET8f59f5a745;};void
|
||||||
DATARMNET664568fcd0(void);void DATARMNET6a76048590(void);void
|
DATARMNET664568fcd0(void);void DATARMNET6a76048590(void);void
|
||||||
DATARMNET818b960147(void);void DATARMNETba38823a2f(void);bool
|
DATARMNET818b960147(void);void DATARMNETba38823a2f(void);void
|
||||||
DATARMNET19eb0de3b2(void);void DATARMNETc70e73c8d4(struct list_head*
|
DATARMNETc70e73c8d4(struct list_head*DATARMNETb5730f5283);void
|
||||||
DATARMNETb5730f5283);void DATARMNET19d190f2bd(struct DATARMNETd812bcdbb5*
|
DATARMNET19d190f2bd(struct DATARMNETd812bcdbb5*DATARMNET458b70e7e5,struct
|
||||||
DATARMNET458b70e7e5,struct list_head*DATARMNET6f9bfa17e6);void
|
list_head*DATARMNET6f9bfa17e6);void DATARMNET9292bebdd3(void*DATARMNETf0d9de7e2f
|
||||||
DATARMNET9292bebdd3(void*DATARMNETf0d9de7e2f);void DATARMNETb7e47d7254(void*
|
);void DATARMNETb7e47d7254(void*DATARMNETf0d9de7e2f);void DATARMNET95e1703026(
|
||||||
DATARMNETf0d9de7e2f);void DATARMNET95e1703026(struct rmnet_map_dl_ind_hdr*
|
struct rmnet_map_dl_ind_hdr*DATARMNET7c7748ef7a,struct
|
||||||
DATARMNET7c7748ef7a,struct rmnet_map_control_command_header*DATARMNET8b07ee3e82)
|
rmnet_map_control_command_header*DATARMNET8b07ee3e82);void DATARMNETc9dd320f49(
|
||||||
;void DATARMNETc9dd320f49(struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct
|
struct rmnet_map_dl_ind_trl*DATARMNET2541770fea,struct
|
||||||
rmnet_map_control_command_header*DATARMNET8b07ee3e82);
|
rmnet_map_control_command_header*DATARMNET8b07ee3e82);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -10,14 +10,14 @@
|
|||||||
#include <linux/udp.h>
|
#include <linux/udp.h>
|
||||||
#include <linux/ip.h>
|
#include <linux/ip.h>
|
||||||
#include <linux/ipv6.h>
|
#include <linux/ipv6.h>
|
||||||
|
#include "rmnet_module.h"
|
||||||
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static char*verinfo[]={
|
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static char*verinfo[]={
|
||||||
"\x33\x39\x63\x62\x64\x37\x64\x35","\x37\x34\x31\x35\x39\x32\x31\x63",
|
"\x65\x32\x31\x38\x66\x34\x35\x31","\x33\x39\x63\x62\x64\x37\x64\x35",
|
||||||
"\x34\x64\x65\x34\x39\x64\x62\x35","\x62\x31\x63\x34\x34\x62\x34\x63"};
|
"\x37\x34\x31\x35\x39\x32\x31\x63","\x34\x64\x65\x34\x39\x64\x62\x35",
|
||||||
module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
|
"\x62\x31\x63\x34\x34\x62\x34\x63"};module_param_array(verinfo,charp,NULL,
|
||||||
verinfo,
|
(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"
|
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
||||||
);extern int(*rmnet_perf_ingress_hook1)(struct sk_buff*DATARMNET543491eb0f);
|
);extern void(*rmnet_perf_egress_hook1)(struct sk_buff*DATARMNET543491eb0f);
|
||||||
extern void(*rmnet_perf_egress_hook1)(struct sk_buff*DATARMNET543491eb0f);
|
|
||||||
#define DATARMNETf241a4b20f (0xe07+6616-0x2624)
|
#define DATARMNETf241a4b20f (0xe07+6616-0x2624)
|
||||||
static inline bool DATARMNETe1ef3edea2(struct udphdr*DATARMNETa1abb4897c){return
|
static inline bool DATARMNETe1ef3edea2(struct udphdr*DATARMNETa1abb4897c){return
|
||||||
be16_to_cpu(DATARMNETa1abb4897c->source)==DATARMNETf241a4b20f||be16_to_cpu(
|
be16_to_cpu(DATARMNETa1abb4897c->source)==DATARMNETf241a4b20f||be16_to_cpu(
|
||||||
@@ -44,13 +44,17 @@ protocol==htons(ETH_P_IP)){if(ip_hdr(DATARMNET543491eb0f)->protocol!=IPPROTO_UDP
|
|||||||
(DATARMNET543491eb0f->protocol==htons(ETH_P_IPV6)){if(ipv6_hdr(
|
(DATARMNET543491eb0f->protocol==htons(ETH_P_IPV6)){if(ipv6_hdr(
|
||||||
DATARMNET543491eb0f)->nexthdr!=IPPROTO_UDP)return;if(DATARMNET77ab42949f(
|
DATARMNET543491eb0f)->nexthdr!=IPPROTO_UDP)return;if(DATARMNET77ab42949f(
|
||||||
DATARMNET543491eb0f))goto DATARMNETb261f33b7b;}return;DATARMNETb261f33b7b:
|
DATARMNET543491eb0f))goto DATARMNETb261f33b7b;}return;DATARMNETb261f33b7b:
|
||||||
DATARMNET543491eb0f->priority=14286874;}void DATARMNET49c17a32bc(void){
|
DATARMNET543491eb0f->priority=14286874;}static const struct
|
||||||
rcu_assign_pointer(rmnet_perf_ingress_hook1,DATARMNETee9214ce9b);
|
rmnet_module_hook_register_info DATARMNET95a71e03c1[]={{.hooknum=
|
||||||
rcu_assign_pointer(rmnet_perf_egress_hook1,DATARMNET05c4bf8af9);}void
|
RMNET_MODULE_HOOK_PERF_INGRESS,.func=DATARMNETee9214ce9b,},{.hooknum=
|
||||||
DATARMNET41e8cc085c(void){rcu_assign_pointer(rmnet_perf_ingress_hook1,NULL);
|
RMNET_MODULE_HOOK_PERF_EGRESS,.func=DATARMNET05c4bf8af9,},};void
|
||||||
rcu_assign_pointer(rmnet_perf_egress_hook1,NULL);synchronize_rcu();}static int
|
DATARMNET49c17a32bc(void){rcu_assign_pointer(rmnet_perf_egress_hook1,
|
||||||
__init DATARMNET63abbdc3d3(void){pr_info("%s(): Loading\n",__func__);
|
DATARMNET05c4bf8af9);rmnet_module_hook_register(DATARMNET95a71e03c1,ARRAY_SIZE(
|
||||||
DATARMNET49c17a32bc();return(0xd2d+202-0xdf7);}static void __exit
|
DATARMNET95a71e03c1));}void DATARMNET41e8cc085c(void){rcu_assign_pointer(
|
||||||
DATARMNETa343229e33(void){DATARMNET41e8cc085c();pr_info(
|
rmnet_perf_egress_hook1,NULL);rmnet_module_hook_unregister(DATARMNET95a71e03c1,
|
||||||
|
ARRAY_SIZE(DATARMNET95a71e03c1));}static int __init DATARMNET63abbdc3d3(void){
|
||||||
|
pr_info("%s(): Loading\n",__func__);DATARMNET49c17a32bc();return
|
||||||
|
(0xd2d+202-0xdf7);}static void __exit DATARMNETa343229e33(void){
|
||||||
|
DATARMNET41e8cc085c();pr_info(
|
||||||
"\x25\x73\x28\x29\x3a\x20\x65\x78\x69\x74\x69\x6e\x67" "\n",__func__);}
|
"\x25\x73\x28\x29\x3a\x20\x65\x78\x69\x74\x69\x6e\x67" "\n",__func__);}
|
||||||
module_init(DATARMNET63abbdc3d3);module_exit(DATARMNETa343229e33);
|
module_init(DATARMNET63abbdc3d3);module_exit(DATARMNETa343229e33);
|
||||||
|
@@ -11,10 +11,12 @@
|
|||||||
#include "rmnet_descriptor.h"
|
#include "rmnet_descriptor.h"
|
||||||
#include "rmnet_map.h"
|
#include "rmnet_map.h"
|
||||||
#include "rmnet_qmap.h"
|
#include "rmnet_qmap.h"
|
||||||
|
#include "rmnet_module.h"
|
||||||
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static char*verinfo[]={
|
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static char*verinfo[]={
|
||||||
"\x36\x34\x38\x62\x37\x30\x39\x35","\x37\x34\x31\x35\x39\x32\x31\x63",
|
"\x65\x32\x31\x38\x66\x34\x35\x31","\x36\x34\x38\x62\x37\x30\x39\x35",
|
||||||
"\x34\x39\x61\x66\x39\x62\x64\x34"};module_param_array(verinfo,charp,NULL,
|
"\x37\x34\x31\x35\x39\x32\x31\x63","\x34\x39\x61\x66\x39\x62\x64\x34"};
|
||||||
(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
|
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"
|
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
||||||
);extern void(*rmnet_perf_tether_ingress_hook)(struct tcphdr*DATARMNET2e7cc88971
|
);extern void(*rmnet_perf_tether_ingress_hook)(struct tcphdr*DATARMNET2e7cc88971
|
||||||
,struct rmnet_frag_descriptor*DATARMNET9d1b321642,struct iphdr*
|
,struct rmnet_frag_descriptor*DATARMNET9d1b321642,struct iphdr*
|
||||||
@@ -178,15 +180,22 @@ sizeof(*DATARMNETf937c77d8f)+sizeof(*DATARMNETb87c07b92a));DATARMNETcd32395e82->
|
|||||||
DATARMNETba8c503d04=DATARMNET7bd625a8c0;DATARMNETcd32395e82->DATARMNETc59f891d69
|
DATARMNETba8c503d04=DATARMNET7bd625a8c0;DATARMNETcd32395e82->DATARMNETc59f891d69
|
||||||
=!DATARMNETcc6099cb14;DATARMNET543491eb0f->dev=dev;DATARMNET543491eb0f->protocol
|
=!DATARMNETcc6099cb14;DATARMNET543491eb0f->dev=dev;DATARMNET543491eb0f->protocol
|
||||||
=htons(ETH_P_MAP);rmnet_qmap_send(DATARMNET543491eb0f,RMNET_CH_CTL,false);}
|
=htons(ETH_P_MAP);rmnet_qmap_send(DATARMNET543491eb0f,RMNET_CH_CTL,false);}
|
||||||
DATARMNETaabe3a05f8:dev_put(dev);}void DATARMNET5fe3ffe2ab(void){
|
DATARMNETaabe3a05f8:dev_put(dev);}static const struct
|
||||||
rcu_assign_pointer(rmnet_perf_tether_ingress_hook,DATARMNETe70d5ec61a);
|
rmnet_module_hook_register_info DATARMNET0762b4f121[]={{.hooknum=
|
||||||
rcu_assign_pointer(rmnet_perf_tether_egress_hook,DATARMNET6ab362e985);
|
RMNET_MODULE_HOOK_PERF_TETHER_INGRESS,.func=DATARMNETe70d5ec61a,},{.hooknum=
|
||||||
rcu_assign_pointer(rmnet_perf_tether_cmd_hook,DATARMNET136e008d70);}void
|
RMNET_MODULE_HOOK_PERF_TETHER_EGRESS,.func=DATARMNET6ab362e985,},{.hooknum=
|
||||||
DATARMNET229327cbd2(void){rcu_assign_pointer(rmnet_perf_tether_ingress_hook,NULL
|
RMNET_MODULE_HOOK_PERF_TETHER_CMD,.func=DATARMNET136e008d70,},};void
|
||||||
);rcu_assign_pointer(rmnet_perf_tether_egress_hook,NULL);rcu_assign_pointer(
|
DATARMNET5fe3ffe2ab(void){rcu_assign_pointer(rmnet_perf_tether_ingress_hook,
|
||||||
rmnet_perf_tether_cmd_hook,NULL);}static int DATARMNETaa549ce89a(void){int
|
DATARMNETe70d5ec61a);rcu_assign_pointer(rmnet_perf_tether_egress_hook,
|
||||||
DATARMNETefc9df3df2;DATARMNET8a1e9920bf=kzalloc(sizeof(*DATARMNET8a1e9920bf),
|
DATARMNET6ab362e985);rcu_assign_pointer(rmnet_perf_tether_cmd_hook,
|
||||||
GFP_KERNEL);if(!DATARMNET8a1e9920bf){pr_err(
|
DATARMNET136e008d70);rmnet_module_hook_register(DATARMNET0762b4f121,ARRAY_SIZE(
|
||||||
|
DATARMNET0762b4f121));}void DATARMNET229327cbd2(void){rcu_assign_pointer(
|
||||||
|
rmnet_perf_tether_ingress_hook,NULL);rcu_assign_pointer(
|
||||||
|
rmnet_perf_tether_egress_hook,NULL);rcu_assign_pointer(
|
||||||
|
rmnet_perf_tether_cmd_hook,NULL);rmnet_module_hook_unregister(
|
||||||
|
DATARMNET0762b4f121,ARRAY_SIZE(DATARMNET0762b4f121));}static int
|
||||||
|
DATARMNETaa549ce89a(void){int DATARMNETefc9df3df2;DATARMNET8a1e9920bf=kzalloc(
|
||||||
|
sizeof(*DATARMNET8a1e9920bf),GFP_KERNEL);if(!DATARMNET8a1e9920bf){pr_err(
|
||||||
"\x25\x73\x28\x29\x3a\x20\x52\x65\x73\x6f\x75\x72\x63\x65\x20\x61\x6c\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64" "\n"
|
"\x25\x73\x28\x29\x3a\x20\x52\x65\x73\x6f\x75\x72\x63\x65\x20\x61\x6c\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64" "\n"
|
||||||
,__func__);return-(0xd26+209-0xdf6);}DATARMNET8a1e9920bf->DATARMNETd0ef85194f++;
|
,__func__);return-(0xd26+209-0xdf6);}DATARMNET8a1e9920bf->DATARMNETd0ef85194f++;
|
||||||
for(DATARMNETefc9df3df2=(0xd2d+202-0xdf7);DATARMNETefc9df3df2<
|
for(DATARMNETefc9df3df2=(0xd2d+202-0xdf7);DATARMNETefc9df3df2<
|
||||||
|
@@ -143,7 +143,9 @@ extern spinlock_t DATARMNETfbdbab2ef6;extern struct hlist_head
|
|||||||
DATARMNETe603c3a4b3[(0xd26+209-0xdf6)<<(DATARMNET25437d35fd)];extern int(*
|
DATARMNETe603c3a4b3[(0xd26+209-0xdf6)<<(DATARMNET25437d35fd)];extern int(*
|
||||||
rmnet_shs_skb_entry)(struct sk_buff*skb,struct rmnet_shs_clnt_s*
|
rmnet_shs_skb_entry)(struct sk_buff*skb,struct rmnet_shs_clnt_s*
|
||||||
DATARMNET9e820fbfe3);extern int(*rmnet_shs_switch)(struct sk_buff*skb,struct
|
DATARMNET9e820fbfe3);extern int(*rmnet_shs_switch)(struct sk_buff*skb,struct
|
||||||
rmnet_shs_clnt_s*DATARMNET9e820fbfe3);int DATARMNET362b15f941(u16 cpu);void
|
rmnet_shs_clnt_s*DATARMNET9e820fbfe3);void DATARMNET203752febd(void);void
|
||||||
|
DATARMNET7520667b38(void);void DATARMNETa871eeb7e7(void);void
|
||||||
|
DATARMNET8f9da46b14(void);int DATARMNET362b15f941(u16 cpu);void
|
||||||
DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);unsigned int
|
DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);unsigned int
|
||||||
DATARMNET02cdd9b125(void);int DATARMNET310c3eb16e(u8 mask);int
|
DATARMNET02cdd9b125(void);int DATARMNET310c3eb16e(u8 mask);int
|
||||||
DATARMNETe02152c351(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
|
DATARMNETe02152c351(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
|
||||||
|
@@ -56,16 +56,16 @@ DATARMNETd6ee05f1b4(dev);break;case NETDEV_UNREGISTER:DATARMNET2cb9ae589c--;if(!
|
|||||||
DATARMNET2cb9ae589c&&DATARMNETecc0627c70.DATARMNETfc89d842ae){unsigned int
|
DATARMNET2cb9ae589c&&DATARMNETecc0627c70.DATARMNETfc89d842ae){unsigned int
|
||||||
DATARMNET9f4bc49c6f;pr_info(
|
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"
|
"\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(
|
,dev->name);DATARMNET203752febd();DATARMNETa871eeb7e7();
|
||||||
rmnet_shs_switch,NULL);qmi_rmnet_ps_ind_deregister(DATARMNETecc0627c70.port,&
|
qmi_rmnet_ps_ind_deregister(DATARMNETecc0627c70.port,&DATARMNETecc0627c70.
|
||||||
DATARMNETecc0627c70.rmnet_idl_ind_cb);rmnet_map_dl_ind_deregister(
|
rmnet_idl_ind_cb);rmnet_map_dl_ind_deregister(DATARMNETecc0627c70.port,&
|
||||||
DATARMNETecc0627c70.port,&DATARMNETecc0627c70.DATARMNET08dbb5ab35);
|
DATARMNETecc0627c70.DATARMNET08dbb5ab35);DATARMNETeacad8334e();
|
||||||
DATARMNETeacad8334e();DATARMNET9f4bc49c6f=DATARMNET02cdd9b125();
|
DATARMNET9f4bc49c6f=DATARMNET02cdd9b125();DATARMNETf7dcab9a9e();
|
||||||
DATARMNETf7dcab9a9e();DATARMNET9297340f58(DATARMNET9f4bc49c6f);
|
DATARMNET9297340f58(DATARMNET9f4bc49c6f);trace_rmnet_shs_high(
|
||||||
trace_rmnet_shs_high(DATARMNET1790979ccf,DATARMNET443dab7031,(0x16e8+787-0xc0c),
|
DATARMNET1790979ccf,DATARMNET443dab7031,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
||||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}break;case
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}break;case NETDEV_REGISTER:
|
||||||
NETDEV_REGISTER:DATARMNET2cb9ae589c++;if(DATARMNET2cb9ae589c&&!
|
DATARMNET2cb9ae589c++;if(DATARMNET2cb9ae589c&&!DATARMNETecc0627c70.
|
||||||
DATARMNETecc0627c70.DATARMNETfc89d842ae){pr_info(
|
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"
|
"\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){
|
,dev->name);priv=netdev_priv(dev);port=rmnet_get_port(priv->real_dev);if(!port){
|
||||||
pr_err(
|
pr_err(
|
||||||
@@ -92,7 +92,6 @@ rmnet_idl_ind_cb);if(ret)pr_err(
|
|||||||
DATARMNETe46c480d71();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd26+209-0xdf6);
|
DATARMNETe46c480d71();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd26+209-0xdf6);
|
||||||
trace_rmnet_shs_high(DATARMNET1790979ccf,DATARMNET443dab7031,(0x16e8+787-0xc0c),
|
trace_rmnet_shs_high(DATARMNET1790979ccf,DATARMNET443dab7031,(0x16e8+787-0xc0c),
|
||||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
||||||
DATARMNETcd6e26f0ad();RCU_INIT_POINTER(rmnet_shs_switch,NULL);RCU_INIT_POINTER(
|
DATARMNETcd6e26f0ad();DATARMNETa871eeb7e7();DATARMNET7520667b38();break;}
|
||||||
rmnet_shs_skb_entry,DATARMNET756778f14f);break;}DATARMNET7492293980(dev);break;
|
DATARMNET7492293980(dev);break;default:break;}return NOTIFY_DONE;}module_init(
|
||||||
default:break;}return NOTIFY_DONE;}module_init(DATARMNET163e93649e);module_exit(
|
DATARMNET163e93649e);module_exit(DATARMNETf3298dab6f);
|
||||||
DATARMNETf3298dab6f);
|
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
#include <linux/ipv6.h>
|
#include <linux/ipv6.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/percpu-defs.h>
|
#include <linux/percpu-defs.h>
|
||||||
|
#include "rmnet_module.h"
|
||||||
#include "rmnet_shs.h"
|
#include "rmnet_shs.h"
|
||||||
#include "rmnet_shs_config.h"
|
#include "rmnet_shs_config.h"
|
||||||
#include "rmnet_shs_wq.h"
|
#include "rmnet_shs_wq.h"
|
||||||
@@ -38,14 +39,14 @@
|
|||||||
#include <linux/cpumask.h>
|
#include <linux/cpumask.h>
|
||||||
#include <linux/icmp.h>
|
#include <linux/icmp.h>
|
||||||
#include <linux/inet.h>
|
#include <linux/inet.h>
|
||||||
static char*verinfo[]={"\x30\x66\x36\x63\x61\x30\x31\x30",
|
static char*verinfo[]={"\x65\x32\x31\x38\x66\x34\x35\x31",
|
||||||
"\x30\x36\x61\x33\x66\x33\x34\x62","\x38\x65\x30\x61\x35\x38\x36\x62",
|
"\x30\x66\x36\x63\x61\x30\x31\x30","\x30\x36\x61\x33\x66\x33\x34\x62",
|
||||||
"\x35\x66\x64\x35\x63\x66\x66\x37","\x31\x39\x64\x61\x63\x36\x32\x36",
|
"\x38\x65\x30\x61\x35\x38\x36\x62","\x35\x66\x64\x35\x63\x66\x66\x37",
|
||||||
"\x35\x65\x31\x64\x38\x37\x39\x62","\x37\x34\x31\x35\x39\x32\x31\x63",
|
"\x31\x39\x64\x61\x63\x36\x32\x36","\x35\x65\x31\x64\x38\x37\x39\x62",
|
||||||
"\x31\x35\x33\x64\x31\x61\x62\x31","\x34\x66\x64\x35\x39\x63\x66\x35",
|
"\x37\x34\x31\x35\x39\x32\x31\x63","\x31\x35\x33\x64\x31\x61\x62\x31",
|
||||||
"\x38\x61\x64\x37\x64\x32\x62\x65","\x63\x30\x32\x62\x61\x39\x30\x65"};
|
"\x34\x66\x64\x35\x39\x63\x66\x35","\x38\x61\x64\x37\x64\x32\x62\x65",
|
||||||
module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
|
"\x63\x30\x32\x62\x61\x39\x30\x65"};module_param_array(verinfo,charp,NULL,
|
||||||
verinfo,
|
(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"
|
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
||||||
);
|
);
|
||||||
#define DATARMNET2f67183a86 2000000
|
#define DATARMNET2f67183a86 2000000
|
||||||
@@ -105,9 +106,7 @@ DATARMNET673cf85e28,
|
|||||||
"\x4d\x61\x78\x20\x70\x68\x79\x20\x62\x61\x63\x6b\x6c\x6f\x67\x20\x73\x65\x65\x6e"
|
"\x4d\x61\x78\x20\x70\x68\x79\x20\x62\x61\x63\x6b\x6c\x6f\x67\x20\x73\x65\x65\x6e"
|
||||||
);struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8
|
);struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;struct DATARMNET37ef896af8
|
||||||
shs_rx_work;int DATARMNET762cfa52fe(u8 mask);unsigned DATARMNET016351c9e4=
|
shs_rx_work;int DATARMNET762cfa52fe(u8 mask);unsigned DATARMNET016351c9e4=
|
||||||
(0xd2d+202-0xdf7);typedef int(*DATARMNET318cb01989)(struct sk_buff*skb);
|
(0xd2d+202-0xdf7);ssize_t DATARMNET713da9913c(struct netdev_rx_queue*
|
||||||
DATARMNET318cb01989 rmnet_perf_ingress_hook1 __rcu __read_mostly;EXPORT_SYMBOL(
|
|
||||||
rmnet_perf_ingress_hook1);ssize_t DATARMNET713da9913c(struct netdev_rx_queue*
|
|
||||||
DATARMNETb4180393e4,u8 cpu,u8 DATARMNET5780499e9c){struct rps_map*
|
DATARMNETb4180393e4,u8 cpu,u8 DATARMNET5780499e9c){struct rps_map*
|
||||||
DATARMNETaeb4918e65,*map;cpumask_var_t mask;map=rcu_dereference(
|
DATARMNETaeb4918e65,*map;cpumask_var_t mask;map=rcu_dereference(
|
||||||
DATARMNETb4180393e4->rps_map);if(map){map->cpus[(0xd2d+202-0xdf7)]=cpu;map->len=
|
DATARMNETb4180393e4->rps_map);if(map){map->cpus[(0xd2d+202-0xdf7)]=cpu;map->len=
|
||||||
@@ -134,18 +133,18 @@ offset-=frag_size;continue;}if(frag_size>=offset+DATARMNET567bdc7221)return
|
|||||||
skb_frag_address(frag)+offset;}if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf
|
skb_frag_address(frag)+offset;}if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf
|
||||||
,(int)DATARMNET567bdc7221))return NULL;return buf;}int DATARMNET9303cec796(
|
,(int)DATARMNET567bdc7221))return NULL;return buf;}int DATARMNET9303cec796(
|
||||||
struct sk_buff*skb){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);struct iphdr*ip4h,
|
struct sk_buff*skb){int DATARMNETbd864aa442=(0xd2d+202-0xdf7);struct iphdr*ip4h,
|
||||||
DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;DATARMNET318cb01989
|
DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;s64
|
||||||
DATARMNET9a0f3e1b3a;s64 DATARMNETe30c7cdaf5;struct timespec64 time;
|
DATARMNETe30c7cdaf5;struct timespec64 time;int DATARMNET441081ddc0;if(
|
||||||
DATARMNET9a0f3e1b3a=rcu_dereference(rmnet_perf_ingress_hook1);if(
|
rmnet_module_hook_perf_ingress(&DATARMNET441081ddc0,skb)){if(!
|
||||||
DATARMNET9a0f3e1b3a){if(!DATARMNET9a0f3e1b3a(skb)){goto done;}}switch(skb->
|
DATARMNET441081ddc0){goto done;}}switch(skb->protocol){case htons(ETH_P_IP):ip4h
|
||||||
protocol){case htons(ETH_P_IP):ip4h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),
|
=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);
|
||||||
sizeof(*ip4h),&DATARMNETc00baf31c3);if(!ip4h)break;if(!ip_is_fragment(ip4h)&&(
|
if(!ip4h)break;if(!ip_is_fragment(ip4h)&&(ip4h->protocol==IPPROTO_TCP||ip4h->
|
||||||
ip4h->protocol==IPPROTO_TCP||ip4h->protocol==IPPROTO_UDP)){DATARMNETbd864aa442=
|
protocol==IPPROTO_UDP)){DATARMNETbd864aa442=(0xd26+209-0xdf6);break;}if(ip4h->
|
||||||
(0xd26+209-0xdf6);break;}if(ip4h->protocol==IPPROTO_ICMP){skb->hash=
|
protocol==IPPROTO_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=
|
||||||
(0xd2d+202-0xdf7);skb->sw_hash=(0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&
|
(0xd26+209-0xdf6);(void)ktime_get_boottime_ts64(&time);DATARMNETe30c7cdaf5=
|
||||||
time);DATARMNETe30c7cdaf5=ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),
|
ktime_ms_delta(ktime_set(time.tv_sec,time.tv_nsec),DATARMNETecc0627c70.
|
||||||
DATARMNETecc0627c70.DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.
|
DATARMNETdd3caf9200);if(hrtimer_active(&DATARMNETecc0627c70.hrtimer_wake)){
|
||||||
hrtimer_wake)){hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
|
hrtimer_cancel(&DATARMNETecc0627c70.hrtimer_wake);hrtimer_start(&
|
||||||
DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
|
DATARMNETecc0627c70.hrtimer_wake,ns_to_ktime((0xbf7+4070-0x172d)*
|
||||||
DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
|
DATARMNET68fc0be252),HRTIMER_MODE_REL|HRTIMER_MODE_PINNED);DATARMNET064fbe9e3a=
|
||||||
(0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
|
(0xd1f+216-0xdf5);}else{hrtimer_start(&DATARMNETecc0627c70.hrtimer_wake,
|
||||||
@@ -433,15 +432,15 @@ DATARMNET132b9c7dc4[DATARMNET42a992465f].DATARMNETe61d62310f=(0xd2d+202-0xdf7);
|
|||||||
DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428=(0xd2d+202-0xdf7);
|
DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNET4133fc9428=(0xd2d+202-0xdf7);
|
||||||
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);local_bh_enable();if(
|
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);local_bh_enable();if(
|
||||||
DATARMNET42a992465f==DATARMNETecc0627c70.DATARMNET6625085b71&&rcu_dereference(
|
DATARMNET42a992465f==DATARMNETecc0627c70.DATARMNET6625085b71&&rcu_dereference(
|
||||||
rmnet_shs_switch)){RCU_INIT_POINTER(rmnet_shs_switch,NULL);DATARMNETecc0627c70.
|
rmnet_shs_switch)){DATARMNETa871eeb7e7();DATARMNETecc0627c70.DATARMNETfeee6933fc
|
||||||
DATARMNETfeee6933fc=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET6625085b71=
|
=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.
|
||||||
DATARMNETecc0627c70.DATARMNET7d667e828e;}DATARMNET52de1f3dc0(DATARMNET4510abc30d
|
DATARMNET7d667e828e;}DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNET576793621a
|
||||||
,DATARMNET576793621a,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70
|
,DATARMNETecc0627c70.DATARMNETa2e32cdd3a,DATARMNETecc0627c70.DATARMNETc252a1f55d
|
||||||
.DATARMNETc252a1f55d,DATARMNET8bf94cc2f7,DATARMNET76192fa639,NULL,NULL);}void
|
,DATARMNET8bf94cc2f7,DATARMNET76192fa639,NULL,NULL);}void DATARMNET056c939591(
|
||||||
DATARMNET056c939591(struct work_struct*DATARMNET33110a3ff5){struct
|
struct work_struct*DATARMNET33110a3ff5){struct DATARMNETa6f2d499b2*
|
||||||
DATARMNETa6f2d499b2*DATARMNET4b39dc1574=container_of(DATARMNET33110a3ff5,struct
|
DATARMNET4b39dc1574=container_of(DATARMNET33110a3ff5,struct DATARMNETa6f2d499b2,
|
||||||
DATARMNETa6f2d499b2,DATARMNET33110a3ff5);DATARMNETfbc06e60f1(DATARMNET4b39dc1574
|
DATARMNET33110a3ff5);DATARMNETfbc06e60f1(DATARMNET4b39dc1574->
|
||||||
->DATARMNET42c3ecbd5e);DATARMNET14ed771dfb[DATARMNETbb5757569c]++;}void
|
DATARMNET42c3ecbd5e);DATARMNET14ed771dfb[DATARMNETbb5757569c]++;}void
|
||||||
DATARMNETcba2f7f7b6(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
|
DATARMNETcba2f7f7b6(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
|
||||||
DATARMNETf345c1d909){struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=
|
DATARMNETf345c1d909){struct sk_buff*skb=NULL;struct sk_buff*DATARMNETcebafc57a4=
|
||||||
NULL;struct DATARMNETe600c5b727*DATARMNETa4055affd5;u32 DATARMNETe20a9cab2b=
|
NULL;struct DATARMNETe600c5b727*DATARMNETa4055affd5;u32 DATARMNETe20a9cab2b=
|
||||||
@@ -481,25 +480,24 @@ DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNET6215127f48=(0xd2d+202-0xdf7);
|
|||||||
DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);
|
DATARMNET63b1a086d5->DATARMNETae4b27456e.DATARMNETbaa5765693=(0xd2d+202-0xdf7);
|
||||||
DATARMNET63b1a086d5->DATARMNETae4b27456e.head=NULL;DATARMNET63b1a086d5->
|
DATARMNET63b1a086d5->DATARMNETae4b27456e.head=NULL;DATARMNET63b1a086d5->
|
||||||
DATARMNETae4b27456e.tail=NULL;if(DATARMNET63b1a086d5->DATARMNET85c698ec34){
|
DATARMNETae4b27456e.tail=NULL;if(DATARMNET63b1a086d5->DATARMNET85c698ec34){
|
||||||
RCU_INIT_POINTER(rmnet_shs_switch,NULL);DATARMNET63b1a086d5->DATARMNET0371465875
|
DATARMNETa871eeb7e7();DATARMNET63b1a086d5->DATARMNET0371465875=(0xd2d+202-0xdf7)
|
||||||
=(0xd2d+202-0xdf7);DATARMNETecc0627c70.DATARMNETfeee6933fc=(0xd2d+202-0xdf7);
|
;DATARMNETecc0627c70.DATARMNETfeee6933fc=(0xd2d+202-0xdf7);DATARMNETecc0627c70.
|
||||||
DATARMNETecc0627c70.DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;
|
DATARMNET6625085b71=DATARMNETecc0627c70.DATARMNET7d667e828e;}DATARMNET52de1f3dc0
|
||||||
}DATARMNET52de1f3dc0(DATARMNET4510abc30d,DATARMNETfb753e521e,DATARMNET63b1a086d5
|
(DATARMNET4510abc30d,DATARMNETfb753e521e,DATARMNET63b1a086d5->hash,
|
||||||
->hash,DATARMNET1fcbf046ec,DATARMNETe20a9cab2b,DATARMNETb481d13a78,
|
DATARMNET1fcbf046ec,DATARMNETe20a9cab2b,DATARMNETb481d13a78,DATARMNET63b1a086d5,
|
||||||
DATARMNET63b1a086d5,NULL);}void DATARMNET23c7ddd780(struct DATARMNET63d7680df2*
|
NULL);}void DATARMNET23c7ddd780(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,
|
||||||
DATARMNET63b1a086d5,u8 DATARMNET5447204733){struct sk_buff*skb;struct sk_buff*
|
u8 DATARMNET5447204733){struct sk_buff*skb;struct sk_buff*DATARMNETcebafc57a4=
|
||||||
DATARMNETcebafc57a4=NULL;u32 DATARMNETe20a9cab2b=(0xd2d+202-0xdf7);u32
|
NULL;u32 DATARMNETe20a9cab2b=(0xd2d+202-0xdf7);u32 DATARMNETb481d13a78=
|
||||||
DATARMNETb481d13a78=(0xd2d+202-0xdf7);u32 DATARMNET1fcbf046ec;u8 map,
|
(0xd2d+202-0xdf7);u32 DATARMNET1fcbf046ec;u8 map,DATARMNET0258668025;if(!
|
||||||
DATARMNET0258668025;if(!DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;map
|
DATARMNET63b1a086d5->DATARMNETae4b27456e.head)return;map=DATARMNET63b1a086d5->
|
||||||
=DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET0258668025=
|
DATARMNETfbbec4c537;DATARMNET0258668025=DATARMNET63b1a086d5->DATARMNETa59ce1fd2d
|
||||||
DATARMNET63b1a086d5->DATARMNETa59ce1fd2d;if(map){DATARMNET1fcbf046ec=
|
;if(map){DATARMNET1fcbf046ec=DATARMNET8532ab3089(DATARMNET63b1a086d5->map_index,
|
||||||
DATARMNET8532ab3089(DATARMNET63b1a086d5->map_index,DATARMNET0258668025,
|
DATARMNET0258668025,DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash);}else{
|
||||||
DATARMNET63b1a086d5->DATARMNETae4b27456e.head->hash);}else{DATARMNET63b1a086d5->
|
DATARMNET63b1a086d5->DATARMNET6250e93187=(0xd2d+202-0xdf7);}for((skb=
|
||||||
DATARMNET6250e93187=(0xd2d+202-0xdf7);}for((skb=DATARMNET63b1a086d5->
|
DATARMNET63b1a086d5->DATARMNETae4b27456e.head);skb!=NULL;skb=DATARMNETcebafc57a4
|
||||||
DATARMNETae4b27456e.head);skb!=NULL;skb=DATARMNETcebafc57a4){DATARMNETcebafc57a4
|
){DATARMNETcebafc57a4=skb->next;if(DATARMNET63b1a086d5->DATARMNET6250e93187)skb
|
||||||
=skb->next;if(DATARMNET63b1a086d5->DATARMNET6250e93187)skb->hash=
|
->hash=DATARMNET1fcbf046ec;skb->next=NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6)
|
||||||
DATARMNET1fcbf046ec;skb->next=NULL;DATARMNETe20a9cab2b+=(0xd26+209-0xdf6);
|
;DATARMNETb481d13a78+=skb->len;if(DATARMNET5447204733==DATARMNET0b15fd8b54&&(!
|
||||||
DATARMNETb481d13a78+=skb->len;if(DATARMNET5447204733==DATARMNET0b15fd8b54&&(!
|
|
||||||
DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
|
DATARMNET63b1a086d5->DATARMNET85c698ec34))DATARMNETe767554e6e(skb);else if(
|
||||||
DATARMNET5447204733==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
|
DATARMNET5447204733==DATARMNET5b5927fd7e&&(!DATARMNET63b1a086d5->
|
||||||
DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else{netif_rx_ni(skb);}}
|
DATARMNET85c698ec34))DATARMNET514ce0bf59(skb);else{netif_rx_ni(skb);}}
|
||||||
@@ -832,8 +830,8 @@ hash=57005;if(raw_smp_processor_id()==DATARMNETecc0627c70.DATARMNET6625085b71&&
|
|||||||
DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNETecc0627c70.DATARMNET7d667e828e
|
DATARMNETecc0627c70.DATARMNET6625085b71!=DATARMNETecc0627c70.DATARMNET7d667e828e
|
||||||
){netif_rx(skb);DATARMNETecc0627c70.DATARMNETfeee6933fc++;if(DATARMNETecc0627c70
|
){netif_rx(skb);DATARMNETecc0627c70.DATARMNETfeee6933fc++;if(DATARMNETecc0627c70
|
||||||
.DATARMNETfeee6933fc>DATARMNETf4cacbb5dc){DATARMNETa4bf9fbf64(
|
.DATARMNETfeee6933fc>DATARMNETf4cacbb5dc){DATARMNETa4bf9fbf64(
|
||||||
DATARMNETf3dfa53867,DATARMNET0b15fd8b54);RCU_INIT_POINTER(rmnet_shs_switch,NULL)
|
DATARMNETf3dfa53867,DATARMNET0b15fd8b54);DATARMNETa871eeb7e7();
|
||||||
;DATARMNET68d84e7b98[DATARMNET43405942ed]++;DATARMNETecc0627c70.
|
DATARMNET68d84e7b98[DATARMNET43405942ed]++;DATARMNETecc0627c70.
|
||||||
DATARMNETfeee6933fc=(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}}
|
DATARMNETfeee6933fc=(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}}
|
||||||
spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);do{hash_for_each_possible_safe(
|
spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);do{hash_for_each_possible_safe(
|
||||||
DATARMNETe603c3a4b3,node_p,tmp,list,hash){if(hash!=node_p->hash)continue;
|
DATARMNETe603c3a4b3,node_p,tmp,list,hash){if(hash!=node_p->hash)continue;
|
||||||
@@ -928,7 +926,20 @@ NULL,NULL);DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}else if(!
|
|||||||
DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=
|
DATARMNETa2e32cdd3a&&DATARMNETecc0627c70.DATARMNET6fe0db3a49!=
|
||||||
DATARMNET1c55e5fdb1){DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;
|
DATARMNET1c55e5fdb1){DATARMNET14ed771dfb[DATARMNET01bf75e27c]++;
|
||||||
DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}return
|
DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}return
|
||||||
(0xd2d+202-0xdf7);}void DATARMNET9297340f58(unsigned int DATARMNET9f4bc49c6f){
|
(0xd2d+202-0xdf7);}static const struct rmnet_module_hook_register_info
|
||||||
|
DATARMNETef42b9f0b2={.hooknum=RMNET_MODULE_HOOK_SHS_SKB_ENTRY,.func=
|
||||||
|
DATARMNET756778f14f,};void DATARMNET203752febd(void){RCU_INIT_POINTER(
|
||||||
|
rmnet_shs_skb_entry,NULL);rmnet_module_hook_unregister_no_sync(&
|
||||||
|
DATARMNETef42b9f0b2,(0xd26+209-0xdf6));}void DATARMNET7520667b38(void){
|
||||||
|
RCU_INIT_POINTER(rmnet_shs_skb_entry,DATARMNET756778f14f);
|
||||||
|
rmnet_module_hook_register(&DATARMNETef42b9f0b2,(0xd26+209-0xdf6));}static const
|
||||||
|
struct rmnet_module_hook_register_info DATARMNET28a9685974={.hooknum=
|
||||||
|
RMNET_MODULE_HOOK_SHS_SWITCH,.func=DATARMNET756778f14f,};void
|
||||||
|
DATARMNETa871eeb7e7(void){RCU_INIT_POINTER(rmnet_shs_switch,NULL);
|
||||||
|
rmnet_module_hook_unregister_no_sync(&DATARMNET28a9685974,(0xd26+209-0xdf6));}
|
||||||
|
void DATARMNET8f9da46b14(void){RCU_INIT_POINTER(rmnet_shs_switch,
|
||||||
|
DATARMNET756778f14f);rmnet_module_hook_register(&DATARMNET28a9685974,
|
||||||
|
(0xd26+209-0xdf6));}void DATARMNET9297340f58(unsigned int DATARMNET9f4bc49c6f){
|
||||||
DATARMNETdf74db7e38();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);
|
DATARMNETdf74db7e38();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd2d+202-0xdf7);
|
||||||
unregister_oom_notifier(&DATARMNET105c85d84c);wakeup_source_unregister(
|
unregister_oom_notifier(&DATARMNET105c85d84c);wakeup_source_unregister(
|
||||||
DATARMNETecc0627c70.ws);if(DATARMNETecc0627c70.DATARMNETf5ab31b9b0)
|
DATARMNETecc0627c70.ws);if(DATARMNETecc0627c70.DATARMNETf5ab31b9b0)
|
||||||
|
@@ -816,26 +816,25 @@ DATARMNET9dc7755be5->DATARMNET1150269da2);for(cpu=(0xd2d+202-0xdf7);cpu<
|
|||||||
DATARMNETc6782fed88;cpu++)DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);
|
DATARMNETc6782fed88;cpu++)DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);
|
||||||
rcu_read_lock();if(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET7d667e828e)&
|
rcu_read_lock();if(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET7d667e828e)&
|
||||||
DATARMNETbc3c416b77){DATARMNETecc0627c70.DATARMNET5c24e1df05=(0xd26+209-0xdf6);
|
DATARMNETbc3c416b77){DATARMNETecc0627c70.DATARMNET5c24e1df05=(0xd26+209-0xdf6);
|
||||||
RCU_INIT_POINTER(rmnet_shs_switch,DATARMNET756778f14f);DATARMNETb7ddf3c5dd[
|
DATARMNET8f9da46b14();DATARMNETb7ddf3c5dd[DATARMNET6ea8a58f4e]++;}
|
||||||
DATARMNET6ea8a58f4e]++;}rcu_read_unlock();}void DATARMNET7b6c061b06(void){if(
|
rcu_read_unlock();}void DATARMNET7b6c061b06(void){if(DATARMNETf141197982&&
|
||||||
DATARMNETf141197982&&DATARMNET9dc7755be5)queue_delayed_work(DATARMNETf141197982,
|
DATARMNET9dc7755be5)queue_delayed_work(DATARMNETf141197982,&DATARMNET9dc7755be5
|
||||||
&DATARMNET9dc7755be5->DATARMNET1150269da2,(0xd2d+202-0xdf7));}void
|
->DATARMNET1150269da2,(0xd2d+202-0xdf7));}void DATARMNET3ae0d614d6(void){if(
|
||||||
DATARMNET3ae0d614d6(void){if(DATARMNETf141197982)return;DATARMNETf5f83b943f();
|
DATARMNETf141197982)return;DATARMNETf5f83b943f();trace_rmnet_shs_wq_high(
|
||||||
trace_rmnet_shs_wq_high(DATARMNET9104d544fa,DATARMNET1b421b0381,
|
DATARMNET9104d544fa,DATARMNET1b421b0381,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
||||||
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);DATARMNETf141197982=
|
||||||
|
alloc_workqueue("\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x77\x71",WQ_UNBOUND,
|
||||||
|
(0xd26+209-0xdf6));if(!DATARMNETf141197982){DATARMNET68d84e7b98[
|
||||||
|
DATARMNETecdf13872c]++;return;}DATARMNET9dc7755be5=kmalloc(sizeof(struct
|
||||||
|
DATARMNETa144e2bd00),GFP_ATOMIC);if(!DATARMNET9dc7755be5){DATARMNET68d84e7b98[
|
||||||
|
DATARMNETd1687e0776]++;DATARMNETf7dcab9a9e();return;}DATARMNETf5b8fce55d(
|
||||||
|
DATARMNET138a989ecb,(0xd26+209-0xdf6));DATARMNETd3d1d13f44();INIT_DELAYED_WORK(&
|
||||||
|
DATARMNET9dc7755be5->DATARMNET1150269da2,DATARMNETb4b5fc9686);
|
||||||
|
trace_rmnet_shs_wq_high(DATARMNET9104d544fa,DATARMNETb196f64ee0,
|
||||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL
|
||||||
,NULL);DATARMNETf141197982=alloc_workqueue(
|
,NULL);}int DATARMNETb709a938b5(u16 cpu){int flows=-(0xd26+209-0xdf6);if(cpu>=
|
||||||
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x77\x71",WQ_UNBOUND,(0xd26+209-0xdf6))
|
DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET709b59b0e6]++;return flows;}
|
||||||
;if(!DATARMNETf141197982){DATARMNET68d84e7b98[DATARMNETecdf13872c]++;return;}
|
flows=DATARMNET6cdd58e74c.DATARMNET73464778dc[cpu].flows;trace_rmnet_shs_wq_low(
|
||||||
DATARMNET9dc7755be5=kmalloc(sizeof(struct DATARMNETa144e2bd00),GFP_ATOMIC);if(!
|
|
||||||
DATARMNET9dc7755be5){DATARMNET68d84e7b98[DATARMNETd1687e0776]++;
|
|
||||||
DATARMNETf7dcab9a9e();return;}DATARMNETf5b8fce55d(DATARMNET138a989ecb,
|
|
||||||
(0xd26+209-0xdf6));DATARMNETd3d1d13f44();INIT_DELAYED_WORK(&DATARMNET9dc7755be5
|
|
||||||
->DATARMNET1150269da2,DATARMNETb4b5fc9686);trace_rmnet_shs_wq_high(
|
|
||||||
DATARMNET9104d544fa,DATARMNETb196f64ee0,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
||||||
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}int DATARMNETb709a938b5(u16
|
|
||||||
cpu){int flows=-(0xd26+209-0xdf6);if(cpu>=DATARMNETc6782fed88){
|
|
||||||
DATARMNET68d84e7b98[DATARMNET709b59b0e6]++;return flows;}flows=
|
|
||||||
DATARMNET6cdd58e74c.DATARMNET73464778dc[cpu].flows;trace_rmnet_shs_wq_low(
|
|
||||||
DATARMNET39a68a0eba,DATARMNET0e287157de,cpu,flows,(0x16e8+787-0xc0c),
|
DATARMNET39a68a0eba,DATARMNET0e287157de,cpu,flows,(0x16e8+787-0xc0c),
|
||||||
(0x16e8+787-0xc0c),NULL,NULL);return flows;}int DATARMNET392890a12b(void){u16
|
(0x16e8+787-0xc0c),NULL,NULL);return flows;}int DATARMNET392890a12b(void){u16
|
||||||
cpu;int DATARMNET59bd820724=-(0xd26+209-0xdf6);int DATARMNET847bd62811;for(cpu=
|
cpu;int DATARMNET59bd820724=-(0xd26+209-0xdf6);int DATARMNET847bd62811;for(cpu=
|
||||||
|
@@ -156,17 +156,16 @@ DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNET9273f84bf1)||((
|
|||||||
(0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&DATARMNET9273f84bf1)
|
(0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&DATARMNET9273f84bf1)
|
||||||
){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return-
|
){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return-
|
||||||
(0xd26+209-0xdf6);}DATARMNETecc0627c70.DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.
|
(0xd26+209-0xdf6);}DATARMNETecc0627c70.DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.
|
||||||
DATARMNET208ea67e1d;rcu_read_lock();RCU_INIT_POINTER(rmnet_shs_switch,
|
DATARMNET208ea67e1d;rcu_read_lock();DATARMNET8f9da46b14();rcu_read_unlock();
|
||||||
DATARMNET756778f14f);rcu_read_unlock();DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
|
DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return
|
||||||
DATARMNET2d19c9b1ef);return(0xd2d+202-0xdf7);}if(DATARMNET7f0ce2d6ad.
|
(0xd2d+202-0xdf7);}if(DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==
|
||||||
DATARMNETa3f89581b5==DATARMNET37da25c8e8){DATARMNETb7ddf3c5dd[
|
DATARMNET37da25c8e8){DATARMNETb7ddf3c5dd[DATARMNETb6eae1e097]++;if(!((
|
||||||
DATARMNETb6eae1e097]++;if(!(((0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.
|
(0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNETbc3c416b77)
|
||||||
DATARMNET208ea67e1d)&DATARMNETbc3c416b77)||(((0xd26+209-0xdf6)<<
|
||(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&
|
||||||
DATARMNETecc0627c70.DATARMNET5c24e1df05)&DATARMNETbc3c416b77)){
|
DATARMNETbc3c416b77)){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
|
||||||
DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return-
|
DATARMNET2d19c9b1ef);return-(0xd26+209-0xdf6);}DATARMNETecc0627c70.
|
||||||
(0xd26+209-0xdf6);}DATARMNETecc0627c70.DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.
|
DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d;rcu_read_lock();
|
||||||
DATARMNET208ea67e1d;rcu_read_lock();RCU_INIT_POINTER(rmnet_shs_switch,
|
DATARMNET8f9da46b14();rcu_read_unlock();DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
|
||||||
DATARMNET756778f14f);rcu_read_unlock();DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
|
|
||||||
DATARMNET2d19c9b1ef);return(0xd2d+202-0xdf7);}rc=DATARMNET5f72606f6f(
|
DATARMNET2d19c9b1ef);return(0xd2d+202-0xdf7);}rc=DATARMNET5f72606f6f(
|
||||||
DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d,
|
DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d,
|
||||||
DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5)
|
DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
#include <net/ipv6.h>
|
#include <net/ipv6.h>
|
||||||
#include <net/dst.h>
|
#include <net/dst.h>
|
||||||
#include <net/netfilter/nf_conntrack.h>
|
#include <net/netfilter/nf_conntrack.h>
|
||||||
|
#include "rmnet_module.h"
|
||||||
#include "rmnet_wlan.h"
|
#include "rmnet_wlan.h"
|
||||||
#include "rmnet_wlan_connection.h"
|
#include "rmnet_wlan_connection.h"
|
||||||
#include "rmnet_wlan_stats.h"
|
#include "rmnet_wlan_stats.h"
|
||||||
@@ -329,11 +330,15 @@ IPPROTO_UDP){if(udp_hdr(DATARMNET543491eb0f)->source==DATARMNET3396919a68->
|
|||||||
DATARMNET08e913477e&&udp_hdr(DATARMNET543491eb0f)->dest==DATARMNET3396919a68->
|
DATARMNET08e913477e&&udp_hdr(DATARMNET543491eb0f)->dest==DATARMNET3396919a68->
|
||||||
DATARMNETda7f7fa492)goto DATARMNET9573fcc9c6;}return;DATARMNET9573fcc9c6:
|
DATARMNETda7f7fa492)goto DATARMNET9573fcc9c6;}return;DATARMNET9573fcc9c6:
|
||||||
DATARMNET543491eb0f->priority=2607612160;DATARMNET5ca94dbc3c(DATARMNETc2cade1d75
|
DATARMNET543491eb0f->priority=2607612160;DATARMNET5ca94dbc3c(DATARMNETc2cade1d75
|
||||||
);}void DATARMNET333c107558(void){rcu_assign_pointer(rmnet_wlan_ll_tuple_hook,
|
);}static const struct rmnet_module_hook_register_info DATARMNETd0b5ecd937={.
|
||||||
DATARMNET6f73df41cd);}void DATARMNET4c08c7210c(void){rcu_assign_pointer(
|
hooknum=RMNET_MODULE_HOOK_WLAN_FLOW_MATCH,.func=DATARMNET6f73df41cd,};void
|
||||||
rmnet_wlan_ll_tuple_hook,NULL);synchronize_rcu();}int DATARMNET9f106ed933(void){
|
DATARMNET333c107558(void){rcu_assign_pointer(rmnet_wlan_ll_tuple_hook,
|
||||||
int DATARMNET268a8314cf;DATARMNET268a8314cf=register_netdevice_notifier(&
|
DATARMNET6f73df41cd);rmnet_module_hook_register(&DATARMNETd0b5ecd937,
|
||||||
DATARMNET61d0113123);if(DATARMNET268a8314cf)pr_err(
|
(0xd26+209-0xdf6));}void DATARMNET4c08c7210c(void){rcu_assign_pointer(
|
||||||
|
rmnet_wlan_ll_tuple_hook,NULL);rmnet_module_hook_unregister(&DATARMNETd0b5ecd937
|
||||||
|
,(0xd26+209-0xdf6));}int DATARMNET9f106ed933(void){int DATARMNET268a8314cf;
|
||||||
|
DATARMNET268a8314cf=register_netdevice_notifier(&DATARMNET61d0113123);if(
|
||||||
|
DATARMNET268a8314cf)pr_err(
|
||||||
"\x25\x73\x28\x29\x3a\x20\x6e\x6f\x74\x69\x66\x69\x65\x72\x20\x66\x61\x69\x6c\x65\x64" "\n"
|
"\x25\x73\x28\x29\x3a\x20\x6e\x6f\x74\x69\x66\x69\x65\x72\x20\x66\x61\x69\x6c\x65\x64" "\n"
|
||||||
,__func__);return DATARMNET268a8314cf;}int DATARMNETf56cbaa2b1(void){int
|
,__func__);return DATARMNET268a8314cf;}int DATARMNETf56cbaa2b1(void){int
|
||||||
DATARMNET268a8314cf;DATARMNET268a8314cf=unregister_netdevice_notifier(&
|
DATARMNET268a8314cf;DATARMNET268a8314cf=unregister_netdevice_notifier(&
|
||||||
|
@@ -25,13 +25,14 @@
|
|||||||
#include "rmnet_wlan_stats.h"
|
#include "rmnet_wlan_stats.h"
|
||||||
#include "rmnet_wlan_fragment.h"
|
#include "rmnet_wlan_fragment.h"
|
||||||
#include "rmnet_wlan_connection.h"
|
#include "rmnet_wlan_connection.h"
|
||||||
static char*verinfo[]={"\x30\x65\x33\x34\x62\x31\x39\x31",
|
static char*verinfo[]={"\x65\x32\x31\x38\x66\x34\x35\x31",
|
||||||
"\x39\x66\x33\x66\x31\x31\x33\x30","\x62\x31\x62\x63\x64\x66\x66\x61",
|
"\x30\x65\x33\x34\x62\x31\x39\x31","\x39\x66\x33\x66\x31\x31\x33\x30",
|
||||||
"\x61\x33\x33\x33\x36\x37\x61\x31","\x37\x34\x31\x35\x39\x32\x31\x63",
|
"\x62\x31\x62\x63\x64\x66\x66\x61","\x61\x33\x33\x33\x36\x37\x61\x31",
|
||||||
"\x33\x35\x36\x63\x34\x39\x31\x63","\x34\x64\x32\x32\x34\x33\x36\x33",
|
"\x37\x34\x31\x35\x39\x32\x31\x63","\x33\x35\x36\x63\x34\x39\x31\x63",
|
||||||
"\x61\x34\x31\x63\x39\x64\x37\x62","\x38\x66\x32\x66\x65\x64\x32\x66",
|
"\x34\x64\x32\x32\x34\x33\x36\x33","\x61\x34\x31\x63\x39\x64\x37\x62",
|
||||||
"\x63\x30\x32\x62\x61\x39\x30\x65"};module_param_array(verinfo,charp,NULL,
|
"\x38\x66\x32\x66\x65\x64\x32\x66","\x63\x30\x32\x62\x61\x39\x30\x65"};
|
||||||
(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
|
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"
|
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
||||||
);
|
);
|
||||||
#define DATARMNETaf49b04806 ((0xeb7+1158-0x132d))
|
#define DATARMNETaf49b04806 ((0xeb7+1158-0x132d))
|
||||||
|
Reference in New Issue
Block a user