diff options
author | Elmer Melendez <quic_emelende@quicinc.com> | 2022-07-15 00:03:27 -0600 |
---|---|---|
committer | Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com> | 2022-07-15 00:04:06 -0600 |
commit | 9f32de2980b0f209ca735474a7fa451f4a457c80 (patch) | |
tree | a083a124f68edbad812d5241606dbd03e95342a0 | |
parent | 80a22614ae6d5502a218bcc5813d0021a78f0c51 (diff) | |
download | datarmnet-ext-9f32de2980b0f209ca735474a7fa451f4a457c80.tar.gz |
rmnet_wlan: I5d8ed820e4414371b966a52916d0765946560b14
Updates the module to version I5d8ed820e4414371b966a52916d0765946560b14
CRs-Fixed: 3223941
Change-Id: I5d8ed820e4414371b966a52916d0765946560b14
Signed-off-by: Elmer Melendez <quic_emelende@quicinc.com>
-rw-r--r-- | wlan/rmnet_wlan.h | 4 | ||||
-rw-r--r-- | wlan/rmnet_wlan_genl.c | 56 | ||||
-rw-r--r-- | wlan/rmnet_wlan_genl.h | 10 | ||||
-rw-r--r-- | wlan/rmnet_wlan_main.c | 122 |
4 files changed, 116 insertions, 76 deletions
diff --git a/wlan/rmnet_wlan.h b/wlan/rmnet_wlan.h index e08362c..a39e1d2 100644 --- a/wlan/rmnet_wlan.h +++ b/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* diff --git a/wlan/rmnet_wlan_genl.c b/wlan/rmnet_wlan_genl.c index d8a54eb..1fb6933 100644 --- a/wlan/rmnet_wlan_genl.c +++ b/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( diff --git a/wlan/rmnet_wlan_genl.h b/wlan/rmnet_wlan_genl.h index dd9886e..f38f368 100644 --- a/wlan/rmnet_wlan_genl.h +++ b/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)) diff --git a/wlan/rmnet_wlan_main.c b/wlan/rmnet_wlan_main.c index 4a52a15..b4f766b 100644 --- a/wlan/rmnet_wlan_main.c +++ b/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( |