Pārlūkot izejas kodu

rmnet_wlan: Icc783caecf0e0f0ebc252c85d183f4d3088db8d1

Updates the module to version Icc783caecf0e0f0ebc252c85d183f4d3088db8d1.

Change-Id: I31d519cf5bf1147888f90b0d466ff425762f9e1c
Signed-off-by: Sean Tranchetti <[email protected]>
Sean Tranchetti 4 gadi atpakaļ
vecāks
revīzija
69abcf5788
4 mainītis faili ar 89 papildinājumiem un 138 dzēšanām
  1. 10 14
      wlan/rmnet_wlan_connection.c
  2. 17 21
      wlan/rmnet_wlan_fragment.c
  3. 13 45
      wlan/rmnet_wlan_genl.c
  4. 49 58
      wlan/rmnet_wlan_main.c

+ 10 - 14
wlan/rmnet_wlan_connection.c

@@ -35,20 +35,16 @@ DATARMNETdfe430c2d6&&DATARMNET75decd6f60->DATARMNET2cb607d686==
 DATARMNET6745cad668->DATARMNET2cb607d686;return!ipv6_addr_cmp(&
 DATARMNET75decd6f60->DATARMNET815cbb4bf5,&DATARMNET6745cad668->
 DATARMNET815cbb4bf5)&&!ipv6_addr_cmp(&DATARMNET75decd6f60->DATARMNETc3f31215b7,&
-DATARMNET6745cad668->DATARMNETc3f31215b7);}static void DATARMNETefaa1f4094(
-struct rcu_head*DATARMNET28bfe9e6ad){struct DATARMNET4f49486833*
-DATARMNET63b1a086d5;DATARMNET63b1a086d5=container_of(DATARMNET28bfe9e6ad,struct 
-DATARMNET4f49486833,DATARMNET28bfe9e6ad);if(DATARMNET63b1a086d5)kfree(
-DATARMNET63b1a086d5);}static enum hrtimer_restart DATARMNET299a8a08b5(struct 
-hrtimer*DATARMNET6e4292679f){struct DATARMNET4f49486833*DATARMNET63b1a086d5;
-unsigned long DATARMNETfb0677cc3c;spin_lock_irqsave(&DATARMNET820642743b,
-DATARMNETfb0677cc3c);DATARMNET63b1a086d5=container_of(DATARMNET6e4292679f,struct
- DATARMNET4f49486833,DATARMNET9f31ce5d2d);hash_del_rcu(&DATARMNET63b1a086d5->
-DATARMNETe8608dd267);call_rcu(&DATARMNET63b1a086d5->DATARMNET28bfe9e6ad,
-DATARMNETefaa1f4094);spin_unlock_irqrestore(&DATARMNET820642743b,
-DATARMNETfb0677cc3c);return HRTIMER_NORESTART;}static rx_handler_result_t 
-DATARMNET68fe094884(struct sk_buff**DATARMNET89946cec52){struct 
-DATARMNET0ca9d8ead7 DATARMNETa76763310b={};struct DATARMNET4f49486833*
+DATARMNET6745cad668->DATARMNETc3f31215b7);}static enum hrtimer_restart 
+DATARMNET299a8a08b5(struct hrtimer*DATARMNET6e4292679f){struct 
+DATARMNET4f49486833*DATARMNET63b1a086d5;unsigned long DATARMNETfb0677cc3c;
+spin_lock_irqsave(&DATARMNET820642743b,DATARMNETfb0677cc3c);DATARMNET63b1a086d5=
+container_of(DATARMNET6e4292679f,struct DATARMNET4f49486833,DATARMNET9f31ce5d2d)
+;hash_del_rcu(&DATARMNET63b1a086d5->DATARMNETe8608dd267);kfree_rcu(
+DATARMNET63b1a086d5,DATARMNET28bfe9e6ad);spin_unlock_irqrestore(&
+DATARMNET820642743b,DATARMNETfb0677cc3c);return HRTIMER_NORESTART;}static 
+rx_handler_result_t DATARMNET68fe094884(struct sk_buff**DATARMNET89946cec52){
+struct DATARMNET0ca9d8ead7 DATARMNETa76763310b={};struct DATARMNET4f49486833*
 DATARMNET63b1a086d5;struct sk_buff*DATARMNET543491eb0f=*DATARMNET89946cec52;
 unsigned long DATARMNETfb0677cc3c;if(!DATARMNET543491eb0f||DATARMNET543491eb0f->
 pkt_type==PACKET_LOOPBACK)goto DATARMNETbf4095f79e;if(DATARMNET543491eb0f->

+ 17 - 21
wlan/rmnet_wlan_fragment.c

@@ -81,27 +81,23 @@ list_del_init(&DATARMNET543491eb0f->list);if(IS_ERR_OR_NULL(DATARMNET54338da2ff)
 DATARMNET543491eb0f,DATARMNET54338da2ff)){DATARMNET248f120dd5=
 DATARMNETba232077da;DATARMNET456ac0e8eb(DATARMNET543491eb0f);}else{
 DATARMNET248f120dd5=DATARMNET7a58a5c1fc;}DATARMNET5ca94dbc3c(DATARMNET248f120dd5
-);}}static void DATARMNET2c78b44a19(struct rcu_head*DATARMNET28bfe9e6ad){struct 
-DATARMNET6f3b954709*DATARMNET63b1a086d5;DATARMNET63b1a086d5=container_of(
-DATARMNET28bfe9e6ad,struct DATARMNET6f3b954709,DATARMNET28bfe9e6ad);if(
-DATARMNET63b1a086d5)kfree(DATARMNET63b1a086d5);}static enum hrtimer_restart 
-DATARMNETef43eced5f(struct hrtimer*DATARMNET6e4292679f){struct 
-DATARMNET6f3b954709*DATARMNET63b1a086d5;unsigned long DATARMNETfb0677cc3c;
-spin_lock_irqsave(&DATARMNET531b038fcd,DATARMNETfb0677cc3c);DATARMNET63b1a086d5=
-container_of(DATARMNET6e4292679f,struct DATARMNET6f3b954709,DATARMNET9f31ce5d2d)
-;hash_del_rcu(&DATARMNET63b1a086d5->DATARMNETe8608dd267);DATARMNETc7c83f614f(
-DATARMNET63b1a086d5,false);call_rcu(&DATARMNET63b1a086d5->DATARMNET28bfe9e6ad,
-DATARMNET2c78b44a19);spin_unlock_irqrestore(&DATARMNET531b038fcd,
-DATARMNETfb0677cc3c);DATARMNET5ca94dbc3c(DATARMNETd691057b85);return 
-HRTIMER_NORESTART;}static bool DATARMNETc529ac78b2(struct DATARMNETdadb4e2c65*
-DATARMNET75decd6f60,struct DATARMNETdadb4e2c65*DATARMNET6745cad668){if(
-DATARMNET75decd6f60->DATARMNET0d956cc77a!=DATARMNET6745cad668->
-DATARMNET0d956cc77a||DATARMNET75decd6f60->id!=DATARMNET6745cad668->id)return 
-false;if(DATARMNET75decd6f60->DATARMNET0d956cc77a==(0xd11+230-0xdf3))return 
-DATARMNET75decd6f60->DATARMNETdfe430c2d6==DATARMNET6745cad668->
-DATARMNETdfe430c2d6&&DATARMNET75decd6f60->DATARMNET2cb607d686==
-DATARMNET6745cad668->DATARMNET2cb607d686;return!ipv6_addr_cmp(&
-DATARMNET75decd6f60->DATARMNET815cbb4bf5,&DATARMNET6745cad668->
+);}}static enum hrtimer_restart DATARMNETef43eced5f(struct hrtimer*
+DATARMNET6e4292679f){struct DATARMNET6f3b954709*DATARMNET63b1a086d5;unsigned 
+long DATARMNETfb0677cc3c;spin_lock_irqsave(&DATARMNET531b038fcd,
+DATARMNETfb0677cc3c);DATARMNET63b1a086d5=container_of(DATARMNET6e4292679f,struct
+ DATARMNET6f3b954709,DATARMNET9f31ce5d2d);hash_del_rcu(&DATARMNET63b1a086d5->
+DATARMNETe8608dd267);DATARMNETc7c83f614f(DATARMNET63b1a086d5,false);kfree_rcu(
+DATARMNET63b1a086d5,DATARMNET28bfe9e6ad);spin_unlock_irqrestore(&
+DATARMNET531b038fcd,DATARMNETfb0677cc3c);DATARMNET5ca94dbc3c(DATARMNETd691057b85
+);return HRTIMER_NORESTART;}static bool DATARMNETc529ac78b2(struct 
+DATARMNETdadb4e2c65*DATARMNET75decd6f60,struct DATARMNETdadb4e2c65*
+DATARMNET6745cad668){if(DATARMNET75decd6f60->DATARMNET0d956cc77a!=
+DATARMNET6745cad668->DATARMNET0d956cc77a||DATARMNET75decd6f60->id!=
+DATARMNET6745cad668->id)return false;if(DATARMNET75decd6f60->DATARMNET0d956cc77a
+==(0xd11+230-0xdf3))return DATARMNET75decd6f60->DATARMNETdfe430c2d6==
+DATARMNET6745cad668->DATARMNETdfe430c2d6&&DATARMNET75decd6f60->
+DATARMNET2cb607d686==DATARMNET6745cad668->DATARMNET2cb607d686;return!
+ipv6_addr_cmp(&DATARMNET75decd6f60->DATARMNET815cbb4bf5,&DATARMNET6745cad668->
 DATARMNET815cbb4bf5)&&!ipv6_addr_cmp(&DATARMNET75decd6f60->DATARMNETc3f31215b7,&
 DATARMNET6745cad668->DATARMNETc3f31215b7);}static struct DATARMNET6f3b954709*
 DATARMNET52b387f6cd(struct DATARMNETdadb4e2c65*DATARMNET54338da2ff){struct 

+ 13 - 45
wlan/rmnet_wlan_genl.c

@@ -101,40 +101,7 @@ DATARMNETa903cd5994((DATARMNETef7cdd7b6b)?nla_data(DATARMNETef7cdd7b6b):NULL,
 DATARMNET54338da2ff);if(DATARMNET268a8314cf)GENL_SET_ERR_MSG(DATARMNET54338da2ff
 ,
 "\x4b\x65\x72\x6e\x65\x6c\x20\x65\x72\x72\x6f\x72\x2c\x20\x75\x6e\x72\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x20\x6e\x6f\x74\x69\x66\x69\x65\x72\x20\x66\x61\x69\x6c\x65\x64"
-);return DATARMNET268a8314cf;}static int DATARMNETb58e83bef5(const char*
-DATARMNETc5a5c7fda2,int DATARMNETdb8d3e0f02,u8*DATARMNET1be23954c3){int len=
-(0xd2d+202-0xdf7),DATARMNET887a22d0e2=(0xd2d+202-0xdf7),DATARMNETb14e52a504=
-(0xd2d+202-0xdf7);char DATARMNET4306ab415b[(0xec7+1166-0x132d)],*
-DATARMNETab6f68a65c;u16 DATARMNET87504a9b3a=(0xd2d+202-0xdf7);memset(
-DATARMNET4306ab415b,(0xd2d+202-0xdf7),(0xec7+1166-0x132d));memcpy(
-DATARMNET4306ab415b,DATARMNETc5a5c7fda2,DATARMNETdb8d3e0f02>(0xec7+1166-0x132d)?
-(0xec7+1166-0x132d):DATARMNETdb8d3e0f02);DATARMNETab6f68a65c=DATARMNET4306ab415b
-;while(len<=DATARMNETdb8d3e0f02){if(DATARMNET4306ab415b[len]!=
-((char)(0x1d6b+883-0x20a4))&&DATARMNET4306ab415b[len]!='\0'){len++;continue;}
-DATARMNET4306ab415b[len]='\0';DATARMNETb14e52a504=kstrtou16((const char*)
-DATARMNETab6f68a65c,(0xeb7+1158-0x132d),&DATARMNET87504a9b3a);if(
-DATARMNETb14e52a504)return(0xd2d+202-0xdf7);DATARMNET1be23954c3[
-DATARMNET887a22d0e2]=(u8)(DATARMNET87504a9b3a>>(0xd35+210-0xdff));
-DATARMNET1be23954c3[DATARMNET887a22d0e2+(0xd26+209-0xdf6)]=(u8)(
-DATARMNET87504a9b3a&(0xbf7+4364-0x1c04));DATARMNET887a22d0e2+=(0xd1f+216-0xdf5);
-if(DATARMNET887a22d0e2==(0xeb7+1158-0x132d))return(0xd26+209-0xdf6);
-DATARMNETab6f68a65c=&DATARMNET4306ab415b[len+(0xd26+209-0xdf6)];len++;}return
-(0xd26+209-0xdf6);}static int DATARMNET631d317abe(const char*DATARMNETc5a5c7fda2
-,int DATARMNETdb8d3e0f02,u8*DATARMNET1be23954c3){int len=(0xd2d+202-0xdf7),
-DATARMNET887a22d0e2=(0xd2d+202-0xdf7),DATARMNETb14e52a504=(0xd2d+202-0xdf7);char
- DATARMNET4306ab415b[(0xeb7+1158-0x132d)],*DATARMNETab6f68a65c;u8 
-DATARMNET87504a9b3a=(0xd2d+202-0xdf7);memset(DATARMNET4306ab415b,
-(0xd2d+202-0xdf7),(0xeb7+1158-0x132d));memcpy(DATARMNET4306ab415b,
-DATARMNETc5a5c7fda2,DATARMNETdb8d3e0f02>(0xeb7+1158-0x132d)?(0xeb7+1158-0x132d):
-DATARMNETdb8d3e0f02);DATARMNETab6f68a65c=DATARMNET4306ab415b;while(len<=
-DATARMNETdb8d3e0f02){if(DATARMNET4306ab415b[len]!=((char)(0x37f+3988-0x12e5))&&
-DATARMNET4306ab415b[len]!='\0'){len++;continue;}DATARMNET4306ab415b[len]='\0';
-DATARMNETb14e52a504=kstrtou8((const char*)DATARMNETab6f68a65c,(0xd2d+202-0xdf7),
-&DATARMNET87504a9b3a);if(DATARMNETb14e52a504)return(0xd2d+202-0xdf7);
-DATARMNET1be23954c3[DATARMNET887a22d0e2]=DATARMNET87504a9b3a;DATARMNET887a22d0e2
-++;if(DATARMNET887a22d0e2==(0xd11+230-0xdf3))return(0xd26+209-0xdf6);
-DATARMNETab6f68a65c=&DATARMNET4306ab415b[len+(0xd26+209-0xdf6)];len++;}return
-(0xd26+209-0xdf6);}static int DATARMNETb86993aefb(struct sk_buff*
+);return DATARMNET268a8314cf;}static int DATARMNETb86993aefb(struct sk_buff*
 DATARMNET543491eb0f,struct genl_info*DATARMNET54338da2ff){struct 
 DATARMNET8d3c2559ca DATARMNET2d4b4cfc9e={};struct nlattr*DATARMNETef7cdd7b6b;
 char*DATARMNETd7f4d7c495;int DATARMNET268a8314cf;if(!DATARMNET54338da2ff->attrs[
@@ -143,15 +110,15 @@ GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x4d\x75\x73\x74\x20\x73\x70\x65\x63\x69\x66\x79\x20\x46\x57\x44\x20\x64\x65\x76\x69\x63\x65\x20\x61\x6e\x64\x20\x61\x64\x64\x72\x65\x73\x73"
 );return-EINVAL;}DATARMNETef7cdd7b6b=DATARMNET54338da2ff->attrs[
 DATARMNETea4b56dc2b];DATARMNETd7f4d7c495=nla_data(DATARMNETef7cdd7b6b);if(strchr
-(DATARMNETd7f4d7c495,((char)(0x5bc+2978-0x1124)))){if(DATARMNETb58e83bef5(
+(DATARMNETd7f4d7c495,((char)(0x1076+2199-0x18d3)))){if(in6_pton(
 DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),DATARMNET2d4b4cfc9e.
-DATARMNET5700daac01.s6_addr)!=(0xd26+209-0xdf6)){GENL_SET_ERR_MSG(
-DATARMNET54338da2ff,
+DATARMNET5700daac01.s6_addr,-(0xd26+209-0xdf6),NULL)!=(0xd26+209-0xdf6)){
+GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x46\x57\x44\x20\x61\x64\x64\x72\x65\x73\x73\x20\x69\x73\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x6e\x20\x49\x50\x76\x36"
 );return-EINVAL;}DATARMNET2d4b4cfc9e.DATARMNET0d956cc77a=(0xd03+244-0xdf1);}else
-{if(DATARMNET631d317abe(DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),(u8*)&
-DATARMNET2d4b4cfc9e.DATARMNET0dc14167a1)!=(0xd26+209-0xdf6)){GENL_SET_ERR_MSG(
-DATARMNET54338da2ff,
+{if(in4_pton(DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),(u8*)&
+DATARMNET2d4b4cfc9e.DATARMNET0dc14167a1,-(0xd26+209-0xdf6),NULL)!=
+(0xd26+209-0xdf6)){GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x46\x57\x44\x20\x61\x64\x64\x72\x65\x73\x73\x20\x69\x73\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x6e\x20\x49\x50\x76\x34"
 );return-EINVAL;}DATARMNET2d4b4cfc9e.DATARMNET0d956cc77a=(0xd11+230-0xdf3);}
 DATARMNETef7cdd7b6b=DATARMNET54338da2ff->attrs[DATARMNET8bf80e4b66];
@@ -170,14 +137,15 @@ GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x4d\x75\x73\x74\x20\x73\x70\x65\x63\x69\x66\x79\x20\x46\x57\x44\x20\x64\x65\x76\x69\x63\x65\x20\x61\x6e\x64\x20\x61\x64\x64\x72\x65\x73\x73"
 );return-EINVAL;}DATARMNETef7cdd7b6b=DATARMNET54338da2ff->attrs[
 DATARMNETea4b56dc2b];DATARMNETd7f4d7c495=nla_data(DATARMNETef7cdd7b6b);if(strchr
-(DATARMNETd7f4d7c495,((char)(0x7e1+4414-0x18e5)))){if(DATARMNETb58e83bef5(
+(DATARMNETd7f4d7c495,((char)(0x1424+3597-0x21f7)))){if(in6_pton(
 DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),DATARMNET2d4b4cfc9e.
-DATARMNET5700daac01.s6_addr)!=(0xd26+209-0xdf6)){GENL_SET_ERR_MSG(
-DATARMNET54338da2ff,
+DATARMNET5700daac01.s6_addr,-(0xd26+209-0xdf6),NULL)!=(0xd26+209-0xdf6)){
+GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x46\x57\x44\x20\x61\x64\x64\x72\x65\x73\x73\x20\x69\x73\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x6e\x20\x49\x50\x76\x36"
 );return-EINVAL;}DATARMNET2d4b4cfc9e.DATARMNET0d956cc77a=(0xd03+244-0xdf1);}else
-{if(DATARMNET631d317abe(DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),(u8*)&
-DATARMNET2d4b4cfc9e.DATARMNET0dc14167a1)){GENL_SET_ERR_MSG(DATARMNET54338da2ff,
+{if(in4_pton(DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),(u8*)&
+DATARMNET2d4b4cfc9e.DATARMNET0dc14167a1,-(0xd26+209-0xdf6),NULL)!=
+(0xd26+209-0xdf6)){GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x46\x57\x44\x20\x61\x64\x64\x72\x65\x73\x73\x20\x69\x73\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x6e\x20\x49\x50\x76\x34"
 );return-EINVAL;}DATARMNET2d4b4cfc9e.DATARMNET0d956cc77a=(0xd11+230-0xdf3);}
 DATARMNETef7cdd7b6b=DATARMNET54338da2ff->attrs[DATARMNET8bf80e4b66];

+ 49 - 58
wlan/rmnet_wlan_main.c

@@ -57,18 +57,14 @@ DATARMNET3396919a68,sizeof(*DATARMNET3396919a68));INIT_HLIST_NODE(&
 DATARMNET63b1a086d5->DATARMNETe8608dd267);hash_add_rcu(DATARMNET1903907456,&
 DATARMNET63b1a086d5->DATARMNETe8608dd267,DATARMNET3396919a68->
 DATARMNETf0d9de7e2f);DATARMNET5ca94dbc3c(DATARMNET12d881921a);return
-(0xd2d+202-0xdf7);}static void DATARMNET440ec83e44(struct rcu_head*
-DATARMNET28bfe9e6ad){struct DATARMNET745f724205*DATARMNET63b1a086d5;
-DATARMNET63b1a086d5=container_of(DATARMNET28bfe9e6ad,struct DATARMNET745f724205,
-DATARMNET28bfe9e6ad);if(DATARMNET63b1a086d5)kfree(DATARMNET63b1a086d5);}static 
-int DATARMNET79343e3135(struct DATARMNETb89ecedefc*DATARMNET3396919a68,struct 
-genl_info*DATARMNET54338da2ff)__must_hold(&DATARMNET63a2b7773e){struct 
-DATARMNET745f724205*DATARMNET63b1a086d5;struct hlist_node*DATARMNET0386f6f82a;
-hash_for_each_possible_safe(DATARMNET1903907456,DATARMNET63b1a086d5,
-DATARMNET0386f6f82a,DATARMNETe8608dd267,DATARMNET3396919a68->DATARMNETf0d9de7e2f
-){if(DATARMNET1e31b22eff(&DATARMNET63b1a086d5->DATARMNET54338da2ff,
-DATARMNET3396919a68)){hash_del_rcu(&DATARMNET63b1a086d5->DATARMNETe8608dd267);
-call_rcu(&DATARMNET63b1a086d5->DATARMNET28bfe9e6ad,DATARMNET440ec83e44);
+(0xd2d+202-0xdf7);}static int DATARMNET79343e3135(struct DATARMNETb89ecedefc*
+DATARMNET3396919a68,struct genl_info*DATARMNET54338da2ff)__must_hold(&
+DATARMNET63a2b7773e){struct DATARMNET745f724205*DATARMNET63b1a086d5;struct 
+hlist_node*DATARMNET0386f6f82a;hash_for_each_possible_safe(DATARMNET1903907456,
+DATARMNET63b1a086d5,DATARMNET0386f6f82a,DATARMNETe8608dd267,DATARMNET3396919a68
+->DATARMNETf0d9de7e2f){if(DATARMNET1e31b22eff(&DATARMNET63b1a086d5->
+DATARMNET54338da2ff,DATARMNET3396919a68)){hash_del_rcu(&DATARMNET63b1a086d5->
+DATARMNETe8608dd267);kfree_rcu(DATARMNET63b1a086d5,DATARMNET28bfe9e6ad);
 DATARMNET5ca94dbc3c(DATARMNET9f24b86462);return(0xd2d+202-0xdf7);}}
 GENL_SET_ERR_MSG(DATARMNET54338da2ff,
 "\x4e\x6f\x20\x73\x75\x63\x68\x20\x74\x75\x70\x6c\x65");return-ESRCH;}static 
@@ -76,41 +72,40 @@ 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);call_rcu(&DATARMNET63b1a086d5->
-DATARMNET28bfe9e6ad,DATARMNET440ec83e44);}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);}static 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;}static int 
-DATARMNETe98553a8fc(struct notifier_block*DATARMNET272c159b3c,unsigned long 
-DATARMNET7f045a1e6e,void*data){struct net_device*DATARMNET00dcb79bc4=
-netdev_notifier_info_to_dev(data);struct DATARMNET41b426061d*DATARMNET2d4b4cfc9e
-;DATARMNET2d4b4cfc9e=container_of(DATARMNET272c159b3c,struct DATARMNET41b426061d
-,DATARMNET272c159b3c);if(!DATARMNET00dcb79bc4||strncmp(DATARMNET00dcb79bc4->name
-,DATARMNET2d4b4cfc9e->DATARMNET852d4d00e2,IFNAMSIZ))return NOTIFY_DONE;switch(
-DATARMNET7f045a1e6e){case NETDEV_UNREGISTER:if(DATARMNET2d4b4cfc9e->
-DATARMNET7ed5754a5c.DATARMNET57656f6f2f){dev_put(DATARMNET2d4b4cfc9e->
-DATARMNET7ed5754a5c.DATARMNET57656f6f2f);WRITE_ONCE(DATARMNET2d4b4cfc9e->
-DATARMNET7ed5754a5c.DATARMNET57656f6f2f,NULL);}break;case NETDEV_REGISTER:if(!
-DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c.DATARMNET57656f6f2f){dev_hold(
-DATARMNET00dcb79bc4);WRITE_ONCE(DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c.
-DATARMNET57656f6f2f,DATARMNET00dcb79bc4);}break;default:break;}return 
-NOTIFY_DONE;}static int DATARMNET1ac13d5a2a(struct DATARMNET8d3c2559ca*
-DATARMNET7ed5754a5c,struct genl_info*DATARMNET54338da2ff)__must_hold(&
-DATARMNETf46fb02ac6){struct DATARMNET41b426061d*DATARMNET2d4b4cfc9e;int 
-DATARMNET268a8314cf;rcu_read_lock();DATARMNET2d4b4cfc9e=DATARMNETcc0a01df2a(
-DATARMNET7ed5754a5c);if(DATARMNET2d4b4cfc9e){GENL_SET_ERR_MSG(
+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);}static 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
+;}static int DATARMNETe98553a8fc(struct notifier_block*DATARMNET272c159b3c,
+unsigned long DATARMNET7f045a1e6e,void*data){struct net_device*
+DATARMNET00dcb79bc4=netdev_notifier_info_to_dev(data);struct DATARMNET41b426061d
+*DATARMNET2d4b4cfc9e;DATARMNET2d4b4cfc9e=container_of(DATARMNET272c159b3c,struct
+ DATARMNET41b426061d,DATARMNET272c159b3c);if(!DATARMNET00dcb79bc4||strncmp(
+DATARMNET00dcb79bc4->name,DATARMNET2d4b4cfc9e->DATARMNET852d4d00e2,IFNAMSIZ))
+return NOTIFY_DONE;switch(DATARMNET7f045a1e6e){case NETDEV_UNREGISTER:if(
+DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c.DATARMNET57656f6f2f){dev_put(
+DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c.DATARMNET57656f6f2f);WRITE_ONCE(
+DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c.DATARMNET57656f6f2f,NULL);}break;case 
+NETDEV_REGISTER:if(!DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c.DATARMNET57656f6f2f
+){dev_hold(DATARMNET00dcb79bc4);WRITE_ONCE(DATARMNET2d4b4cfc9e->
+DATARMNET7ed5754a5c.DATARMNET57656f6f2f,DATARMNET00dcb79bc4);}break;default:
+break;}return NOTIFY_DONE;}static int DATARMNET1ac13d5a2a(struct 
+DATARMNET8d3c2559ca*DATARMNET7ed5754a5c,struct genl_info*DATARMNET54338da2ff)
+__must_hold(&DATARMNETf46fb02ac6){struct DATARMNET41b426061d*DATARMNET2d4b4cfc9e
+;int DATARMNET268a8314cf;rcu_read_lock();DATARMNET2d4b4cfc9e=DATARMNETcc0a01df2a
+(DATARMNET7ed5754a5c);if(DATARMNET2d4b4cfc9e){GENL_SET_ERR_MSG(
 DATARMNET54338da2ff,
 "\x46\x57\x44\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x70\x72\x65\x73\x65\x6e\x74"
 );rcu_read_unlock();return-EEXIST;}rcu_read_unlock();DATARMNET2d4b4cfc9e=kzalloc
@@ -129,17 +124,13 @@ DATARMNET54338da2ff,
 );kfree(DATARMNET2d4b4cfc9e);return DATARMNET268a8314cf;}INIT_HLIST_NODE(&
 DATARMNET2d4b4cfc9e->DATARMNETe8608dd267);hash_add_rcu(DATARMNET78ed39f13b,&
 DATARMNET2d4b4cfc9e->DATARMNETe8608dd267,DATARMNET7ed5754a5c->
-DATARMNET0dc14167a1);return(0xd2d+202-0xdf7);}static void DATARMNET70718e4fdd(
-struct rcu_head*DATARMNET28bfe9e6ad){struct DATARMNET41b426061d*
-DATARMNET63b1a086d5;DATARMNET63b1a086d5=container_of(DATARMNET28bfe9e6ad,struct 
-DATARMNET41b426061d,DATARMNET28bfe9e6ad);if(DATARMNET63b1a086d5)kfree(
-DATARMNET63b1a086d5);}static int DATARMNET6518a28641(struct DATARMNET41b426061d*
-DATARMNET2d4b4cfc9e)__must_hold(&DATARMNETf46fb02ac6){int DATARMNET268a8314cf;
-DATARMNET268a8314cf=unregister_netdevice_notifier(&DATARMNET2d4b4cfc9e->
-DATARMNET272c159b3c);if(DATARMNET268a8314cf)return DATARMNET268a8314cf;
-hash_del_rcu(&DATARMNET2d4b4cfc9e->DATARMNETe8608dd267);DATARMNETedae8262e1(&
-DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c);call_rcu(&DATARMNET2d4b4cfc9e->
-DATARMNET28bfe9e6ad,DATARMNET70718e4fdd);return DATARMNET268a8314cf;}static int 
+DATARMNET0dc14167a1);return(0xd2d+202-0xdf7);}static int DATARMNET6518a28641(
+struct DATARMNET41b426061d*DATARMNET2d4b4cfc9e)__must_hold(&DATARMNETf46fb02ac6)
+{int DATARMNET268a8314cf;DATARMNET268a8314cf=unregister_netdevice_notifier(&
+DATARMNET2d4b4cfc9e->DATARMNET272c159b3c);if(DATARMNET268a8314cf)return 
+DATARMNET268a8314cf;hash_del_rcu(&DATARMNET2d4b4cfc9e->DATARMNETe8608dd267);
+DATARMNETedae8262e1(&DATARMNET2d4b4cfc9e->DATARMNET7ed5754a5c);kfree_rcu(
+DATARMNET2d4b4cfc9e,DATARMNET28bfe9e6ad);return DATARMNET268a8314cf;}static int 
 DATARMNET6b6be8e27f(struct DATARMNET8d3c2559ca*DATARMNET7ed5754a5c,struct 
 genl_info*DATARMNET54338da2ff)__must_hold(&DATARMNETf46fb02ac6){struct 
 DATARMNET41b426061d*DATARMNET2d4b4cfc9e;int DATARMNET268a8314cf;rcu_read_lock();