Эх сурвалжийг харах

rmnet_wlan: I5d8ed820e4414371b966a52916d0765946560b14

Updates the module to version I5d8ed820e4414371b966a52916d0765946560b14

CRs-Fixed: 3223941
Change-Id: I5d8ed820e4414371b966a52916d0765946560b14
Signed-off-by: Elmer Melendez <[email protected]>
Elmer Melendez 3 жил өмнө
parent
commit
9f32de2980

+ 3 - 1
wlan/rmnet_wlan.h

@@ -31,7 +31,9 @@ DATARMNETb89ecedefc*DATARMNET3396919a68);int DATARMNET53f12a0f7d(struct
 DATARMNETb89ecedefc*DATARMNETcadc2ef9aa,u32 DATARMNETef77661260,struct genl_info
 *DATARMNET54338da2ff);int DATARMNET07f6485c9b(struct DATARMNETb89ecedefc*
 DATARMNETcadc2ef9aa,u32 DATARMNETef77661260,struct genl_info*DATARMNET54338da2ff
-);int DATARMNET97b2388e63(char*DATARMNET852d4d00e2,struct genl_info*
+);int DATARMNETe14c875532(struct sk_buff**DATARMNET89946cec52,struct genl_family
+*DATARMNET4a4aca7220,struct genl_info*DATARMNET54338da2ff);int 
+DATARMNET97b2388e63(char*DATARMNET852d4d00e2,struct genl_info*
 DATARMNET54338da2ff);int DATARMNETa903cd5994(char*DATARMNET852d4d00e2,struct 
 genl_info*DATARMNET54338da2ff);int DATARMNET92e5468fc5(char*DATARMNET852d4d00e2,
 struct genl_info*DATARMNET54338da2ff);int DATARMNET9d7bb9a63d(char*

+ 32 - 24
wlan/rmnet_wlan_genl.c

@@ -33,13 +33,13 @@ DATARMNETeaebe95912]={.type=NLA_U16,},};
 		.cmd = DATARMNET5aeb0ef9bc, \
 		.doit = DATARMNETbd9859b58e, \
 	}
-static int DATARMNET72501635c8(struct sk_buff*DATARMNET543491eb0f,struct 
-genl_info*DATARMNET54338da2ff){struct nlattr*DATARMNET759bcdbf61[
-DATARMNETf6bbad94a5+(0xd26+209-0xdf6)];struct DATARMNETb89ecedefc*
-DATARMNETcadc2ef9aa;struct nlattr*DATARMNETef7cdd7b6b;u32 DATARMNETef77661260=
-(0xd2d+202-0xdf7);int DATARMNET4b119c4ff3;int DATARMNETb14e52a504=
-(0xd2d+202-0xdf7);if(!DATARMNET54338da2ff->attrs[DATARMNET4e9cd7b8bf]){
-GENL_SET_ERR_MSG(DATARMNET54338da2ff,
+static struct genl_family DATARMNET61e8f41aae;static int DATARMNET72501635c8(
+struct sk_buff*DATARMNET543491eb0f,struct genl_info*DATARMNET54338da2ff){struct 
+nlattr*DATARMNET759bcdbf61[DATARMNETf6bbad94a5+(0xd26+209-0xdf6)];struct 
+DATARMNETb89ecedefc*DATARMNETcadc2ef9aa;struct nlattr*DATARMNETef7cdd7b6b;u32 
+DATARMNETef77661260=(0xd2d+202-0xdf7);int DATARMNET4b119c4ff3;int 
+DATARMNETb14e52a504=(0xd2d+202-0xdf7);if(!DATARMNET54338da2ff->attrs[
+DATARMNET4e9cd7b8bf]){GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x4d\x75\x73\x74\x20\x73\x75\x70\x70\x6c\x79\x20\x74\x75\x70\x6c\x65\x20\x69\x6e\x66\x6f"
 );return-EINVAL;}nla_for_each_nested(DATARMNETef7cdd7b6b,DATARMNET54338da2ff->
 attrs[DATARMNET4e9cd7b8bf],DATARMNET4b119c4ff3)DATARMNETef77661260++;
@@ -257,23 +257,31 @@ DATARMNETef7cdd7b6b);DATARMNET4c1c11d8a5(&DATARMNET3396919a68);return
 (0xd2d+202-0xdf7);}static int DATARMNET425149b729(struct sk_buff*
 DATARMNET543491eb0f,struct genl_info*DATARMNET54338da2ff){(void)
 DATARMNET543491eb0f;(void)DATARMNET54338da2ff;DATARMNET56fde5181e();return
-(0xd2d+202-0xdf7);}static const struct genl_ops DATARMNETf9df19988d[]={
-DATARMNET58eca5265b(DATARMNET0604500302,DATARMNET72501635c8),DATARMNET58eca5265b
-(DATARMNET91becfb9ac,DATARMNET41dd9b14ab),DATARMNET58eca5265b(
-DATARMNET14a3625b43,DATARMNETf1fa473089),DATARMNET58eca5265b(DATARMNET4478d3511b
-,DATARMNETcd9478470c),DATARMNET58eca5265b(DATARMNETc2d5a4e103,
-DATARMNETb86993aefb),DATARMNET58eca5265b(DATARMNET18145b00f6,DATARMNETc175a08219
-),DATARMNET58eca5265b(DATARMNETb8857fe6d9,DATARMNETc5f6c112ec),
-DATARMNET58eca5265b(DATARMNET6d50a30ec2,DATARMNETa6aec23397),DATARMNET58eca5265b
-(DATARMNET2e5d7ed755,DATARMNETa4773cb837),DATARMNET58eca5265b(
-DATARMNETd37aaf8b58,DATARMNET16add73734),DATARMNET58eca5265b(DATARMNET3626d362d4
-,DATARMNETb318ed4796),DATARMNET58eca5265b(DATARMNET433fe7da93,
-DATARMNET6a53c4576d),DATARMNET58eca5265b(DATARMNET77d31b75a3,DATARMNET425149b729
-),};struct genl_family DATARMNET61e8f41aae={.name=DATARMNET040266f460,.version=
-DATARMNET7c442b83bb,.maxattr=DATARMNETebcc30fe04,.policy=DATARMNET0381a65e93,.
-ops=DATARMNETf9df19988d,.n_ops=ARRAY_SIZE(DATARMNETf9df19988d),};static int 
-__init DATARMNET7eb0fa5c8f(void){int DATARMNET61c2303133=(0xd2d+202-0xdf7);
-pr_info(
+(0xd2d+202-0xdf7);}static int DATARMNETc0cc5d08ba(struct sk_buff*
+DATARMNET543491eb0f,struct genl_info*DATARMNET54338da2ff){struct sk_buff*
+DATARMNET49b2094b56=NULL;int DATARMNET268a8314cf=(0xd2d+202-0xdf7);
+DATARMNET268a8314cf=DATARMNETe14c875532(&DATARMNET49b2094b56,&
+DATARMNET61e8f41aae,DATARMNET54338da2ff);if(DATARMNET268a8314cf)goto 
+DATARMNETbf4095f79e;if(!DATARMNET49b2094b56){DATARMNET268a8314cf=-EINVAL;goto 
+DATARMNETbf4095f79e;}genlmsg_reply(DATARMNET49b2094b56,DATARMNET54338da2ff);
+DATARMNETbf4095f79e:return DATARMNET268a8314cf;}static const struct genl_ops 
+DATARMNETf9df19988d[]={DATARMNET58eca5265b(DATARMNET0604500302,
+DATARMNET72501635c8),DATARMNET58eca5265b(DATARMNET91becfb9ac,DATARMNET41dd9b14ab
+),DATARMNET58eca5265b(DATARMNET14a3625b43,DATARMNETf1fa473089),
+DATARMNET58eca5265b(DATARMNET4478d3511b,DATARMNETcd9478470c),DATARMNET58eca5265b
+(DATARMNETc2d5a4e103,DATARMNETb86993aefb),DATARMNET58eca5265b(
+DATARMNET18145b00f6,DATARMNETc175a08219),DATARMNET58eca5265b(DATARMNETb8857fe6d9
+,DATARMNETc5f6c112ec),DATARMNET58eca5265b(DATARMNET6d50a30ec2,
+DATARMNETa6aec23397),DATARMNET58eca5265b(DATARMNET2e5d7ed755,DATARMNETa4773cb837
+),DATARMNET58eca5265b(DATARMNETd37aaf8b58,DATARMNET16add73734),
+DATARMNET58eca5265b(DATARMNET3626d362d4,DATARMNETb318ed4796),DATARMNET58eca5265b
+(DATARMNET433fe7da93,DATARMNET6a53c4576d),DATARMNET58eca5265b(
+DATARMNET77d31b75a3,DATARMNET425149b729),DATARMNET58eca5265b(DATARMNET7c479706fb
+,DATARMNETc0cc5d08ba),};static struct genl_family DATARMNET61e8f41aae={.name=
+DATARMNET040266f460,.version=DATARMNET7c442b83bb,.maxattr=DATARMNETebcc30fe04,.
+policy=DATARMNET0381a65e93,.ops=DATARMNETf9df19988d,.n_ops=ARRAY_SIZE(
+DATARMNETf9df19988d),};static int __init DATARMNET7eb0fa5c8f(void){int 
+DATARMNET61c2303133=(0xd2d+202-0xdf7);pr_info(
 "\x25\x73\x28\x29\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x77\x6c\x61\x6e\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x69\x6e\x67" "\n"
 ,__func__);DATARMNET61c2303133=genl_register_family(&DATARMNET61e8f41aae);if(
 DATARMNET61c2303133){pr_err(

+ 5 - 5
wlan/rmnet_wlan_genl.h

@@ -13,11 +13,11 @@
 enum{DATARMNET6ea2b7cfbe,DATARMNET0604500302,DATARMNET91becfb9ac,
 DATARMNET14a3625b43,DATARMNET4478d3511b,DATARMNETc2d5a4e103,DATARMNET18145b00f6,
 DATARMNETb8857fe6d9,DATARMNET6d50a30ec2,DATARMNET2e5d7ed755,DATARMNETd37aaf8b58,
-DATARMNET3626d362d4,DATARMNET433fe7da93,DATARMNET77d31b75a3,DATARMNETce1982dccc,
-};enum{DATARMNET09a5930cdf,DATARMNET4e9cd7b8bf,DATARMNETb8afde4a5a,
-DATARMNETea4b56dc2b,DATARMNET8bf80e4b66,DATARMNET44a9a789aa,DATARMNET149cafb1b7,
-DATARMNET185fd3de68,DATARMNETd996a18fa6,DATARMNETd3dacf7559,DATARMNETeaebe95912,
-DATARMNET0bfbea52c0,};
+DATARMNET3626d362d4,DATARMNET433fe7da93,DATARMNET77d31b75a3,DATARMNET7c479706fb,
+DATARMNETce1982dccc,};enum{DATARMNET09a5930cdf,DATARMNET4e9cd7b8bf,
+DATARMNETb8afde4a5a,DATARMNETea4b56dc2b,DATARMNET8bf80e4b66,DATARMNET44a9a789aa,
+DATARMNET149cafb1b7,DATARMNET185fd3de68,DATARMNETd996a18fa6,DATARMNETd3dacf7559,
+DATARMNETeaebe95912,DATARMNET0bfbea52c0,};
 #define DATARMNETebcc30fe04 (DATARMNET0bfbea52c0 - (0xd26+209-0xdf6))
 enum{DATARMNET0dcb7acdac,DATARMNET8c062d7709,DATARMNET93b5e3666d,};
 #define DATARMNETf6bbad94a5 (DATARMNET93b5e3666d - (0xd26+209-0xdf6))

+ 76 - 46
wlan/rmnet_wlan_main.c

@@ -25,14 +25,15 @@
 #include "rmnet_wlan_stats.h"
 #include "rmnet_wlan_fragment.h"
 #include "rmnet_wlan_connection.h"
-static char*verinfo[]={"\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[]={"\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))
@@ -48,19 +49,20 @@ DATARMNET954bef55d0);static DEFINE_HASHTABLE(DATARMNET133502ca0e,
 DATARMNET6b4ac8224c);static DEFINE_HASHTABLE(DATARMNET665d2f133f,
 DATARMNET6b4ac8224c);static DEFINE_MUTEX(DATARMNET38726379d1);static 
 DEFINE_SPINLOCK(DATARMNETe6ee7c273e);static char DATARMNET30500ba48c[IFNAMSIZ];
-static char DATARMNET755f0f0df8[IFNAMSIZ];struct DATARMNETe117226f58*
-DATARMNETcde6e442f5;static bool DATARMNET1e31b22eff(struct DATARMNETb89ecedefc*
-DATARMNETae0905b0b3,struct DATARMNETb89ecedefc*DATARMNETdb49f21565){if(
-DATARMNETae0905b0b3->DATARMNET0d956cc77a!=DATARMNETdb49f21565->
-DATARMNET0d956cc77a||DATARMNETae0905b0b3->DATARMNET4924e79411!=
-DATARMNETdb49f21565->DATARMNET4924e79411)return false;if(DATARMNETae0905b0b3->
-DATARMNET0d956cc77a==IPPROTO_ESP)return DATARMNETae0905b0b3->DATARMNET906b2ee561
-==DATARMNETdb49f21565->DATARMNET906b2ee561;return DATARMNETae0905b0b3->
-DATARMNETf0d9de7e2f==DATARMNETdb49f21565->DATARMNETf0d9de7e2f;}static int 
-DATARMNET0b72d312f9(struct DATARMNETb89ecedefc*DATARMNET3396919a68,struct 
-genl_info*DATARMNET54338da2ff)__must_hold(&DATARMNET63a2b7773e){struct 
-DATARMNET745f724205*DATARMNET63b1a086d5;rcu_read_lock();if(DATARMNET4eafcdee07(
-DATARMNET3396919a68)){rcu_read_unlock();GENL_SET_ERR_MSG(DATARMNET54338da2ff,
+static char DATARMNET755f0f0df8[IFNAMSIZ];static u32 DATARMNET7c77d83017;struct 
+DATARMNETe117226f58*DATARMNETcde6e442f5;static bool DATARMNET1e31b22eff(struct 
+DATARMNETb89ecedefc*DATARMNETae0905b0b3,struct DATARMNETb89ecedefc*
+DATARMNETdb49f21565){if(DATARMNETae0905b0b3->DATARMNET0d956cc77a!=
+DATARMNETdb49f21565->DATARMNET0d956cc77a||DATARMNETae0905b0b3->
+DATARMNET4924e79411!=DATARMNETdb49f21565->DATARMNET4924e79411)return false;if(
+DATARMNETae0905b0b3->DATARMNET0d956cc77a==IPPROTO_ESP)return DATARMNETae0905b0b3
+->DATARMNET906b2ee561==DATARMNETdb49f21565->DATARMNET906b2ee561;return 
+DATARMNETae0905b0b3->DATARMNETf0d9de7e2f==DATARMNETdb49f21565->
+DATARMNETf0d9de7e2f;}static int DATARMNET0b72d312f9(struct DATARMNETb89ecedefc*
+DATARMNET3396919a68,struct genl_info*DATARMNET54338da2ff)__must_hold(&
+DATARMNET63a2b7773e){struct DATARMNET745f724205*DATARMNET63b1a086d5;
+rcu_read_lock();if(DATARMNET4eafcdee07(DATARMNET3396919a68)){rcu_read_unlock();
+GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x54\x75\x70\x6c\x65\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x70\x72\x65\x73\x65\x6e\x74"
 );return-EEXIST;}rcu_read_unlock();DATARMNET63b1a086d5=kzalloc(sizeof(*
 DATARMNET63b1a086d5),GFP_KERNEL);if(!DATARMNET63b1a086d5){GENL_SET_ERR_MSG(
@@ -84,21 +86,22 @@ GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x4e\x6f\x20\x73\x75\x63\x68\x20\x74\x75\x70\x6c\x65");return-ESRCH;}static 
 void DATARMNETad43e44c7e(void){struct DATARMNET745f724205*DATARMNET63b1a086d5;
 struct hlist_node*DATARMNET0386f6f82a;int DATARMNET5c2fd31d7b;mutex_lock(&
-DATARMNET63a2b7773e);hash_for_each_safe(DATARMNET1903907456,DATARMNET5c2fd31d7b,
-DATARMNET0386f6f82a,DATARMNET63b1a086d5,DATARMNETe8608dd267){hash_del_rcu(&
-DATARMNET63b1a086d5->DATARMNETe8608dd267);kfree_rcu(DATARMNET63b1a086d5,
-DATARMNET28bfe9e6ad);}mutex_unlock(&DATARMNET63a2b7773e);}static bool 
-DATARMNET55aac1386b(struct DATARMNET8d3c2559ca*DATARMNET1476c48228,struct 
-DATARMNET8d3c2559ca*DATARMNET57a0f36a25){struct in6_addr DATARMNET4c8c2ca74e={.
-s6_addr32={4294967295,4294967295,(0xd2d+202-0xdf7),(0xd2d+202-0xdf7)},};if(
-DATARMNET1476c48228->DATARMNET0d956cc77a!=DATARMNET57a0f36a25->
-DATARMNET0d956cc77a)return false;if(DATARMNET1476c48228->DATARMNET0d956cc77a==
-(0xd11+230-0xdf3))return DATARMNET1476c48228->DATARMNET0dc14167a1==
-DATARMNET57a0f36a25->DATARMNET0dc14167a1;return!ipv6_masked_addr_cmp(&
-DATARMNET1476c48228->DATARMNET5700daac01,&DATARMNET4c8c2ca74e,&
-DATARMNET57a0f36a25->DATARMNET5700daac01);}struct DATARMNET41b426061d*
-DATARMNETcc0a01df2a(struct DATARMNET8d3c2559ca*DATARMNET54338da2ff)__must_hold(
-RCU){struct DATARMNET41b426061d*DATARMNET63b1a086d5;hash_for_each_possible_rcu(
+DATARMNET63a2b7773e);DATARMNET7c77d83017=(0xd2d+202-0xdf7);hash_for_each_safe(
+DATARMNET1903907456,DATARMNET5c2fd31d7b,DATARMNET0386f6f82a,DATARMNET63b1a086d5,
+DATARMNETe8608dd267){hash_del_rcu(&DATARMNET63b1a086d5->DATARMNETe8608dd267);
+kfree_rcu(DATARMNET63b1a086d5,DATARMNET28bfe9e6ad);}mutex_unlock(&
+DATARMNET63a2b7773e);}static bool DATARMNET55aac1386b(struct DATARMNET8d3c2559ca
+*DATARMNET1476c48228,struct DATARMNET8d3c2559ca*DATARMNET57a0f36a25){struct 
+in6_addr DATARMNET4c8c2ca74e={.s6_addr32={4294967295,4294967295,
+(0xd2d+202-0xdf7),(0xd2d+202-0xdf7)},};if(DATARMNET1476c48228->
+DATARMNET0d956cc77a!=DATARMNET57a0f36a25->DATARMNET0d956cc77a)return false;if(
+DATARMNET1476c48228->DATARMNET0d956cc77a==(0xd11+230-0xdf3))return 
+DATARMNET1476c48228->DATARMNET0dc14167a1==DATARMNET57a0f36a25->
+DATARMNET0dc14167a1;return!ipv6_masked_addr_cmp(&DATARMNET1476c48228->
+DATARMNET5700daac01,&DATARMNET4c8c2ca74e,&DATARMNET57a0f36a25->
+DATARMNET5700daac01);}struct DATARMNET41b426061d*DATARMNETcc0a01df2a(struct 
+DATARMNET8d3c2559ca*DATARMNET54338da2ff)__must_hold(RCU){struct 
+DATARMNET41b426061d*DATARMNET63b1a086d5;hash_for_each_possible_rcu(
 DATARMNET78ed39f13b,DATARMNET63b1a086d5,DATARMNETe8608dd267,DATARMNET54338da2ff
 ->DATARMNET0dc14167a1){if(DATARMNET55aac1386b(&DATARMNET63b1a086d5->
 DATARMNET7ed5754a5c,DATARMNET54338da2ff))return DATARMNET63b1a086d5;}return NULL
@@ -455,20 +458,21 @@ DATARMNETefc9df3df2;mutex_lock(&DATARMNET63a2b7773e);for(DATARMNETefc9df3df2=
 (0xd2d+202-0xdf7);DATARMNETefc9df3df2<DATARMNETef77661260;DATARMNETefc9df3df2++)
 {DATARMNET268a8314cf=DATARMNET0b72d312f9(&DATARMNETcadc2ef9aa[
 DATARMNETefc9df3df2],DATARMNET54338da2ff);if(DATARMNET268a8314cf){if(
-DATARMNET268a8314cf==-EEXIST)DATARMNET268a8314cf=(0xd2d+202-0xdf7);else break;}}
-mutex_unlock(&DATARMNET63a2b7773e);return DATARMNET268a8314cf;}int 
-DATARMNET07f6485c9b(struct DATARMNETb89ecedefc*DATARMNETcadc2ef9aa,u32 
-DATARMNETef77661260,struct genl_info*DATARMNET54338da2ff){int 
-DATARMNET268a8314cf=(0xd2d+202-0xdf7);u32 DATARMNETefc9df3df2;mutex_lock(&
+DATARMNET268a8314cf==-EEXIST)DATARMNET268a8314cf=(0xd2d+202-0xdf7);else break;}
+else{DATARMNET7c77d83017++;}}mutex_unlock(&DATARMNET63a2b7773e);return 
+DATARMNET268a8314cf;}int DATARMNET07f6485c9b(struct DATARMNETb89ecedefc*
+DATARMNETcadc2ef9aa,u32 DATARMNETef77661260,struct genl_info*DATARMNET54338da2ff
+){int DATARMNET268a8314cf=(0xd2d+202-0xdf7);u32 DATARMNETefc9df3df2;mutex_lock(&
 DATARMNET63a2b7773e);for(DATARMNETefc9df3df2=(0xd2d+202-0xdf7);
 DATARMNETefc9df3df2<DATARMNETef77661260;DATARMNETefc9df3df2++){
 DATARMNET268a8314cf=DATARMNET79343e3135(&DATARMNETcadc2ef9aa[DATARMNETefc9df3df2
 ],DATARMNET54338da2ff);if(DATARMNET268a8314cf){if(DATARMNET268a8314cf==-ESRCH)
-DATARMNET268a8314cf=(0xd2d+202-0xdf7);else break;}}mutex_unlock(&
-DATARMNET63a2b7773e);return DATARMNET268a8314cf;}int DATARMNET97b2388e63(char*
-DATARMNET852d4d00e2,struct genl_info*DATARMNET54338da2ff){int 
-DATARMNET268a8314cf;if(!DATARMNETaba2beb199(DATARMNET30500ba48c,
-DATARMNET852d4d00e2,IFNAMSIZ)){GENL_SET_ERR_MSG(DATARMNET54338da2ff,
+DATARMNET268a8314cf=(0xd2d+202-0xdf7);else break;}else{DATARMNET7c77d83017--;}}
+mutex_unlock(&DATARMNET63a2b7773e);return DATARMNET268a8314cf;}int 
+DATARMNET97b2388e63(char*DATARMNET852d4d00e2,struct genl_info*
+DATARMNET54338da2ff){int DATARMNET268a8314cf;if(!DATARMNETaba2beb199(
+DATARMNET30500ba48c,DATARMNET852d4d00e2,IFNAMSIZ)){GENL_SET_ERR_MSG(
+DATARMNET54338da2ff,
 "\x44\x65\x76\x69\x63\x65\x20\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x73\x65\x74"
 );return(0xd2d+202-0xdf7);}DATARMNET268a8314cf=DATARMNET116f9a46aa();if(
 DATARMNET268a8314cf){GENL_SET_ERR_MSG(DATARMNET54338da2ff,
@@ -530,6 +534,32 @@ 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 
+nlattr*DATARMNET4186ba2d8f;DATARMNET4186ba2d8f=nla_nest_start(
+DATARMNET543491eb0f,DATARMNET4e9cd7b8bf);if(!DATARMNET4186ba2d8f)return-EINVAL;
+if(nla_put(DATARMNET543491eb0f,DATARMNET8c062d7709,sizeof(*DATARMNET3396919a68),
+DATARMNET3396919a68)){nla_nest_cancel(DATARMNET543491eb0f,DATARMNET4186ba2d8f);
+return-EINVAL;}nla_nest_end(DATARMNET543491eb0f,DATARMNET4186ba2d8f);return
+(0xd2d+202-0xdf7);}int DATARMNETe14c875532(struct sk_buff**DATARMNET89946cec52,
+struct genl_family*DATARMNET4a4aca7220,struct genl_info*DATARMNET54338da2ff){
+struct DATARMNET745f724205*DATARMNET63b1a086d5;struct sk_buff*
+DATARMNET49b2094b56=NULL;struct nlattr*DATARMNETa5d4001a4a;int 
+DATARMNETd6c25fe6b5;int DATARMNET268a8314cf=(0xd2d+202-0xdf7);void*
+DATARMNET9eab1e957c;int DATARMNET5c2fd31d7b;mutex_lock(&DATARMNET63a2b7773e);
+DATARMNETd6c25fe6b5=nla_total_size(nla_total_size(sizeof(DATARMNET63b1a086d5->
+DATARMNET54338da2ff))*DATARMNET7c77d83017);DATARMNET49b2094b56=genlmsg_new(
+DATARMNETd6c25fe6b5,GFP_KERNEL);if(!DATARMNET49b2094b56)return-ENOMEM;
+DATARMNET9eab1e957c=genlmsg_put_reply(DATARMNET49b2094b56,DATARMNET54338da2ff,
+DATARMNET4a4aca7220,(0xd2d+202-0xdf7),DATARMNET7c479706fb);if(!
+DATARMNET9eab1e957c){kfree(DATARMNET49b2094b56);return-EINVAL;}
+DATARMNETa5d4001a4a=nla_nest_start(DATARMNET49b2094b56,DATARMNET4e9cd7b8bf);if(!
+DATARMNETa5d4001a4a){kfree(DATARMNET49b2094b56);return-EINVAL;}hash_for_each(
+DATARMNET1903907456,DATARMNET5c2fd31d7b,DATARMNET63b1a086d5,DATARMNETe8608dd267)
+DATARMNETed41dd2d3f(DATARMNET49b2094b56,&DATARMNET63b1a086d5->
+DATARMNET54338da2ff);nla_nest_end(DATARMNET49b2094b56,DATARMNETa5d4001a4a);
+genlmsg_end(DATARMNET49b2094b56,DATARMNET9eab1e957c);*DATARMNET89946cec52=
+DATARMNET49b2094b56;mutex_unlock(&DATARMNET63a2b7773e);return 
 DATARMNET268a8314cf;}int DATARMNET078f6bd384(void){DATARMNETbb4efa5b3d();return
 (0xd2d+202-0xdf7);}void DATARMNETfae36afa03(void){DATARMNETbb4efa5b3d();}char*
 DATARMNET934406764d(void){return DATARMNET30500ba48c;}char*DATARMNETe447822105(