diff --git a/wlan/rmnet_wlan.h b/wlan/rmnet_wlan.h index a39e1d2d2b..3729bca7a5 100644 --- a/wlan/rmnet_wlan.h +++ b/wlan/rmnet_wlan.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* Copyright (c) 2021, The Linux Foundation. All rights reserved. - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. * * RMNET WLAN handler framework * @@ -24,7 +24,8 @@ __be32 DATARMNETdfe430c2d6;struct in6_addr DATARMNET815cbb4bf5;};union{__be32 DATARMNET2cb607d686;struct in6_addr DATARMNETc3f31215b7;};__be16 DATARMNET08e913477e;__be16 DATARMNETda7f7fa492;u8 DATARMNET0d956cc77a;};enum{ DATARMNET356f2a237e,DATARMNET45ee632553,DATARMNET9bfbc31cd6,DATARMNETdcafdec32a, -};void DATARMNET7ca470d54b(struct sk_buff*DATARMNET543491eb0f,u32 +};rx_handler_result_t DATARMNET37a92021f9(struct sk_buff**DATARMNET89946cec52); +void DATARMNET7ca470d54b(struct sk_buff*DATARMNET543491eb0f,u32 DATARMNET1464100e7a);int DATARMNET4899053671(struct sk_buff*DATARMNET543491eb0f, struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e);bool DATARMNET4eafcdee07(struct DATARMNETb89ecedefc*DATARMNET3396919a68);int DATARMNET53f12a0f7d(struct diff --git a/wlan/rmnet_wlan_connection.c b/wlan/rmnet_wlan_connection.c index 2af7388e7a..c839baf157 100644 --- a/wlan/rmnet_wlan_connection.c +++ b/wlan/rmnet_wlan_connection.c @@ -328,12 +328,8 @@ net_device*DATARMNET00dcb79bc4=netdev_notifier_info_to_dev(data);if(! DATARMNET00dcb79bc4||DATARMNETaba2beb199(DATARMNET00dcb79bc4->name, "\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61",(0xd19+238-0xdfb)))return NOTIFY_DONE;switch(DATARMNET7f045a1e6e){case NETDEV_UNREGISTER: -netdev_rx_handler_unregister(DATARMNET00dcb79bc4);DATARMNETbc6bd11f47( -DATARMNET00dcb79bc4);break;case NETDEV_REGISTER:if(netdev_rx_handler_register( -DATARMNET00dcb79bc4,DATARMNET68fe094884,NULL))pr_err( -"\x25\x73\x28\x29\x3a\x20\x52\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x6f\x6e\x20\x25\x73\x20\x66\x61\x69\x6c\x65\x64" "\n" -,__func__,DATARMNET00dcb79bc4->name);break;default:break;}return NOTIFY_DONE;} -static struct notifier_block DATARMNET61d0113123={.notifier_call= +DATARMNETbc6bd11f47(DATARMNET00dcb79bc4);break;default:break;}return NOTIFY_DONE +;}static struct notifier_block DATARMNET61d0113123={.notifier_call= DATARMNET81ab4de243,};struct DATARMNET8d3c2559ca*DATARMNET07f0e0f286(struct DATARMNET0ca9d8ead7*DATARMNET54338da2ff)__must_hold(RCU){struct DATARMNET4f49486833*DATARMNET63b1a086d5;hash_for_each_possible_rcu( @@ -366,15 +362,27 @@ IPPROTO_UDP){if(udp_hdr(DATARMNET543491eb0f)->source==DATARMNET3396919a68-> DATARMNET08e913477e&&udp_hdr(DATARMNET543491eb0f)->dest==DATARMNET3396919a68-> DATARMNETda7f7fa492)goto DATARMNET9573fcc9c6;}return;DATARMNET9573fcc9c6: DATARMNET543491eb0f->priority=2607612160;DATARMNET5ca94dbc3c(DATARMNETc2cade1d75 -);}static const struct rmnet_module_hook_register_info DATARMNETd0b5ecd937={. -hooknum=RMNET_MODULE_HOOK_WLAN_FLOW_MATCH,.func=DATARMNET6f73df41cd,};void +);}static rx_handler_result_t DATARMNETd2f80b03ce(struct sk_buff** +DATARMNET89946cec52){struct net_device*DATARMNET00dcb79bc4;if(! +DATARMNET89946cec52||!(*DATARMNET89946cec52)||!(*DATARMNET89946cec52)->dev) +return RX_HANDLER_PASS;DATARMNET00dcb79bc4=(*DATARMNET89946cec52)->dev;if(! +DATARMNETaba2beb199(DATARMNET00dcb79bc4->name, +"\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61",(0xd19+238-0xdfb)))return +DATARMNET68fe094884(DATARMNET89946cec52);if(!DATARMNETaba2beb199( +DATARMNET00dcb79bc4->name,DATARMNETe447822105(),IFNAMSIZ))return +DATARMNET37a92021f9(DATARMNET89946cec52);if(!DATARMNETaba2beb199( +DATARMNET00dcb79bc4->name,DATARMNET934406764d(),IFNAMSIZ))return +DATARMNET37a92021f9(DATARMNET89946cec52);return RX_HANDLER_PASS;}static const +struct rmnet_module_hook_register_info DATARMNET1928843de7[]={{.hooknum= +RMNET_MODULE_HOOK_WLAN_FLOW_MATCH,.func=DATARMNET6f73df41cd,},{.hooknum= +RMNET_MODULE_HOOK_WLAN_INGRESS_RX_HANDLER,.func=DATARMNETd2f80b03ce,},};void DATARMNET333c107558(void){rcu_assign_pointer(rmnet_wlan_ll_tuple_hook, -DATARMNET6f73df41cd);rmnet_module_hook_register(&DATARMNETd0b5ecd937, -(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( +DATARMNET6f73df41cd);rmnet_module_hook_register(DATARMNET1928843de7,ARRAY_SIZE( +DATARMNET1928843de7));}void DATARMNET4c08c7210c(void){rcu_assign_pointer( +rmnet_wlan_ll_tuple_hook,NULL);rmnet_module_hook_unregister(DATARMNET1928843de7, +ARRAY_SIZE(DATARMNET1928843de7));}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" ,__func__);return DATARMNET268a8314cf;}int DATARMNETf56cbaa2b1(void){int DATARMNET268a8314cf;DATARMNET268a8314cf=unregister_netdevice_notifier(& diff --git a/wlan/rmnet_wlan_main.c b/wlan/rmnet_wlan_main.c index be79ea96c4..d4f7176d61 100644 --- a/wlan/rmnet_wlan_main.c +++ b/wlan/rmnet_wlan_main.c @@ -25,17 +25,18 @@ #include "rmnet_wlan_stats.h" #include "rmnet_wlan_fragment.h" #include "rmnet_wlan_connection.h" -static char*verinfo[]={"\x32\x31\x39\x38\x30\x64\x66\x62", -"\x61\x33\x31\x34\x63\x62\x32\x35","\x34\x33\x62\x62\x38\x34\x39\x39", -"\x32\x66\x33\x36\x30\x30\x31\x34","\x62\x64\x66\x66\x39\x32\x62\x33", -"\x34\x36\x35\x36\x30\x62\x31\x34","\x64\x33\x37\x61\x30\x39\x63\x63", -"\x65\x32\x31\x38\x66\x34\x35\x31","\x30\x65\x33\x34\x62\x31\x39\x31", -"\x39\x66\x33\x66\x31\x31\x33\x30","\x62\x31\x62\x63\x64\x66\x66\x61", -"\x61\x33\x33\x33\x36\x37\x61\x31","\x37\x34\x31\x35\x39\x32\x31\x63", -"\x33\x35\x36\x63\x34\x39\x31\x63","\x34\x64\x32\x32\x34\x33\x36\x33", -"\x61\x34\x31\x63\x39\x64\x37\x62","\x38\x66\x32\x66\x65\x64\x32\x66", -"\x63\x30\x32\x62\x61\x39\x30\x65"};module_param_array(verinfo,charp,NULL, -(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo, +static char*verinfo[]={"\x30\x32\x39\x33\x31\x66\x62\x66", +"\x32\x31\x39\x38\x30\x64\x66\x62","\x61\x33\x31\x34\x63\x62\x32\x35", +"\x34\x33\x62\x62\x38\x34\x39\x39","\x32\x66\x33\x36\x30\x30\x31\x34", +"\x62\x64\x66\x66\x39\x32\x62\x33","\x34\x36\x35\x36\x30\x62\x31\x34", +"\x64\x33\x37\x61\x30\x39\x63\x63","\x65\x32\x31\x38\x66\x34\x35\x31", +"\x30\x65\x33\x34\x62\x31\x39\x31","\x39\x66\x33\x66\x31\x31\x33\x30", +"\x62\x31\x62\x63\x64\x66\x66\x61","\x61\x33\x33\x33\x36\x37\x61\x31", +"\x37\x34\x31\x35\x39\x32\x31\x63","\x33\x35\x36\x63\x34\x39\x31\x63", +"\x34\x64\x32\x32\x34\x33\x36\x33","\x61\x34\x31\x63\x39\x64\x37\x62", +"\x38\x66\x32\x66\x65\x64\x32\x66","\x63\x30\x32\x62\x61\x39\x30\x65"}; +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" ); #define DATARMNETaf49b04806 ((0xeb7+1158-0x132d)) @@ -247,9 +248,9 @@ int DATARMNET5c2fd31d7b;mutex_lock(&DATARMNET954bef55d0);hash_for_each_safe( DATARMNET133502ca0e,DATARMNET5c2fd31d7b,DATARMNET0386f6f82a,DATARMNET63b1a086d5, DATARMNETe8608dd267){hash_del_rcu(&DATARMNET63b1a086d5->DATARMNETe8608dd267); kfree_rcu(DATARMNET63b1a086d5,DATARMNET28bfe9e6ad);}mutex_unlock(& -DATARMNET954bef55d0);}static rx_handler_result_t DATARMNET37a92021f9(struct -sk_buff**DATARMNET89946cec52){struct DATARMNET0ca9d8ead7 DATARMNETa76763310b={}; -struct DATARMNETb89ecedefc DATARMNET3396919a68={};struct DATARMNET41b426061d* +DATARMNET954bef55d0);}rx_handler_result_t DATARMNET37a92021f9(struct sk_buff** +DATARMNET89946cec52){struct DATARMNET0ca9d8ead7 DATARMNETa76763310b={};struct +DATARMNETb89ecedefc DATARMNET3396919a68={};struct DATARMNET41b426061d* DATARMNET72f0eefdce;struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e, DATARMNET54338da2ff;struct sk_buff*DATARMNET543491eb0f=*DATARMNET89946cec52; rx_handler_result_t DATARMNET1dec89a127=RX_HANDLER_PASS;int DATARMNET611d08d671; @@ -318,36 +319,27 @@ DATARMNET2d4b4cfc9e))DATARMNET1dec89a127=RX_HANDLER_CONSUMED;DATARMNETbf4095f79e struct notifier_block*DATARMNET272c159b3c,unsigned long DATARMNET7f045a1e6e,void *data){struct net_device*DATARMNET00dcb79bc4=netdev_notifier_info_to_dev(data); if(!DATARMNET00dcb79bc4||DATARMNETaba2beb199(DATARMNET00dcb79bc4->name, -DATARMNET30500ba48c,IFNAMSIZ))return NOTIFY_DONE;switch(DATARMNET7f045a1e6e){ -case NETDEV_UNREGISTER:netdev_rx_handler_unregister(DATARMNET00dcb79bc4);break; -case NETDEV_REGISTER:if(netdev_rx_handler_register(DATARMNET00dcb79bc4, +DATARMNET30500ba48c,IFNAMSIZ))return NOTIFY_DONE;if(!DATARMNETaba2beb199( +DATARMNET00dcb79bc4->name,"\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61", +(0xd27+224-0xdfd))){pr_info( +"\x25\x73\x28\x29\x3a\x20\x74\x68\x65\x20\x67\x6f\x6f\x66\x73\x21\x20\x74\x68\x65\x20\x67\x61\x66\x66\x73\x21\x20\x73\x6f\x6d\x65\x6f\x6e\x65\x20\x68\x61\x73\x20\x71\x75\x69\x74\x65\x20\x74\x68\x65\x20\x6e\x61\x6d\x69\x6e\x67\x20\x73\x63\x68\x65\x6d\x65\x21\x21" "\n" +,__func__);return NOTIFY_DONE;}switch(DATARMNET7f045a1e6e){case +NETDEV_UNREGISTER:netdev_rx_handler_unregister(DATARMNET00dcb79bc4);break;case +NETDEV_REGISTER:if(netdev_rx_handler_register(DATARMNET00dcb79bc4, DATARMNET37a92021f9,NULL))pr_err( "\x25\x73\x28\x29\x3a\x20\x52\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x66\x61\x69\x6c\x65\x64" "\n" -,__func__);break;default:break;}return NOTIFY_DONE;}static int -DATARMNET6512527d9c(struct notifier_block*DATARMNET272c159b3c,unsigned long -DATARMNET7f045a1e6e,void*data){struct net_device*DATARMNET00dcb79bc4= -netdev_notifier_info_to_dev(data);if(!DATARMNET00dcb79bc4||DATARMNETaba2beb199( -DATARMNET00dcb79bc4->name,DATARMNET755f0f0df8,IFNAMSIZ))return NOTIFY_DONE; -switch(DATARMNET7f045a1e6e){case NETDEV_UNREGISTER:netdev_rx_handler_unregister( -DATARMNET00dcb79bc4);break;case NETDEV_REGISTER:if(netdev_rx_handler_register( -DATARMNET00dcb79bc4,DATARMNET37a92021f9,NULL))pr_err( -"\x25\x73\x28\x29\x3a\x20\x52\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x66\x61\x69\x6c\x65\x64" "\n" ,__func__);break;default:break;}return NOTIFY_DONE;}static struct notifier_block - DATARMNETa1726000d8={.notifier_call=DATARMNET0ed065ddb7,};static struct -notifier_block DATARMNET2c4484aef5={.notifier_call=DATARMNET6512527d9c,};static -int DATARMNET116f9a46aa(void){int DATARMNET268a8314cf;if(!DATARMNET30500ba48c[ + DATARMNETa1726000d8={.notifier_call=DATARMNET0ed065ddb7,};static int +DATARMNET116f9a46aa(void){int DATARMNET268a8314cf;if(!DATARMNET30500ba48c[ (0xd2d+202-0xdf7)])return(0xd2d+202-0xdf7);DATARMNET268a8314cf= unregister_netdevice_notifier(&DATARMNETa1726000d8);if(!DATARMNET268a8314cf) DATARMNET30500ba48c[(0xd2d+202-0xdf7)]=(0xd2d+202-0xdf7);return -DATARMNET268a8314cf;}static int DATARMNET56777c5470(void){int -DATARMNET268a8314cf;if(!DATARMNET755f0f0df8[(0xd2d+202-0xdf7)])return -(0xd2d+202-0xdf7);DATARMNET268a8314cf=unregister_netdevice_notifier(& -DATARMNET2c4484aef5);if(!DATARMNET268a8314cf)DATARMNET755f0f0df8[ -(0xd2d+202-0xdf7)]=(0xd2d+202-0xdf7);return DATARMNET268a8314cf;}static void -DATARMNETbb4efa5b3d(void){DATARMNET116f9a46aa();DATARMNET1f36d4813c(); -DATARMNET8c0e010dfb();DATARMNETe5b03fe375();DATARMNETad43e44c7e(); -DATARMNET56fde5181e();}static int DATARMNET38ebe8f319(struct sk_buff* -DATARMNET543491eb0f,int DATARMNET1faf88208b){if(!pskb_may_pull( +DATARMNET268a8314cf;}static int DATARMNET56777c5470(void){DATARMNET755f0f0df8[ +(0xd2d+202-0xdf7)]=(0xd2d+202-0xdf7);return(0xd2d+202-0xdf7);}static void +DATARMNETbb4efa5b3d(void){DATARMNET116f9a46aa();DATARMNET56777c5470(); +DATARMNET1f36d4813c();DATARMNET8c0e010dfb();DATARMNETe5b03fe375(); +DATARMNETad43e44c7e();DATARMNET56fde5181e();}static int DATARMNET38ebe8f319( +struct sk_buff*DATARMNET543491eb0f,int DATARMNET1faf88208b){if(!pskb_may_pull( DATARMNET543491eb0f,DATARMNET1faf88208b))return-ENOMEM;if(!skb_cloned( DATARMNET543491eb0f)||skb_clone_writable(DATARMNET543491eb0f,DATARMNET1faf88208b ))return(0xd2d+202-0xdf7);return pskb_expand_head(DATARMNET543491eb0f, @@ -493,48 +485,45 @@ DATARMNET54338da2ff, DATARMNET268a8314cf){GENL_SET_ERR_MSG(DATARMNET54338da2ff, "\x4b\x65\x72\x6e\x65\x6c\x20\x65\x72\x72\x6f\x72\x2c\x20\x6e\x6f\x74\x69\x66\x69\x65\x72\x20\x75\x6e\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x69\x6c\x65\x64" );return DATARMNET268a8314cf;}strlcpy(DATARMNET755f0f0df8,DATARMNET852d4d00e2, -IFNAMSIZ);DATARMNET268a8314cf=register_netdevice_notifier(&DATARMNET2c4484aef5); -if(DATARMNET268a8314cf){GENL_SET_ERR_MSG(DATARMNET54338da2ff, -"\x4b\x65\x72\x6e\x65\x6c\x20\x65\x72\x72\x6f\x72\x2c\x20\x6e\x6f\x74\x69\x66\x69\x65\x72\x20\x66\x61\x69\x6c\x65\x64" -);DATARMNET755f0f0df8[(0xd2d+202-0xdf7)]=(0xd2d+202-0xdf7);}return -DATARMNET268a8314cf;}int DATARMNETa903cd5994(char*DATARMNET852d4d00e2,struct -genl_info*DATARMNET54338da2ff){return DATARMNET116f9a46aa();}int -DATARMNET9d7bb9a63d(char*DATARMNET852d4d00e2,struct genl_info* -DATARMNET54338da2ff){return DATARMNET56777c5470();}int DATARMNET947eb110d2( -struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e,struct genl_info* -DATARMNET54338da2ff){int DATARMNET268a8314cf;mutex_lock(&DATARMNETf46fb02ac6); -DATARMNET268a8314cf=DATARMNET1ac13d5a2a(DATARMNET2d4b4cfc9e,DATARMNET54338da2ff) -;mutex_unlock(&DATARMNETf46fb02ac6);return DATARMNET268a8314cf;}int -DATARMNETb8b35fdc18(struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e,struct +IFNAMSIZ);return DATARMNET268a8314cf;}int DATARMNETa903cd5994(char* +DATARMNET852d4d00e2,struct genl_info*DATARMNET54338da2ff){return +DATARMNET116f9a46aa();}int DATARMNET9d7bb9a63d(char*DATARMNET852d4d00e2,struct +genl_info*DATARMNET54338da2ff){return DATARMNET56777c5470();}int +DATARMNET947eb110d2(struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e,struct genl_info*DATARMNET54338da2ff){int DATARMNET268a8314cf;mutex_lock(& -DATARMNETf46fb02ac6);DATARMNET268a8314cf=DATARMNET6b6be8e27f(DATARMNET2d4b4cfc9e +DATARMNETf46fb02ac6);DATARMNET268a8314cf=DATARMNET1ac13d5a2a(DATARMNET2d4b4cfc9e ,DATARMNET54338da2ff);mutex_unlock(&DATARMNETf46fb02ac6);return -DATARMNET268a8314cf;}int DATARMNET8d5a5a7047(__be16 DATARMNETf0d9de7e2f,struct -genl_info*DATARMNET54338da2ff){int DATARMNET268a8314cf;mutex_lock(& -DATARMNET954bef55d0);DATARMNET268a8314cf=DATARMNET3b10d1c14b(DATARMNETf0d9de7e2f -,DATARMNET54338da2ff);mutex_unlock(&DATARMNET954bef55d0);return -DATARMNET268a8314cf;}int DATARMNETc97c6a4265(__be16 DATARMNETf0d9de7e2f,struct -genl_info*DATARMNET54338da2ff){int DATARMNET268a8314cf;mutex_lock(& -DATARMNET954bef55d0);DATARMNET268a8314cf=DATARMNETc023021120(DATARMNETf0d9de7e2f -,DATARMNET54338da2ff);mutex_unlock(&DATARMNET954bef55d0);return -DATARMNET268a8314cf;}bool DATARMNETa8b2566e6a(struct sk_buff*DATARMNET543491eb0f -,struct DATARMNETb89ecedefc*DATARMNET3396919a68,int DATARMNET611d08d671){struct -udphdr*DATARMNET75be5f3406,DATARMNETc82d2f4e16;__be32*DATARMNETdf2dbc641f, -DATARMNET6c56902362;if(DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_UDP||! -DATARMNET7490934ea9(DATARMNET3396919a68->DATARMNETf0d9de7e2f))return false; -DATARMNET75be5f3406=skb_header_pointer(DATARMNET543491eb0f,DATARMNET611d08d671, -sizeof(*DATARMNET75be5f3406),&DATARMNETc82d2f4e16);if(!DATARMNET75be5f3406) -return false;if(DATARMNET75be5f3406->source==htons((0xdf7+6169-0x241c)))return -false;DATARMNETdf2dbc641f=skb_header_pointer(DATARMNET543491eb0f, -DATARMNET611d08d671+sizeof(*DATARMNET75be5f3406),sizeof(*DATARMNETdf2dbc641f),& -DATARMNET6c56902362);if(!DATARMNETdf2dbc641f)return false;return!!(* -DATARMNETdf2dbc641f);}bool DATARMNET0a4704e5e0(struct DATARMNETb89ecedefc* -DATARMNET3396919a68){return DATARMNETa96214b53c(DATARMNET3396919a68-> -DATARMNETf0d9de7e2f);}int DATARMNET4c1c11d8a5(struct DATARMNETe117226f58* -DATARMNET3396919a68){int DATARMNET268a8314cf;mutex_lock(&DATARMNET38726379d1); -DATARMNET268a8314cf=DATARMNET51f60f2fd3(DATARMNET3396919a68);mutex_unlock(& -DATARMNET38726379d1);return DATARMNET268a8314cf;}int DATARMNET56fde5181e(void){ -int DATARMNET268a8314cf;mutex_lock(&DATARMNET38726379d1);DATARMNET268a8314cf= +DATARMNET268a8314cf;}int DATARMNETb8b35fdc18(struct DATARMNET8d3c2559ca* +DATARMNET2d4b4cfc9e,struct genl_info*DATARMNET54338da2ff){int +DATARMNET268a8314cf;mutex_lock(&DATARMNETf46fb02ac6);DATARMNET268a8314cf= +DATARMNET6b6be8e27f(DATARMNET2d4b4cfc9e,DATARMNET54338da2ff);mutex_unlock(& +DATARMNETf46fb02ac6);return DATARMNET268a8314cf;}int DATARMNET8d5a5a7047(__be16 +DATARMNETf0d9de7e2f,struct genl_info*DATARMNET54338da2ff){int +DATARMNET268a8314cf;mutex_lock(&DATARMNET954bef55d0);DATARMNET268a8314cf= +DATARMNET3b10d1c14b(DATARMNETf0d9de7e2f,DATARMNET54338da2ff);mutex_unlock(& +DATARMNET954bef55d0);return DATARMNET268a8314cf;}int DATARMNETc97c6a4265(__be16 +DATARMNETf0d9de7e2f,struct genl_info*DATARMNET54338da2ff){int +DATARMNET268a8314cf;mutex_lock(&DATARMNET954bef55d0);DATARMNET268a8314cf= +DATARMNETc023021120(DATARMNETf0d9de7e2f,DATARMNET54338da2ff);mutex_unlock(& +DATARMNET954bef55d0);return DATARMNET268a8314cf;}bool DATARMNETa8b2566e6a(struct + sk_buff*DATARMNET543491eb0f,struct DATARMNETb89ecedefc*DATARMNET3396919a68,int +DATARMNET611d08d671){struct udphdr*DATARMNET75be5f3406,DATARMNETc82d2f4e16; +__be32*DATARMNETdf2dbc641f,DATARMNET6c56902362;if(DATARMNET3396919a68-> +DATARMNET4924e79411!=IPPROTO_UDP||!DATARMNET7490934ea9(DATARMNET3396919a68-> +DATARMNETf0d9de7e2f))return false;DATARMNET75be5f3406=skb_header_pointer( +DATARMNET543491eb0f,DATARMNET611d08d671,sizeof(*DATARMNET75be5f3406),& +DATARMNETc82d2f4e16);if(!DATARMNET75be5f3406)return false;if(DATARMNET75be5f3406 +->source==htons((0xdf7+6169-0x241c)))return false;DATARMNETdf2dbc641f= +skb_header_pointer(DATARMNET543491eb0f,DATARMNET611d08d671+sizeof(* +DATARMNET75be5f3406),sizeof(*DATARMNETdf2dbc641f),&DATARMNET6c56902362);if(! +DATARMNETdf2dbc641f)return false;return!!(*DATARMNETdf2dbc641f);}bool +DATARMNET0a4704e5e0(struct DATARMNETb89ecedefc*DATARMNET3396919a68){return +DATARMNETa96214b53c(DATARMNET3396919a68->DATARMNETf0d9de7e2f);}int +DATARMNET4c1c11d8a5(struct DATARMNETe117226f58*DATARMNET3396919a68){int +DATARMNET268a8314cf;mutex_lock(&DATARMNET38726379d1);DATARMNET268a8314cf= +DATARMNET51f60f2fd3(DATARMNET3396919a68);mutex_unlock(&DATARMNET38726379d1); +return DATARMNET268a8314cf;}int DATARMNET56fde5181e(void){int +DATARMNET268a8314cf;mutex_lock(&DATARMNET38726379d1);DATARMNET268a8314cf= DATARMNETb9c7621157();mutex_unlock(&DATARMNET38726379d1);return DATARMNET268a8314cf;}static int DATARMNETed41dd2d3f(struct sk_buff* DATARMNET543491eb0f,struct DATARMNETb89ecedefc*DATARMNET3396919a68){struct