wlan: I347fbf0f3594cfa120fcd8fcbde45055d590a33c

Update to I347fbf0f3594cfa120fcd8fcbde45055d590a33c

CRs-Fixed: 3142697
Change-Id: I347fbf0f3594cfa120fcd8fcbde45055d590a33c
Signed-off-by: Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>
此提交包含在:
Subash Abhinov Kasiviswanathan
2022-03-02 15:41:27 -07:00
父節點 8cf09df4c2
當前提交 34f1d7e9e5
共有 2 個檔案被更改,包括 53 行新增39 行删除

查看文件

@@ -108,46 +108,59 @@ if(DATARMNET543491eb0f->dev&&(DATARMNET543491eb0f->protocol==htons(ETH_P_IPV6))
"\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x30",IFNAMSIZ))){struct
ipv6hdr*DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;struct flowi6
DATARMNET8fbe36a2fa={};struct dst_entry*dst,*dst_xfrm;struct rtable*
DATARMNET066b8bd537;DATARMNETbf55123e5b=skb_header_pointer(DATARMNET543491eb0f,
(0xd2d+202-0xdf7),sizeof(*DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!
DATARMNETbf55123e5b){DATARMNET17f6bc1be5(DATARMNET6b0ed53aab);goto
DATARMNETc1174a0f45;}memcpy(&DATARMNET8fbe36a2fa.saddr,&DATARMNETbf55123e5b->
saddr,sizeof(struct in6_addr));memcpy(&DATARMNET8fbe36a2fa.daddr,&
DATARMNETbf55123e5b->daddr,sizeof(struct in6_addr));dst=ipv6_stub->
ipv6_dst_lookup_flow(&init_net,NULL,&DATARMNET8fbe36a2fa,NULL);if(IS_ERR(dst)){
DATARMNET17f6bc1be5(DATARMNET22ac945cae);goto DATARMNETc1174a0f45;}dst_xfrm=
xfrm_lookup(&init_net,dst,flowi6_to_flowi(&DATARMNET8fbe36a2fa),NULL,
(0xd2d+202-0xdf7));DATARMNET066b8bd537=(struct rtable*)dst_xfrm;if(IS_ERR(
DATARMNET066b8bd537)){DATARMNET17f6bc1be5(DATARMNET97b44d0c09);goto
DATARMNETc1174a0f45;}skb_dst_set(DATARMNET543491eb0f,dst_xfrm);dst_output(&
init_net,NULL,DATARMNET543491eb0f);DATARMNET17f6bc1be5(DATARMNETf954265acb);
return RX_HANDLER_CONSUMED;}else if(DATARMNET543491eb0f->dev&&(
DATARMNET543491eb0f->protocol==htons(ETH_P_IP))&&(strncmp(DATARMNET543491eb0f->
dev->name,"\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x30",IFNAMSIZ))){
struct iphdr*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;struct flowi4
DATARMNET099aa93adc={};struct rtable*DATARMNET066b8bd537;struct dst_entry*
dst_xfrm;DATARMNET86f1f2cdc9=skb_header_pointer(DATARMNET543491eb0f,
(0xd2d+202-0xdf7),sizeof(*DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!
DATARMNET86f1f2cdc9){DATARMNET17f6bc1be5(DATARMNET15454f969d);goto
DATARMNETc1174a0f45;}memcpy(&DATARMNET099aa93adc.saddr,&DATARMNET86f1f2cdc9->
saddr,sizeof(__be32));memcpy(&DATARMNET099aa93adc.daddr,&DATARMNET86f1f2cdc9->
daddr,sizeof(__be32));DATARMNET066b8bd537=ip_route_output_key(&init_net,&
DATARMNET099aa93adc);if(IS_ERR(DATARMNET066b8bd537)){DATARMNET17f6bc1be5(
DATARMNET9bdb1c4072);goto DATARMNETc1174a0f45;}dst_xfrm=xfrm_lookup(&init_net,&
DATARMNET066b8bd537->dst,flowi4_to_flowi(&DATARMNET099aa93adc),NULL,
(0xd2d+202-0xdf7));DATARMNET066b8bd537=(struct rtable*)dst_xfrm;if(IS_ERR(
DATARMNET066b8bd537)){DATARMNET17f6bc1be5(DATARMNET9a57ef32d3);goto
DATARMNETc1174a0f45;}skb_dst_set(DATARMNET543491eb0f,dst_xfrm);dst_output(&
init_net,NULL,DATARMNET543491eb0f);DATARMNET17f6bc1be5(DATARMNET9a940d93dc);
return RX_HANDLER_CONSUMED;}return RX_HANDLER_PASS;DATARMNETc1174a0f45:kfree_skb
(DATARMNET543491eb0f);return RX_HANDLER_CONSUMED;}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)return RX_HANDLER_PASS;if(DATARMNET543491eb0f->dev&&
DATARMNET066b8bd537;struct net_device*DATARMNET39542b437e=NULL;
DATARMNETbf55123e5b=skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),
sizeof(*DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b){
DATARMNET17f6bc1be5(DATARMNET6b0ed53aab);goto DATARMNETc1174a0f45;}memcpy(&
DATARMNET8fbe36a2fa.saddr,&DATARMNETbf55123e5b->saddr,sizeof(struct in6_addr));
memcpy(&DATARMNET8fbe36a2fa.daddr,&DATARMNETbf55123e5b->daddr,sizeof(struct
in6_addr));dst=ipv6_stub->ipv6_dst_lookup_flow(&init_net,NULL,&
DATARMNET8fbe36a2fa,NULL);if(IS_ERR(dst)){DATARMNET17f6bc1be5(
DATARMNET22ac945cae);DATARMNET39542b437e=dev_get_by_name_rcu(&init_net,
"\x64\x75\x6d\x6d\x79\x30");if(!DATARMNET39542b437e){DATARMNET17f6bc1be5(
DATARMNETf326b7c906);goto DATARMNETc1174a0f45;}DATARMNET8fbe36a2fa.flowi6_oif=
DATARMNET39542b437e->ifindex;DATARMNET8fbe36a2fa.flowi6_flags=
FLOWI_FLAG_KNOWN_NH;dst=ipv6_stub->ipv6_dst_lookup_flow(&init_net,NULL,&
DATARMNET8fbe36a2fa,NULL);if(IS_ERR(dst)){DATARMNET17f6bc1be5(
DATARMNET544d78ede7);goto DATARMNETc1174a0f45;}}dst_xfrm=xfrm_lookup(&init_net,
dst,flowi6_to_flowi(&DATARMNET8fbe36a2fa),NULL,(0xd2d+202-0xdf7));
DATARMNET066b8bd537=(struct rtable*)dst_xfrm;if(IS_ERR(DATARMNET066b8bd537)){
DATARMNET17f6bc1be5(DATARMNET97b44d0c09);goto DATARMNETc1174a0f45;}skb_dst_set(
DATARMNET543491eb0f,dst_xfrm);dst_output(&init_net,NULL,DATARMNET543491eb0f);
DATARMNET17f6bc1be5(DATARMNETf954265acb);return RX_HANDLER_CONSUMED;}else if(
DATARMNET543491eb0f->dev&&(DATARMNET543491eb0f->protocol==htons(ETH_P_IP))&&(
strncmp(DATARMNET543491eb0f->dev->name,
"\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x30",IFNAMSIZ))nf_ct_set(
"\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x30",IFNAMSIZ))){struct iphdr*
DATARMNET86f1f2cdc9,DATARMNETbf6548198e;struct flowi4 DATARMNET099aa93adc={};
struct rtable*DATARMNET066b8bd537;struct dst_entry*dst_xfrm;struct net_device*
DATARMNET39542b437e=NULL;DATARMNET86f1f2cdc9=skb_header_pointer(
DATARMNET543491eb0f,(0xd2d+202-0xdf7),sizeof(*DATARMNET86f1f2cdc9),&
DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9){DATARMNET17f6bc1be5(
DATARMNET15454f969d);goto DATARMNETc1174a0f45;}memcpy(&DATARMNET099aa93adc.saddr
,&DATARMNET86f1f2cdc9->saddr,sizeof(__be32));memcpy(&DATARMNET099aa93adc.daddr,&
DATARMNET86f1f2cdc9->daddr,sizeof(__be32));DATARMNET066b8bd537=
ip_route_output_key(&init_net,&DATARMNET099aa93adc);if(IS_ERR(
DATARMNET066b8bd537)){DATARMNET17f6bc1be5(DATARMNET9bdb1c4072);
DATARMNET39542b437e=dev_get_by_name_rcu(&init_net,"\x64\x75\x6d\x6d\x79\x30");if
(!DATARMNET39542b437e){DATARMNET17f6bc1be5(DATARMNET5abdc89190);goto
DATARMNETc1174a0f45;}DATARMNET099aa93adc.flowi4_oif=DATARMNET39542b437e->ifindex
;DATARMNET099aa93adc.flowi4_flags=FLOWI_FLAG_KNOWN_NH;DATARMNET066b8bd537=
ip_route_output_key(&init_net,&DATARMNET099aa93adc);if(IS_ERR(
DATARMNET066b8bd537)){DATARMNET17f6bc1be5(DATARMNET101af46c1c);goto
DATARMNETc1174a0f45;}}dst_xfrm=xfrm_lookup(&init_net,&DATARMNET066b8bd537->dst,
flowi4_to_flowi(&DATARMNET099aa93adc),NULL,(0xd2d+202-0xdf7));
DATARMNET066b8bd537=(struct rtable*)dst_xfrm;if(IS_ERR(DATARMNET066b8bd537)){
DATARMNET17f6bc1be5(DATARMNET9a57ef32d3);goto DATARMNETc1174a0f45;}skb_dst_set(
DATARMNET543491eb0f,dst_xfrm);dst_output(&init_net,NULL,DATARMNET543491eb0f);
DATARMNET17f6bc1be5(DATARMNET9a940d93dc);return RX_HANDLER_CONSUMED;}return
RX_HANDLER_PASS;DATARMNETc1174a0f45:kfree_skb(DATARMNET543491eb0f);return
RX_HANDLER_CONSUMED;}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)return
RX_HANDLER_PASS;if(DATARMNET543491eb0f->dev&&strncmp(DATARMNET543491eb0f->dev->
name,"\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x30",IFNAMSIZ))nf_ct_set(
DATARMNET543491eb0f,NULL,IP_CT_UNTRACKED);if(DATARMNET543491eb0f->protocol==
htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;
DATARMNET86f1f2cdc9=skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),