summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElmer Melendez <quic_emelende@quicinc.com>2022-07-15 00:03:27 -0600
committerSubash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>2022-07-15 00:04:06 -0600
commit9f32de2980b0f209ca735474a7fa451f4a457c80 (patch)
treea083a124f68edbad812d5241606dbd03e95342a0
parent80a22614ae6d5502a218bcc5813d0021a78f0c51 (diff)
downloaddatarmnet-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.h4
-rw-r--r--wlan/rmnet_wlan_genl.c56
-rw-r--r--wlan/rmnet_wlan_genl.h10
-rw-r--r--wlan/rmnet_wlan_main.c122
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(