Change-Id: I81aa5ca21572616c8b989d3d96dc3b18183fec19
Этот коммит содержится в:
Linux Build Service Account
2024-02-04 09:56:27 -08:00
родитель 808e943c1b 327fb51ed8
Коммит 8647143f84
21 изменённых файлов: 123 добавлений и 111 удалений

Просмотреть файл

@@ -3,6 +3,7 @@ ifneq ($(TARGET_BOARD_AUTO),true)
ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_APS_DLKM_PLATFORMS_LIST := pineapple
RMNET_APS_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_APS_DLKM_PLATFORMS_LIST)),true)
LOCAL_PATH := $(call my-dir)
@@ -35,4 +36,4 @@ include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif #End of check for target
endif #End of Check for qssi target
endif #End of check for AUTO Target
endif #End of Check for datarmnet
endif #End of Check for datarmnet

Просмотреть файл

@@ -4,3 +4,7 @@ load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
define_aps("pineapple", "consolidate")
define_aps("pineapple", "gki")
define_aps("pitti", "consolidate")
define_aps("pitti", "gki")

Просмотреть файл

@@ -12,15 +12,20 @@ ifeq ($(TARGET_DATARMNET_EXT_ENABLE), true)
#Build rmnet modules
DATA_OFFLOAD_DLKM_BOARD_PLATFORMS_LIST := pineapple
DATA_OFFLOAD_DLKM_BOARD_PLATFORMS_LIST += blair
DATA_OFFLOAD_DLKM_BOARD_PLATFORMS_LIST += pitti
DATA_SHS_DLKM_BOARD_PLATFORMS_LIST := pineapple
DATA_SHS_DLKM_BOARD_PLATFORMS_LIST += blair
DATA_SHS_DLKM_BOARD_PLATFORMS_LIST += pitti
DATA_APS_DLKM_BOARD_PLATFORMS_LIST := pineapple
DATA_APS_DLKM_BOARD_PLATFORMS_LIST += pitti
DATA_WLAN_DLKM_BOARD_PLATFORMS_LIST := pineapple
DATA_WLAN_DLKM_BOARD_PLATFORMS_LIST += blair
DATA_WLAN_DLKM_BOARD_PLATFORMS_LIST += monaco
DATA_WLAN_DLKM_BOARD_PLATFORMS_LIST += pitti
DATA_MEM_DLKM_BOARD_PLATFORMS_LIST := pineapple
DATA_MEM_DLKM_BOARD_PLATFORMS_LIST += blair
DATA_MEM_DLKM_BOARD_PLATFORMS_LIST += monaco
DATA_MEM_DLKM_BOARD_PLATFORMS_LIST += pitti
ifneq ($(TARGET_BOARD_AUTO),true)
ifeq ($(call is-board-platform-in-list,$(DATA_OFFLOAD_DLKM_BOARD_PLATFORMS_LIST)),true)

Просмотреть файл

@@ -5,6 +5,8 @@ ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_MEM_DLKM_PLATFORMS_LIST := pineapple
RMNET_MEM_DLKM_PLATFORMS_LIST += blair
RMNET_MEM_DLKM_PLATFORMS_LIST += monaco
RMNET_MEM_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_MEM_DLKM_PLATFORMS_LIST)),true)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

Просмотреть файл

@@ -12,6 +12,11 @@ define_mem("blair", "gki")
define_mem("monaco", "consolidate")
define_mem("monaco", "gki")
define_mem("pitti", "consolidate")
define_mem("pitti", "gki")
package(
default_visibility = [
"//visibility:public", ],

Просмотреть файл

@@ -4,6 +4,7 @@ ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_OFFLOAD_DLKM_PLATFORMS_LIST := pineapple
RMNET_OFFLOAD_DLKM_PLATFORMS_LIST += blair
RMNET_OFFLOAD_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_OFFLOAD_DLKM_PLATFORMS_LIST)),true)
LOCAL_PATH := $(call my-dir)

Просмотреть файл

@@ -8,3 +8,7 @@ define_offload("pineapple", "gki")
define_offload("blair", "consolidate")
define_offload("blair", "gki")
define_offload("pitti", "consolidate")
define_offload("pitti", "gki")

Просмотреть файл

@@ -4,6 +4,7 @@ ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_PERF_DLKM_PLATFORMS_LIST := pineapple
RMNET_PERF_DLKM_PLATFORMS_LIST += blair
RMNET_PERF_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_PERF_DLKM_PLATFORMS_LIST)),true)
LOCAL_PATH := $(call my-dir)

Просмотреть файл

@@ -8,3 +8,7 @@ define_perf("pineapple", "gki")
define_perf("blair", "consolidate")
define_perf("blair", "gki")
define_perf("pitti", "consolidate")
define_perf("pitti", "gki")

Просмотреть файл

@@ -4,6 +4,7 @@ ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_PERF_TETHER_DLKM_PLATFORMS_LIST := pineapple
RMNET_PERF_TETHER_DLKM_PLATFORMS_LIST += blair
RMNET_PERF_TETHER_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_PERF_TETHER_DLKM_PLATFORMS_LIST)),true)
LOCAL_PATH := $(call my-dir)

Просмотреть файл

@@ -8,3 +8,7 @@ define_perf_tether("pineapple", "gki")
define_perf_tether("blair", "consolidate")
define_perf_tether("blair", "gki")
define_perf_tether("pitti", "consolidate")
define_perf_tether("pitti", "gki")

Просмотреть файл

@@ -3,6 +3,7 @@ ifneq ($(TARGET_BOARD_AUTO),true)
ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_SCH_DLKM_PLATFORMS_LIST := pineapple
RMNET_SCH_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_SCH_DLKM_PLATFORMS_LIST)),true)
LOCAL_PATH := $(call my-dir)
@@ -23,4 +24,4 @@ include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif #End of check for target
endif #End of Check for qssi target
endif #End of check for AUTO Target
endif #End of Check for datarmnet
endif #End of Check for datarmnet

Просмотреть файл

@@ -4,3 +4,7 @@ load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
define_sch("pineapple", "consolidate")
define_sch("pineapple", "gki")
define_sch("pitti", "consolidate")
define_sch("pitti", "gki")

Просмотреть файл

@@ -2,6 +2,7 @@ ifeq ($(TARGET_DATARMNET_EXT_ENABLE), true)
ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_SHS_DLKM_PLATFORMS_LIST := pineapple
RMNET_SHS_DLKM_PLATFORMS_LIST += blair
RMNET_SHS_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_SHS_DLKM_PLATFORMS_LIST)),true)
#Make file to create RMNET_SHS DLKM

Просмотреть файл

@@ -7,3 +7,7 @@ define_shs("pineapple", "gki")
define_shs("blair", "consolidate")
define_shs("blair", "gki")
define_shs("pitti", "consolidate")
define_shs("pitti", "gki")

Просмотреть файл

@@ -5,6 +5,7 @@ ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_WLAN_DLKM_PLATFORMS_LIST := pineapple
RMNET_WLAN_DLKM_PLATFORMS_LIST += blair
RMNET_WLAN_DLKM_PLATFORMS_LIST += monaco
RMNET_WLAN_DLKM_PLATFORMS_LIST += pitti
ifeq ($(call is-board-platform-in-list, $(RMNET_WLAN_DLKM_PLATFORMS_LIST)),true)
LOCAL_PATH := $(call my-dir)

Просмотреть файл

@@ -12,3 +12,7 @@ define_wlan("blair", "gki")
define_wlan("monaco", "consolidate")
define_wlan("monaco", "gki")
define_wlan("pitti", "consolidate")
define_wlan("pitti", "gki")

Просмотреть файл

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* RMNET WLAN connection management framework
*
@@ -31,11 +31,9 @@ struct DATARMNET4f49486833{struct hlist_node DATARMNETe8608dd267;struct rcu_head
DATARMNET28bfe9e6ad;struct hrtimer DATARMNET9f31ce5d2d;struct
DATARMNET0ca9d8ead7 DATARMNET54338da2ff;struct DATARMNET8d3c2559ca
DATARMNET7ed5754a5c;};static DEFINE_SPINLOCK(DATARMNET820642743b);static
DEFINE_HASHTABLE(DATARMNET5413d6f8ec,DATARMNETeaf0945284);
#define DATARMNET898fc3651c (0xef7+694-0x112d)
#define DATARMNET20defbe7a0 (0xf07+3965-0x1a3c)
static bool DATARMNET5f3c9ed4da(struct DATARMNET0ca9d8ead7*DATARMNET75decd6f60,
struct DATARMNET0ca9d8ead7*DATARMNET6745cad668){if(DATARMNET75decd6f60->
DEFINE_HASHTABLE(DATARMNET5413d6f8ec,DATARMNETeaf0945284);static bool
DATARMNET5f3c9ed4da(struct DATARMNET0ca9d8ead7*DATARMNET75decd6f60,struct
DATARMNET0ca9d8ead7*DATARMNET6745cad668){if(DATARMNET75decd6f60->
DATARMNET0d956cc77a!=DATARMNET6745cad668->DATARMNET0d956cc77a)return false;if(
DATARMNET75decd6f60->DATARMNET0d956cc77a==(0xd11+230-0xdf3))return
DATARMNET75decd6f60->DATARMNETdfe430c2d6==DATARMNET6745cad668->
@@ -212,97 +210,63 @@ DATARMNET97b44d0c09);goto DATARMNETc1174a0f45;}skb_dst_set(DATARMNET543491eb0f,
DATARMNETb5af46179c);dst_output(&init_net,NULL,DATARMNET543491eb0f);
DATARMNET17f6bc1be5(DATARMNETf954265acb);return RX_HANDLER_CONSUMED;}
DATARMNETc1174a0f45:kfree_skb(DATARMNET543491eb0f);return RX_HANDLER_CONSUMED;}
static rx_handler_result_t DATARMNET6e2f632fce(struct sk_buff*
DATARMNET543491eb0f,uint8_t DATARMNET1a901c3d09){struct sk_buff*
DATARMNETb6d6995997=NULL;unsigned int DATARMNETc26140baf9=(0xd2d+202-0xdf7);
unsigned int DATARMNET3301d81682=(0xd2d+202-0xdf7);struct ipv6hdr*
DATARMNETbf55123e5b,*DATARMNET0b51978dd7;struct frag_hdr*DATARMNET2d5a34898d,*
DATARMNET4a64bfeda0;if(skb_linearize(DATARMNET543491eb0f)){DATARMNET17f6bc1be5(
DATARMNET4f59e3a6e4);goto DATARMNET27d4697979;}if(DATARMNET543491eb0f->protocol
!=htons(ETH_P_IPV6)){DATARMNET17f6bc1be5(DATARMNET87c37ed8cc);goto
DATARMNETb042feb7e2;}DATARMNETb6d6995997=skb_copy_expand(DATARMNET543491eb0f,
DATARMNET898fc3651c,DATARMNET898fc3651c,GFP_ATOMIC);if(!DATARMNETb6d6995997){
DATARMNET17f6bc1be5(DATARMNET03b5eea9bc);goto DATARMNETb042feb7e2;}
DATARMNETbf55123e5b=(struct ipv6hdr*)(DATARMNET543491eb0f->data);
DATARMNET0b51978dd7=(struct ipv6hdr*)(DATARMNETb6d6995997->data);
DATARMNET2d5a34898d=(struct frag_hdr*)((char*)DATARMNET543491eb0f->data+sizeof(
struct ipv6hdr));DATARMNET4a64bfeda0=(struct frag_hdr*)((char*)
DATARMNETb6d6995997->data+sizeof(struct ipv6hdr));DATARMNETc26140baf9=ntohs(
DATARMNETbf55123e5b->payload_len)-sizeof(struct frag_hdr);DATARMNET3301d81682=
DATARMNETc26140baf9-DATARMNET20defbe7a0;memcpy(DATARMNETb6d6995997->data+sizeof(
struct ipv6hdr)+sizeof(struct frag_hdr),DATARMNET543491eb0f->data+sizeof(struct
ipv6hdr)+sizeof(struct frag_hdr)+DATARMNET20defbe7a0,DATARMNET3301d81682);
DATARMNET2d5a34898d->frag_off=(0xd2d+202-0xdf7);DATARMNET2d5a34898d->frag_off|=
htons(IP6_MF);skb_trim(DATARMNET543491eb0f,sizeof(struct ipv6hdr)+sizeof(struct
frag_hdr)+DATARMNET20defbe7a0);DATARMNETbf55123e5b->payload_len=htons(sizeof(
struct frag_hdr)+DATARMNET20defbe7a0);DATARMNET4a64bfeda0->frag_off=
(0xd2d+202-0xdf7);DATARMNET4a64bfeda0->frag_off=htons(DATARMNET20defbe7a0);
DATARMNET4a64bfeda0->frag_off|=htons(IP6_MF);skb_trim(DATARMNETb6d6995997,sizeof
(struct ipv6hdr)+sizeof(struct frag_hdr)+DATARMNET3301d81682);
DATARMNET0b51978dd7->payload_len=htons(sizeof(struct frag_hdr)+
DATARMNET3301d81682);DATARMNETc9ed97754a(DATARMNET543491eb0f,DATARMNET1a901c3d09
);DATARMNETc9ed97754a(DATARMNETb6d6995997,DATARMNET1a901c3d09);goto
DATARMNET27d4697979;DATARMNETb042feb7e2:kfree_skb(DATARMNET543491eb0f);
DATARMNET27d4697979: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;struct DATARMNET8d3c2559ca DATARMNET2d4b4cfc9e
;struct DATARMNET41b426061d*DATARMNET8184934307;uint8_t DATARMNET1a901c3d09=
DATARMNETdcafdec32a;if(!DATARMNET543491eb0f||DATARMNET543491eb0f->pkt_type==
PACKET_LOOPBACK)return RX_HANDLER_PASS;if(DATARMNET543491eb0f->protocol==htons(
ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;
DATARMNET86f1f2cdc9=skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),
sizeof(*DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto
DATARMNETbf4095f79e;DATARMNET2d4b4cfc9e.DATARMNET0dc14167a1=DATARMNET86f1f2cdc9
->saddr;DATARMNET2d4b4cfc9e.DATARMNET0d956cc77a=(0xd11+230-0xdf3);}else if(
DATARMNET543491eb0f->protocol==htons(ETH_P_IPV6)){struct ipv6hdr*
DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;DATARMNETbf55123e5b=skb_header_pointer(
DATARMNET543491eb0f,(0xd2d+202-0xdf7),sizeof(*DATARMNETbf55123e5b),&
DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto DATARMNETbf4095f79e;memcpy(&
DATARMNET2d4b4cfc9e.DATARMNET5700daac01,&DATARMNETbf55123e5b->saddr,sizeof(
DATARMNET2d4b4cfc9e.DATARMNET5700daac01));DATARMNET2d4b4cfc9e.
DATARMNET0d956cc77a=(0xd03+244-0xdf1);}else{goto DATARMNETbf4095f79e;}
rcu_read_lock();DATARMNET8184934307=DATARMNETcc0a01df2a(&DATARMNET2d4b4cfc9e);
rcu_read_unlock();if(!DATARMNET8184934307)goto DATARMNETbf4095f79e;
DATARMNET1a901c3d09=DATARMNET8184934307->DATARMNET7ed5754a5c.DATARMNET9954a624ac
;if(DATARMNET1a901c3d09==DATARMNETdcafdec32a)goto DATARMNETbf4095f79e;if(
DATARMNET543491eb0f->dev)nf_ct_set(DATARMNET543491eb0f,NULL,IP_CT_UNTRACKED);if(
static rx_handler_result_t DATARMNET68fe094884(struct sk_buff**
DATARMNET89946cec52){struct DATARMNET0ca9d8ead7 DATARMNETa76763310b={};struct
DATARMNET4f49486833*DATARMNET63b1a086d5;struct sk_buff*DATARMNET543491eb0f=*
DATARMNET89946cec52;unsigned long DATARMNETfb0677cc3c;struct DATARMNET8d3c2559ca
DATARMNET2d4b4cfc9e;struct DATARMNET41b426061d*DATARMNET8184934307;uint8_t
DATARMNET1a901c3d09=DATARMNETdcafdec32a;if(!DATARMNET543491eb0f||
DATARMNET543491eb0f->pkt_type==PACKET_LOOPBACK)return RX_HANDLER_PASS;if(
DATARMNET543491eb0f->protocol==htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9
,DATARMNETbf6548198e;DATARMNET86f1f2cdc9=skb_header_pointer(DATARMNET543491eb0f,
(0xd2d+202-0xdf7),sizeof(*DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!
DATARMNET86f1f2cdc9)goto DATARMNETbf4095f79e;if(DATARMNET86f1f2cdc9->protocol==
IPPROTO_TCP)goto DATARMNET9b3d23a43b;if(DATARMNET86f1f2cdc9->protocol!=
IPPROTO_ICMP)goto DATARMNETbf4095f79e;DATARMNETa76763310b.DATARMNETdfe430c2d6=
DATARMNET86f1f2cdc9->saddr;DATARMNETa76763310b.DATARMNET2cb607d686=
DATARMNET86f1f2cdc9->daddr;DATARMNETa76763310b.DATARMNET0d956cc77a=
(0xd11+230-0xdf3);}else if(DATARMNET543491eb0f->protocol==htons(ETH_P_IPV6)){
struct ipv6hdr*DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;__be16 frag_off;u8
DATARMNET65293f17c4;DATARMNETbf55123e5b=skb_header_pointer(DATARMNET543491eb0f,
(0xd2d+202-0xdf7),sizeof(*DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!
DATARMNETbf55123e5b)goto DATARMNETbf4095f79e;DATARMNET65293f17c4=
DATARMNETbf55123e5b->nexthdr;if(ipv6_skip_exthdr(DATARMNET543491eb0f,sizeof(*
DATARMNETbf55123e5b),&DATARMNET65293f17c4,&frag_off)<(0xd2d+202-0xdf7))goto
DATARMNETbf4095f79e;if(frag_off&&DATARMNET65293f17c4==NEXTHDR_FRAGMENT)goto
DATARMNETbf4095f79e;if(DATARMNETbf55123e5b->nexthdr==NEXTHDR_FRAGMENT&&(ntohs(
DATARMNETbf55123e5b->payload_len)>(sizeof(struct frag_hdr)+DATARMNET20defbe7a0))
)goto DATARMNETf10b3df68d;if(DATARMNET65293f17c4==IPPROTO_TCP)goto
DATARMNET9b3d23a43b;if(DATARMNET65293f17c4!=IPPROTO_ICMPV6)goto
DATARMNETbf4095f79e;memcpy(&DATARMNETa76763310b.DATARMNET815cbb4bf5,&
DATARMNETbf55123e5b->saddr,sizeof(DATARMNETa76763310b.DATARMNET815cbb4bf5));
memcpy(&DATARMNETa76763310b.DATARMNETc3f31215b7,&DATARMNETbf55123e5b->daddr,
sizeof(DATARMNETa76763310b.DATARMNETc3f31215b7));DATARMNETa76763310b.
DATARMNET0d956cc77a=(0xd03+244-0xdf1);}else{goto DATARMNETbf4095f79e;}
rcu_read_lock();hash_for_each_possible_rcu(DATARMNET5413d6f8ec,
DATARMNET63b1a086d5,DATARMNETe8608dd267,DATARMNETa76763310b.DATARMNET2cb607d686)
{if(!DATARMNET5f3c9ed4da(&DATARMNET63b1a086d5->DATARMNET54338da2ff,&
DATARMNETa76763310b))continue;if(likely(hrtimer_is_queued(&DATARMNET63b1a086d5->
DATARMNET9f31ce5d2d)))hrtimer_start(&DATARMNET63b1a086d5->DATARMNET9f31ce5d2d,
DATARMNET5da8c68c19,HRTIMER_MODE_REL);rcu_read_unlock();goto DATARMNETbf4095f79e
;}rcu_read_unlock();spin_lock_irqsave(&DATARMNET820642743b,DATARMNETfb0677cc3c);
DATARMNET63b1a086d5=kzalloc(sizeof(*DATARMNET63b1a086d5),GFP_ATOMIC);if(!
DATARMNET63b1a086d5){spin_unlock_irqrestore(&DATARMNET820642743b,
DATARMNETfb0677cc3c);goto DATARMNETbf4095f79e;}INIT_HLIST_NODE(&
DATARMNET86f1f2cdc9)goto DATARMNETbf4095f79e;DATARMNET2d4b4cfc9e.
DATARMNET0dc14167a1=DATARMNET86f1f2cdc9->saddr;DATARMNET2d4b4cfc9e.
DATARMNET0d956cc77a=(0xd11+230-0xdf3);}else if(DATARMNET543491eb0f->protocol==
htons(ETH_P_IPV6)){struct ipv6hdr*DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;
DATARMNETbf55123e5b=skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),
sizeof(*DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto
DATARMNETbf4095f79e;memcpy(&DATARMNET2d4b4cfc9e.DATARMNET5700daac01,&
DATARMNETbf55123e5b->saddr,sizeof(DATARMNET2d4b4cfc9e.DATARMNET5700daac01));
DATARMNET2d4b4cfc9e.DATARMNET0d956cc77a=(0xd03+244-0xdf1);}else{goto
DATARMNETbf4095f79e;}rcu_read_lock();DATARMNET8184934307=DATARMNETcc0a01df2a(&
DATARMNET2d4b4cfc9e);rcu_read_unlock();if(!DATARMNET8184934307)goto
DATARMNETbf4095f79e;DATARMNET1a901c3d09=DATARMNET8184934307->DATARMNET7ed5754a5c
.DATARMNET9954a624ac;if(DATARMNET1a901c3d09==DATARMNETdcafdec32a)goto
DATARMNETbf4095f79e;if(DATARMNET543491eb0f->dev)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),sizeof(*
DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9)goto
DATARMNETbf4095f79e;if(DATARMNET86f1f2cdc9->protocol==IPPROTO_TCP)goto
DATARMNET9b3d23a43b;if(DATARMNET86f1f2cdc9->protocol!=IPPROTO_ICMP)goto
DATARMNETbf4095f79e;DATARMNETa76763310b.DATARMNETdfe430c2d6=DATARMNET86f1f2cdc9
->saddr;DATARMNETa76763310b.DATARMNET2cb607d686=DATARMNET86f1f2cdc9->daddr;
DATARMNETa76763310b.DATARMNET0d956cc77a=(0xd11+230-0xdf3);}else if(
DATARMNET543491eb0f->protocol==htons(ETH_P_IPV6)){struct ipv6hdr*
DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;__be16 frag_off;u8 DATARMNET65293f17c4;
DATARMNETbf55123e5b=skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),
sizeof(*DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)goto
DATARMNETbf4095f79e;DATARMNET65293f17c4=DATARMNETbf55123e5b->nexthdr;if(
ipv6_skip_exthdr(DATARMNET543491eb0f,sizeof(*DATARMNETbf55123e5b),&
DATARMNET65293f17c4,&frag_off)<(0xd2d+202-0xdf7))goto DATARMNETbf4095f79e;if(
frag_off&&DATARMNET65293f17c4==NEXTHDR_FRAGMENT)goto DATARMNETbf4095f79e;if(
DATARMNET65293f17c4==IPPROTO_TCP)goto DATARMNET9b3d23a43b;if(DATARMNET65293f17c4
!=IPPROTO_ICMPV6)goto DATARMNETbf4095f79e;memcpy(&DATARMNETa76763310b.
DATARMNET815cbb4bf5,&DATARMNETbf55123e5b->saddr,sizeof(DATARMNETa76763310b.
DATARMNET815cbb4bf5));memcpy(&DATARMNETa76763310b.DATARMNETc3f31215b7,&
DATARMNETbf55123e5b->daddr,sizeof(DATARMNETa76763310b.DATARMNETc3f31215b7));
DATARMNETa76763310b.DATARMNET0d956cc77a=(0xd03+244-0xdf1);}else{goto
DATARMNETbf4095f79e;}rcu_read_lock();hash_for_each_possible_rcu(
DATARMNET5413d6f8ec,DATARMNET63b1a086d5,DATARMNETe8608dd267,DATARMNETa76763310b.
DATARMNET2cb607d686){if(!DATARMNET5f3c9ed4da(&DATARMNET63b1a086d5->
DATARMNET54338da2ff,&DATARMNETa76763310b))continue;if(likely(hrtimer_is_queued(&
DATARMNET63b1a086d5->DATARMNET9f31ce5d2d)))hrtimer_start(&DATARMNET63b1a086d5->
DATARMNET9f31ce5d2d,DATARMNET5da8c68c19,HRTIMER_MODE_REL);rcu_read_unlock();goto
DATARMNETbf4095f79e;}rcu_read_unlock();spin_lock_irqsave(&DATARMNET820642743b,
DATARMNETfb0677cc3c);DATARMNET63b1a086d5=kzalloc(sizeof(*DATARMNET63b1a086d5),
GFP_ATOMIC);if(!DATARMNET63b1a086d5){spin_unlock_irqrestore(&DATARMNET820642743b
,DATARMNETfb0677cc3c);goto DATARMNETbf4095f79e;}INIT_HLIST_NODE(&
DATARMNET63b1a086d5->DATARMNETe8608dd267);memcpy(&DATARMNET63b1a086d5->
DATARMNET54338da2ff,&DATARMNETa76763310b,sizeof(DATARMNETa76763310b));
DATARMNET63b1a086d5->DATARMNET7ed5754a5c.DATARMNET57656f6f2f=DATARMNET543491eb0f
@@ -315,10 +279,9 @@ DATARMNET63b1a086d5->DATARMNETe8608dd267,DATARMNETa76763310b.DATARMNET2cb607d686
DATARMNETbf4095f79e:return DATARMNETc9ed97754a(DATARMNET543491eb0f,
DATARMNET1a901c3d09);DATARMNET9b3d23a43b:DATARMNET7ca470d54b(DATARMNET543491eb0f
,TCP_FLAG_SYN);return DATARMNETc9ed97754a(DATARMNET543491eb0f,
DATARMNET1a901c3d09);DATARMNETf10b3df68d:return DATARMNET6e2f632fce(
DATARMNET543491eb0f,DATARMNET1a901c3d09);}static void DATARMNETbc6bd11f47(struct
net_device*DATARMNET00dcb79bc4){struct DATARMNET4f49486833*DATARMNET63b1a086d5;
int DATARMNET5c2fd31d7b;rcu_read_lock();hash_for_each_rcu(DATARMNET5413d6f8ec,
DATARMNET1a901c3d09);}static void DATARMNETbc6bd11f47(struct net_device*
DATARMNET00dcb79bc4){struct DATARMNET4f49486833*DATARMNET63b1a086d5;int
DATARMNET5c2fd31d7b;rcu_read_lock();hash_for_each_rcu(DATARMNET5413d6f8ec,
DATARMNET5c2fd31d7b,DATARMNET63b1a086d5,DATARMNETe8608dd267){if(
DATARMNET63b1a086d5->DATARMNET7ed5754a5c.DATARMNET57656f6f2f==
DATARMNET00dcb79bc4)hrtimer_cancel(&DATARMNET63b1a086d5->DATARMNET9f31ce5d2d);}

Просмотреть файл

@@ -15,6 +15,7 @@
#include <linux/rculist.h>
#include <linux/hashtable.h>
#include <linux/workqueue.h>
#include <linux/version.h>
#include "rmnet_wlan.h"
#include "rmnet_wlan_stats.h"
#include "rmnet_wlan_fragment.h"
@@ -82,7 +83,12 @@ DATARMNETc7c83f614f(struct DATARMNET6f3b954709*DATARMNET63b1a086d5,bool
DATARMNET7a9bcaf1a3){struct DATARMNET8d3c2559ca*DATARMNET54338da2ff;int(*
DATARMNET456ac0e8eb)(struct sk_buff*DATARMNET543491eb0f);struct sk_buff*
DATARMNET543491eb0f,*DATARMNET0386f6f82a;unsigned long DATARMNETfb0677cc3c;
#if (KERNEL_VERSION((0xd03+244-0xdf1), (0xd2d+202-0xdf7), (0xd2d+202-0xdf7)) < \
LINUX_VERSION_CODE)
DATARMNET456ac0e8eb=(DATARMNET7a9bcaf1a3)?netif_receive_skb:__netif_rx;
#else
DATARMNET456ac0e8eb=(DATARMNET7a9bcaf1a3)?netif_receive_skb:netif_rx;
#endif
DATARMNET54338da2ff=DATARMNET63b1a086d5->DATARMNET7ed5754a5c;spin_lock_irqsave(&
DATARMNET63b1a086d5->DATARMNET94b1f9ee09,DATARMNETfb0677cc3c);
list_for_each_entry_safe(DATARMNET543491eb0f,DATARMNET0386f6f82a,&

Просмотреть файл

@@ -25,19 +25,16 @@
#include "rmnet_wlan_stats.h"
#include "rmnet_wlan_fragment.h"
#include "rmnet_wlan_connection.h"
static char*verinfo[]={"\x37\x32\x39\x63\x61\x37\x33\x37",
static char*verinfo[]={"\x35\x66\x66\x38\x62\x34\x38\x34",
"\x62\x33\x30\x63\x65\x32\x36\x36","\x37\x32\x39\x63\x61\x37\x33\x37",
"\x66\x34\x35\x34\x32\x32\x62\x64","\x30\x32\x39\x33\x31\x66\x62\x66",
"\x32\x31\x39\x38\x30\x64\x66\x62","\x61\x33\x31\x34\x63\x62\x32\x35",
"\x34\x33\x62\x62\x38\x34\x39\x39","\x32\x66\x33\x36\x30\x30\x31\x34",
"\x62\x64\x66\x66\x39\x32\x62\x33","\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,
"\x62\x31\x62\x63\x64\x66\x66\x61"};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))

Просмотреть файл

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* RMNET WLAN stats framework
*
@@ -26,8 +26,7 @@ DATARMNET0b9541c9b3,DATARMNET0078f1d36d,DATARMNET661bdeccd4,DATARMNET28e7704d13,
DATARMNET7c6c30b7d2,DATARMNET39d80cc483,DATARMNET1be480319c,DATARMNET15d1a78b15,
DATARMNETddb1bc27cb,DATARMNETc730640bf7,DATARMNET521b065310,DATARMNET8a15bcdcc7,
DATARMNET0978ff973f,DATARMNETc52168a41e,DATARMNET666fc9a664,DATARMNET7803c877c0,
DATARMNET4c5aeeb476,DATARMNET4f59e3a6e4,DATARMNET87c37ed8cc,DATARMNET03b5eea9bc,
DATARMNETfe1714cc0e,};void DATARMNET5ca94dbc3c(u32 DATARMNET248f120dd5);void
DATARMNET17f6bc1be5(u32 DATARMNET248f120dd5);
DATARMNET4c5aeeb476,DATARMNETfe1714cc0e,};void DATARMNET5ca94dbc3c(u32
DATARMNET248f120dd5);void DATARMNET17f6bc1be5(u32 DATARMNET248f120dd5);
#endif