rmnet_wlan: Ic9b16a62f68d584ba3453860a0d9576eb9e127f7
Updates the module to version Ic9b16a62f68d584ba3453860a0d9576eb9e127f7. Change-Id: I6d10ee711ea13175b319b6f4257fba4b67b36d4f Signed-off-by: Sean Tranchetti <quic_stranche@quicinc.com>
This commit is contained in:
@@ -111,7 +111,7 @@ 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)(0xd77+4465-0x1eae)))){if(in6_pton(
|
||||
(DATARMNETd7f4d7c495,((char)(0x6a6+6758-0x20d2)))){if(in6_pton(
|
||||
DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),DATARMNET2d4b4cfc9e.
|
||||
DATARMNET5700daac01.s6_addr,-(0xd26+209-0xdf6),NULL)!=(0xd26+209-0xdf6)){
|
||||
GENL_SET_ERR_MSG(DATARMNET54338da2ff,
|
||||
@@ -138,7 +138,7 @@ 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)(0x842+5184-0x1c48)))){if(in6_pton(
|
||||
(DATARMNETd7f4d7c495,((char)(0x13a0+4779-0x2611)))){if(in6_pton(
|
||||
DATARMNETd7f4d7c495,nla_len(DATARMNETef7cdd7b6b),DATARMNET2d4b4cfc9e.
|
||||
DATARMNET5700daac01.s6_addr,-(0xd26+209-0xdf6),NULL)!=(0xd26+209-0xdf6)){
|
||||
GENL_SET_ERR_MSG(DATARMNET54338da2ff,
|
||||
|
@@ -31,10 +31,13 @@ struct DATARMNET745f724205{struct hlist_node DATARMNETe8608dd267;struct rcu_head
|
||||
DATARMNET41b426061d{struct hlist_node DATARMNETe8608dd267;struct rcu_head
|
||||
DATARMNET28bfe9e6ad;struct notifier_block DATARMNET272c159b3c;char
|
||||
DATARMNET852d4d00e2[IFNAMSIZ];struct DATARMNET8d3c2559ca DATARMNET7ed5754a5c;};
|
||||
static DEFINE_MUTEX(DATARMNET63a2b7773e);static DEFINE_HASHTABLE(
|
||||
DATARMNET1903907456,DATARMNET6b4ac8224c);static DEFINE_MUTEX(DATARMNETf46fb02ac6
|
||||
);static DEFINE_HASHTABLE(DATARMNET78ed39f13b,DATARMNET6b4ac8224c);static char
|
||||
DATARMNET30500ba48c[IFNAMSIZ];static __be16 DATARMNETfbd1701415;static bool
|
||||
struct DATARMNETda06413d0d{struct hlist_node DATARMNETe8608dd267;struct rcu_head
|
||||
DATARMNET28bfe9e6ad;__be16 DATARMNETf0d9de7e2f;};static DEFINE_MUTEX(
|
||||
DATARMNET63a2b7773e);static DEFINE_HASHTABLE(DATARMNET1903907456,
|
||||
DATARMNET6b4ac8224c);static DEFINE_MUTEX(DATARMNETf46fb02ac6);static
|
||||
DEFINE_HASHTABLE(DATARMNET78ed39f13b,DATARMNET6b4ac8224c);static DEFINE_MUTEX(
|
||||
DATARMNET954bef55d0);static DEFINE_HASHTABLE(DATARMNET133502ca0e,
|
||||
DATARMNET6b4ac8224c);static char DATARMNET30500ba48c[IFNAMSIZ];static bool
|
||||
DATARMNET1e31b22eff(struct DATARMNETb89ecedefc*DATARMNETae0905b0b3,struct
|
||||
DATARMNETb89ecedefc*DATARMNETdb49f21565){if(DATARMNETae0905b0b3->
|
||||
DATARMNET0d956cc77a!=DATARMNETdb49f21565->DATARMNET0d956cc77a||
|
||||
@@ -149,17 +152,50 @@ DATARMNETe5b03fe375(void){struct DATARMNET41b426061d*DATARMNET54338da2ff;struct
|
||||
hlist_node*DATARMNET0386f6f82a;int DATARMNET5c2fd31d7b;mutex_lock(&
|
||||
DATARMNETf46fb02ac6);hash_for_each_safe(DATARMNET78ed39f13b,DATARMNET5c2fd31d7b,
|
||||
DATARMNET0386f6f82a,DATARMNET54338da2ff,DATARMNETe8608dd267)DATARMNET6518a28641(
|
||||
DATARMNET54338da2ff);mutex_unlock(&DATARMNETf46fb02ac6);}static
|
||||
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;if(!DATARMNET543491eb0f||
|
||||
DATARMNET543491eb0f->pkt_type==PACKET_LOOPBACK)return DATARMNET1dec89a127;
|
||||
rcu_read_lock();DATARMNET5ca94dbc3c(DATARMNET735bb8578c);if(DATARMNET543491eb0f
|
||||
->protocol==htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9=ip_hdr(
|
||||
DATARMNET543491eb0f);if(DATARMNET86f1f2cdc9->protocol==IPPROTO_ICMP){
|
||||
DATARMNET54338da2ff);mutex_unlock(&DATARMNETf46fb02ac6);}static bool
|
||||
DATARMNET7490934ea9(__be16 DATARMNETf0d9de7e2f)__must_hold(RCU){struct
|
||||
DATARMNETda06413d0d*DATARMNET63b1a086d5;hash_for_each_possible_rcu(
|
||||
DATARMNET133502ca0e,DATARMNET63b1a086d5,DATARMNETe8608dd267,DATARMNETf0d9de7e2f)
|
||||
{if(DATARMNET63b1a086d5->DATARMNETf0d9de7e2f==DATARMNETf0d9de7e2f)return true;}
|
||||
return false;}static int DATARMNET3b10d1c14b(__be16 DATARMNETf0d9de7e2f,struct
|
||||
genl_info*DATARMNET54338da2ff)__must_hold(&DATARMNET954bef55d0){struct
|
||||
DATARMNETda06413d0d*DATARMNET63b1a086d5;rcu_read_lock();if(DATARMNET7490934ea9(
|
||||
DATARMNETf0d9de7e2f)){rcu_read_unlock();GENL_SET_ERR_MSG(DATARMNET54338da2ff,
|
||||
"\x45\x6e\x63\x61\x70\x20\x70\x6f\x72\x74\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(
|
||||
DATARMNET54338da2ff,
|
||||
"\x43\x61\x6e\x6e\x6f\x74\x20\x61\x6c\x6c\x6f\x63\x61\x74\x65\x20\x65\x6e\x63\x61\x70\x20\x70\x6f\x72\x74\x20\x6d\x65\x6d\x6f\x72\x79"
|
||||
);return-ENOMEM;}DATARMNET63b1a086d5->DATARMNETf0d9de7e2f=DATARMNETf0d9de7e2f;
|
||||
INIT_HLIST_NODE(&DATARMNET63b1a086d5->DATARMNETe8608dd267);hash_add_rcu(
|
||||
DATARMNET133502ca0e,&DATARMNET63b1a086d5->DATARMNETe8608dd267,
|
||||
DATARMNETf0d9de7e2f);DATARMNET5ca94dbc3c(DATARMNET90782e08cf);return
|
||||
(0xd2d+202-0xdf7);}static int DATARMNETc023021120(__be16 DATARMNETf0d9de7e2f,
|
||||
struct genl_info*DATARMNET54338da2ff)__must_hold(&DATARMNET954bef55d0){struct
|
||||
DATARMNETda06413d0d*DATARMNET63b1a086d5;struct hlist_node*DATARMNET0386f6f82a;
|
||||
hash_for_each_possible_safe(DATARMNET133502ca0e,DATARMNET63b1a086d5,
|
||||
DATARMNET0386f6f82a,DATARMNETe8608dd267,DATARMNETf0d9de7e2f){if(
|
||||
DATARMNET63b1a086d5->DATARMNETf0d9de7e2f==DATARMNETf0d9de7e2f){hash_del_rcu(&
|
||||
DATARMNET63b1a086d5->DATARMNETe8608dd267);kfree_rcu(DATARMNET63b1a086d5,
|
||||
DATARMNET28bfe9e6ad);DATARMNET5ca94dbc3c(DATARMNETb7c9f010b2);return
|
||||
(0xd2d+202-0xdf7);}}GENL_SET_ERR_MSG(DATARMNET54338da2ff,
|
||||
"\x4e\x6f\x20\x73\x75\x63\x68\x20\x70\x6f\x72\x74\x20\x76\x61\x6c\x75\x65");
|
||||
return-ESRCH;}static void DATARMNET1f36d4813c(void){struct DATARMNETda06413d0d*
|
||||
DATARMNET63b1a086d5;struct hlist_node*DATARMNET0386f6f82a;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*
|
||||
DATARMNET72f0eefdce;struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e,
|
||||
DATARMNET54338da2ff;struct sk_buff*DATARMNET543491eb0f=*DATARMNET89946cec52;
|
||||
rx_handler_result_t DATARMNET1dec89a127=RX_HANDLER_PASS;int DATARMNET611d08d671;
|
||||
if(!DATARMNET543491eb0f||DATARMNET543491eb0f->pkt_type==PACKET_LOOPBACK)return
|
||||
DATARMNET1dec89a127;rcu_read_lock();DATARMNET5ca94dbc3c(DATARMNET735bb8578c);if(
|
||||
DATARMNET543491eb0f->protocol==htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9
|
||||
=ip_hdr(DATARMNET543491eb0f);if(DATARMNET86f1f2cdc9->protocol==IPPROTO_ICMP){
|
||||
DATARMNETa76763310b.DATARMNETdfe430c2d6=DATARMNET86f1f2cdc9->daddr;
|
||||
DATARMNETa76763310b.DATARMNET2cb607d686=DATARMNET86f1f2cdc9->saddr;
|
||||
DATARMNETa76763310b.DATARMNET0d956cc77a=(0xd11+230-0xdf3);DATARMNET2d4b4cfc9e=
|
||||
@@ -224,8 +260,8 @@ DATARMNET116f9a46aa(void){int DATARMNET268a8314cf;if(!DATARMNET30500ba48c[
|
||||
unregister_netdevice_notifier(&DATARMNETa1726000d8);if(!DATARMNET268a8314cf)
|
||||
DATARMNET30500ba48c[(0xd2d+202-0xdf7)]=(0xd2d+202-0xdf7);return
|
||||
DATARMNET268a8314cf;}static void DATARMNETbb4efa5b3d(void){DATARMNET116f9a46aa()
|
||||
;DATARMNETfbd1701415=(0xd2d+202-0xdf7);DATARMNET8c0e010dfb();DATARMNETe5b03fe375
|
||||
();DATARMNETad43e44c7e();}static int DATARMNET38ebe8f319(struct sk_buff*
|
||||
;DATARMNET1f36d4813c();DATARMNET8c0e010dfb();DATARMNETe5b03fe375();
|
||||
DATARMNETad43e44c7e();}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
|
||||
@@ -373,26 +409,25 @@ 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){WRITE_ONCE(
|
||||
DATARMNETfbd1701415,DATARMNETf0d9de7e2f);return(0xd2d+202-0xdf7);}int
|
||||
DATARMNETc97c6a4265(__be16 DATARMNETf0d9de7e2f,struct genl_info*
|
||||
DATARMNET54338da2ff){__be16 DATARMNET07fc49caf2=READ_ONCE(DATARMNETfbd1701415);
|
||||
if(DATARMNET07fc49caf2!=DATARMNETf0d9de7e2f){GENL_SET_ERR_MSG(
|
||||
DATARMNET54338da2ff,
|
||||
"\x49\x6e\x76\x61\x6c\x69\x64\x20\x70\x6f\x72\x74\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e"
|
||||
);return-EINVAL;}WRITE_ONCE(DATARMNETfbd1701415,(0xd2d+202-0xdf7));return
|
||||
(0xd2d+202-0xdf7);}bool DATARMNETa8b2566e6a(struct sk_buff*DATARMNET543491eb0f,
|
||||
struct DATARMNETb89ecedefc*DATARMNET3396919a68,int DATARMNET611d08d671){struct
|
||||
udphdr*DATARMNET75be5f3406,DATARMNETc82d2f4e16;__be32*DATARMNETdf2dbc641f,
|
||||
DATARMNET6c56902362;if(DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_UDP||
|
||||
DATARMNET3396919a68->DATARMNETf0d9de7e2f!=READ_ONCE(DATARMNETfbd1701415))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);}int DATARMNET078f6bd384(void){
|
||||
DATARMNETbb4efa5b3d();return(0xd2d+202-0xdf7);}void DATARMNETfae36afa03(void){
|
||||
DATARMNETbb4efa5b3d();}char*DATARMNET934406764d(void){return DATARMNET30500ba48c
|
||||
;}
|
||||
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);}int
|
||||
DATARMNET078f6bd384(void){DATARMNETbb4efa5b3d();return(0xd2d+202-0xdf7);}void
|
||||
DATARMNETfae36afa03(void){DATARMNETbb4efa5b3d();}char*DATARMNET934406764d(void){
|
||||
return DATARMNET30500ba48c;}
|
||||
|
@@ -11,12 +11,12 @@
|
||||
enum{DATARMNET12d881921a,DATARMNET9f24b86462,DATARMNET735bb8578c,
|
||||
DATARMNETf4c2a83526,DATARMNET591885a019,DATARMNETd8273aa7e1,DATARMNET7a58a5c1fc,
|
||||
DATARMNETba232077da,DATARMNETe75ad1a949,DATARMNETd691057b85,DATARMNETd1ad664d00,
|
||||
DATARMNETef2af4f071,DATARMNETebc1b87b7d,DATARMNET21bdbe6a27,DATARMNETc6bf075f65,
|
||||
};enum{DATARMNETc1b437465b,DATARMNET04311361a2,DATARMNET43a65c0be7,
|
||||
DATARMNET13bbe5f5c5,DATARMNETd1c349b9fc,DATARMNETfa4b3dd44a,DATARMNET72ab5e86d8,
|
||||
DATARMNET0e6bd55b8b,DATARMNET64aecaa865,DATARMNET72f4fdd48a,DATARMNET9cff15f94d,
|
||||
DATARMNETbf6e6853f9,DATARMNETa0da722329,DATARMNET729e252fb9,DATARMNETfe1714cc0e,
|
||||
};void DATARMNET5ca94dbc3c(u32 DATARMNET248f120dd5);void DATARMNET17f6bc1be5(u32
|
||||
DATARMNET248f120dd5);
|
||||
DATARMNETef2af4f071,DATARMNETebc1b87b7d,DATARMNET21bdbe6a27,DATARMNET90782e08cf,
|
||||
DATARMNETb7c9f010b2,DATARMNETc6bf075f65,};enum{DATARMNETc1b437465b,
|
||||
DATARMNET04311361a2,DATARMNET43a65c0be7,DATARMNET13bbe5f5c5,DATARMNETd1c349b9fc,
|
||||
DATARMNETfa4b3dd44a,DATARMNET72ab5e86d8,DATARMNET0e6bd55b8b,DATARMNET64aecaa865,
|
||||
DATARMNET72f4fdd48a,DATARMNET9cff15f94d,DATARMNETbf6e6853f9,DATARMNETa0da722329,
|
||||
DATARMNET729e252fb9,DATARMNETfe1714cc0e,};void DATARMNET5ca94dbc3c(u32
|
||||
DATARMNET248f120dd5);void DATARMNET17f6bc1be5(u32 DATARMNET248f120dd5);
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user