sm8750: init kernel modules repo

This commit is contained in:
2025-08-11 12:21:01 +02:00
parent 2681143b87
commit facad83b01
8851 changed files with 6894561 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
ifeq ($(TARGET_DATARMNET_EXT_ENABLE), true)
ifneq ($(TARGET_BOARD_PLATFORM),qssi)
RMNET_SHS_DLKM_PLATFORMS_LIST := pineapple
RMNET_SHS_DLKM_PLATFORMS_LIST += sun
RMNET_SHS_DLKM_PLATFORMS_LIST += parrot
RMNET_SHS_DLKM_PLATFORMS_LIST += tuna
ifeq ($(call is-board-platform-in-list, $(RMNET_SHS_DLKM_PLATFORMS_LIST)),true)
#Make file to create RMNET_SHS DLKM
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS := -Wno-macro-redefined -Wno-unused-function -Wall -Werror
LOCAL_CLANG :=true
#Enabling BAZEL
LOCAL_MODULE_DDK_BUILD := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
LOCAL_MODULE := rmnet_shs.ko
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
#path from build top to the core directory
DATARMNET_CORE_PATH := datarmnet/core
RMNET_CORE_PATH := vendor/qcom/opensource/$(DATARMNET_CORE_PATH)
DLKM_DIR := $(TOP)/device/qcom/common/dlkm
#absolute path to the build directory. Can't use $(TOP) here since
#that resolves to ., and we pass this to Kbuild, where . is different
RMNET_CORE_INC_DIR := $(abspath $(RMNET_CORE_PATH))
#pass variables down to Kbuild environment
KBUILD_OPTIONS := RMNET_CORE_INC_DIR=$(RMNET_CORE_INC_DIR)
KBUILD_OPTIONS += RMNET_CORE_PATH=$(RMNET_CORE_PATH)
KBUILD_OPTIONS += DATARMNET_CORE_PATH=$(DATARMNET_CORE_PATH)
KBUILD_OPTIONS_GKI := RMNET_CORE_INC_DIR=$(RMNET_CORE_INC_DIR)
KBUILD_OPTIONS_GKI += RMNET_CORE_PATH=$(RMNET_CORE_PATH)/gki
#Must be built after the core rmnet module
LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/DLKM_OBJ/$(RMNET_CORE_PATH)/rmnet_core.ko
LOCAL_ADDITIONAL_DEPENDENCIES_GKI := $(TARGET_OUT_INTERMEDIATES)/DLKM_OBJ/$(RMNET_CORE_PATH)/gki/rmnet_core.ko
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 datarmnet

View File

@@ -0,0 +1,13 @@
load(":define_shs.bzl", "define_shs")
define_shs("pineapple", "consolidate")
define_shs("pineapple", "perf")
define_shs("sun", "consolidate")
define_shs("sun", "perf")
define_shs("parrot", "consolidate")
define_shs("parrot", "perf")
define_shs("tuna", "consolidate")
define_shs("tuna", "perf")

View File

@@ -0,0 +1,13 @@
obj-m += rmnet_shs.o
#Need core headers
ccflags-y := -I$(RMNET_CORE_INC_DIR) \
$(call cc-option,-Wno-misleading-indentation)
rmnet_shs-y := rmnet_shs_config.o \
rmnet_shs_ll.o \
rmnet_shs_main.o \
rmnet_shs_common.o \
rmnet_shs_wq.o \
rmnet_shs_freq.o \
rmnet_shs_wq_mem.o \
rmnet_shs_wq_genl.o \
rmnet_shs_modules.o

View File

@@ -0,0 +1,10 @@
#
# RMNET_SHS driver
#
menuconfig RMNET_SHS
tristate "Rmnet SHS driver"
default m
depends on RMNET_CORE
---help---
performance mode of rmnet driver

View File

@@ -0,0 +1,15 @@
KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build
KBUILD_OPTIONS := RMNET_SHS_ROOT=$(PWD)
KBUILD_OPTIONS += MODNAME?=rmnet_shs
KBUILD_EXTRA_SYMBOLS := $(M)/../../$(DATARMNET_CORE_PATH)/Module.symvers
M ?= $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) $(KBUILD_EXTRA_SYMBOLS)
modules_install:
$(MAKE) INSTALL_MOD_STRIP=1 -C $(KERNEL_SRC) M=$(M) modules_install
clean:
$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

View File

@@ -0,0 +1,50 @@
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
def define_shs(target, variant):
kernel_build_variant = "{}_{}".format(target, variant)
include_base = "../../../{}".format(native.package_name())
ddk_module(
name = "{}_shs".format(kernel_build_variant),
out = "rmnet_shs.ko",
srcs = [
"rmnet_shs.h",
"rmnet_shs_common.c",
"rmnet_shs_common.h",
"rmnet_shs_config.c",
"rmnet_shs_config.h",
"rmnet_shs_freq.c",
"rmnet_shs_freq.h",
"rmnet_shs_ll.c",
"rmnet_shs_ll.h",
"rmnet_shs_main.c",
"rmnet_shs_modules.c",
"rmnet_shs_modules.h",
"rmnet_shs_wq.c",
"rmnet_shs_wq.h",
"rmnet_shs_wq_genl.c",
"rmnet_shs_wq_genl.h",
"rmnet_shs_wq_mem.c",
"rmnet_shs_wq_mem.h",
],
kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
deps = [
"//msm-kernel:all_headers",
"//vendor/qcom/opensource/datarmnet:{}_rmnet_core".format(kernel_build_variant),
"//vendor/qcom/opensource/datarmnet:rmnet_core_headers",
],
copts = ["-Wno-misleading-indentation"],
)
copy_to_dist_dir(
name = "{}_datarment-ext_dist".format(kernel_build_variant),
data = [
":{}_shs".format(kernel_build_variant),
],
dist_dir = "out/target/product/{}/dlkm/lib/modules/".format(target),
flat = True,
wipe_dist_dir = False,
allow_duplicate_filenames = False,
mode_overrides = {"**/*": "644"},
)

View File

@@ -0,0 +1,190 @@
/* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <linux/skbuff.h>
#include <linux/in.h>
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/tcp.h>
#include <linux/udp.h>
#include "rmnet_shs_wq.h"
#ifndef DATARMNETbd5709177a
#define DATARMNETbd5709177a
#include "rmnet_shs_freq.h"
#include "rmnet_config.h"
#include "rmnet_map.h"
#include "rmnet_shs_wq_genl.h"
#include "rmnet_private.h"
#include "rmnet_handlers.h"
#include "rmnet_trace.h"
#include "qmi_rmnet.h"
#define DATARMNETe603c3a4b3 DATARMNETbfe1afe595
#define DATARMNET25437d35fd 9
#define DATARMNET4899358462 (0xeb7+1101-0x12f5)
#define DATARMNET401583e606 DATARMNETecc0627c70.DATARMNET2f954f58f8
#define DATARMNETc6782fed88 (0xd35+210-0xdff)
#define DATARMNETbc3c416b77 DATARMNETecc0627c70.DATARMNETf510b48c29
#define DATARMNET9273f84bf1 DATARMNETecc0627c70.DATARMNET637025ccc1
#define DATARMNET12f3a261a0 ((0xc07+4861-0x1e3c))
#define DATARMNETb91aee91fd -(0xd26+209-0xdf6)
#define DATARMNET2edff26954 (0xd2d+202-0xdf7)
#define DATARMNET752465942a (0xbf7+4364-0x1c04)
#define DATARMNETbfe31ef643 (0xc07+1233-0xe1c)
#define DATARMNET2d0941aa7c (0xd11+230-0xdf3)
#define DATARMNETaa0602144b 11184810
#define DATARMNET7a815512d3 (0xef7+1100-0x12fd)
#define DATARMNET270b564b55 (0xd35+210-0xdff)
#define DATARMNET1c2d76f636 (0xf07+658-0x110d)
#define DATARMNET2922c89d50 (0xd1f+216-0xdf5)
#define DATARMNETf81c265415 (0xd26+209-0xdf6)
#define DATARMNETaa7431cfa3 (0xd26+209-0xdf6)
#define DATARMNET5c4b64e404 (0xd1f+216-0xdf5)
#define DATARMNETd874bf9c0b (0xd11+230-0xdf3)
#define DATARMNET563c6da1f2 (0xd35+210-0xdff)
#define DATARMNET015fb2ba0e(...) \
do { if (DATARMNET756bdd424a) trace_rmnet_shs_err(__VA_ARGS__); } while (\
(0xd2d+202-0xdf7))
#define DATARMNET52de1f3dc0(...) \
do { if (DATARMNET756bdd424a) trace_rmnet_shs_high(__VA_ARGS__); } while (\
(0xd2d+202-0xdf7))
#define DATARMNETda96251102(...) \
do { if (DATARMNET756bdd424a) trace_rmnet_shs_low(__VA_ARGS__); } while (\
(0xd2d+202-0xdf7))
#define DATARMNETd82a2ed45e 204800
#define DATARMNETc668d192f2 (0xec7+1093-0x12f5)
#define DATARMNETb38cb72105 100000
#define DATARMNETfbee9e182e 100000
#define DATARMNETac6d632788 (80000*DATARMNETc668d192f2)
#define DATARMNET243c638e7d 210000
#define DATARMNET03fd42433e (210000*DATARMNETc668d192f2)
#define DATARMNET9bc9e0cac3 (0xd2d+202-0xdf7)
#define DATARMNET22feab5726 40000
#define DATARMNET4298ee0d38 (40000*DATARMNETc668d192f2)
#define DATARMNET3a9bca9cba 20000
#define DATARMNETcdee526004 (DATARMNET243c638e7d / (0xd1f+216-0xdf5))
struct DATARMNETa6f2d499b2{struct hrtimer DATARMNET758a55f103;struct work_struct
DATARMNET33110a3ff5;struct timespec64 DATARMNET251b97a380;int
DATARMNETe61d62310f;u8 DATARMNET42c3ecbd5e;};struct DATARMNETa6b20d7e8b{struct
hrtimer DATARMNET6fd692fc7a;struct hrtimer DATARMNET645fb3b468;struct hrtimer
hrtimer_wake;struct hrtimer DATARMNET533dba0f29;struct rmnet_map_dl_ind
DATARMNET08dbb5ab35;struct rmnet_map_pb_ind DATARMNET6b783c98fe;struct
qmi_rmnet_ps_ind rmnet_idl_ind_cb;struct rmnet_port*port;struct
DATARMNETa6f2d499b2 DATARMNET132b9c7dc4[DATARMNETc6782fed88];long
DATARMNETc252a1f55d;long DATARMNETa2e32cdd3a;atomic_long_t DATARMNET64bb8a8f57;
ktime_t DATARMNETdd3caf9200;struct wakeup_source*ws;u16 DATARMNETfeee6933fc;u16
DATARMNET85a9848b29;u8 DATARMNET110549da6f;u8 DATARMNET9c869c1ec2;u8
DATARMNETd9cfd2812b;u8 DATARMNET34097703c8;u8 DATARMNETfc89d842ae;u8
DATARMNET6fe0db3a49;u8 DATARMNETba3f7a11ef;u8 map_mask;u8 map_len;u8
DATARMNET5c24e1df05;u8 DATARMNET6625085b71;u8 DATARMNET7d667e828e;u8
DATARMNET2f954f58f8;u8 DATARMNETf510b48c29;u8 DATARMNET637025ccc1;u8
DATARMNET75af9f3c31;u32 DATARMNETe306607c08;};struct DATARMNETa034b2e60c{struct
sk_buff*head;struct sk_buff*tail;u64 DATARMNETbaa5765693;u32 DATARMNET6215127f48
;u32 DATARMNET35234676d4;};struct DATARMNET63d7680df2{union{struct iphdr
DATARMNETac9bbaad7c;struct ipv6hdr DATARMNET1688a97aa4;}ip_hdr;union{struct
tcphdr tp;struct udphdr up;}DATARMNETe33b41dad9;struct list_head
DATARMNET04c88b8191;struct net_device*dev;struct DATARMNET6c78e47d24*
DATARMNET341ea38662;struct DATARMNETa034b2e60c DATARMNETae4b27456e;struct
hlist_node list;u64 DATARMNET11930c5df8;u64 DATARMNETa8940e4a7b;u64
DATARMNET2594c418db;u64 DATARMNET3ecedac168;u64 DATARMNETce5f56eab9;u32
DATARMNET1743c92e66;u32 queue_head;u32 hash;u32 bif;u32 ack_thresh;u16 map_index
;u16 map_cpu;u16 DATARMNETfbbec4c537;u16 DATARMNETa59ce1fd2d;u8
DATARMNET85c698ec34;u16 DATARMNET0371465875;u16 DATARMNET1e9d25d9ff;u8
DATARMNET6250e93187;u8 DATARMNET80eb31d7b8;u8 DATARMNETd986107d55;u8 mux_id;};
enum DATARMNETa40e71cf32{DATARMNET39a19f2e82,DATARMNETbb52958049,
DATARMNET46a17e3ec5,DATARMNETfeb864b93d,DATARMNET3503c562cb};enum
DATARMNET055bc2777b{DATARMNETf8fcf5a1db,DATARMNET6a801720f2,DATARMNET64165df74d,
DATARMNETfb9ca677b8};enum DATARMNET156842d55e{DATARMNET7bc926fdbe,
DATARMNETb3e3b2a799,DATARMNET8dcf06727b};enum DATARMNET8463cba7c7{
DATARMNETc3bce05be2,DATARMNET14067f0be4,DATARMNET28bb261646,DATARMNET67b67dc88f,
DATARMNET0efbbe2821,DATARMNETa4267dfd8a,DATARMNETf13db5ace8,DATARMNETb6eae1e097,
DATARMNET0e398136dc,DATARMNET975060d6b5,DATARMNET7f401828b3,DATARMNET6ea8a58f4e,
DATARMNETcf84373518,DATARMNET6bf40b86f6,DATARMNET9f8bd72ee5,DATARMNET5eefd5051a,
DATARMNET6d1e5ff045,DATARMNETf6458f40e6,DATARMNET438fb7f8f3,DATARMNET6fed39da20,
DATARMNET706cd2d052,DATARMNETaac8ed4c2d,DATARMNETf2dfd00577,DATARMNETf27c21d7c2,
DATARMNET93ad3f8240,DATARMNETeccb61ebc3};enum DATARMNETf355367410{
DATARMNET557ff68d74,DATARMNET1c55e5fdb1,DATARMNET4ab5a31d0c,DATARMNETde2dd86539}
;enum DATARMNET6c7f7f22c7{DATARMNETe35e238437,DATARMNET465c0e5e6d,
DATARMNET9ca23da8b4,DATARMNET8ea1466f15,DATARMNET0d61981934};enum
DATARMNET3f3bc61c03{DATARMNETf5157a9b85,DATARMNET709b59b0e6,DATARMNET99db6e7d86,
DATARMNETe3c02ddaeb,DATARMNET394acaf558,DATARMNETef8cbfa62f,DATARMNETe6e77f9f03,
DATARMNETecdf13872c,DATARMNETd1687e0776,DATARMNET1828d69e96,DATARMNET40ceff078e,
DATARMNET42b73d0f3f,DATARMNETb8fe2c0e64,DATARMNET72db8b9bac,DATARMNET33a9d4759f,
DATARMNET46966e7828,DATARMNETa1f9420686,DATARMNET54b67b8a75,DATARMNETac729c3d29,
DATARMNET6533f70c87,DATARMNET6f6efeaf61,DATARMNETcc0ef52ccb,DATARMNETf8de7cb644,
DATARMNETdd6bf3de6b,DATARMNETfeaf903a28,DATARMNET767c76ca08,DATARMNET048727d1d9,
DATARMNET43405942ed,DATARMNET2e68f4bd9f,DATARMNET0fa3506473,DATARMNETbb641cd339,
DATARMNETf352684b06,DATARMNET62807647a4,DATARMNET3b5329031b,DATARMNETdfffcec2c8,
DATARMNETf3110711cb};enum DATARMNET269385986c{DATARMNET5c4c7e20f2,
DATARMNET95c85e6fe1,DATARMNET27fb9a225d,DATARMNETbbf8fe40aa,DATARMNETa7d45fb6d4,
DATARMNET0acd775aa8,DATARMNET2217440c2e,DATARMNET6aecae7be2,DATARMNETf3dfa53867,
DATARMNET0492ddb5d5};enum DATARMNETd751e3ec84{DATARMNETcc3c294f38,
DATARMNET802083239a,DATARMNETed69052342,DATARMNETcfb1764a91,DATARMNET84a9e136b8,
DATARMNET01bf75e27c,DATARMNETd45c383019,DATARMNETbb5757569c,DATARMNETc8058e2cff,
DATARMNET04dac3a62b,DATARMNETdf6ecde77a,DATARMNET94658618fc,DATARMNET0d07041c32,
DATARMNETfb3150a66e,DATARMNET3cef75f6cd};struct DATARMNETfd554c7eac{struct
sk_buff*skb;struct DATARMNETfd554c7eac*next;};struct DATARMNET37ef896af8{struct
work_struct DATARMNET33110a3ff5;struct rmnet_port*port;};struct
DATARMNETe600c5b727{struct list_head DATARMNET3dc4262f53;u32 DATARMNETae196235f2
;u32 qtail;u32 DATARMNET96571b28de;u32 DATARMNET4133fc9428;u32 seg;u8
DATARMNETef866573e0;u8 DATARMNET1e1f197118;u8 DATARMNET72067bf727;};enum
DATARMNETf0a06dc55a{DATARMNET1790979ccf,DATARMNETd5eb6398da,DATARMNETcd24fca747,
DATARMNETe50d824af7,DATARMNET6b317c4c73,DATARMNET75d955c408,DATARMNETf3aaad06eb,
DATARMNET720469c0a9,DATARMNET4510abc30d,DATARMNET23f8730007,DATARMNETb77d87790d,
DATARMNETf783febe14,};enum DATARMNETc1d9e38720{DATARMNET0b15fd8b54,
DATARMNET5b5927fd7e,DATARMNETba3049005f};enum DATARMNET4f392b0182{
DATARMNET72cb00fdc0,DATARMNET443dab7031,DATARMNET96db46917c,DATARMNET89958f9b63,
DATARMNET6d7a3a033a,DATARMNET16a68afc17,DATARMNET916f444e0a,DATARMNETe9a79499ac,
DATARMNET89f4779456,DATARMNETa94c7e31a0,DATARMNET116c96c236,DATARMNET9da2ea4f74,
DATARMNETe55953a107,DATARMNET43225b7a7c,DATARMNET4dbb6812b5,DATARMNETbf80eada88,
DATARMNET26438cb654,DATARMNETa6d85c8497,DATARMNET650a0ef6e1,DATARMNET3e031f1532,
DATARMNET9f467b9ce4,DATARMNETc154fd2d48,DATARMNET5874e1ecd7,DATARMNET4f09dc5794,
DATARMNET11a1fd3964,DATARMNETf2fc7954d4,DATARMNET4e91ddb48a,DATARMNET16befe9635,
DATARMNET856c53293b,DATARMNET7e63a08ad4,DATARMNETf7c8c7aa3f,DATARMNET08b6defcff,
DATARMNETf5c836f9ae,DATARMNETdd870ee64c,DATARMNETf730f80f06,DATARMNET998c6de143,
DATARMNETe7afce2292,DATARMNETe0fee0991a,DATARMNETbc2a6aea12,DATARMNETde91850c28,
DATARMNET237e7bd5f6,DATARMNETf16e78412b,DATARMNET83147a2e7d,DATARMNET816bb1e327,
DATARMNETf311f20c00,DATARMNETa2bd301af7,DATARMNET99640d60f7,DATARMNET562b7d32a8,
DATARMNET0808844559,DATARMNET5410705c1c,DATARMNET022082b219,DATARMNETe4ee0d2636,
DATARMNET23b8465daf,DATARMNET052f49b190,DATARMNETfb753e521e,DATARMNET64b02f64c6,
DATARMNET576793621a,DATARMNETc262b24b02,DATARMNET4ebbc01257,DATARMNET595eed6ea2,
DATARMNETde090e8314,DATARMNETa593d87b38,DATARMNET8a2898988b,DATARMNET0709c9f764,
DATARMNETae009376be,DATARMNET5994bb1411,DATARMNET623224aa0a,DATARMNET94906cea05,
};extern struct DATARMNET37ef896af8 DATARMNET1731db288b;extern spinlock_t
DATARMNETd83ee17944;extern spinlock_t DATARMNET3764d083f0;extern spinlock_t
DATARMNETec2a4f5211;extern spinlock_t DATARMNETfbdbab2ef6;extern struct
hlist_head DATARMNETe603c3a4b3[(0xd26+209-0xdf6)<<(DATARMNET25437d35fd)];void
DATARMNET203752febd(void);void DATARMNET7520667b38(void);void
DATARMNETa871eeb7e7(void);void DATARMNET8f9da46b14(void);int DATARMNET362b15f941
(u16 cpu);void DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);unsigned
int DATARMNET02cdd9b125(void);int DATARMNET310c3eb16e(u8 mask);int
DATARMNETe02152c351(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
DATARMNETd87669e323,u8 DATARMNET5447204733,struct sk_buff**DATARMNETc88d0a6cdd);
void DATARMNET4684d6c911(struct rmnet_map_pb_ind_hdr*DATARMNET4e61dda775);void
DATARMNET78bb6be330(struct rmnet_map_dl_ind_hdr*dlhdr,struct
rmnet_map_control_command_header*qcmd);void DATARMNETf61cd23b90(struct
rmnet_map_dl_ind_trl*dltrl,struct rmnet_map_control_command_header*qcmd);void
DATARMNET7ed4cef8a3(struct rmnet_map_dl_ind_hdr*dlhdr);void DATARMNET613a81eca8(
struct rmnet_map_dl_ind_trl*dltrl);int DATARMNET756778f14f(struct sk_buff*skb,
struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3);void DATARMNETa4bf9fbf64(u8
DATARMNET665469cfb6,u8 DATARMNET5447204733);void DATARMNETde8ee16f92(struct
DATARMNET63d7680df2*DATARMNET63b1a086d5);void DATARMNET45d8cdb224(struct
net_device*dev,struct net_device*vnd);void DATARMNET9297340f58(unsigned int
DATARMNET9f4bc49c6f);void DATARMNET7f1d9480cb(void*port);void
DATARMNETa4bd2ef52c(void*port);void DATARMNETe074a09496(void);void
DATARMNET23c7ddd780(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8
DATARMNET5447204733);void DATARMNET349c3a0cab(u16 map_cpu,bool
DATARMNETb639f6e1b1);void DATARMNETe767554e6e(struct sk_buff*skb);u32
DATARMNETadb0248bd4(u8 DATARMNET42a992465f);
#endif

View File

@@ -0,0 +1,238 @@
/* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include "rmnet_shs.h"
#include "rmnet_shs_wq.h"
#include "rmnet_shs_modules.h"
#include <net/ip.h>
#include <linux/cpu.h>
#include <linux/bitmap.h>
#include <linux/netdevice.h>
#include <linux/kernel.h>
#include <linux/smp.h>
#include <linux/ipv6.h>
#include <linux/netdevice.h>
#define DATARMNET48a89fcc16 (0xd26+209-0xdf6)
#define DATARMNETbfe901fc62 (0xd2d+202-0xdf7)
void DATARMNET4095253347(struct DATARMNET9b44b71ee9*ep){trace_rmnet_shs_wq_low(
DATARMNET5e796836fb,DATARMNET7fc202c4c1,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),ep,NULL);list_add(&ep->DATARMNET0763436b8d
,&DATARMNET30a3e83974);}void DATARMNETf7d317ed55(struct DATARMNET9b44b71ee9*ep){
trace_rmnet_shs_wq_low(DATARMNET5e796836fb,DATARMNET7643ab0f49,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),ep,
NULL);list_del_init(&ep->DATARMNET0763436b8d);}void DATARMNET36e5e526fa(struct
DATARMNET6c78e47d24*DATARMNETd2a694d52a){trace_rmnet_shs_wq_low(
DATARMNET238d08f0df,DATARMNET3f2d29c867,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);spin_lock_bh(&
DATARMNETfbdbab2ef6);list_add_rcu(&DATARMNETd2a694d52a->DATARMNET6de26f0feb,&
DATARMNET9825511866);spin_unlock_bh(&DATARMNETfbdbab2ef6);}void
DATARMNET2fe780019f(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a){
trace_rmnet_shs_wq_low(DATARMNET238d08f0df,DATARMNET5a3ea29c57,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
DATARMNETd2a694d52a,NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_del_rcu(&
DATARMNETd2a694d52a->DATARMNET6de26f0feb);spin_unlock_bh(&DATARMNETfbdbab2ef6);}
void DATARMNETb4a6870b3b(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a){
trace_rmnet_shs_wq_low(DATARMNET92b282b12c,DATARMNETdb9197631d,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
DATARMNETd2a694d52a,NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_del_init(&
DATARMNETd2a694d52a->DATARMNET742867e97a);spin_unlock_bh(&DATARMNETfbdbab2ef6);}
void DATARMNETd8a6375e9c(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct
list_head*head){trace_rmnet_shs_wq_low(DATARMNET92b282b12c,DATARMNET4b58d51c6a,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
DATARMNETd2a694d52a,NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_add(&
DATARMNETd2a694d52a->DATARMNET742867e97a,head);spin_unlock_bh(&
DATARMNETfbdbab2ef6);}void DATARMNET9914e9761e(struct DATARMNET6c78e47d24*
DATARMNETd2a694d52a,struct list_head*head){trace_rmnet_shs_wq_low(
DATARMNET92b282b12c,DATARMNETfd4d416388,DATARMNETd2a694d52a->DATARMNET7c894c2f8f
,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,
NULL);spin_lock_bh(&DATARMNETfbdbab2ef6);list_move(&DATARMNETd2a694d52a->
DATARMNET742867e97a,head);spin_unlock_bh(&DATARMNETfbdbab2ef6);}void
DATARMNET6bf538fa23(void){spin_lock_bh(&DATARMNETec2a4f5211);}void
DATARMNETaea4c85748(void){spin_unlock_bh(&DATARMNETec2a4f5211);}void
DATARMNETe46c480d71(void){u8 mask=DATARMNET752465942a;u8 DATARMNET998de79791=
(0xd2d+202-0xdf7);struct DATARMNET9b44b71ee9*ep;list_for_each_entry(ep,&
DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if
(ep->DATARMNET9fb369ce5f){mask&=ep->DATARMNET9fb369ce5f;DATARMNET998de79791=
(0xd26+209-0xdf6);}}if(!DATARMNET998de79791){DATARMNETecc0627c70.map_mask=
(0xd2d+202-0xdf7);DATARMNETecc0627c70.map_len=(0xd2d+202-0xdf7);return;}else if(
DATARMNETecc0627c70.map_mask!=mask){DATARMNETecc0627c70.map_mask=mask;
DATARMNETecc0627c70.map_len=DATARMNET310c3eb16e(mask);pr_info(
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x20\x6d\x61\x73\x6b\x3a\x20\x30\x78\x25\x78\x20\x6d\x61\x70\x6c\x65\x6e\x3a\x20\x25\x64" "\n"
,DATARMNETecc0627c70.map_mask,DATARMNETecc0627c70.map_len);}}void
DATARMNETde8ee16f92(struct DATARMNET63d7680df2*DATARMNET63b1a086d5){
DATARMNETda96251102(DATARMNETd5eb6398da,DATARMNETe9a79499ac,(0x16e8+787-0xc0c),
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
list_del_init(&DATARMNET63b1a086d5->DATARMNET04c88b8191);DATARMNET349c3a0cab(
DATARMNET63b1a086d5->map_cpu,DATARMNETbfe901fc62);}void DATARMNET3e37ad2816(
struct DATARMNET63d7680df2*DATARMNET63b1a086d5,struct list_head*
DATARMNET4d030eb9b5){DATARMNETda96251102(DATARMNETd5eb6398da,DATARMNET16a68afc17
,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
NULL,NULL);list_add(&DATARMNET63b1a086d5->DATARMNET04c88b8191,
DATARMNET4d030eb9b5);DATARMNET349c3a0cab(DATARMNET63b1a086d5->map_cpu,
DATARMNET48a89fcc16);}void DATARMNETe102b3a798(struct DATARMNET63d7680df2*
DATARMNET63b1a086d5,struct list_head*DATARMNET4d030eb9b5,int DATARMNETa7a5705ab0
){DATARMNETda96251102(DATARMNETd5eb6398da,DATARMNET916f444e0a,(0x16e8+787-0xc0c)
,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);list_move(&
DATARMNET63b1a086d5->DATARMNET04c88b8191,DATARMNET4d030eb9b5);
DATARMNET349c3a0cab(DATARMNET63b1a086d5->map_cpu,DATARMNET48a89fcc16);
DATARMNET349c3a0cab((u16)DATARMNETa7a5705ab0,DATARMNETbfe901fc62);}void
DATARMNET4bde88919f(u8 cpu,int count){if(cpu<DATARMNETc6782fed88){
DATARMNET443cf5aaaf[cpu]+=count;}}u64 DATARMNETfc888b4d3e(u16 cpu){if(cpu>=
DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return
(0xd2d+202-0xdf7);}return DATARMNET713717107f[cpu];}inline int
DATARMNET362b15f941(u16 cpu){return!(((0xd26+209-0xdf6)<<cpu)&
DATARMNETbc3c416b77);}u32 DATARMNETadb0248bd4(u8 DATARMNET42a992465f){u32 ret=
(0xd2d+202-0xdf7);if(DATARMNET42a992465f<DATARMNETc6782fed88)ret=
DATARMNET0997c5650d[DATARMNET42a992465f].DATARMNETae196235f2;DATARMNETda96251102
(DATARMNET75d955c408,DATARMNET9f467b9ce4,DATARMNET42a992465f,ret,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return ret;}u32
DATARMNETeb3978575d(u8 DATARMNET42a992465f){u32 ret=(0xd2d+202-0xdf7);if(
DATARMNET42a992465f<DATARMNETc6782fed88)ret=DATARMNET0997c5650d[
DATARMNET42a992465f].qtail;DATARMNETda96251102(DATARMNET75d955c408,
DATARMNETc154fd2d48,DATARMNET42a992465f,ret,(0x16e8+787-0xc0c),
(0x16e8+787-0xc0c),NULL,NULL);return ret;}u32 DATARMNETeea3cef5b6(u8
DATARMNET42a992465f){u32 ret=(0xd2d+202-0xdf7);if(DATARMNET42a992465f<
DATARMNETc6782fed88)ret=DATARMNET0997c5650d[DATARMNET42a992465f].
DATARMNET96571b28de;DATARMNETda96251102(DATARMNET75d955c408,DATARMNETc154fd2d48,
DATARMNET42a992465f,ret,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return
ret;}int DATARMNET4e292977da(void*priv,const struct list_head*
DATARMNET9cf7d31274,const struct list_head*DATARMNET5444bd3b6f){struct
DATARMNETe176be7f7c*DATARMNET40e125212a;struct DATARMNETe176be7f7c*
DATARMNETdcaff77beb;if(!DATARMNET9cf7d31274||!DATARMNET5444bd3b6f)return
(0xd2d+202-0xdf7);DATARMNET40e125212a=list_entry(DATARMNET9cf7d31274,struct
DATARMNETe176be7f7c,DATARMNET7287946e7b);DATARMNETdcaff77beb=list_entry(
DATARMNET5444bd3b6f,struct DATARMNETe176be7f7c,DATARMNET7287946e7b);if(
DATARMNET40e125212a->DATARMNET253a9fc708>DATARMNETdcaff77beb->
DATARMNET253a9fc708)return-(0xd26+209-0xdf6);else if(DATARMNET40e125212a->
DATARMNET253a9fc708<DATARMNETdcaff77beb->DATARMNET253a9fc708)return
(0xd26+209-0xdf6);return(0xd2d+202-0xdf7);}int DATARMNET3c489db64a(void*priv,
const struct list_head*DATARMNET9cf7d31274,const struct list_head*
DATARMNET5444bd3b6f){struct DATARMNET13c47d154e*DATARMNET40e125212a;struct
DATARMNET13c47d154e*DATARMNETdcaff77beb;if(!DATARMNET9cf7d31274||!
DATARMNET5444bd3b6f)return(0xd2d+202-0xdf7);DATARMNET40e125212a=list_entry(
DATARMNET9cf7d31274,struct DATARMNET13c47d154e,DATARMNETec0e3cb8f0);
DATARMNETdcaff77beb=list_entry(DATARMNET5444bd3b6f,struct DATARMNET13c47d154e,
DATARMNETec0e3cb8f0);if(DATARMNET40e125212a->DATARMNET253a9fc708>
DATARMNETdcaff77beb->DATARMNET253a9fc708)return-(0xd26+209-0xdf6);else if(
DATARMNET40e125212a->DATARMNET253a9fc708<DATARMNETdcaff77beb->
DATARMNET253a9fc708)return(0xd26+209-0xdf6);return(0xd2d+202-0xdf7);}int
DATARMNETd5c15f1ff3(void*priv,const struct list_head*DATARMNET9cf7d31274,const
struct list_head*DATARMNET5444bd3b6f){struct DATARMNET09a412b1c6*
DATARMNET40e125212a;struct DATARMNET09a412b1c6*DATARMNETdcaff77beb;if(!
DATARMNET9cf7d31274||!DATARMNET5444bd3b6f)return(0xd2d+202-0xdf7);
DATARMNET40e125212a=list_entry(DATARMNET9cf7d31274,struct DATARMNET09a412b1c6,
DATARMNETd502c0412a);DATARMNETdcaff77beb=list_entry(DATARMNET5444bd3b6f,struct
DATARMNET09a412b1c6,DATARMNETd502c0412a);if(DATARMNET40e125212a->
DATARMNET253a9fc708>DATARMNETdcaff77beb->DATARMNET253a9fc708)return-
(0xd26+209-0xdf6);else if(DATARMNET40e125212a->DATARMNET253a9fc708<
DATARMNETdcaff77beb->DATARMNET253a9fc708)return(0xd26+209-0xdf6);return
(0xd2d+202-0xdf7);}int DATARMNET85af86a36d(void*priv,const struct list_head*
DATARMNET9cf7d31274,const struct list_head*DATARMNET5444bd3b6f){struct
DATARMNET47a6995138*DATARMNETdad817a72a;struct DATARMNET47a6995138*
DATARMNET11d167e92b;if(!DATARMNET9cf7d31274||!DATARMNET5444bd3b6f)return
(0xd2d+202-0xdf7);DATARMNETdad817a72a=list_entry(DATARMNET9cf7d31274,struct
DATARMNET47a6995138,DATARMNET02523bfb57);DATARMNET11d167e92b=list_entry(
DATARMNET5444bd3b6f,struct DATARMNET47a6995138,DATARMNET02523bfb57);if(
DATARMNETdad817a72a->DATARMNET4da6031170>DATARMNET11d167e92b->
DATARMNET4da6031170)return-(0xd26+209-0xdf6);else if(DATARMNETdad817a72a->
DATARMNET4da6031170<DATARMNET11d167e92b->DATARMNET4da6031170)return
(0xd26+209-0xdf6);return(0xd2d+202-0xdf7);}int DATARMNETf181a18009(struct
net_device*dev){u8 DATARMNETde5894dad9;u8 DATARMNETd9e9d4ff7e;int
DATARMNET895df156d7=-(0xd26+209-0xdf6);u8 is_match_found=(0xd2d+202-0xdf7);
struct DATARMNET9b44b71ee9*ep=NULL;if(!dev){DATARMNET68d84e7b98[
DATARMNETf5157a9b85]++;return DATARMNET895df156d7;}spin_lock_bh(&
DATARMNETec2a4f5211);list_for_each_entry(ep,&DATARMNET30a3e83974,
DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if(ep->ep==dev){
is_match_found=(0xd26+209-0xdf6);break;}}if(!is_match_found){DATARMNET68d84e7b98
[DATARMNETb8fe2c0e64]++;spin_unlock_bh(&DATARMNETec2a4f5211);return
DATARMNET895df156d7;}DATARMNETde5894dad9=ep->DATARMNET6bda8fe27e;
DATARMNETd9e9d4ff7e=ep->DATARMNETd7a83774f8;while(DATARMNETde5894dad9<
DATARMNETd9e9d4ff7e){if(ep->DATARMNET5af04d0405[DATARMNETde5894dad9]>=
(0xd2d+202-0xdf7)){DATARMNET895df156d7=ep->DATARMNET5af04d0405[
DATARMNETde5894dad9];break;}DATARMNETde5894dad9++;}if((DATARMNET895df156d7>=
(0xd2d+202-0xdf7))||((ep->DATARMNET6bda8fe27e+(0xd26+209-0xdf6))>=ep->
DATARMNETd7a83774f8))ep->DATARMNET6bda8fe27e=((ep->DATARMNET6bda8fe27e+
(0xd26+209-0xdf6))%ep->DATARMNETd7a83774f8);spin_unlock_bh(&DATARMNETec2a4f5211)
;return DATARMNET895df156d7;}int DATARMNET98b2a0ce62(struct net_device*dev){
struct DATARMNET9b44b71ee9*ep=NULL;int DATARMNET895df156d7=-(0xd26+209-0xdf6);u8
DATARMNETcc5b7cd962;u8 DATARMNET15bde5cb53;u8 is_match_found=(0xd2d+202-0xdf7);
if(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;return DATARMNET895df156d7;}
spin_lock_bh(&DATARMNETec2a4f5211);list_for_each_entry(ep,&DATARMNET30a3e83974,
DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;if(ep->ep==dev){
is_match_found=(0xd26+209-0xdf6);break;}}if(!is_match_found){DATARMNET68d84e7b98
[DATARMNETb8fe2c0e64]++;spin_unlock_bh(&DATARMNETec2a4f5211);return
DATARMNET895df156d7;}DATARMNETcc5b7cd962=ep->DATARMNET121a654efd;
DATARMNET15bde5cb53=ep->DATARMNET847276e5af;while(DATARMNETcc5b7cd962<
DATARMNET15bde5cb53){if(ep->DATARMNET7167e10d99[DATARMNETcc5b7cd962]>=
(0xd2d+202-0xdf7)){DATARMNET895df156d7=ep->DATARMNET7167e10d99[
DATARMNETcc5b7cd962];break;}DATARMNETcc5b7cd962++;}if(DATARMNET895df156d7>=
(0xd2d+202-0xdf7))ep->DATARMNET121a654efd=((DATARMNETcc5b7cd962+
(0xd26+209-0xdf6))%DATARMNET15bde5cb53);spin_unlock_bh(&DATARMNETec2a4f5211);
return DATARMNET895df156d7;}void DATARMNET7f1d9480cb(void*port){
DATARMNET4063c95208();}void DATARMNETa4bd2ef52c(void*port){DATARMNET7b6c061b06()
;}u8 DATARMNET928c931df9(struct rps_map*map){u8 mask=(0xd2d+202-0xdf7);u8 i;for(
i=(0xd2d+202-0xdf7);i<map->len;i++)mask|=(0xd26+209-0xdf6)<<map->cpus[i];return
mask;}int DATARMNET310c3eb16e(u8 mask){u8 i;u8 DATARMNETc2284e5688=
(0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(mask&(
(0xd26+209-0xdf6)<<i))DATARMNETc2284e5688++;}return DATARMNETc2284e5688;}int
DATARMNET04e8d1b862(u8 cpu,u8 mask){int ret=DATARMNETb91aee91fd;u8 idx=
(0xd2d+202-0xdf7);u8 i;if(!(mask&(0xd26+209-0xdf6)<<cpu))return ret;for(i=
(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(i==cpu&&(mask&((0xd26+209-0xdf6)
<<i))){ret=idx;break;}if(mask&((0xd26+209-0xdf6)<<i))idx++;}return ret;}int
DATARMNET217fe38119(u64 DATARMNETab155dfd5d,struct net_device*dev){int
DATARMNETf54fdb137b=DATARMNETb91aee91fd;if(DATARMNETab155dfd5d<
DATARMNETd82a2ed45e)DATARMNETf54fdb137b=DATARMNETf181a18009(dev);if(
DATARMNETf54fdb137b==DATARMNETb91aee91fd||DATARMNETab155dfd5d>=
DATARMNETd82a2ed45e)DATARMNETf54fdb137b=DATARMNET98b2a0ce62(dev);
DATARMNET52de1f3dc0(DATARMNET720469c0a9,DATARMNET7e63a08ad4,DATARMNETf54fdb137b,
DATARMNETab155dfd5d,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);return
DATARMNETf54fdb137b;}void*DATARMNETefcaf5fbe9(struct sk_buff*skb,u32 offset,u32
DATARMNET567bdc7221,void*buf){struct skb_shared_info*shinfo=skb_shinfo(skb);
skb_frag_t*frag;u32 DATARMNETedc267a909=offset;int i;if(offset>skb->len||
DATARMNET567bdc7221>skb->len||offset+DATARMNET567bdc7221>skb->len)return NULL;if
(skb_headlen(skb)>=offset+DATARMNET567bdc7221)return skb->data+offset;offset-=
skb_headlen(skb);for(i=(0xd2d+202-0xdf7);i<shinfo->nr_frags;i++){u32 frag_size;
frag=&shinfo->frags[i];frag_size=skb_frag_size(frag);if(offset>=frag_size){
offset-=frag_size;continue;}if(frag_size>=offset+DATARMNET567bdc7221)return
skb_frag_address(frag)+offset;}if(skb_copy_bits(skb,(int)DATARMNETedc267a909,buf
,(int)DATARMNET567bdc7221))return NULL;return buf;}void DATARMNET44459105b4(
struct sk_buff*skb,struct DATARMNET63d7680df2*node_p){struct iphdr*ip4h,
DATARMNETc00baf31c3;struct ipv6hdr*ip6h,DATARMNETcf1d9e2c1e;struct tcphdr*tp,
DATARMNETd1ff6cd568;struct udphdr*up,DATARMNETc82d2f4e16;int len=
(0xd2d+202-0xdf7);u16 ip_len=(0xd2d+202-0xdf7);__be16 frag_off;u8 protocol;
switch(skb->protocol){case htons(ETH_P_IP):ip4h=DATARMNETefcaf5fbe9(skb,
(0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);if(!ip4h)return;node_p->
DATARMNET1e9d25d9ff=ip4h->protocol;memcpy(&(node_p->ip_hdr.DATARMNETac9bbaad7c),
ip4h,sizeof(*ip4h));ip_len=ip4h->ihl*(0xd11+230-0xdf3);break;case htons(
ETH_P_IPV6):ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
DATARMNETcf1d9e2c1e);if(!ip6h)return;node_p->DATARMNET1e9d25d9ff=ip6h->nexthdr;
memcpy(&(node_p->ip_hdr.DATARMNET1688a97aa4),ip6h,sizeof(*ip6h));protocol=ip6h->
nexthdr;len=ipv6_skip_exthdr(skb,sizeof(*ip6h),&protocol,&frag_off);if(len<
(0xd2d+202-0xdf7)){return;}ip_len=(u16)len;break;default:break;}if(node_p->
DATARMNET1e9d25d9ff==IPPROTO_TCP){tp=DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*tp),
&DATARMNETd1ff6cd568);if(!tp)return;memcpy(&(node_p->DATARMNETe33b41dad9.tp),tp,
sizeof(struct tcphdr));}else if(node_p->DATARMNET1e9d25d9ff==IPPROTO_UDP){up=
DATARMNETefcaf5fbe9(skb,ip_len,sizeof(*up),&DATARMNETc82d2f4e16);if(!up)return;
memcpy(&(node_p->DATARMNETe33b41dad9.up),up,sizeof(struct udphdr));}else{}}u32
DATARMNET8532ab3089(u32 index,u32 DATARMNET0258668025,u32 hash,u8
DATARMNET72067bf727){int DATARMNETebbd4cd1d9[DATARMNETc6782fed88/
(0xd1f+216-0xdf5)]={(0xd35+210-0xdff),(0xd11+230-0xdf3),(0xd18+223-0xdf4),
(0xd1f+216-0xdf5)};u32 ret=(0xd2d+202-0xdf7);if(!DATARMNET0258668025){
DATARMNET68d84e7b98[DATARMNETef8cbfa62f]++;return ret;}if(DATARMNET0258668025<
DATARMNETc6782fed88)ret=((((index+((DATARMNET0258668025%(0xd1f+216-0xdf5))?
(0xd26+209-0xdf6):(0xd2d+202-0xdf7))))<<(0xec7+1122-0x130d))*DATARMNETebbd4cd1d9
[(DATARMNET0258668025-(0xd26+209-0xdf6))>>(0xd26+209-0xdf6)])|(hash&16777215);if
(DATARMNET72067bf727)ret=(ret&~1048575)|DATARMNET94fa0a43a2;DATARMNETda96251102(
DATARMNETf3aaad06eb,DATARMNET4e91ddb48a,ret,hash,index,DATARMNET0258668025,NULL,
NULL);return ret;}

View File

@@ -0,0 +1,71 @@
/* Copyright (c) 2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef DATARMNET4e9dcb0338
#define DATARMNET4e9dcb0338
#undef TRACE_INCLUDE_PATH
#include <trace/hooks/sched.h>
#include <linux/tracepoint.h>
#include <trace/hooks/vendor_hooks.h>
#if (KERNEL_VERSION((0xd03+244-0xdf1), 9, (0xd2d+202-0xdf7)) <= \
LINUX_VERSION_CODE)
#include <net/rps.h>
#endif
#define DATARMNET94fa0a43a2 489335
void DATARMNET4095253347(struct DATARMNET9b44b71ee9*ep);void DATARMNETf7d317ed55
(struct DATARMNET9b44b71ee9*ep);void DATARMNET36e5e526fa(struct
DATARMNET6c78e47d24*DATARMNETd2a694d52a);void DATARMNET2fe780019f(struct
DATARMNET6c78e47d24*DATARMNETd2a694d52a);void DATARMNETd8a6375e9c(struct
DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct list_head*head);void
DATARMNET9914e9761e(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct
list_head*head);void DATARMNET6bf538fa23(void);void DATARMNETaea4c85748(void);
void DATARMNETe46c480d71(void);void DATARMNETde8ee16f92(struct
DATARMNET63d7680df2*DATARMNET63b1a086d5);void DATARMNET3e37ad2816(struct
DATARMNET63d7680df2*DATARMNET63b1a086d5,struct list_head*DATARMNET4d030eb9b5);
void DATARMNETe102b3a798(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,struct
list_head*DATARMNET4d030eb9b5,int DATARMNETa7a5705ab0);void DATARMNET4bde88919f(
u8 cpu,int count);inline int DATARMNET362b15f941(u16 cpu);u64
DATARMNETfc888b4d3e(u16 cpu);u32 DATARMNETeb3978575d(u8 DATARMNET42a992465f);u32
DATARMNETeea3cef5b6(u8 DATARMNET42a992465f);u8 DATARMNET928c931df9(struct
rps_map*map);int DATARMNET4e292977da(void*priv,const struct list_head*
DATARMNET9cf7d31274,const struct list_head*DATARMNET5444bd3b6f);int
DATARMNET3c489db64a(void*priv,const struct list_head*DATARMNET9cf7d31274,const
struct list_head*DATARMNET5444bd3b6f);int DATARMNETd5c15f1ff3(void*priv,const
struct list_head*DATARMNET9cf7d31274,const struct list_head*DATARMNET5444bd3b6f)
;int DATARMNET85af86a36d(void*priv,const struct list_head*DATARMNET9cf7d31274,
const struct list_head*DATARMNET5444bd3b6f);int DATARMNETf181a18009(struct
net_device*dev);int DATARMNET98b2a0ce62(struct net_device*dev);void
DATARMNET7f1d9480cb(void*port);void DATARMNETa4bd2ef52c(void*port);int
DATARMNET310c3eb16e(u8 mask);void DATARMNETb4a6870b3b(struct DATARMNET6c78e47d24
*DATARMNETd2a694d52a);void DATARMNETd8a6375e9c(struct DATARMNET6c78e47d24*
DATARMNETd2a694d52a,struct list_head*head);void DATARMNET9914e9761e(struct
DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct list_head*head);int
DATARMNET04e8d1b862(u8 cpu,u8 mask);void DATARMNET44459105b4(struct sk_buff*skb,
struct DATARMNET63d7680df2*node_p);int DATARMNET217fe38119(u64
DATARMNETab155dfd5d,struct net_device*dev);void*DATARMNETefcaf5fbe9(struct
sk_buff*skb,u32 offset,u32 DATARMNET567bdc7221,void*buf);u32 DATARMNET8532ab3089
(u32 index,u32 DATARMNET0258668025,u32 hash,u8 DATARMNET778962e2c2);extern
struct list_head DATARMNET9825511866;static inline void DATARMNET3e88a91b63(void
*unused,struct wait_queue_head*DATARMNETa08427f746,int*done,struct sock*sk){if((
sk->sk_protocol==IPPROTO_TCP||sk->sk_protocol==IPPROTO_UDP)&&(sk->sk_rxhash&
1048575)==DATARMNET94fa0a43a2){(*done)=(0xd26+209-0xdf6);
wake_up_interruptible_poll(DATARMNETa08427f746,EPOLLIN|EPOLLPRI|EPOLLRDNORM|
EPOLLRDBAND);}}static inline int DATARMNETed3cac41ac(void){int rc=
(0xd2d+202-0xdf7);rc=register_trace_android_vh_do_wake_up_sync(
DATARMNET3e88a91b63,NULL);return rc;}static inline int DATARMNET7fcf8c178f(void)
{int rc=(0xd2d+202-0xdf7);rc=unregister_trace_android_vh_do_wake_up_sync(
DATARMNET3e88a91b63,NULL);return rc;}
#undef TRACE_INCLUDE_PATH
#endif

View File

@@ -0,0 +1,108 @@
/* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/module.h>
#include "rmnet_map.h"
#include "rmnet_private.h"
#include "rmnet_shs_config.h"
#include "rmnet_shs.h"
#include "rmnet_shs_wq.h"
#include "rmnet_shs_ll.h"
#include "rmnet_shs_freq.h"
#include "rmnet_shs_wq_genl.h"
#include "rmnet_shs_common.h"
#include "rmnet_shs_modules.h"
#include "rmnet_module.h"
static int DATARMNETe9173bbe0e(struct notifier_block*DATARMNET272c159b3c,
unsigned long DATARMNET7f045a1e6e,void*data);static struct notifier_block
DATARMNET5fc54f7a13 __read_mostly={.notifier_call=DATARMNETe9173bbe0e,.priority=
(0xd1f+216-0xdf5),};static char*DATARMNETbc8418e817[]={"\x34\x33\x61\x36\x62",
"\x61\x32\x63\x65\x36","\x64\x31\x61\x62\x31","\x64\x38\x37\x39\x62",
"\x61\x63\x36\x32\x36","\x35\x63\x66\x66\x37","\x61\x35\x38\x36\x62"};
module_param_array(DATARMNETbc8418e817,charp,NULL,(0xcb7+5769-0x221c));
MODULE_PARM_DESC(DATARMNETbc8418e817,
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x73\x68\x73\x20\x64\x72\x69\x76\x65\x72"
);static const struct rmnet_module_hook_register_info DATARMNETf6217b20b8={.
hooknum=RMNET_MODULE_HOOK_SHS_SKB_LL_ENTRY,.func=DATARMNETf5821256ad};static int
DATARMNET2cb9ae589c;int __init DATARMNET163e93649e(void){pr_info(
"\x25\x73\x28\x29\x3a\x20\x4c\x6f\x61\x64\x65\x64\x20\x72\x6d\x6e\x65\x74\x20\x53\x48\x53\x20\x6d\x6f\x64\x75\x6c\x65\x20" "\n"
,__func__);trace_rmnet_shs_high(DATARMNET1790979ccf,DATARMNET72cb00fdc0,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL
,NULL);if(DATARMNET0dbc627e8f()){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\x6e\x69\x74\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x6e\x65\x74\x6c\x69\x6e\x6b"
);}return register_netdevice_notifier(&DATARMNET5fc54f7a13);}void __exit
DATARMNETf3298dab6f(void){trace_rmnet_shs_high(DATARMNET1790979ccf,
DATARMNET89958f9b63,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
(0x16e8+787-0xc0c),NULL,NULL);unregister_netdevice_notifier(&DATARMNET5fc54f7a13
);DATARMNETeabd69d1ab();pr_info(
"\x25\x73\x28\x29\x3a\x20\x45\x78\x69\x74\x69\x6e\x67\x20\x72\x6d\x6e\x65\x74\x20\x53\x48\x53\x20\x6d\x6f\x64\x75\x6c\x65" "\n"
,__func__);}static int DATARMNETe9173bbe0e(struct notifier_block*
DATARMNET272c159b3c,unsigned long DATARMNET7f045a1e6e,void*data){struct
net_device*dev=netdev_notifier_info_to_dev(data);struct rmnet_priv*priv;struct
rmnet_port*port;int ret=(0xd2d+202-0xdf7);if(!dev){DATARMNET68d84e7b98[
DATARMNETf5157a9b85]++;return NOTIFY_DONE;}if(!(strncmp(dev->name,
"\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61",(0xd27+224-0xdfd))==(0xd2d+202-0xdf7)
))return NOTIFY_DONE;switch(DATARMNET7f045a1e6e){case NETDEV_DOWN:
DATARMNETd6ee05f1b4(dev);break;case NETDEV_UNREGISTER:DATARMNET2cb9ae589c--;if(!
DATARMNET2cb9ae589c&&DATARMNETecc0627c70.DATARMNETfc89d842ae){unsigned int
DATARMNET9f4bc49c6f;pr_info(
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x64\x65\x69\x6e\x69\x74\x20\x25\x73\x20\x67\x6f\x69\x6e\x67\x20\x64\x6f\x77\x6e" "\n"
,dev->name);DATARMNET203752febd();DATARMNETa871eeb7e7();
rmnet_module_hook_unregister_no_sync(&DATARMNETf6217b20b8,(0xd26+209-0xdf6));
qmi_rmnet_ps_ind_deregister(DATARMNETecc0627c70.port,&DATARMNETecc0627c70.
rmnet_idl_ind_cb);rmnet_map_dl_ind_deregister(DATARMNETecc0627c70.port,&
DATARMNETecc0627c70.DATARMNET08dbb5ab35);rmnet_map_pb_ind_deregister(
DATARMNETecc0627c70.port,&DATARMNETecc0627c70.DATARMNET6b783c98fe);
DATARMNETeacad8334e();DATARMNET90fe3a4b56();DATARMNET9f4bc49c6f=
DATARMNET02cdd9b125();if(DATARMNETecc0627c70.DATARMNET9c869c1ec2)
DATARMNET7fcf8c178f();DATARMNETf7dcab9a9e();DATARMNET9297340f58(
DATARMNET9f4bc49c6f);trace_rmnet_shs_high(DATARMNET1790979ccf,
DATARMNET443dab7031,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
(0x16e8+787-0xc0c),NULL,NULL);}break;case NETDEV_REGISTER:DATARMNET2cb9ae589c++;
if(DATARMNET2cb9ae589c&&!DATARMNETecc0627c70.DATARMNETfc89d842ae){pr_info(
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x69\x6e\x67\x20\x25\x73" "\n"
,dev->name);priv=netdev_priv(dev);port=rmnet_get_port(priv->real_dev);if(!port){
pr_err(
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x72\x6d\x6e\x65\x74\x5f\x70\x6f\x72\x74" "\n"
);break;}DATARMNET45d8cdb224(priv->real_dev,dev);DATARMNET3ae0d614d6();
DATARMNETe1f95274f1();}break;case NETDEV_UP:if(!DATARMNETecc0627c70.
DATARMNET9c869c1ec2&&DATARMNETecc0627c70.DATARMNETfc89d842ae){port=
DATARMNETecc0627c70.port;if(!port){pr_err(
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x72\x6d\x6e\x65\x74\x5f\x63\x66\x67\x5f\x70\x6f\x72\x74" "\n"
);break;}DATARMNETecc0627c70.DATARMNET08dbb5ab35.priority=RMNET_SHS;
DATARMNETecc0627c70.DATARMNET6b783c98fe.priority=RMNET_SHS;if(port->data_format&
RMNET_INGRESS_FORMAT_DL_MARKER_V2){DATARMNETecc0627c70.DATARMNET08dbb5ab35.
dl_hdr_handler_v2=&DATARMNET78bb6be330;DATARMNETecc0627c70.DATARMNET08dbb5ab35.
dl_trl_handler_v2=&DATARMNETf61cd23b90;DATARMNETecc0627c70.DATARMNET6b783c98fe.
pb_ind_handler=&DATARMNET4684d6c911;}DATARMNETecc0627c70.rmnet_idl_ind_cb.
ps_on_handler=&DATARMNET7f1d9480cb;DATARMNETecc0627c70.rmnet_idl_ind_cb.
ps_off_handler=&DATARMNETa4bd2ef52c;ret=rmnet_map_dl_ind_register(port,&
DATARMNETecc0627c70.DATARMNET08dbb5ab35);if(ret)pr_err(
"\x25\x73\x28\x29\x3a\x20\x72\x6d\x6e\x65\x74\x20\x64\x6c\x5f\x69\x6e\x64\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c" "\n"
,__func__);ret=rmnet_map_pb_ind_register(port,&DATARMNETecc0627c70.
DATARMNET6b783c98fe);if(ret)pr_err(
"\x25\x73\x28\x29\x3a\x20\x72\x6d\x6e\x65\x74\x20\x70\x62\x5f\x69\x6e\x64\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c" "\n"
,__func__);ret=qmi_rmnet_ps_ind_register(port,&DATARMNETecc0627c70.
rmnet_idl_ind_cb);if(ret)pr_err(
"\x25\x73\x28\x29\x3a\x20\x72\x6d\x6e\x65\x74\x20\x70\x73\x5f\x69\x6e\x64\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c" "\n"
,__func__);DATARMNET7492293980(dev);DATARMNET039ac6d55d();DATARMNET0a6fb12cb2();
DATARMNETe46c480d71();trace_rmnet_shs_high(DATARMNET1790979ccf,
DATARMNET443dab7031,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
(0x16e8+787-0xc0c),NULL,NULL);DATARMNETa871eeb7e7();DATARMNET7520667b38();
rmnet_module_hook_register(&DATARMNETf6217b20b8,(0xd26+209-0xdf6));
DATARMNETed3cac41ac();DATARMNETecc0627c70.DATARMNET9c869c1ec2=(0xd26+209-0xdf6);
break;}DATARMNET7492293980(dev);break;default:break;}return NOTIFY_DONE;}
module_init(DATARMNET163e93649e);module_exit(DATARMNETf3298dab6f);

View File

@@ -0,0 +1,27 @@
/* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#ifndef DATARMNET104309e08f
#define DATARMNET104309e08f
#define DATARMNETadb2d068fe (0xd26+209-0xdf6)
#define DATARMNET8120d41372 (0xd1f+216-0xdf5)
#define DATARMNET47c2367f93 (0xd18+223-0xdf4)
extern struct DATARMNETa6b20d7e8b DATARMNETecc0627c70;extern int
rmnet_is_real_dev_registered(const struct net_device*real_dev);extern
rx_handler_result_t rmnet_rx_handler(struct sk_buff**DATARMNET89946cec52);int
__init DATARMNET163e93649e(void);void __exit DATARMNETf3298dab6f(void);
#endif

View File

@@ -0,0 +1,131 @@
/* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2023, 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <linux/module.h>
#include "rmnet_shs.h"
#include "rmnet_shs_freq.h"
#include "rmnet_shs_modules.h"
#include "rmnet_shs_config.h"
#include <linux/cpufreq.h>
#include <linux/cpu.h>
#include <linux/pm_qos.h>
#define DATARMNET81fe789d21 INT_MAX
#define MIN_FREQ (0xd2d+202-0xdf7)
#define DATARMNET59b491fbc9 DATARMNETecc0627c70.DATARMNETe306607c08
#define DATARMNET03d51cb126 (0xd1f+216-0xdf5)
struct cpu_freq{unsigned int DATARMNET103c8d34fe;unsigned int
DATARMNET1159aa2cb6;};unsigned int DATARMNET666c9ff35e __read_mostly=
(0xd26+209-0xdf6);module_param(DATARMNET666c9ff35e,uint,(0xdb7+6665-0x261c));
MODULE_PARM_DESC(DATARMNET666c9ff35e,
"\x45\x6e\x61\x62\x6c\x65\x2f\x64\x69\x73\x61\x62\x6c\x65\x20\x66\x72\x65\x71\x20\x62\x6f\x6f\x73\x74\x20\x66\x65\x61\x74\x75\x72\x65"
);struct workqueue_struct*DATARMNETde8f350999;struct DATARMNET4e6b0cd2b8{struct
cpu_freq __percpu*DATARMNET9dd9bc4abb;};static struct DATARMNET4e6b0cd2b8
DATARMNETc4b1be7898;static struct work_struct DATARMNETbfcbb4b8ac;static
DEFINE_PER_CPU(struct freq_qos_request,DATARMNET17d6a9530a);struct
DATARMNET257fd3bf84{struct cpu_freq __percpu*DATARMNETde47bee4ac;};static struct
DATARMNET257fd3bf84 DATARMNET7cf8d49bd5;static struct work_struct
DATARMNET3dc8e3c69f;static DEFINE_PER_CPU(struct freq_qos_request,
DATARMNET68a4af61b9);static void DATARMNETb90d2272b4(struct work_struct*
DATARMNET33110a3ff5){struct cpu_freq*DATARMNETe24d518157;unsigned int i;int ret;
struct freq_qos_request*DATARMNETddcafd8b91;cpus_read_lock();for_each_online_cpu
(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);
DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);ret=freq_qos_update_request(
DATARMNETddcafd8b91,DATARMNETe24d518157->DATARMNET103c8d34fe);}cpus_read_unlock(
);}static void DATARMNET5a406b068f(struct work_struct*DATARMNET33110a3ff5){
struct cpu_freq*DATARMNETe24d518157;unsigned int i;int ret;struct
freq_qos_request*DATARMNETddcafd8b91;cpus_read_lock();for_each_online_cpu(i){
DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5.DATARMNETde47bee4ac,i);
DATARMNETddcafd8b91=&per_cpu(DATARMNET68a4af61b9,i);ret=freq_qos_update_request(
DATARMNETddcafd8b91,DATARMNETe24d518157->DATARMNET103c8d34fe);
DATARMNETda96251102(DATARMNETb77d87790d,DATARMNET5994bb1411,DATARMNETe24d518157
->DATARMNET103c8d34fe,DATARMNETe24d518157->DATARMNET1159aa2cb6,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}cpus_read_unlock();}void
DATARMNET82d7f4ffa2(void){struct cpu_freq*DATARMNETe24d518157;int i;
for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.
DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;
DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;}
for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5.
DATARMNETde47bee4ac,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;
DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;}}void
DATARMNET5e4aeef593(int cpu){struct cpu_freq*DATARMNETe24d518157;int i=cpu;if(
cpu<(0xd2d+202-0xdf7)||cpu>=DATARMNETc6782fed88)return;if(((0xd26+209-0xdf6)<<i)
&DATARMNET9273f84bf1)return;DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.
DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe=
DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21
;trace_rmnet_freq_boost(i,DATARMNET59b491fbc9);}void DATARMNETfb7007f025(void){
struct cpu_freq*DATARMNETe24d518157;int i;for_each_possible_cpu(i){if((
(0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;DATARMNETe24d518157=
per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->
DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6
=DATARMNET81fe789d21;trace_rmnet_freq_boost(i,DATARMNET59b491fbc9);}if(
work_pending(&DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999){queue_work_on(
DATARMNET03d51cb126,DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}}void
DATARMNET202a68d7d0(void){struct cpu_freq*DATARMNETe24d518157;int i;
for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;
DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5.DATARMNETde47bee4ac,i);
DATARMNETe24d518157->DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157
->DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_boost(i,
DATARMNET59b491fbc9);}if(work_pending(&DATARMNET3dc8e3c69f))return;if(
DATARMNETde8f350999){queue_work_on(DATARMNET03d51cb126,DATARMNETde8f350999,&
DATARMNET3dc8e3c69f);}}void DATARMNET371703c28d(void){struct cpu_freq*
DATARMNETe24d518157;int i;for_each_possible_cpu(i){DATARMNETe24d518157=
per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->
DATARMNET103c8d34fe=MIN_FREQ;DATARMNETe24d518157->DATARMNET1159aa2cb6=
DATARMNET81fe789d21;trace_rmnet_freq_reset(i,MIN_FREQ);}if(work_pending(&
DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work_on(
DATARMNET03d51cb126,DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}void
DATARMNETf20806b279(void){struct cpu_freq*DATARMNETe24d518157;int i;
for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5.
DATARMNETde47bee4ac,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;
DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;
trace_rmnet_freq_reset(i,MIN_FREQ);}if(work_pending(&DATARMNET3dc8e3c69f))return
;if(DATARMNETde8f350999)queue_work_on(DATARMNET03d51cb126,DATARMNETde8f350999,&
DATARMNET3dc8e3c69f);}static void DATARMNET009d37d173(void){struct
freq_qos_request*DATARMNETddcafd8b91;int i;for_each_possible_cpu(i){
DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);if(DATARMNETddcafd8b91&&
freq_qos_request_active(DATARMNETddcafd8b91)){freq_qos_remove_request(
DATARMNETddcafd8b91);}DATARMNETddcafd8b91=&per_cpu(DATARMNET68a4af61b9,i);if(
DATARMNETddcafd8b91&&freq_qos_request_active(DATARMNETddcafd8b91)){
freq_qos_remove_request(DATARMNETddcafd8b91);}}}int DATARMNETe6e8431304(void){
struct cpu_freq*DATARMNETe24d518157;int i;int ret=(0xd2d+202-0xdf7);struct
freq_qos_request*DATARMNETddcafd8b91;struct cpufreq_policy*policy;
DATARMNETc4b1be7898.DATARMNET9dd9bc4abb=alloc_percpu(struct cpu_freq);if(!
DATARMNETc4b1be7898.DATARMNET9dd9bc4abb)return-ENOMEM;DATARMNET7cf8d49bd5.
DATARMNETde47bee4ac=alloc_percpu(struct cpu_freq);if(!DATARMNET7cf8d49bd5.
DATARMNETde47bee4ac){free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb);return
-ENOMEM;}if(!DATARMNETde8f350999)DATARMNETde8f350999=alloc_workqueue(
"\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI,(0xd2d+202-0xdf7))
;if(!DATARMNETde8f350999){ret=-ENOMEM;goto err;}for_each_possible_cpu(i){
DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);
DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);policy=cpufreq_cpu_get(i);if
(!policy){pr_err(
"\x25\x73\x3a\x20\x63\x70\x75\x66\x72\x65\x71\x20\x70\x6f\x6c\x69\x63\x79\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x63\x70\x75\x25\x64" "\n"
,__func__,i);return-ESRCH;}ret=freq_qos_add_request(&policy->constraints,
DATARMNETddcafd8b91,FREQ_QOS_MIN,MIN_FREQ);if(ret<(0xd2d+202-0xdf7)){pr_err(
"\x25\x73\x3a\x20\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x61\x64\x64\x20\x66\x72\x65\x71\x20\x63\x6f\x6e\x73\x74\x72\x61\x69\x6e\x74\x20\x28\x25\x64\x29" "\n"
,__func__,ret);return ret;}DATARMNETddcafd8b91=&per_cpu(DATARMNET68a4af61b9,i);
policy=cpufreq_cpu_get(i);if(!policy){pr_err(
"\x25\x73\x3a\x20\x63\x70\x75\x66\x72\x65\x71\x20\x70\x6f\x6c\x69\x63\x79\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x70\x62\x20\x63\x70\x75\x25\x64" "\n"
,__func__,i);return-ESRCH;}ret=freq_qos_add_request(&policy->constraints,
DATARMNETddcafd8b91,FREQ_QOS_MIN,MIN_FREQ);if(ret<(0xd2d+202-0xdf7)){pr_err(
"\x25\x73\x3a\x20\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x61\x64\x64\x20\x70\x62\x20\x66\x72\x65\x71\x20\x63\x6f\x6e\x73\x74\x72\x61\x69\x6e\x74\x20\x28\x25\x64\x29" "\n"
,__func__,ret);return ret;}}INIT_WORK(&DATARMNETbfcbb4b8ac,DATARMNETb90d2272b4);
INIT_WORK(&DATARMNET3dc8e3c69f,DATARMNET5a406b068f);DATARMNET82d7f4ffa2();return
(0xd2d+202-0xdf7);err:DATARMNET82d7f4ffa2();free_percpu(DATARMNETc4b1be7898.
DATARMNET9dd9bc4abb);free_percpu(DATARMNET7cf8d49bd5.DATARMNETde47bee4ac);if(
DATARMNETde8f350999){destroy_workqueue(DATARMNETde8f350999);DATARMNETde8f350999=
NULL;}return ret;}int DATARMNETdf74db7e38(void){DATARMNET009d37d173();if(
DATARMNETde8f350999){destroy_workqueue(DATARMNETde8f350999);DATARMNETde8f350999=
NULL;}free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb);free_percpu(
DATARMNET7cf8d49bd5.DATARMNETde47bee4ac);return(0xd2d+202-0xdf7);}

View File

@@ -0,0 +1,22 @@
/* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef DATARMNETef19703014
#define DATARMNETef19703014
int DATARMNETe6e8431304(void);int DATARMNETdf74db7e38(void);void
DATARMNETfb7007f025(void);void DATARMNET371703c28d(void);void
DATARMNET202a68d7d0(void);void DATARMNETf20806b279(void);void
DATARMNET5e4aeef593(int cpu);
#endif

View File

@@ -0,0 +1,380 @@
/* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <net/sock.h>
#include <linux/netlink.h>
#include <linux/ip.h>
#include <linux/cpu.h>
#include <net/ip.h>
#include <linux/cpu.h>
#include <linux/bitmap.h>
#include <linux/kernel.h>
#include <linux/smp.h>
#include <linux/ipv6.h>
#include <linux/netdevice.h>
#include <linux/percpu-defs.h>
#include "rmnet_shs.h"
#include "rmnet_shs_wq_genl.h"
#include "rmnet_shs_config.h"
#include "rmnet_shs_wq.h"
#include "rmnet_shs_modules.h"
#include "rmnet_shs_common.h"
#include "rmnet_trace.h"
#include <linux/icmp.h>
#include <linux/inet.h>
DEFINE_HASHTABLE(DATARMNET58fe8ac797,DATARMNET25437d35fd);DEFINE_HASHTABLE(
DATARMNET5750992efb,DATARMNET25437d35fd);DEFINE_SPINLOCK(DATARMNETd83ee17944);
struct DATARMNETe600c5b727 DATARMNET148e775ece[DATARMNETc6782fed88];
#define DATARMNET82243f712c (0xeb7+698-0x110d)
#define DATARMNET832731a933(CPU) (per_cpu(softnet_data, CPU).input_pkt_queue)
#define DATARMNET3de2536baf(CPU) (per_cpu(softnet_data, CPU).process_queue)
#define DATARMNETd2d15e7f67(CPU) (DATARMNET832731a933(CPU).qlen + \
DATARMNET3de2536baf(CPU).qlen)
#define DATARMNET78ec5e8746(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
DATARMNETfbfdc7f27e, CPU).input_queue_tail)
#define DATARMNET9c1c20df35(DATARMNETfbfdc7f27e, CPU) (per_cpu(\
DATARMNETfbfdc7f27e, CPU).input_queue_head)
#define DATARMNET66ead9195a(CPU) (per_cpu(softnet_data, CPU).input_queue_head)
#define DATARMNETbb1541e65b(CPU) (per_cpu(softnet_data, CPU).input_queue_tail)
#define DATARMNET8053357aa4 (0xeb7+1130-0x130d)
unsigned int DATARMNETefe3dcad0a=(0xd2d+202-0xdf7);module_param(
DATARMNETefe3dcad0a,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETefe3dcad0a,
"\x4c\x4c\x20\x70\x61\x63\x6b\x65\x74\x73\x20\x73\x65\x65\x6e\x20\x69\x6e\x20\x6c\x6c\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73"
);unsigned int DATARMNET75ae82094a=(0xd2d+202-0xdf7);module_param(
DATARMNET75ae82094a,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET75ae82094a,
"\x4c\x4c\x20\x66\x69\x6c\x74\x65\x72\x20\x63\x6f\x75\x6e\x74\x20\x73\x65\x65\x6e\x20\x69\x6e\x20\x6c\x6c\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73"
);int DATARMNETf4aefff4c2(struct sk_buff*skb){int DATARMNETbd864aa442=
(0xd2d+202-0xdf7);struct iphdr*ip4h,DATARMNETc00baf31c3;struct ipv6hdr*ip6h,
DATARMNETcf1d9e2c1e;const struct ipv6_opt_hdr*DATARMNET7b34b7b5be;struct
ipv6_opt_hdr DATARMNET1688a97aa4;switch(skb->protocol){case htons(ETH_P_IP):ip4h
=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&DATARMNETc00baf31c3);
if(!ip4h)break;if(!ip_is_fragment(ip4h)&&(ip4h->protocol==IPPROTO_TCP||ip4h->
protocol==IPPROTO_UDP)){DATARMNETbd864aa442=(0xd26+209-0xdf6);break;}if(ip4h->
protocol==IPPROTO_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=
(0xd26+209-0xdf6);if(trace_print_icmp_rx_enabled()){char saddr[INET6_ADDRSTRLEN]
,daddr[INET6_ADDRSTRLEN];u16 ip_proto=(0xd2d+202-0xdf7);__be16 sequence=
(0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);struct icmphdr*icmphdr,
DATARMNET5aa29a2264;memset(saddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);memset(
daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmphdr=DATARMNETefcaf5fbe9(skb,ip4h->
ihl*(0xd11+230-0xdf3),sizeof(*icmphdr),&DATARMNET5aa29a2264);if(!icmphdr)goto
DATARMNET03fd0cd6e6;if(icmphdr->type!=ICMP_ECHOREPLY&&icmphdr->type!=ICMP_ECHO)
goto DATARMNET03fd0cd6e6;ip_proto=htons(ETH_P_IP);type=icmphdr->type;sequence=
icmphdr->un.echo.sequence;snprintf(saddr,INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&
ip4h->saddr);snprintf(daddr,INET6_ADDRSTRLEN,"\x25\x70\x49\x34",&ip4h->daddr);
trace_print_icmp_rx(skb,ip_proto,type,sequence,saddr,daddr);}}else if(ip4h->
protocol==IPPROTO_ESP){skb->hash=DATARMNETaa0602144b;skb->sw_hash=
(0xd26+209-0xdf6);}DATARMNET03fd0cd6e6:break;case htons(ETH_P_IPV6):ip6h=
DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&DATARMNETcf1d9e2c1e);if
(!ip6h)break;if(!(ip6h->nexthdr==NEXTHDR_FRAGMENT)&&(ip6h->nexthdr==IPPROTO_TCP
||ip6h->nexthdr==IPPROTO_UDP)){DATARMNETbd864aa442=(0xd26+209-0xdf6);break;}if(
ip6h->nexthdr==NEXTHDR_ICMP){skb->hash=(0xd2d+202-0xdf7);skb->sw_hash=
(0xd26+209-0xdf6);if(trace_print_icmp_rx_enabled()){char saddr[INET6_ADDRSTRLEN]
,daddr[INET6_ADDRSTRLEN];u16 ip_proto=(0xd2d+202-0xdf7);__be16 sequence=
(0xd2d+202-0xdf7);u8 type=(0xd2d+202-0xdf7);struct icmp6hdr*icmp6hdr,
DATARMNETaa41336581;memset(saddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);memset(
daddr,(0xd2d+202-0xdf7),INET6_ADDRSTRLEN);icmp6hdr=DATARMNETefcaf5fbe9(skb,
sizeof(*ip6h),sizeof(*icmp6hdr),&DATARMNETaa41336581);if(!icmp6hdr)goto
DATARMNETf623862dd4;if(icmp6hdr->icmp6_type!=ICMPV6_ECHO_REQUEST&&icmp6hdr->
icmp6_type!=ICMPV6_ECHO_REPLY)goto DATARMNETf623862dd4;ip_proto=htons(ETH_P_IPV6
);type=icmp6hdr->icmp6_type;sequence=icmp6hdr->icmp6_sequence;snprintf(saddr,
INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->saddr);snprintf(daddr,
INET6_ADDRSTRLEN,"\x25\x70\x49\x36",&ip6h->daddr);trace_print_icmp_rx(skb,
ip_proto,type,sequence,saddr,daddr);}}else if(ip6h->nexthdr==NEXTHDR_ESP){skb->
hash=DATARMNETaa0602144b;skb->sw_hash=(0xd26+209-0xdf6);}else if(ip6h->nexthdr==
NEXTHDR_FRAGMENT){if(skb->len-sizeof(struct ipv6hdr)<(int)sizeof(struct
ipv6_opt_hdr)){break;}DATARMNET7b34b7b5be=skb_header_pointer(skb,sizeof(struct
ipv6hdr),sizeof(DATARMNET1688a97aa4),&DATARMNET1688a97aa4);if(
DATARMNET7b34b7b5be&&DATARMNET7b34b7b5be->nexthdr==NEXTHDR_ESP){skb->hash=
DATARMNETaa0602144b;skb->sw_hash=(0xd26+209-0xdf6);}}DATARMNETf623862dd4:break;
default:break;}DATARMNETda96251102(DATARMNETcd24fca747,DATARMNET116c96c236,
DATARMNETbd864aa442,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),skb
,NULL);return DATARMNETbd864aa442;}int DATARMNET71b0abb49e(struct sk_buff*skb,
struct ipv6hdr*DATARMNET5d09fca14e,struct DATARMNETbf4d34b241*
DATARMNET54338da2ff){struct tcphdr*tp,DATARMNETd1ff6cd568;struct udphdr*up,
DATARMNETc82d2f4e16;int DATARMNETb3ce3d0107,DATARMNETb16a9be210,
DATARMNET5a94751027,DATARMNETad7ab41bc8,DATARMNETf13f5dee10=false;int ret=false;
int DATARMNETd6e492a659=(0xd2d+202-0xdf7);u8 protocol;__be16 frag_off;
DATARMNETb3ce3d0107=!DATARMNET54338da2ff->DATARMNET1819cae4a3||ipv6_addr_equal(&
DATARMNET5d09fca14e->saddr,&DATARMNET54338da2ff->DATARMNET53d5f671f0.v6_saddr);
DATARMNETb16a9be210=!DATARMNET54338da2ff->DATARMNETb035edcfb9||ipv6_addr_equal(&
DATARMNET5d09fca14e->daddr,&DATARMNET54338da2ff->DATARMNETea422561ef.v6_daddr);
DATARMNET5a94751027=!DATARMNET54338da2ff->DATARMNET8b5ace4a98||
DATARMNET54338da2ff->proto==DATARMNET5d09fca14e->nexthdr;DATARMNETad7ab41bc8=!
DATARMNET54338da2ff->DATARMNET5a5907dd87;DATARMNETf13f5dee10=!
DATARMNET54338da2ff->DATARMNET1c959e10ca;protocol=DATARMNET5d09fca14e->nexthdr;
if(DATARMNET54338da2ff->DATARMNET5a5907dd87||DATARMNET54338da2ff->
DATARMNET1c959e10ca){DATARMNETd6e492a659=ipv6_skip_exthdr(skb,sizeof(*
DATARMNET5d09fca14e),&protocol,&frag_off);if(DATARMNETd6e492a659<
(0xd2d+202-0xdf7)){return false;}if(DATARMNET5d09fca14e->nexthdr==IPPROTO_TCP){
tp=DATARMNETefcaf5fbe9(skb,DATARMNETd6e492a659,sizeof(*tp),&DATARMNETd1ff6cd568)
;if(!tp){DATARMNETad7ab41bc8=false;DATARMNETf13f5dee10=false;}else{
DATARMNETad7ab41bc8=!DATARMNET54338da2ff->DATARMNET5a5907dd87||tp->source==(
DATARMNET54338da2ff->src_port);DATARMNETf13f5dee10=!DATARMNET54338da2ff->
DATARMNET1c959e10ca||tp->dest==(DATARMNET54338da2ff->DATARMNET1e49bc75c8);}}else
if(DATARMNET5d09fca14e->nexthdr==IPPROTO_UDP){up=DATARMNETefcaf5fbe9(skb,
DATARMNETd6e492a659,sizeof(*up),&DATARMNETc82d2f4e16);if(!up){
DATARMNETad7ab41bc8=false;DATARMNETf13f5dee10=false;}else{DATARMNETad7ab41bc8=!
DATARMNET54338da2ff->DATARMNET5a5907dd87||up->source==(DATARMNET54338da2ff->
src_port);DATARMNETf13f5dee10=!DATARMNET54338da2ff->DATARMNET1c959e10ca||up->
dest==(DATARMNET54338da2ff->DATARMNET1e49bc75c8);}}}if((DATARMNETb3ce3d0107)&&(
DATARMNETb16a9be210)&&(DATARMNET5a94751027)&&(DATARMNETad7ab41bc8)&&(
DATARMNETf13f5dee10))ret=true;return ret;}int DATARMNETb9e0ebf153(struct sk_buff
*skb,struct iphdr*skb_ip4h,struct DATARMNETbf4d34b241*DATARMNET54338da2ff){int
ret=false;struct tcphdr*tp,DATARMNETd1ff6cd568;struct udphdr*up,
DATARMNETc82d2f4e16;u16 DATARMNET43b01ff41b=skb_ip4h->ihl*(0xd11+230-0xdf3);int
DATARMNETb3ce3d0107=!DATARMNET54338da2ff->DATARMNET1819cae4a3||skb_ip4h->saddr==
DATARMNET54338da2ff->DATARMNET53d5f671f0.saddr;int DATARMNETb16a9be210=!
DATARMNET54338da2ff->DATARMNETb035edcfb9||skb_ip4h->daddr==(DATARMNET54338da2ff
->DATARMNETea422561ef.daddr);int DATARMNET5a94751027=!DATARMNET54338da2ff->
DATARMNET8b5ace4a98||skb_ip4h->protocol==DATARMNET54338da2ff->proto;int
DATARMNETad7ab41bc8=!DATARMNET54338da2ff->DATARMNET5a5907dd87;int
DATARMNETf13f5dee10=!DATARMNET54338da2ff->DATARMNET1c959e10ca;if(
DATARMNET54338da2ff->DATARMNET5a5907dd87||DATARMNET54338da2ff->
DATARMNET1c959e10ca){if(skb_ip4h->protocol==IPPROTO_TCP){tp=DATARMNETefcaf5fbe9(
skb,DATARMNET43b01ff41b,sizeof(*tp),&DATARMNETd1ff6cd568);if(!tp){
DATARMNETad7ab41bc8=false;DATARMNETf13f5dee10=false;}else{DATARMNETad7ab41bc8=!
DATARMNET54338da2ff->DATARMNET5a5907dd87||tp->source==(DATARMNET54338da2ff->
src_port);DATARMNETf13f5dee10=!DATARMNET54338da2ff->DATARMNET1c959e10ca||tp->
dest==(DATARMNET54338da2ff->DATARMNET1e49bc75c8);}}else if(skb_ip4h->protocol==
IPPROTO_UDP){up=DATARMNETefcaf5fbe9(skb,DATARMNET43b01ff41b,sizeof(*up),&
DATARMNETc82d2f4e16);if(!up){DATARMNETad7ab41bc8=false;DATARMNETf13f5dee10=false
;}else{DATARMNETad7ab41bc8=!DATARMNET54338da2ff->DATARMNET5a5907dd87||up->source
==(DATARMNET54338da2ff->src_port);DATARMNETf13f5dee10=!DATARMNET54338da2ff->
DATARMNET1c959e10ca||up->dest==(DATARMNET54338da2ff->DATARMNET1e49bc75c8);}}}if(
(DATARMNETb3ce3d0107)&&(DATARMNETb16a9be210)&&(DATARMNET5a94751027)&&(
DATARMNETad7ab41bc8)&&(DATARMNETf13f5dee10))ret=true;rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x56\x34\x20\x73\x61\x64\x64\x72\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x20\x64\x61\x64\x64\x72\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x2c\x20\x70\x72\x6f\x74\x6f\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x2c\x20\x73\x72\x63\x20\x70\x6f\x72\x74\x20\x25\x75\x2c\x20\x64\x65\x73\x74\x20\x70\x6f\x72\x74\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x20\x20\x70\x72\x6f\x74\x6f\x20\x25\x75" "\n"
,DATARMNETb3ce3d0107,DATARMNETb16a9be210,DATARMNET5a94751027,DATARMNETad7ab41bc8
,DATARMNETf13f5dee10,skb_ip4h->protocol);return ret;}int DATARMNET8fc45abdc4(
struct DATARMNET0331d6732d*DATARMNET63b1a086d5,struct DATARMNET0331d6732d*
DATARMNET82190d5ee0){struct DATARMNETbf4d34b241*DATARMNET54338da2ff=&
DATARMNET63b1a086d5->DATARMNET54338da2ff;struct DATARMNETbf4d34b241*
DATARMNET099bdc749a=&DATARMNET82190d5ee0->DATARMNET54338da2ff;int
DATARMNET10f1c9f8db=DATARMNET54338da2ff->DATARMNET602389fe52==
DATARMNET099bdc749a->DATARMNET602389fe52;int DATARMNETb3ce3d0107,
DATARMNETb16a9be210,DATARMNET5a94751027,DATARMNETad7ab41bc8,DATARMNETf13f5dee10=
false;if(DATARMNET54338da2ff->seq&&DATARMNET099bdc749a->seq&&(
DATARMNET54338da2ff->seq==DATARMNET099bdc749a->seq)){return true;}
DATARMNETb3ce3d0107=(!DATARMNET54338da2ff->DATARMNET1819cae4a3&&!
DATARMNET099bdc749a->DATARMNET1819cae4a3)||(DATARMNET54338da2ff->
DATARMNET1819cae4a3&&DATARMNET099bdc749a->DATARMNET1819cae4a3&&(
DATARMNET54338da2ff->DATARMNET602389fe52==(0xd11+230-0xdf3))?(
DATARMNET54338da2ff->DATARMNET53d5f671f0.saddr==DATARMNET099bdc749a->
DATARMNET53d5f671f0.saddr):ipv6_addr_equal(&DATARMNET099bdc749a->
DATARMNET53d5f671f0.v6_saddr,&DATARMNET54338da2ff->DATARMNET53d5f671f0.v6_saddr)
);DATARMNETb16a9be210=(!DATARMNET54338da2ff->DATARMNETb035edcfb9&&!
DATARMNET099bdc749a->DATARMNETb035edcfb9)||(DATARMNET54338da2ff->
DATARMNETb035edcfb9&&DATARMNET099bdc749a->DATARMNETb035edcfb9&&(
DATARMNET54338da2ff->DATARMNET602389fe52==(0xd11+230-0xdf3))?(
DATARMNET54338da2ff->DATARMNETea422561ef.daddr==DATARMNET099bdc749a->
DATARMNETea422561ef.daddr):ipv6_addr_equal(&DATARMNET099bdc749a->
DATARMNETea422561ef.v6_daddr,&DATARMNET54338da2ff->DATARMNETea422561ef.v6_daddr)
);DATARMNET5a94751027=(!DATARMNET54338da2ff->DATARMNET8b5ace4a98&&!
DATARMNET099bdc749a->DATARMNET8b5ace4a98)||(DATARMNET54338da2ff->
DATARMNET8b5ace4a98&&DATARMNET099bdc749a->DATARMNET8b5ace4a98&&
DATARMNET54338da2ff->proto==DATARMNET099bdc749a->proto);DATARMNETad7ab41bc8=(!
DATARMNET54338da2ff->DATARMNET5a5907dd87&&!DATARMNET099bdc749a->
DATARMNET5a5907dd87)||(DATARMNET54338da2ff->DATARMNET5a5907dd87&&
DATARMNET099bdc749a->DATARMNET5a5907dd87&&DATARMNET54338da2ff->src_port==
DATARMNET099bdc749a->src_port);DATARMNETf13f5dee10=(!DATARMNET54338da2ff->
DATARMNET1c959e10ca&&!DATARMNET099bdc749a->DATARMNET1c959e10ca)||(
DATARMNET54338da2ff->DATARMNET1c959e10ca&&DATARMNET099bdc749a->
DATARMNET1c959e10ca&&DATARMNET54338da2ff->DATARMNET1e49bc75c8==
DATARMNET099bdc749a->DATARMNET1e49bc75c8);rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x6d\x61\x74\x63\x68\x20\x72\x65\x73\x75\x6c\x74\x20\x73\x61\x64\x72\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x20\x64\x61\x64\x64\x72\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x2c\x20\x70\x72\x6f\x74\x6f\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x2c\x20\x73\x72\x63\x20\x70\x6f\x72\x74\x20\x25\x75\x2c\x20\x64\x65\x73\x74\x20\x70\x6f\x72\x74\x20\x6d\x61\x74\x63\x68\x20\x25\x75\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x6d\x61\x74\x63\x68\x20\x25\x75" "\n"
,DATARMNETb3ce3d0107,DATARMNETb16a9be210,DATARMNET5a94751027,DATARMNETad7ab41bc8
,DATARMNETf13f5dee10,DATARMNET10f1c9f8db);return(DATARMNET10f1c9f8db&&
DATARMNETb3ce3d0107&&DATARMNETb16a9be210&&DATARMNET5a94751027&&
DATARMNETad7ab41bc8&&DATARMNETf13f5dee10);}int DATARMNETe24386452c(struct
sk_buff*skb){struct iphdr*ip4h,DATARMNETc00baf31c3;struct ipv6hdr*ip6h,
DATARMNETcf1d9e2c1e;struct DATARMNET0331d6732d*node_p;struct hlist_node*tmp;int
ret=false;spin_lock_bh(&DATARMNETd83ee17944);switch(skb->protocol){case htons(
ETH_P_IP):ip4h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip4h),&
DATARMNETc00baf31c3);if(!ip4h){break;}hash_for_each_possible_safe(
DATARMNET5750992efb,node_p,tmp,list,ip4h->saddr){if(DATARMNETb9e0ebf153(skb,ip4h
,&node_p->DATARMNET54338da2ff)){ret=true;break;}}break;case htons(ETH_P_IPV6):
ip6h=DATARMNETefcaf5fbe9(skb,(0xd2d+202-0xdf7),sizeof(*ip6h),&
DATARMNETcf1d9e2c1e);if(!ip6h){break;}hash_for_each_possible_safe(
DATARMNET5750992efb,node_p,tmp,list,ip6h->saddr.in6_u.u6_addr32[
(0xd2d+202-0xdf7)]){if(DATARMNET71b0abb49e(skb,ip6h,&node_p->DATARMNET54338da2ff
)){ret=true;break;}}break;default:break;}spin_unlock_bh(&DATARMNETd83ee17944);
rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x50\x61\x63\x6b\x65\x74\x20\x46\x69\x6c\x74\x65\x72\x20\x63\x68\x65\x63\x6b\x65\x64\x20\x61\x6e\x61\x6c\x79\x7a\x65\x64\x20\x72\x65\x74\x3a\x20\x25\x64"
,ret);return ret;}void DATARMNETd52d50282d(struct DATARMNET0331d6732d*
DATARMNET63b1a086d5){struct DATARMNET0331d6732d*DATARMNET9a739c7d8b;struct
hlist_node*tmp;struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;unsigned long
bkt;int i=(0xd2d+202-0xdf7);spin_lock_bh(&DATARMNETd83ee17944);
hash_for_each_safe(DATARMNET5750992efb,bkt,tmp,DATARMNET9a739c7d8b,list){i++;if(
DATARMNET8fc45abdc4(DATARMNET9a739c7d8b,DATARMNET63b1a086d5)){rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x25\x73" "\n",
"\x46\x69\x6c\x74\x65\x72\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x2c\x20\x44\x75\x70\x20\x46\x69\x6c\x74\x65\x72"
);hash_del_rcu(&DATARMNET9a739c7d8b->list);kfree(DATARMNET9a739c7d8b);break;}}
spin_unlock_bh(&DATARMNETd83ee17944);spin_lock_bh(&DATARMNETfbdbab2ef6);
list_for_each_entry(DATARMNETd2a694d52a,&DATARMNET9825511866,DATARMNET6de26f0feb
){if(DATARMNETd2a694d52a->DATARMNET63b1a086d5&&!DATARMNETd2a694d52a->
DATARMNET63b1a086d5->DATARMNET80eb31d7b8){DATARMNETd2a694d52a->
DATARMNET63b1a086d5->DATARMNET80eb31d7b8=DATARMNET64165df74d;}}spin_unlock_bh(&
DATARMNETfbdbab2ef6);kfree(DATARMNET63b1a086d5);DATARMNETecc0627c70.
DATARMNET110549da6f--;DATARMNET75ae82094a--;rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x25\x73",
"\x20\x55\x6e\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x4c\x4c\x20\x66\x69\x6c\x74\x65\x72"
);}void DATARMNET1e918c8e0d(struct DATARMNET0331d6732d*DATARMNET63b1a086d5){
struct DATARMNETbf4d34b241*DATARMNET54338da2ff=&DATARMNET63b1a086d5->
DATARMNET54338da2ff;pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x70\x72\x6f\x74\x6f\x20\x76\x61\x6c\x69\x64\x20\x25\x75\x20\x73\x72\x63\x20\x61\x64\x64\x72\x20\x76\x61\x6c\x69\x64\x20\x25\x75\x2c\x20\x64\x65\x73\x74\x20\x61\x64\x64\x72\x20\x76\x61\x6c\x69\x64\x20\x25\x75\x2c\x20\x64\x65\x73\x74\x20\x70\x6f\x72\x74\x20\x76\x61\x6c\x69\x64\x20\x25\x75\x2c\x20\x73\x72\x63\x70\x6f\x72\x74\x20\x76\x61\x6c\x69\x64\x20\x25\x75\x2c\x20\x69\x70\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x25\x75\x20\x73\x65\x71\x20\x25\x75" "\n"
,DATARMNET54338da2ff->DATARMNET8b5ace4a98,DATARMNET54338da2ff->
DATARMNET1819cae4a3,DATARMNET54338da2ff->DATARMNETb035edcfb9,DATARMNET54338da2ff
->DATARMNET1c959e10ca,DATARMNET54338da2ff->DATARMNET5a5907dd87,
DATARMNET54338da2ff->DATARMNET602389fe52,DATARMNET54338da2ff->seq);pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x69\x6e\x66\x6f\x2d\x3e\x69\x70\x5f\x76\x65\x72\x73\x69\x6f\x6e\x20\x25\x75" "\n"
,DATARMNET54338da2ff->DATARMNET602389fe52);pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x69\x6e\x66\x6f\x2d\x3e\x70\x72\x6f\x74\x6f\x20\x25\x75" "\n"
,DATARMNET54338da2ff->proto);pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x69\x6e\x66\x6f\x2d\x3e\x64\x65\x73\x74\x5f\x70\x6f\x72\x74\x20\x25\x75" "\n"
,DATARMNET54338da2ff->DATARMNET1e49bc75c8);pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x69\x6e\x66\x6f\x2d\x3e\x73\x72\x63\x5f\x70\x6f\x72\x74\x20\x25\x75" "\n"
,DATARMNET54338da2ff->src_port);pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x69\x6e\x66\x6f\x2d\x3e\x64\x65\x73\x74\x5f\x61\x64\x64\x72\x5f\x76\x61\x6c\x69\x64\x20\x25\x75" "\n"
,DATARMNET54338da2ff->DATARMNETb035edcfb9);pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x69\x6e\x66\x6f\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x5f\x76\x61\x6c\x69\x64\x20\x25\x75" "\n"
,DATARMNET54338da2ff->DATARMNET1819cae4a3);pr_info(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x69\x6e\x66\x6f\x2d\x3e\x73\x65\x71\x20\x25\x75" "\n"
,DATARMNET54338da2ff->seq);if(DATARMNET54338da2ff->DATARMNET602389fe52==
(0xd11+230-0xdf3)&&(DATARMNET54338da2ff->DATARMNETb035edcfb9)&&(
DATARMNET54338da2ff->DATARMNET1819cae4a3)){pr_info(
"\x4e\x65\x77\x20\x66\x6c\x6f\x77\x20\x69\x6e\x66\x6f\x2d\x3e\x64\x65\x73\x74\x5f\x61\x64\x64\x72\x5f\x76\x61\x6c\x69\x64\x20\x25\x75" "\n"
,DATARMNET54338da2ff->DATARMNETea422561ef.daddr);pr_info(
"\x4e\x65\x77\x20\x66\x6c\x6f\x77\x20\x69\x6e\x66\x6f\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x5f\x76\x61\x6c\x69\x64\x20\x25\x75" "\n"
,DATARMNET54338da2ff->DATARMNET53d5f671f0.saddr);}if(DATARMNET54338da2ff->
DATARMNET602389fe52==(0xd03+244-0xdf1)&&(DATARMNET54338da2ff->
DATARMNETb035edcfb9)&&(DATARMNET54338da2ff->DATARMNET1819cae4a3)){pr_info(
"\x4e\x65\x77\x20\x66\x6c\x6f\x77\x20\x69\x6e\x66\x6f\x2d\x3e\x64\x65\x73\x74\x5f\x61\x64\x64\x72\x5f\x76\x61\x6c\x69\x64\x20\x25\x75\x20\x25\x75\x20\x25\x75\x20\x25\x75" "\n"
,DATARMNET63b1a086d5->DATARMNET54338da2ff.DATARMNETea422561ef.v6_daddr.in6_u.
u6_addr32[(0xd18+223-0xdf4)],DATARMNET63b1a086d5->DATARMNET54338da2ff.
DATARMNETea422561ef.v6_daddr.in6_u.u6_addr32[(0xd1f+216-0xdf5)],
DATARMNET63b1a086d5->DATARMNET54338da2ff.DATARMNETea422561ef.v6_daddr.in6_u.
u6_addr32[(0xd26+209-0xdf6)],DATARMNET63b1a086d5->DATARMNET54338da2ff.
DATARMNETea422561ef.v6_daddr.in6_u.u6_addr32[(0xd2d+202-0xdf7)]);pr_info(
"\x4e\x65\x77\x20\x66\x6c\x6f\x77\x20\x69\x6e\x66\x6f\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x5f\x76\x61\x6c\x69\x64\x20\x20\x25\x75\x20\x25\x75\x20\x25\x75\x20\x25\x75" "\n"
,DATARMNET63b1a086d5->DATARMNET54338da2ff.DATARMNET53d5f671f0.v6_saddr.in6_u.
u6_addr32[(0xd18+223-0xdf4)],DATARMNET63b1a086d5->DATARMNET54338da2ff.
DATARMNET53d5f671f0.v6_saddr.in6_u.u6_addr32[(0xd1f+216-0xdf5)],
DATARMNET63b1a086d5->DATARMNET54338da2ff.DATARMNET53d5f671f0.v6_saddr.in6_u.
u6_addr32[(0xd26+209-0xdf6)],DATARMNET63b1a086d5->DATARMNET54338da2ff.
DATARMNET53d5f671f0.v6_saddr.in6_u.u6_addr32[(0xd2d+202-0xdf7)]);}}void
DATARMNET2ac305d296(struct DATARMNET0331d6732d*DATARMNET63b1a086d5){struct
DATARMNET0331d6732d*DATARMNET9a739c7d8b;struct DATARMNET6c78e47d24*
DATARMNETd2a694d52a=NULL;unsigned long bkt;int i=(0xd2d+202-0xdf7);spin_lock_bh(
&DATARMNETd83ee17944);hash_for_each(DATARMNET5750992efb,bkt,DATARMNET9a739c7d8b,
list){i++;if(DATARMNET8fc45abdc4(DATARMNET9a739c7d8b,DATARMNET63b1a086d5)){kfree
(DATARMNET63b1a086d5);spin_unlock_bh(&DATARMNETd83ee17944);rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x25\x73",
"\x20\x44\x75\x70\x20\x66\x69\x6c\x74\x65\x72\x20\x73\x65\x65\x6e\x20\x6d\x61\x74\x63\x68\x20\x73\x65\x65\x6e\x2c\x20\x6e\x6f\x20\x69\x6e\x73\x74\x61\x6c\x6c"
);return;}}if(DATARMNETecc0627c70.DATARMNET110549da6f>=DATARMNET82243f712c){
kfree(DATARMNET63b1a086d5);spin_unlock_bh(&DATARMNETd83ee17944);
DATARMNET68d84e7b98[DATARMNET62807647a4]++;rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x25\x73" "\n",
"\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x4c\x4c\x20\x66\x69\x6c\x74\x65\x72\x20\x66\x61\x69\x6c\x65\x64\x3a\x20\x4d\x61\x78\x20\x72\x65\x61\x63\x68\x65\x64"
);return;}DATARMNETecc0627c70.DATARMNET110549da6f++;DATARMNET75ae82094a++;if(
DATARMNET756bdd424a)DATARMNET1e918c8e0d(DATARMNET63b1a086d5);hash_add(
DATARMNET5750992efb,&DATARMNET63b1a086d5->list,DATARMNET63b1a086d5->
DATARMNET54338da2ff.DATARMNET53d5f671f0.saddr);spin_unlock_bh(&
DATARMNETd83ee17944);rm_err("\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x25\x73" "\n",
"\x53\x65\x74\x74\x69\x6e\x67\x20\x6c\x6f\x77\x20\x6c\x61\x74\x65\x6e\x63\x79\x20\x66\x6c\x6f\x77\x20\x63\x68\x65\x63\x6b\x20\x66\x6f\x72\x20\x61\x6c\x6c\x20\x66\x6c\x6f\x77\x73"
);spin_lock_bh(&DATARMNETfbdbab2ef6);list_for_each_entry(DATARMNETd2a694d52a,&
DATARMNET9825511866,DATARMNET6de26f0feb){if(DATARMNETd2a694d52a->
DATARMNET63b1a086d5&&!DATARMNETd2a694d52a->DATARMNET63b1a086d5->
DATARMNET80eb31d7b8){DATARMNETd2a694d52a->DATARMNET63b1a086d5->
DATARMNET80eb31d7b8=DATARMNET64165df74d;}}spin_unlock_bh(&DATARMNETfbdbab2ef6);
rm_err("\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x25\x73" "\n",
"\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x4c\x4c\x20\x66\x69\x6c\x74\x65\x72");
}void DATARMNET337eca0417(struct sk_buff*skb,struct DATARMNET63d7680df2*
DATARMNET63b1a086d5){u32 DATARMNET1fcbf046ec=(0xd2d+202-0xdf7);u8 map=
(0xd2d+202-0xdf7),DATARMNET0258668025=(0xd2d+202-0xdf7);u16 index;if(!
DATARMNET63b1a086d5->DATARMNETfbbec4c537){map=DATARMNETecc0627c70.map_mask;
DATARMNET0258668025=DATARMNETecc0627c70.map_len;index=DATARMNET63b1a086d5->
map_index;}else{map=DATARMNET63b1a086d5->DATARMNETfbbec4c537;DATARMNET0258668025
=DATARMNET63b1a086d5->DATARMNETa59ce1fd2d;index=DATARMNET63b1a086d5->map_index;}
if(map){DATARMNET1fcbf046ec=DATARMNET8532ab3089(index,DATARMNET0258668025,
DATARMNET63b1a086d5->hash,(0xd2d+202-0xdf7));skb->hash=DATARMNET1fcbf046ec;}}int
DATARMNETf5821256ad(struct sk_buff*skb,struct rmnet_shs_clnt_s*
DATARMNET0bf01e7c6f){struct DATARMNET63d7680df2*node_p;struct hlist_node*tmp;int
map=DATARMNETecc0627c70.map_mask;int DATARMNETb925972e2a=DATARMNET3874292c18;
int map_cpu;u32 hash;u8 is_match_found=(0xd2d+202-0xdf7);struct
DATARMNETe600c5b727*DATARMNETa4055affd5;struct rmnet_priv*priv;
DATARMNETefe3dcad0a++;hash=skb_get_hash(skb);if(!(DATARMNET0bf01e7c6f->config&
RMNET_SHS_STMP_ALL)&&!DATARMNETf4aefff4c2(skb)){DATARMNETe767554e6e(skb);return
(0xd2d+202-0xdf7);}spin_lock_bh(&DATARMNETd83ee17944);do{
hash_for_each_possible_safe(DATARMNET58fe8ac797,node_p,tmp,list,hash){if(hash!=
node_p->hash)continue;is_match_found=(0xd26+209-0xdf6);node_p->map_cpu=
DATARMNET3874292c18;node_p->map_index=DATARMNET04e8d1b862(node_p->map_cpu,map);
break;}if(is_match_found)break;if(DATARMNETb925972e2a<(0xd2d+202-0xdf7)){
DATARMNET68d84e7b98[DATARMNETa1f9420686]++;break;}if(atomic_long_read(&
DATARMNETecc0627c70.DATARMNET64bb8a8f57)>DATARMNETbfe31ef643){
DATARMNET68d84e7b98[DATARMNETe6e77f9f03]++;break;}node_p=kzalloc(sizeof(*node_p)
,GFP_ATOMIC);if(!node_p){DATARMNET68d84e7b98[DATARMNET394acaf558]++;break;}
atomic_long_inc(&DATARMNETecc0627c70.DATARMNET64bb8a8f57);node_p->
DATARMNETfbbec4c537=DATARMNET0bf01e7c6f->map_mask;node_p->DATARMNETa59ce1fd2d=
DATARMNETecc0627c70.map_mask;node_p->dev=skb->dev;node_p->hash=skb->hash;node_p
->map_cpu=DATARMNETb925972e2a;node_p->DATARMNET80eb31d7b8=(0xd26+209-0xdf6);
node_p->map_index=DATARMNET04e8d1b862(node_p->map_cpu,map);node_p->map_cpu=
raw_smp_processor_id();node_p->map_index=DATARMNET04e8d1b862(node_p->map_cpu,map
);INIT_LIST_HEAD(&node_p->DATARMNET04c88b8191);DATARMNET44459105b4(skb,node_p);
DATARMNET350f55bfca(node_p);map_cpu=node_p->map_cpu;DATARMNETa4055affd5=&
DATARMNET148e775ece[map_cpu];priv=netdev_priv(node_p->dev);if(!priv){rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x70\x72\x69\x76\x20\x66\x6f\x72\x20\x6e\x65\x74\x64\x65\x76\x20\x69\x73\x20\x6e\x75\x6c\x6c\x20\x66\x6f\x72\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78"
,node_p->hash);DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;}else{node_p->
DATARMNET341ea38662->mux_id=priv->mux_id;rm_err(
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x6d\x75\x78\x20\x69\x64\x20\x66\x6f\x72\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x69\x73\x20\x25\x64"
,node_p->hash,node_p->DATARMNET341ea38662->mux_id);}DATARMNET3e37ad2816(node_p,&
DATARMNETa4055affd5->DATARMNET3dc4262f53);hash_add_rcu(DATARMNET58fe8ac797,&
node_p->list,skb->hash);is_match_found=(0xd26+209-0xdf6);break;}while(
(0xd2d+202-0xdf7));spin_unlock_bh(&DATARMNETd83ee17944);if(is_match_found){
DATARMNET337eca0417(skb,node_p);if(!node_p->DATARMNETd986107d55&&
DATARMNET362b15f941(raw_smp_processor_id())){if(DATARMNETd2d15e7f67(
raw_smp_processor_id())<DATARMNET8053357aa4&&DATARMNETdc7bead533(
raw_smp_processor_id(),(0x2495+531-0x1708))){skb->hash=(0xd2d+202-0xdf7);skb->
sw_hash=(0xd26+209-0xdf6);}else if(!node_p->DATARMNETd986107d55){node_p->
DATARMNETd986107d55=DATARMNETbb52958049;node_p->map_cpu=DATARMNETb925972e2a;
node_p->map_index=DATARMNET04e8d1b862(node_p->map_cpu,map);}}else if(node_p->
DATARMNETd986107d55!=DATARMNET46a17e3ec5){if(!DATARMNET362b15f941(
raw_smp_processor_id())){if(DATARMNETd2d15e7f67(raw_smp_processor_id())<
DATARMNET8053357aa4&&DATARMNETdc7bead533(raw_smp_processor_id(),12000)){skb->
hash=(0xd2d+202-0xdf7);skb->sw_hash=(0xd26+209-0xdf6);}else{node_p->
DATARMNETd986107d55=DATARMNET46a17e3ec5;node_p->map_cpu=DATARMNETb925972e2a;
node_p->map_index=DATARMNET04e8d1b862(node_p->map_cpu,map);}}}if(skb_shinfo(skb)
->gso_segs){node_p->DATARMNET11930c5df8+=skb_shinfo(skb)->gso_segs;
DATARMNET0997c5650d[node_p->map_cpu].DATARMNET4133fc9428++;node_p->
DATARMNETae4b27456e.DATARMNET35234676d4+=skb_shinfo(skb)->gso_segs;}else{node_p
->DATARMNET11930c5df8+=(0xd26+209-0xdf6);DATARMNET0997c5650d[node_p->map_cpu].
DATARMNET4133fc9428++;node_p->DATARMNETae4b27456e.DATARMNET35234676d4++;}node_p
->DATARMNETa8940e4a7b+=(0xd26+209-0xdf6);node_p->DATARMNET3ecedac168+=
RMNET_SKB_CB(skb)->coal_bytes;node_p->DATARMNETce5f56eab9+=RMNET_SKB_CB(skb)->
coal_bufsize;if(skb->priority==55834)node_p->DATARMNET1743c92e66++;node_p->
DATARMNET2594c418db+=skb->len;}DATARMNETe767554e6e(skb);return(0xd2d+202-0xdf7);
}void DATARMNET44499733f2(void){u8 DATARMNET0e4304d903;for(DATARMNET0e4304d903=
(0xd2d+202-0xdf7);DATARMNET0e4304d903<DATARMNETc6782fed88;DATARMNET0e4304d903++)
INIT_LIST_HEAD(&DATARMNET148e775ece[DATARMNET0e4304d903].DATARMNET3dc4262f53);}
void DATARMNET90fe3a4b56(void){struct DATARMNET0331d6732d*DATARMNET63b1a086d5;
struct hlist_node*tmp;unsigned long bkt;rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x44\x65\x2d\x69\x6e\x69\x74\x20\x4c\x4c\x20\x62\x6f\x6f\x6b\x2d\x6b\x65\x65\x70\x69\x6e\x67"
);spin_lock_bh(&DATARMNETd83ee17944);hash_for_each_safe(DATARMNET58fe8ac797,bkt,
tmp,DATARMNET63b1a086d5,list){hash_del_rcu(&DATARMNET63b1a086d5->list);}
hash_for_each_safe(DATARMNET5750992efb,bkt,tmp,DATARMNET63b1a086d5,list){
hash_del_rcu(&DATARMNET63b1a086d5->list);kfree(DATARMNET63b1a086d5);
DATARMNETecc0627c70.DATARMNET110549da6f--;DATARMNET75ae82094a--;}spin_unlock_bh(
&DATARMNETd83ee17944);rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4c\x4c\x3a\x20\x44\x65\x2d\x69\x6e\x69\x74\x20\x4c\x4c\x20\x62\x6f\x6f\x6b\x2d\x6b\x65\x65\x70\x69\x6e\x67\x20\x65\x78\x69\x74"
);}

View File

@@ -0,0 +1,22 @@
/* Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef DATARMNETf391f4bee3
#define DATARMNETf391f4bee3
int DATARMNETf5821256ad(struct sk_buff*skb,struct rmnet_shs_clnt_s*
DATARMNET0bf01e7c6f);void DATARMNET44499733f2(void);void DATARMNET90fe3a4b56(
void);void DATARMNET2ac305d296(struct DATARMNET0331d6732d*DATARMNET63b1a086d5);
void DATARMNETd52d50282d(struct DATARMNET0331d6732d*DATARMNET63b1a086d5);int
DATARMNETe24386452c(struct sk_buff*skb);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,255 @@
/* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include "rmnet_shs.h"
unsigned int DATARMNET1fc3ad67fd __read_mostly=DATARMNETe4c625a3a3;module_param(
DATARMNET1fc3ad67fd,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET1fc3ad67fd,
"\x49\x6e\x74\x65\x72\x76\x61\x6c\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x77\x71\x20\x72\x75\x6e\x73\x20\x28\x6d\x73\x29"
);unsigned long DATARMNETa804c0b904 __read_mostly=DATARMNET4899358462;
module_param(DATARMNETa804c0b904,ulong,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETa804c0b904,
"\x4d\x61\x78\x20\x66\x6c\x6f\x77\x20\x69\x6e\x61\x63\x74\x69\x76\x65\x20\x74\x69\x6d\x65\x20\x62\x65\x66\x6f\x72\x65\x20\x63\x6c\x65\x61\x6e\x20\x75\x70"
);unsigned int DATARMNETcab56af6d5 __read_mostly=(0xeb7+710-0x112d);module_param
(DATARMNETcab56af6d5,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETcab56af6d5,
"\x6d\x6f\x76\x69\x6e\x67\x20\x61\x76\x65\x72\x61\x67\x65\x20\x77\x65\x69\x67\x68\x74\x61\x67\x65"
);unsigned long long DATARMNET713717107f[DATARMNETc6782fed88]__read_mostly={
DATARMNETfbee9e182e,DATARMNETb38cb72105,DATARMNET243c638e7d,DATARMNET243c638e7d,
DATARMNET243c638e7d,DATARMNETb38cb72105,DATARMNETb38cb72105,DATARMNET243c638e7d}
;module_param_array(DATARMNET713717107f,ullong,NULL,(0xdb7+6665-0x261c));
MODULE_PARM_DESC(DATARMNET713717107f,
"\x4d\x61\x78\x20\x70\x6b\x74\x73\x20\x63\x6f\x72\x65\x20\x63\x61\x6e\x20\x68\x61\x6e\x64\x6c\x65"
);unsigned long long DATARMNET4793ed48af[DATARMNETc6782fed88]__read_mostly={
DATARMNET9bc9e0cac3,DATARMNET9bc9e0cac3,DATARMNET22feab5726,DATARMNET22feab5726,
DATARMNET22feab5726,DATARMNET9bc9e0cac3,DATARMNET9bc9e0cac3,DATARMNET22feab5726}
;module_param_array(DATARMNET4793ed48af,ullong,NULL,(0xdb7+6665-0x261c));
MODULE_PARM_DESC(DATARMNET4793ed48af,
"\x4d\x69\x6e\x20\x70\x6b\x74\x73\x20\x63\x6f\x72\x65\x20\x63\x61\x6e\x20\x68\x61\x6e\x64\x6c\x65"
);unsigned int DATARMNET18f2ba4444[DATARMNETc6782fed88];module_param_array(
DATARMNET18f2ba4444,uint,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET18f2ba4444,
"\x4e\x75\x6d\x20\x66\x6c\x6f\x77\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x65\x64\x20\x70\x65\x72\x20\x63\x6f\x72\x65"
);unsigned int DATARMNET2d482e7d9f[DATARMNETc6782fed88];module_param_array(
DATARMNET2d482e7d9f,uint,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET2d482e7d9f,
"\x4e\x75\x6d\x20\x66\x69\x6c\x74\x65\x72\x65\x64\x20\x66\x6c\x6f\x77\x73\x20\x70\x65\x72\x20\x63\x6f\x72\x65"
);unsigned long long DATARMNET77240d48ee[DATARMNETc6782fed88];module_param_array
(DATARMNET77240d48ee,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET77240d48ee,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x62\x79\x74\x65\x73\x20\x70\x65\x72\x20\x43\x50\x55"
);unsigned long long DATARMNET77189ab85c[DATARMNETc6782fed88];module_param_array
(DATARMNET77189ab85c,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET77189ab85c,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x74\x6f\x74\x61\x6c\x20\x70\x6b\x74\x73\x20\x70\x65\x72\x20\x43\x50\x55"
);unsigned long long DATARMNET79263b1183[DATARMNETc6782fed88];module_param_array
(DATARMNET79263b1183,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET79263b1183,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x65\x6e\x71\x20\x72\x61\x74\x65\x20\x70\x65\x72\x20\x43\x50\x55"
);unsigned long long DATARMNET229d52b629[DATARMNETc6782fed88];module_param_array
(DATARMNET229d52b629,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET229d52b629,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x70\x6b\x74\x20\x65\x6e\x71\x20\x72\x61\x74\x65\x20\x70\x65\x72\x20\x43\x50\x55"
);unsigned long long DATARMNETd27ed7efea[DATARMNETc6782fed88];module_param_array
(DATARMNETd27ed7efea,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNETd27ed7efea,
"\x53\x48\x53\x20\x6e\x77\x20\x73\x74\x61\x63\x6b\x20\x71\x75\x65\x75\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x65\x64\x20\x64\x69\x66\x66"
);unsigned long long DATARMNET377ecf13ca[DATARMNETc6782fed88];module_param_array
(DATARMNET377ecf13ca,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET377ecf13ca,
"\x53\x48\x53\x20\x6e\x77\x20\x71\x75\x65\x75\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x65\x64\x20\x74\x6f\x74\x61\x6c"
);unsigned long DATARMNETbf3b6fdfc8[DATARMNET2f9ea73326];module_param_array(
DATARMNETbf3b6fdfc8,ulong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNETbf3b6fdfc8,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x68\x61\x73\x68\x20\x66\x6c\x6f\x77");
unsigned long DATARMNET0fec241216[DATARMNET2f9ea73326];module_param_array(
DATARMNET0fec241216,ulong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET0fec241216,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x68\x61\x73\x68\x20\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x20\x70\x72\x6f\x74\x6f\x63\x6f\x6c"
);unsigned long long DATARMNET9e5e8e4048[DATARMNET2f9ea73326];module_param_array
(DATARMNET9e5e8e4048,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET9e5e8e4048,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x69\x6e\x61\x63\x74\x69\x76\x65\x20\x66\x6c\x6f\x77\x20\x74\x69\x6d\x65"
);int DATARMNETdba344c809[DATARMNET2f9ea73326]={-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6)};module_param_array(
DATARMNETdba344c809,int,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNETdba344c809,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x66\x6c\x6f\x77\x20\x70\x72\x6f\x63\x65\x73\x73\x69\x6e\x67\x20\x43\x50\x55"
);int DATARMNET99a934c43a[DATARMNET2f9ea73326]={-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-
(0xd26+209-0xdf6),-(0xd26+209-0xdf6),-(0xd26+209-0xdf6)};module_param_array(
DATARMNET99a934c43a,int,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET99a934c43a,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x66\x6c\x6f\x77\x20\x70\x72\x6f\x63\x20\x43\x50\x55"
);unsigned long long DATARMNET47956cbb0f[DATARMNET2f9ea73326];module_param_array
(DATARMNET47956cbb0f,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET47956cbb0f,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x62\x79\x74\x65\x73\x20\x70\x65\x72\x20\x66\x6c\x6f\x77"
);unsigned long long DATARMNET338c8e7a2b[DATARMNET2f9ea73326];module_param_array
(DATARMNET338c8e7a2b,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET338c8e7a2b,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x74\x6f\x74\x61\x6c\x20\x70\x6b\x74\x73\x20\x70\x65\x72\x20\x66\x6c\x6f\x77"
);unsigned long long DATARMNET4b1ae621cd[DATARMNET2f9ea73326];module_param_array
(DATARMNET4b1ae621cd,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET4b1ae621cd,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x65\x6e\x71\x20\x72\x61\x74\x65\x20\x70\x65\x72\x20\x66\x6c\x6f\x77"
);unsigned long long DATARMNETf5133a99c6[DATARMNET2f9ea73326];module_param_array
(DATARMNETf5133a99c6,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNETf5133a99c6,
"\x53\x48\x53\x20\x73\x74\x61\x6d\x70\x20\x70\x6b\x74\x20\x65\x6e\x71\x20\x72\x61\x74\x65\x20\x70\x65\x72\x20\x66\x6c\x6f\x77"
);unsigned long long DATARMNETc5d73c43e6[DATARMNET2f9ea73326];module_param_array
(DATARMNETc5d73c43e6,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNETc5d73c43e6,
"\x53\x48\x53\x20\x53\x75\x67\x67\x65\x73\x74\x20\x53\x69\x6c\x76\x65\x72\x20\x74\x6f\x20\x47\x6f\x6c\x64"
);unsigned long long DATARMNETf4aa8ec23f[DATARMNET2f9ea73326];module_param_array
(DATARMNETf4aa8ec23f,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNETf4aa8ec23f,
"\x53\x48\x53\x20\x53\x75\x67\x67\x65\x73\x74\x20\x47\x6f\x6c\x64\x20\x74\x6f\x20\x53\x69\x6c\x76\x65\x72"
);unsigned long long DATARMNET6d75219ffb[DATARMNET2f9ea73326];module_param_array
(DATARMNET6d75219ffb,ullong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET6d75219ffb,
"\x53\x48\x53\x20\x53\x75\x67\x67\x65\x73\x74\x20\x47\x6f\x6c\x64\x20\x42\x61\x6c\x61\x6e\x63\x65"
);unsigned long DATARMNETb7ddf3c5dd[DATARMNETeccb61ebc3];module_param_array(
DATARMNETb7ddf3c5dd,ulong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNETb7ddf3c5dd,
"\x72\x6d\x6e\x65\x74\x20\x73\x68\x73\x20\x73\x6b\x62\x20\x63\x6f\x72\x65\x20\x73\x77\x74\x69\x63\x68\x20\x74\x79\x70\x65"
);unsigned long DATARMNET14ed771dfb[DATARMNET3cef75f6cd];module_param_array(
DATARMNET14ed771dfb,ulong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET14ed771dfb,
"\x72\x6d\x6e\x65\x74\x20\x73\x68\x73\x20\x73\x6b\x62\x20\x66\x6c\x75\x73\x68\x20\x74\x72\x69\x67\x67\x65\x72\x20\x74\x79\x70\x65"
);unsigned int DATARMNETea75c7b6f6 __read_mostly=30144000;module_param(
DATARMNETea75c7b6f6,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETea75c7b6f6,
"\x4d\x61\x78\x69\x6d\x75\x6d\x20\x62\x79\x74\x65\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x69\x6c\x6c\x20\x70\x61\x72\x6b"
);unsigned int DATARMNET7d18c0bcf8 __read_mostly=24000;module_param(
DATARMNET7d18c0bcf8,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET7d18c0bcf8,
"\x4d\x61\x78\x69\x6d\x75\x6d\x20\x70\x6b\x74\x73\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x69\x6c\x6c\x20\x70\x61\x72\x6b"
);unsigned int DATARMNET227d2ff866 __read_mostly=(0xf07+1573-0x14f5);
module_param(DATARMNET227d2ff866,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET227d2ff866,
"\x4d\x61\x78\x20\x77\x61\x69\x74\x20\x6d\x6f\x64\x75\x6c\x65\x20\x77\x69\x6c\x6c\x20\x77\x61\x69\x74\x20\x64\x75\x72\x69\x6e\x67\x20\x6d\x6f\x76\x65\x20\x74\x6f\x20\x70\x65\x72\x66\x20\x63\x6f\x72\x65\x20\x69\x6e\x20\x6d\x73"
);unsigned int DATARMNETa1ac2608b5 __read_mostly=(0xeb7+1130-0x130d);
module_param(DATARMNETa1ac2608b5,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETa1ac2608b5,
"\x4d\x61\x78\x20\x69\x6e\x74\x65\x72\x76\x61\x6c\x20\x77\x65\x20\x73\x61\x6d\x70\x6c\x65\x20\x66\x6f\x72\x20\x69\x6e\x73\x74\x61\x6e\x74\x20\x62\x75\x72\x73\x74\x20\x70\x72\x69\x6f\x72\x69\x74\x69\x7a\x69\x6e\x67"
);unsigned int DATARMNET12565c8f98 __read_mostly=(0xd2d+202-0xdf7);module_param(
DATARMNET12565c8f98,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET12565c8f98,
"\x43\x6f\x6e\x66\x69\x67\x75\x72\x61\x62\x6c\x65\x20\x6f\x70\x74\x69\x6f\x6e\x20\x74\x6f\x20\x65\x6e\x61\x62\x6c\x65\x20\x72\x78\x20\x72\x61\x74\x65\x20\x63\x70\x75\x20\x73\x77\x69\x74\x63\x68\x69\x6e\x67"
);unsigned int DATARMNET365ddeca1c __read_mostly=(0xd26+209-0xdf6);module_param(
DATARMNET365ddeca1c,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET365ddeca1c,
"\x4f\x70\x74\x69\x6f\x6e\x20\x74\x6f\x20\x65\x6e\x61\x62\x6c\x65\x20\x66\x61\x6c\x6c\x20\x62\x61\x63\x6b\x20\x6c\x69\x6d\x69\x74\x20\x66\x6f\x72\x20\x70\x61\x72\x6b\x69\x6e\x67"
);unsigned int DATARMNETbc049ffc4c[DATARMNETc6782fed88]={(0xcf7+1705-0x101c),
(0xf07+3937-0x1a1c),(0xf07+3937-0x1a1c),(0xf07+3937-0x1a1c),(0xf07+3937-0x1a1c),
(0xf07+3937-0x1a1c),(0xf07+3937-0x1a1c),(0xf07+3937-0x1a1c)};module_param_array(
DATARMNETbc049ffc4c,uint,NULL,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETbc049ffc4c,
"\x4d\x61\x78\x20\x70\x6b\x74\x73\x20\x69\x6e\x20\x62\x61\x63\x6b\x6c\x6f\x67\x20\x70\x72\x69\x6f\x72\x69\x74\x69\x7a\x69\x6e\x67"
);unsigned int DATARMNET65393dea13[DATARMNETc6782fed88]={(0x17b8+5768-0x2224),
(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),
(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),(0x17b8+5768-0x2224),
(0x17b8+5768-0x2224)};module_param_array(DATARMNET65393dea13,uint,NULL,
(0xdb7+6665-0x261c));MODULE_PARM_DESC(DATARMNET65393dea13,
"\x4d\x61\x78\x20\x70\x6b\x74\x73\x20\x69\x6e\x20\x61\x20\x62\x75\x72\x73\x74\x20\x62\x65\x66\x6f\x72\x65\x20\x70\x72\x69\x6f\x72\x69\x74\x69\x7a\x69\x6e\x67"
);unsigned int DATARMNET4ac8af832c __read_mostly=(0xd03+244-0xdf1);module_param(
DATARMNET4ac8af832c,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET4ac8af832c,
"\x4f\x70\x74\x69\x6f\x6e\x20\x74\x6f\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x20\x66\x61\x6c\x6c\x20\x62\x61\x63\x6b\x20\x64\x75\x72\x61\x74\x69\x6f\x6e"
);unsigned int DATARMNETa7909611da __read_mostly=(0xd26+209-0xdf6);module_param(
DATARMNETa7909611da,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETa7909611da,
"\x53\x77\x69\x74\x63\x68\x20\x63\x6f\x72\x65\x20\x75\x70\x6f\x6e\x20\x68\x69\x74\x74\x69\x6e\x67\x20\x74\x68\x72\x65\x73\x68\x6f\x6c\x64"
);unsigned int DATARMNET84413d1257[DATARMNETc6782fed88];module_param_array(
DATARMNET84413d1257,uint,NULL,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET84413d1257,
"\x4d\x61\x78\x20\x71\x75\x65\x75\x65\x20\x6c\x65\x6e\x67\x74\x68\x20\x73\x65\x65\x6e\x20\x6f\x66\x20\x65\x61\x63\x68\x20\x63\x6f\x72\x65"
);unsigned int DATARMNET443cf5aaaf[DATARMNETc6782fed88];module_param_array(
DATARMNET443cf5aaaf,uint,NULL,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET443cf5aaaf,
"\x4f\x4f\x4f\x20\x63\x6f\x75\x6e\x74\x20\x66\x6f\x72\x20\x65\x61\x63\x68\x20\x63\x70\x75"
);unsigned int DATARMNETd75e474598[DATARMNETc6782fed88];module_param_array(
DATARMNETd75e474598,uint,NULL,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETd75e474598,
"\x4d\x61\x78\x20\x63\x6f\x72\x65\x73\x75\x6d\x20\x73\x65\x65\x6e\x20\x6f\x66\x20\x65\x61\x63\x68\x20\x63\x6f\x72\x65"
);unsigned int DATARMNET25c61a512c __read_mostly=(0xd18+223-0xdf4);module_param(
DATARMNET25c61a512c,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET25c61a512c,
"\x53\x74\x61\x79\x69\x6e\x67\x20\x64\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x6f\x72\x20\x6e\x65\x74\x72\x78\x20\x73\x77\x69\x74\x63\x68"
);unsigned int DATARMNET1ad396a890 __read_mostly=(0x25f8+1428-0x1804);
module_param(DATARMNET1ad396a890,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET1ad396a890,
"\x4d\x61\x78\x20\x72\x6d\x6e\x65\x74\x20\x70\x72\x65\x2d\x62\x61\x63\x6b\x6c\x6f\x67"
);unsigned int DATARMNET121c8bc82a __read_mostly=(0xd2d+202-0xdf7);module_param(
DATARMNET121c8bc82a,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET32fc6f2889,
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x72\x65\x73\x65\x72\x76\x65\x5f\x6d\x61\x73\x6b"
);unsigned int DATARMNETf55430ea0a __read_mostly=(0xd2d+202-0xdf7);module_param(
DATARMNETf55430ea0a,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETf55430ea0a,
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x68\x61\x6c\x74\x5f\x6d\x61\x73\x6b");
unsigned int DATARMNET756bdd424a __read_mostly;module_param(DATARMNET756bdd424a,
uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(DATARMNET756bdd424a,
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x64\x65\x62\x75\x67");unsigned int
DATARMNET58b009b16b __read_mostly=(0xd26+209-0xdf6);module_param(
DATARMNET58b009b16b,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET58b009b16b,
"\x45\x6e\x61\x62\x6c\x65\x20\x44\x69\x73\x61\x62\x6c\x65\x20\x73\x74\x61\x74\x73\x20\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e"
);unsigned long DATARMNET930a441406[DATARMNET0d61981934];module_param_array(
DATARMNET930a441406,ulong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET930a441406,
"\x72\x6d\x6e\x65\x74\x20\x73\x68\x73\x20\x6d\x69\x64\x20\x65\x72\x72\x6f\x72\x20\x74\x79\x70\x65"
);unsigned long DATARMNET68d84e7b98[DATARMNETf3110711cb];module_param_array(
DATARMNET68d84e7b98,ulong,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
DATARMNET68d84e7b98,
"\x72\x6d\x6e\x65\x74\x20\x73\x68\x73\x20\x63\x72\x74\x69\x63\x61\x6c\x20\x65\x72\x72\x6f\x72\x20\x74\x79\x70\x65"
);unsigned int DATARMNET3874292c18=DATARMNET2d0941aa7c;module_param(
DATARMNET3874292c18,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET3874292c18,
"\x43\x75\x72\x72\x65\x6e\x74\x20\x4c\x4c\x20\x66\x6c\x6f\x77\x20\x63\x70\x75\x20"
);unsigned int DATARMNETbb1a9dff8b=(0xd1f+216-0xdf5);module_param(
DATARMNETbb1a9dff8b,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETbb1a9dff8b,
"\x43\x75\x72\x72\x65\x6e\x74\x20\x4c\x4c\x20\x70\x68\x79\x20\x63\x70\x75\x20");
unsigned int DATARMNETd619186789=(0xd2d+202-0xdf7);module_param(
DATARMNETd619186789,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETd619186789,
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x57\x71\x20\x65\x78\x65\x63\x75\x74\x69\x6f\x6e\x20\x74\x69\x63\x6b\x20"
);unsigned int DATARMNETaf95716235=(0xd2d+202-0xdf7);module_param(
DATARMNETaf95716235,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNETaf95716235,
"\x72\x6d\x6e\x65\x74\x20\x73\x68\x73\x20\x77\x71\x20\x70\x61\x75\x73\x65\x20\x63\x6f\x75\x6e\x74"
);unsigned int DATARMNET7e039054c6=(0xd2d+202-0xdf7);module_param(
DATARMNET7e039054c6,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET7e039054c6,
"\x72\x6d\x6e\x65\x74\x20\x73\x68\x73\x20\x77\x71\x20\x72\x65\x73\x74\x61\x72\x74\x20\x63\x6f\x75\x6e\x74"
);unsigned int DATARMNET68dc14b50d=(0xd26+209-0xdf6);module_param(
DATARMNET68dc14b50d,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET68dc14b50d,
"\x72\x65\x73\x65\x72\x76\x65\x20\x6d\x61\x73\x6b\x20\x66\x65\x61\x74\x75\x72\x65\x20\x66\x6c\x61\x67"
);unsigned int rmnet_shs_no_sync_off __read_mostly=(0xd2d+202-0xdf7);
module_param(rmnet_shs_no_sync_off,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
rmnet_shs_no_sync_off,
"\x72\x6d\x6e\x65\x74\x20\x6e\x6f\x20\x73\x79\x6e\x63\x20\x66\x65\x61\x74\x75\x72\x65\x20\x74\x6f\x67\x67\x6c\x65"
);unsigned int DATARMNET952c960091=(0xd2d+202-0xdf7);module_param(
DATARMNET952c960091,uint,(0xdb7+6665-0x261c));MODULE_PARM_DESC(
DATARMNET952c960091,
"\x72\x6d\x6e\x65\x74\x20\x73\x68\x73\x20\x61\x73\x79\x6e\x63\x20\x70\x61\x63\x6b\x65\x74\x20\x63\x6f\x75\x6e\x74"
);

View File

@@ -0,0 +1,63 @@
/* Copyright (c) 2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include "rmnet_shs_wq.h"
#include "rmnet_shs_common.h"
#include "rmnet_shs.h"
#ifndef DATARMNET2883628e72
#define DATARMNET2883628e72
extern unsigned int DATARMNET1fc3ad67fd;extern unsigned long DATARMNETa804c0b904
;extern unsigned int DATARMNETcab56af6d5 __read_mostly;extern unsigned long long
DATARMNET713717107f[DATARMNETc6782fed88];extern unsigned long long
DATARMNET4793ed48af[DATARMNETc6782fed88];extern unsigned int DATARMNET18f2ba4444
[DATARMNETc6782fed88];extern unsigned int DATARMNET2d482e7d9f[
DATARMNETc6782fed88];extern unsigned long long DATARMNET77240d48ee[
DATARMNETc6782fed88];extern unsigned long long DATARMNET77189ab85c[
DATARMNETc6782fed88];extern unsigned long long DATARMNET79263b1183[
DATARMNETc6782fed88];extern unsigned long long DATARMNET229d52b629[
DATARMNETc6782fed88];extern unsigned long long DATARMNETd27ed7efea[
DATARMNETc6782fed88];extern unsigned long long DATARMNET377ecf13ca[
DATARMNETc6782fed88];extern unsigned long DATARMNETbf3b6fdfc8[
DATARMNET2f9ea73326];extern unsigned long DATARMNET0fec241216[
DATARMNET2f9ea73326];extern unsigned long long DATARMNET9e5e8e4048[
DATARMNET2f9ea73326];extern int DATARMNETdba344c809[DATARMNET2f9ea73326];extern
int DATARMNET99a934c43a[DATARMNET2f9ea73326];extern unsigned long long
DATARMNET47956cbb0f[DATARMNET2f9ea73326];extern unsigned long long
DATARMNET338c8e7a2b[DATARMNET2f9ea73326];extern unsigned long long
DATARMNET4b1ae621cd[DATARMNET2f9ea73326];extern unsigned long long
DATARMNETf5133a99c6[DATARMNET2f9ea73326];extern unsigned long long
DATARMNETc5d73c43e6[DATARMNET2f9ea73326];extern unsigned long long
DATARMNETf4aa8ec23f[DATARMNET2f9ea73326];extern unsigned long long
DATARMNET6d75219ffb[DATARMNET2f9ea73326];extern unsigned long
DATARMNETb7ddf3c5dd[DATARMNETeccb61ebc3];extern unsigned long
DATARMNET14ed771dfb[DATARMNET3cef75f6cd];extern unsigned int DATARMNETea75c7b6f6
;extern unsigned int DATARMNET7d18c0bcf8;extern unsigned int DATARMNET227d2ff866
;extern unsigned int DATARMNETa1ac2608b5;extern unsigned int DATARMNET12565c8f98
;extern unsigned int DATARMNET365ddeca1c;extern unsigned int DATARMNETbc049ffc4c
[DATARMNETc6782fed88];extern unsigned int DATARMNET65393dea13[
DATARMNETc6782fed88];extern unsigned int DATARMNET4ac8af832c;extern unsigned int
DATARMNETa7909611da;extern unsigned int DATARMNET84413d1257[DATARMNETc6782fed88
];extern unsigned int DATARMNET443cf5aaaf[DATARMNETc6782fed88];extern unsigned
int DATARMNETd75e474598[DATARMNETc6782fed88];extern unsigned int
DATARMNET25c61a512c;extern unsigned int DATARMNET1ad396a890;extern unsigned int
DATARMNET756bdd424a;extern unsigned int DATARMNET58b009b16b __read_mostly;extern
unsigned long DATARMNET68d84e7b98[DATARMNETf3110711cb];extern unsigned long
DATARMNET930a441406[DATARMNET0d61981934];extern unsigned int DATARMNET3874292c18
;extern unsigned int DATARMNETbb1a9dff8b;extern unsigned int DATARMNETf55430ea0a
;extern unsigned int DATARMNET121c8bc82a;extern unsigned int DATARMNETd619186789
;extern unsigned int DATARMNETaf95716235;extern unsigned int DATARMNET7e039054c6
;extern unsigned int DATARMNET952c960091;extern unsigned int
rmnet_shs_no_sync_off;extern unsigned int DATARMNET68dc14b50d;
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,142 @@
/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef DATARMNETa58841a91d
#define DATARMNETa58841a91d
#include "rmnet_shs_config.h"
#include "rmnet_shs.h"
#include <linux/ktime.h>
#define DATARMNETdfb4d931bc (0xd2d+202-0xdf7)
#define DATARMNETf0dc5ccb6f (0xd2d+202-0xdf7)
#define rm_err(DATARMNET6c3cf5865b, ...) \
do { if (DATARMNETdfb4d931bc) pr_err(DATARMNET6c3cf5865b, __VA_ARGS__); } while\
((0xd2d+202-0xdf7))
#define DATARMNETd2da2e8466(DATARMNET6c3cf5865b, ...) \
do { if (DATARMNETf0dc5ccb6f) pr_err(DATARMNET6c3cf5865b, __VA_ARGS__); } while\
((0xd2d+202-0xdf7))
#define DATARMNET2f9ea73326 (0xeb7+1174-0x132d)
#define DATARMNET855e9d7062(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95)*\
1000000000)
#define DATARMNETe6671dbf38(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95)*\
1000000000)
#define DATARMNET36cfa76181(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95)/\
1000000000)
#define DATARMNET64577537b7(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95)*\
(0xd35+210-0xdff))
#define DATARMNETac617c8dce(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95)*1000000\
)
#define DATARMNET138a989ecb (0xeb7+1158-0x132d)
#define DATARMNETe4c625a3a3 (0xeb7+698-0x110d)
extern struct list_head DATARMNET30a3e83974;struct DATARMNET9b44b71ee9{u64
DATARMNET4eb77c78e6;u64 DATARMNET257fc4b2d4;struct list_head DATARMNET0763436b8d
;struct net_device*ep;int DATARMNET5af04d0405[DATARMNETc6782fed88];int
DATARMNET7167e10d99[DATARMNETc6782fed88];u16 DATARMNET24a91635db;u16
DATARMNET1a1d89d417;u16 DATARMNET9fb369ce5f;u8 DATARMNET4a4e6f66b5;int
DATARMNET6bda8fe27e;int DATARMNET121a654efd;int DATARMNETd7a83774f8;int
DATARMNET847276e5af;};struct DATARMNET0737a3aa12{struct list_head
DATARMNETd0c222566b;struct DATARMNET9b44b71ee9 ep;};enum DATARMNET0780ebfa33{
DATARMNET8866cd9e9a,DATARMNETed5a873a00,DATARMNETd7a3f55a51,DATARMNETefe8657028,
DATARMNET37da25c8e8,DATARMNET5dccc475d4,DATARMNET5898b2a84b,DATARMNET0fec83de79,
DATARMNET3563036124,};struct DATARMNET6c78e47d24{unsigned long int
DATARMNET61e1ee0e95[DATARMNET3563036124];struct list_head DATARMNET742867e97a;
struct list_head DATARMNET6de26f0feb;struct DATARMNET63d7680df2*
DATARMNET63b1a086d5;ktime_t DATARMNETadd51beef4;ktime_t DATARMNET68714ac92c;
ktime_t DATARMNET42ceaf5cc2;u64 DATARMNET4b4a76b094;u64 rx_bytes;u64
DATARMNETa7352711af;u64 DATARMNET324c1a8f98;u64 DATARMNETbb80fccd97;u64
DATARMNET6c2816c16a;u64 DATARMNET253a9fc708;u64 DATARMNET95266642d1;u64
DATARMNET0d682bcb29;u64 DATARMNET20e8fc9db8;u64 DATARMNETd34f4b12cd;u64
DATARMNET96e0dea53e;u64 DATARMNET3ecedac168;u64 DATARMNETce5f56eab9;u64
DATARMNET6edbc8b649;u64 DATARMNET4025a4ec90;u64 DATARMNETde6a309f37;u32
DATARMNET3b7421773f;u32 DATARMNET77b978dd84;u32 DATARMNET9fb369ce5f;u32
DATARMNET17f2abdf03;u32 DATARMNET399c840115;u32 DATARMNET1a1d89d417;u32
DATARMNETb932033f50;u32 hash;u32 bif;u32 ack_thresh;int DATARMNETb5f5519502;u16
DATARMNET6e1a4eaf09;u16 DATARMNET7c894c2f8f;u16 DATARMNET1e9d25d9ff;u8
DATARMNET29c6349349;u8 mux_id;u8 DATARMNET0dc393a345;u8 DATARMNET0bfc2b2c85;u8
DATARMNET8a4e1d5aaa;u8 DATARMNET87636d0152;};struct DATARMNET228056d4b7{struct
list_head DATARMNETab5c1e9ad5;ktime_t DATARMNET68714ac92c;u64
DATARMNET9853a006ae;u64 DATARMNETde6a309f37;u64 DATARMNETc589c49a2e;u64
DATARMNET7fc41d655d;u64 rx_bytes;u64 DATARMNET57f040bb2c;u64 DATARMNET324c1a8f98
;u64 DATARMNETbb80fccd97;u64 DATARMNET27c3925eff;u64 DATARMNET8233cb4988;u64
DATARMNET253a9fc708;u64 DATARMNETc0b20e240a;u32 DATARMNETae196235f2;u32
DATARMNET8b9956a3f9;u32 DATARMNET69770f8ef7;u32 DATARMNET14b0d18481;u32
DATARMNET17380ba0f8;int flows;u16 DATARMNET42a992465f;};struct
DATARMNETc8fdbf9c85{struct DATARMNET228056d4b7 DATARMNET73464778dc[
DATARMNETc6782fed88];ktime_t DATARMNET68714ac92c;u64 DATARMNET601156672d;u64
DATARMNETbfe25a2160;u64 DATARMNET4947607c52;u64 DATARMNET903a2cea81;u64
DATARMNET3067b3dafd;u64 DATARMNET47334112aa;u64 DATARMNET9853a006ae;u64
DATARMNETde6a309f37;u64 DATARMNETc589c49a2e;u64 DATARMNET27c3925eff;u64
DATARMNET8233cb4988;u64 DATARMNET7fc41d655d;u64 rx_bytes;u64 DATARMNET57f040bb2c
;u64 DATARMNET324c1a8f98;u64 DATARMNETbb80fccd97;u64 DATARMNET0d682bcb29;u64
DATARMNET20e8fc9db8;u32 DATARMNET9fb369ce5f;u32 DATARMNET399c840115;u32
DATARMNET1a1d89d417;u32 DATARMNETb932033f50;int DATARMNET5af04d0405[
DATARMNETc6782fed88];int DATARMNET7167e10d99[DATARMNETc6782fed88];int
DATARMNET6bda8fe27e;int DATARMNET121a654efd;int DATARMNETd7a83774f8;int
DATARMNET847276e5af;int flows;u8 cpus;};struct DATARMNETa144e2bd00{struct
delayed_work DATARMNET1150269da2;};struct DATARMNET47a6995138{struct list_head
DATARMNET02523bfb57;u64 DATARMNET18b7a5b761;u64 DATARMNET4da6031170;u64
DATARMNET4df302dbd6;u16 DATARMNET42a992465f;};struct DATARMNET09a412b1c6{struct
list_head DATARMNETd502c0412a;u64 DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;
u32 hash;u16 DATARMNET42a992465f;};struct DATARMNETe176be7f7c{struct list_head
DATARMNET7287946e7b;union{struct iphdr DATARMNETac9bbaad7c;struct ipv6hdr
DATARMNET1688a97aa4;}ip_hdr;union{struct tcphdr tp;struct udphdr up;}
DATARMNETe33b41dad9;u64 DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64
DATARMNETbb80fccd97;u64 DATARMNET95266642d1;u64 DATARMNET0d682bcb29;u64
DATARMNET20e8fc9db8;u32 hash;u16 DATARMNET42a992465f;u16 trans_proto;u8 mux_id;
u8 DATARMNETda8e8ae7ed;};struct DATARMNET13c47d154e{struct list_head
DATARMNETec0e3cb8f0;union{struct iphdr DATARMNETac9bbaad7c;struct ipv6hdr
DATARMNET1688a97aa4;}ip_hdr;union{struct tcphdr tp;struct udphdr up;}
DATARMNETe33b41dad9;u64 DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64
DATARMNETbb80fccd97;u64 DATARMNET95266642d1;u64 DATARMNET0d682bcb29;u64
DATARMNET20e8fc9db8;u32 hash;u16 DATARMNET42a992465f;u16 trans_proto;u8 mux_id;}
;struct DATARMNETa52c09a590{struct list_head DATARMNET6f898987df;u64
DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u32 hash;u32
bif;u32 ack_thresh;u16 DATARMNET42a992465f;};enum DATARMNET8487fb1a16{
DATARMNET9104d544fa,DATARMNET4fe8e8c1a9,DATARMNETc1e19aa345,DATARMNET5e796836fb,
DATARMNET238d08f0df,DATARMNET92b282b12c,DATARMNET394831f22a,DATARMNET39a68a0eba,
DATARMNET0dd7951b5e,DATARMNETa0ecb9daac,};enum DATARMNETb2fa0397cc{
DATARMNET34ace72e7e,DATARMNET7fc202c4c1,DATARMNET7643ab0f49,DATARMNET1ee5d0565d,
DATARMNETfab7330394,DATARMNET72f22d7cf7,DATARMNETf81dcb955d,DATARMNET3f2d29c867,
DATARMNET5a3ea29c57,DATARMNETb43d929c3b,DATARMNET31d8e00b80,DATARMNET8d783e2a07,
DATARMNET4b15fcda7c,DATARMNET08284be63e,DATARMNET8ce5a018df,DATARMNET57cad43bb7,
DATARMNET4b58d51c6a,DATARMNETfd4d416388,DATARMNETdb9197631d,DATARMNET067f70ac85,
DATARMNET91e905574d,DATARMNET35902389b3,DATARMNET29c0bc0151,DATARMNET45edcec1e4,
DATARMNET5b2500c971,DATARMNET08cee5b48c,DATARMNET5e2c5adaae,DATARMNETb0ed796e8c,
DATARMNET6bde6a5171,DATARMNET55cd50e666,DATARMNET0832f93bf0,DATARMNETecb00bceb2,
DATARMNET0e287157de,DATARMNETc2a28b3abe,DATARMNET23906b61e9,DATARMNET95d1ddcb1a,
DATARMNETbdcc04c8d8,DATARMNETcd209744bd,DATARMNETde65aa00a6,DATARMNETf4dabe20e4,
DATARMNETb9205423e5,DATARMNETffec99a10f,DATARMNET5c7c474d94,DATARMNET4af220a9f9,
DATARMNET709474066f,DATARMNET9a286e7654,DATARMNET5a417740cb,DATARMNET848d2ddfa7,
DATARMNET59a1cb0962,DATARMNET1b421b0381,DATARMNETb196f64ee0,DATARMNET7cf840e991,
DATARMNETa5cdfd53b3,DATARMNETd7f7ade458,DATARMNET53e4a6b394,DATARMNETd1d3902361,
DATARMNET1fc50aac59,DATARMNET213a62da0d,DATARMNETf814701a94,DATARMNET166a43f3aa,
};extern struct DATARMNETe600c5b727 DATARMNET0997c5650d[DATARMNETc6782fed88];
extern struct list_head DATARMNET9825511866;extern struct workqueue_struct*
DATARMNETf141197982;void DATARMNET3ae0d614d6(void);void DATARMNETf7dcab9a9e(void
);void DATARMNET7b6c061b06(void);void DATARMNET4063c95208(void);void
DATARMNETe46c480d71(void);void DATARMNET039ac6d55d(void);u64 DATARMNETd406e89a85
(u32 DATARMNETfaedbb66a9);void DATARMNET350f55bfca(struct DATARMNET63d7680df2*
node_p);int DATARMNET362c14e98b(u16 DATARMNETfaedbb66a9);int DATARMNETf181a18009
(struct net_device*dev);int DATARMNET98b2a0ce62(struct net_device*dev);u64
DATARMNETfc888b4d3e(u16 cpu);void DATARMNET0349051465(u16 cpu);void
DATARMNET3669e7b703(u16 cpu);void DATARMNET54ebea1d15(void);void
DATARMNET7492293980(struct net_device*dev);void DATARMNETd6ee05f1b4(struct
net_device*dev);void DATARMNET0a6fb12cb2(void);int DATARMNET5f72606f6f(u16
DATARMNETc790ff30fc,u16 DATARMNET208ea67e1d,u32 DATARMNET4da4612f1e,u32
DATARMNETa3f89581b5);int DATARMNETf85599b9d8(u32 DATARMNET8c11bd9466,u8
DATARMNET87636d0152);int DATARMNET1faf2b953f(u32 DATARMNET8c11bd9466,u32
ack_thresh);void DATARMNET6bf538fa23(void);void DATARMNETaea4c85748(void);void
DATARMNETcd6e26f0ad(void);int DATARMNETdc7bead533(unsigned DATARMNET42a992465f,
unsigned DATARMNET435f2b5517);
#endif

View File

@@ -0,0 +1,398 @@
/* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include "rmnet_shs_modules.h"
#include "rmnet_shs_common.h"
#include "rmnet_shs_ll.h"
#include "rmnet_shs_wq_genl.h"
#include <net/sock.h>
#include <linux/skbuff.h>
#include <linux/cpumask.h>
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static struct net*DATARMNETb01cbc5ec9
;static u32 DATARMNET373156e169;static struct net*DATARMNET77097baa98;static u32
DATARMNET990a29d492;uint32_t DATARMNET7c4038843f;uint32_t DATARMNETf1e47cb243;
int DATARMNETc252c204a8;
#define DATARMNETe429c5f3dd (0xbf7+4364-0x1c04)
#define DATARMNET6987463c5e(DATARMNET5f1b691e95) ((DATARMNET5f1b691e95) * \
1000000000)
static struct nla_policy DATARMNET23b45455b1[DATARMNETcecb35ee33+
(0xd26+209-0xdf6)]={[DATARMNET7d289a7bfa]={.type=NLA_S32},[DATARMNET813a742587]=
NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET6c41b886b2)),[DATARMNET50e1cd26c7]=
NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET837c876a22)),[DATARMNET6ab4513e45]=
NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNETbf4d34b241)),[DATARMNET627787b1dd]=
NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET1ac24ff95c)),[DATARMNETaa0fe5a855]={
.type=NLA_NUL_STRING,.len=DATARMNETe429c5f3dd},[DATARMNET310b1858b8]=
NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET506d6d2edb)),};
#define DATARMNETcfe22ed4d3(DATARMNET5aeb0ef9bc, DATARMNETbd9859b58e) \
{ \
.cmd = DATARMNET5aeb0ef9bc, \
.doit = DATARMNETbd9859b58e, \
.dumpit = NULL, \
.flags = (0xd2d+202-0xdf7), \
}
static const struct genl_ops DATARMNETf2d168ff8d[]={DATARMNETcfe22ed4d3(
DATARMNETc574b5cfba,DATARMNET740f3b34b3),DATARMNETcfe22ed4d3(DATARMNET8e3adfc5dd
,DATARMNET29175fb5fc),DATARMNETcfe22ed4d3(DATARMNETffb2945689,
DATARMNETd81d2866ba),DATARMNETcfe22ed4d3(DATARMNET51b1ee5a68,DATARMNETc850634243
),DATARMNETcfe22ed4d3(RMNET_SHS_GENL_CMD_LL_FLOW,DATARMNET283f08f439),
DATARMNETcfe22ed4d3(DATARMNET93b3e11659,DATARMNET9bbfc822c2),DATARMNETcfe22ed4d3
(DATARMNET5d672fac06,DATARMNET2b7c02fa2c),};static struct nla_policy
DATARMNETd7cd67c4a9[DATARMNETcecb35ee33+(0xd26+209-0xdf6)]={[DATARMNETc08daf87d4
]=NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET25187800fe)),[DATARMNET8070cc0bdc]
=NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET177911299b)),};static const struct
genl_ops DATARMNETffa9bcf3ed[]={DATARMNETcfe22ed4d3(DATARMNETafee1e9070,
DATARMNETd65d1351b9),};struct genl_family DATARMNETecc643c219={.hdrsize=
(0xd2d+202-0xdf7),.name=DATARMNET0228d9f101,.version=DATARMNET0fa03ac25b,.
maxattr=DATARMNETcecb35ee33,.policy=DATARMNET23b45455b1,.ops=DATARMNETf2d168ff8d
,.n_ops=ARRAY_SIZE(DATARMNETf2d168ff8d),};struct genl_family
rmnet_shs_genl_msg_family={.hdrsize=(0xd2d+202-0xdf7),.name=DATARMNETa35687f809,
.version=DATARMNET0fa03ac25b,.maxattr=DATARMNETcecb35ee33,.policy=
DATARMNETd7cd67c4a9,.ops=DATARMNETffa9bcf3ed,.n_ops=ARRAY_SIZE(
DATARMNETffa9bcf3ed),};int DATARMNET5d4ca1da1c(struct genl_info*
DATARMNET54338da2ff,int val){struct sk_buff*skb;void*msg_head;int rc;skb=
genlmsg_new(NLMSG_GOODSIZE,GFP_ATOMIC);if(skb==NULL)goto DATARMNETbf4095f79e;
msg_head=genlmsg_put(skb,(0xd2d+202-0xdf7),DATARMNET54338da2ff->snd_seq+
(0xd26+209-0xdf6),&DATARMNETecc643c219,(0xd2d+202-0xdf7),DATARMNETc574b5cfba);if
(msg_head==NULL){rc=-ENOMEM;rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x6d\x73\x67\x5f\x68\x65\x61\x64\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}rc=nla_put_u32(skb,DATARMNET7d289a7bfa
,val);if(rc!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x6e\x6c\x61\x5f\x70\x75\x74\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}genlmsg_end(skb,msg_head);rc=
genlmsg_unicast(genl_info_net(DATARMNET54338da2ff),skb,DATARMNET54338da2ff->
snd_portid);if(rc!=(0xd2d+202-0xdf7))goto DATARMNETbf4095f79e;rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x73\x65\x6e\x74\x20\x69\x6e\x74\x20\x25\x64" "\n"
,val);return(0xd2d+202-0xdf7);DATARMNETbf4095f79e:rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x69\x6e\x74\x20\x25\x64" "\n"
,val);return-(0xd26+209-0xdf6);}int DATARMNET5945236cd3(int val){struct sk_buff*
skb;void*msg_head;int rc;if(DATARMNETb01cbc5ec9==NULL){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x69\x6e\x74\x20\x25\x64\x20\x2d\x20\x6c\x61\x73\x74\x5f\x6e\x65\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c" "\n"
,val);return-(0xd26+209-0xdf6);}skb=genlmsg_new(NLMSG_GOODSIZE,GFP_ATOMIC);if(
skb==NULL)goto DATARMNETbf4095f79e;msg_head=genlmsg_put(skb,(0xd2d+202-0xdf7),
DATARMNET7c4038843f++,&DATARMNETecc643c219,(0xd2d+202-0xdf7),DATARMNETc574b5cfba
);if(msg_head==NULL){rc=-ENOMEM;rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x6d\x73\x67\x5f\x68\x65\x61\x64\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}rc=nla_put_u32(skb,DATARMNET7d289a7bfa
,val);if(rc!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x6e\x6c\x61\x5f\x70\x75\x74\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}genlmsg_end(skb,msg_head);rc=
genlmsg_unicast(DATARMNETb01cbc5ec9,skb,DATARMNET373156e169);if(rc!=
(0xd2d+202-0xdf7))goto DATARMNETbf4095f79e;rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x73\x65\x6e\x74\x20\x69\x6e\x74\x20\x25\x64" "\n"
,val);return(0xd2d+202-0xdf7);DATARMNETbf4095f79e:rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x69\x6e\x74\x20\x25\x64" "\n"
,val);DATARMNETc252c204a8=(0xd2d+202-0xdf7);return-(0xd26+209-0xdf6);}int
DATARMNETa9a7fa898c(void){struct sk_buff*skb;void*msg_head;int rc;int val=
DATARMNET7c4038843f++;rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x54\x72\x79\x69\x6e\x67\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x6d\x73\x67\x20\x25\x64" "\n"
,val);skb=genlmsg_new(NLMSG_GOODSIZE,GFP_ATOMIC);if(skb==NULL)goto
DATARMNETbf4095f79e;msg_head=genlmsg_put(skb,(0xd2d+202-0xdf7),
DATARMNET7c4038843f++,&DATARMNETecc643c219,(0xd2d+202-0xdf7),DATARMNETc574b5cfba
);if(msg_head==NULL){rc=-ENOMEM;rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x6d\x73\x67\x5f\x68\x65\x61\x64\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}rc=nla_put_u32(skb,DATARMNET7d289a7bfa
,val);if(rc!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x6e\x6c\x61\x5f\x70\x75\x74\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}genlmsg_end(skb,msg_head);
genlmsg_multicast(&DATARMNETecc643c219,skb,(0xd2d+202-0xdf7),(0xd2d+202-0xdf7),
GFP_ATOMIC);rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x73\x65\x6e\x74\x20\x69\x6e\x74\x20\x25\x64" "\n"
,val);return(0xd2d+202-0xdf7);DATARMNETbf4095f79e:rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x69\x6e\x74\x20\x25\x64" "\n"
,val);DATARMNETc252c204a8=(0xd2d+202-0xdf7);return-(0xd26+209-0xdf6);}int
DATARMNET740f3b34b3(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x64\x6d\x61\x5f\x69\x6e\x69\x74\x3a\x20\x43\x6c\x65\x61\x72\x20\x4c\x4c"
);DATARMNET90fe3a4b56();if(DATARMNET54338da2ff==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x65\x64\x20\x2d\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}return(0xd2d+202-0xdf7);}int DATARMNET283f08f439(
struct sk_buff*DATARMNETaafc1d9519,struct genl_info*DATARMNET54338da2ff){struct
nlattr*na;struct DATARMNET0331d6732d*DATARMNETc4af21d05e;rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x73\x65\x74\x5f\x66\x6c\x6f\x77\x5f\x6c\x6c"
);if(DATARMNET54338da2ff==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x65\x64\x20\x2d\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}na=DATARMNET54338da2ff->attrs[DATARMNET6ab4513e45];
if(na){DATARMNETc4af21d05e=kzalloc(sizeof(*DATARMNETc4af21d05e),GFP_ATOMIC);if(!
DATARMNETc4af21d05e){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x73\x65\x74\x5f\x66\x6c\x6f\x77\x5f\x6c\x6c\x20\x66\x6c\x6f\x77\x20\x69\x6e\x66\x6f\x20\x66\x61\x69\x6c\x75\x72\x65"
);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET00895c1601);return
(0xd2d+202-0xdf7);}if(nla_memcpy(&DATARMNETc4af21d05e->DATARMNET54338da2ff,na,
sizeof(DATARMNETc4af21d05e->DATARMNET54338da2ff))>(0xd2d+202-0xdf7)){if(
DATARMNETc4af21d05e->DATARMNET54338da2ff.DATARMNET969cfb9094==
DATARMNET8d88a2f3f5)DATARMNET2ac305d296(DATARMNETc4af21d05e);else if(
DATARMNETc4af21d05e->DATARMNET54338da2ff.DATARMNET969cfb9094==
DATARMNET9a035137c0)DATARMNETd52d50282d(DATARMNETc4af21d05e);DATARMNET5d4ca1da1c
(DATARMNET54338da2ff,DATARMNET0cb8735618);}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6c\x61\x5f\x6d\x65\x6d\x63\x70\x79\x20\x66\x61\x69\x6c\x65\x64\x20\x25\x64" "\n"
,DATARMNET6ab4513e45);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET00895c1601);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6f\x20\x69\x6e\x66\x6f\x2d\x3e\x61\x74\x74\x72\x73\x20\x25\x64" "\n"
,DATARMNET6ab4513e45);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET00895c1601);return(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}int
DATARMNET2b7c02fa2c(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff){struct nlattr*na;struct DATARMNET506d6d2edb
DATARMNET9c9f014b92;int i;rm_err("\x25\x73\x20\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20",__func__);if(DATARMNET54338da2ff==NULL){
rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x65\x64\x20\x2d\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}na=DATARMNET54338da2ff->attrs[DATARMNET310b1858b8];
if(na){if(nla_memcpy(&DATARMNET9c9f014b92,na,sizeof(DATARMNET9c9f014b92))>
(0xd2d+202-0xdf7)){DATARMNETecc0627c70.DATARMNET637025ccc1=DATARMNET9c9f014b92.
DATARMNET637025ccc1;DATARMNETecc0627c70.DATARMNET2f954f58f8=hweight_long(
DATARMNET9c9f014b92.DATARMNET637025ccc1);DATARMNETecc0627c70.DATARMNETf510b48c29
=~DATARMNETecc0627c70.DATARMNET637025ccc1;DATARMNETecc0627c70.
DATARMNET85a9848b29=DATARMNET9c9f014b92.DATARMNET85a9848b29;DATARMNETecc0627c70.
DATARMNETe306607c08=DATARMNET9c9f014b92.DATARMNETe306607c08;if(
DATARMNETecc0627c70.DATARMNET85a9848b29&DATARMNET5c4b64e404){DATARMNET12565c8f98
=(0xd26+209-0xdf6);}rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x62\x6f\x6f\x74\x75\x70\x20\x72\x65\x71\x20"
"\x66\x65\x61\x74\x75\x72\x65\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x30\x78\x25\x78\x20\x6e\x6f\x6e\x5f\x70\x65\x72\x66\x6d\x61\x78\x6b\x20\x3d\x20\x30\x78\x25\x78\x2c\x20\x70\x65\x72\x66\x5f\x6d\x61\x73\x6b\x20\x30\x78\x25\x78"
,DATARMNET9c9f014b92.DATARMNET85a9848b29,DATARMNETecc0627c70.DATARMNET637025ccc1
,DATARMNETecc0627c70.DATARMNETf510b48c29);for(i=(0xd2d+202-0xdf7);i<
DATARMNETc6782fed88;i++){DATARMNET4793ed48af[i]=DATARMNET9c9f014b92.
DATARMNETef524c3133[i];DATARMNET713717107f[i]=DATARMNET9c9f014b92.
DATARMNET6beee7b91c[i];rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x62\x6f\x6f\x74\x75\x70\x20\x25\x69\x20\x72\x65\x71\x20\x25\x6c\x6c\x75\x20\x25\x6c\x6c\x75"
,i,DATARMNET4793ed48af[i],DATARMNET713717107f[i]);}DATARMNET5d4ca1da1c(
DATARMNET54338da2ff,DATARMNETc9a3fec39c);}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6c\x61\x5f\x6d\x65\x6d\x63\x70\x79\x20\x66\x61\x69\x6c\x65\x64\x20\x25\x64" "\n"
,DATARMNET310b1858b8);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET87c27cd354);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6f\x20\x69\x6e\x66\x6f\x2d\x3e\x61\x74\x74\x72\x73\x20\x25\x64" "\n"
,DATARMNET310b1858b8);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET87c27cd354);return(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}int
DATARMNETd81d2866ba(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff){struct nlattr*na;struct DATARMNET837c876a22
DATARMNET1317c6a4a2;int rc=(0xd2d+202-0xdf7);rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x73\x65\x74\x5f\x66\x6c\x6f\x77\x5f\x73\x65\x67\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e"
);if(DATARMNET54338da2ff==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x65\x64\x20\x2d\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}na=DATARMNET54338da2ff->attrs[DATARMNET50e1cd26c7];
if(na){if(nla_memcpy(&DATARMNET1317c6a4a2,na,sizeof(DATARMNET1317c6a4a2))>
(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x65\x63\x76\x20\x73\x65\x67\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x72\x65\x71\x20"
"\x68\x61\x73\x68\x5f\x74\x6f\x5f\x73\x65\x74\x20\x3d\x20\x30\x78\x25\x78\x20\x73\x65\x67\x73\x5f\x70\x65\x72\x5f\x73\x6b\x62\x20\x3d\x20\x25\x75"
,DATARMNET1317c6a4a2.DATARMNET8c11bd9466,DATARMNET1317c6a4a2.DATARMNET87636d0152
);rc=DATARMNETf85599b9d8(DATARMNET1317c6a4a2.DATARMNET8c11bd9466,
DATARMNET1317c6a4a2.DATARMNET87636d0152);if(rc==(0xd26+209-0xdf6)){
DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET0cb8735618);
trace_rmnet_shs_wq_high(DATARMNETa0ecb9daac,DATARMNETf814701a94,
DATARMNET1317c6a4a2.DATARMNET8c11bd9466,DATARMNET1317c6a4a2.DATARMNET87636d0152,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}else{DATARMNET5d4ca1da1c(
DATARMNET54338da2ff,DATARMNET00895c1601);trace_rmnet_shs_wq_high(
DATARMNETa0ecb9daac,DATARMNET166a43f3aa,DATARMNET1317c6a4a2.DATARMNET8c11bd9466,
DATARMNET1317c6a4a2.DATARMNET87636d0152,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
NULL,NULL);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6c\x61\x5f\x6d\x65\x6d\x63\x70\x79\x20\x66\x61\x69\x6c\x65\x64\x20\x25\x64" "\n"
,DATARMNET50e1cd26c7);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET00895c1601);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6f\x20\x69\x6e\x66\x6f\x2d\x3e\x61\x74\x74\x72\x73\x20\x25\x64" "\n"
,DATARMNET50e1cd26c7);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET00895c1601);return(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}int
DATARMNET9bbfc822c2(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff){struct nlattr*na;struct DATARMNET1ac24ff95c
DATARMNET8641231b50;int rc=(0xd2d+202-0xdf7);rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x73\x65\x74\x5f\x71\x75\x69\x63\x6b\x61\x63\x6b\x5f\x74\x68\x72\x65\x73\x68"
);if(DATARMNET54338da2ff==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x65\x64\x20\x2d\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}na=DATARMNET54338da2ff->attrs[DATARMNET627787b1dd];
if(na){if(nla_memcpy(&DATARMNET8641231b50,na,sizeof(DATARMNET8641231b50))>
(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x65\x63\x76\x20\x71\x75\x69\x63\x6b\x61\x63\x6b\x20\x72\x65\x71\x20"
"\x68\x61\x73\x68\x5f\x74\x6f\x5f\x73\x65\x74\x20\x3d\x20\x30\x78\x25\x78\x20\x74\x68\x72\x65\x73\x68\x20\x3d\x20\x25\x75"
,DATARMNET8641231b50.DATARMNET8c11bd9466,DATARMNET8641231b50.ack_thresh);rc=
DATARMNET1faf2b953f(DATARMNET8641231b50.DATARMNET8c11bd9466,DATARMNET8641231b50.
ack_thresh);if(rc==(0xd26+209-0xdf6)){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNETc30f35c15f);}else{DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET6e742895e1);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6c\x61\x5f\x6d\x65\x6d\x63\x70\x79\x20\x66\x61\x69\x6c\x65\x64\x20\x25\x64" "\n"
,DATARMNET627787b1dd);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET6e742895e1);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6f\x20\x69\x6e\x66\x6f\x2d\x3e\x61\x74\x74\x72\x73\x20\x25\x64" "\n"
,DATARMNET627787b1dd);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET6e742895e1);return(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}int
DATARMNET29175fb5fc(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff){struct nlattr*na;struct DATARMNET6c41b886b2
DATARMNET7f0ce2d6ad;int rc=(0xd2d+202-0xdf7);rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x74\x72\x79\x5f\x74\x6f\x5f\x6d\x6f\x76\x65\x5f\x66\x6c\x6f\x77"
);if(DATARMNET54338da2ff==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x65\x64\x20\x2d\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}na=DATARMNET54338da2ff->attrs[DATARMNET813a742587];
if(na){if(nla_memcpy(&DATARMNET7f0ce2d6ad,na,sizeof(DATARMNET7f0ce2d6ad))>
(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x63\x75\x72\x5f\x63\x70\x75\x20\x3d\x25\x75\x20\x64\x65\x73\x74\x5f\x63\x70\x75\x20\x3d\x20\x25\x75\x20"
"\x68\x61\x73\x68\x5f\x74\x6f\x5f\x6d\x6f\x76\x65\x20\x3d\x20\x30\x78\x25\x78\x20\x73\x75\x67\x67\x5f\x74\x79\x70\x65\x20\x3d\x20\x25\x75"
,DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d
,DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5
);if(DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d>=DATARMNETc6782fed88||
DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc>=DATARMNETc6782fed88){
DATARMNET930a441406[DATARMNET465c0e5e6d]++;DATARMNET5d4ca1da1c(
DATARMNET54338da2ff,DATARMNET96de786762);return-(0xd26+209-0xdf6);}if(
DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==DATARMNET5898b2a84b){
DATARMNET3874292c18=DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d;
trace_rmnet_shs_wq_high(DATARMNETa0ecb9daac,DATARMNETd7f7ade458,
DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d,
DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5,
NULL,NULL);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return
(0xd2d+202-0xdf7);}if(DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==
DATARMNET0fec83de79){DATARMNETbb1a9dff8b=DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d
;trace_rmnet_shs_wq_high(DATARMNETa0ecb9daac,DATARMNETd7f7ade458,
DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d,
DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5,
NULL,NULL);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return
(0xd2d+202-0xdf7);}if(DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==
DATARMNET5dccc475d4){DATARMNETb7ddf3c5dd[DATARMNETf13db5ace8]++;if(!((
(0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNET9273f84bf1)
||(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET5c24e1df05)&
DATARMNET9273f84bf1)){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET2d19c9b1ef);return-(0xd26+209-0xdf6);}if((((0xd26+209-0xdf6)<<
DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNETf55430ea0a)){
DATARMNETb7ddf3c5dd[DATARMNET438fb7f8f3]++;DATARMNET5d4ca1da1c(
DATARMNET54338da2ff,DATARMNET96de786762);return-(0xd26+209-0xdf6);}
DATARMNETecc0627c70.DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d;
rcu_read_lock();DATARMNET8f9da46b14();rcu_read_unlock();DATARMNET5d4ca1da1c(
DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return(0xd2d+202-0xdf7);}if(
DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==DATARMNET37da25c8e8){
DATARMNETb7ddf3c5dd[DATARMNETb6eae1e097]++;if(!(((0xd26+209-0xdf6)<<
DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d)&DATARMNETbc3c416b77)){
DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef);return-
(0xd26+209-0xdf6);}if((((0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.
DATARMNET208ea67e1d)&DATARMNETf55430ea0a)){DATARMNETb7ddf3c5dd[
DATARMNETf6458f40e6]++;DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET96de786762);return-(0xd26+209-0xdf6);}if((DATARMNETecc0627c70.
DATARMNET7d667e828e)==DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d&&(
DATARMNETecc0627c70.DATARMNET5c24e1df05)==DATARMNET7f0ce2d6ad.
DATARMNET208ea67e1d){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,DATARMNET2d19c9b1ef
);return(0xd2d+202-0xdf7);}if((((0xd26+209-0xdf6)<<DATARMNET7f0ce2d6ad.
DATARMNET208ea67e1d)&DATARMNETbc3c416b77)&&(((0xd26+209-0xdf6)<<
DATARMNETecc0627c70.DATARMNET7d667e828e)&DATARMNETbc3c416b77)){
DATARMNETb7ddf3c5dd[DATARMNET6fed39da20]++;}DATARMNETecc0627c70.
DATARMNET5c24e1df05=DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d;rcu_read_lock();
DATARMNET8f9da46b14();rcu_read_unlock();DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET2d19c9b1ef);return(0xd2d+202-0xdf7);}rc=DATARMNET5f72606f6f(
DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d,
DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5)
;if(rc==(0xd26+209-0xdf6)){DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNET598eb03fad);trace_rmnet_shs_wq_high(DATARMNETa0ecb9daac,
DATARMNETd7f7ade458,DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.
DATARMNET208ea67e1d,DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.
DATARMNETa3f89581b5,NULL,NULL);}else{DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNETe64295b6cb);trace_rmnet_shs_wq_high(DATARMNETa0ecb9daac,
DATARMNET53e4a6b394,DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.
DATARMNET208ea67e1d,DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.
DATARMNETa3f89581b5,NULL,NULL);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6c\x61\x5f\x6d\x65\x6d\x63\x70\x79\x20\x66\x61\x69\x6c\x65\x64\x20\x25\x64" "\n"
,DATARMNET813a742587);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNETe64295b6cb);return(0xd2d+202-0xdf7);}}else{rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x6e\x6f\x20\x69\x6e\x66\x6f\x2d\x3e\x61\x74\x74\x72\x73\x20\x25\x64" "\n"
,DATARMNET813a742587);DATARMNET5d4ca1da1c(DATARMNET54338da2ff,
DATARMNETe64295b6cb);return(0xd2d+202-0xdf7);}return(0xd2d+202-0xdf7);}int
DATARMNETc850634243(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x6d\x65\x6d\x5f\x73\x79\x6e\x63"
);if(!DATARMNETc252c204a8)DATARMNETc252c204a8=(0xd26+209-0xdf6);
trace_rmnet_shs_wq_high(DATARMNETa0ecb9daac,DATARMNETd1d3902361,
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL
,NULL);if(DATARMNET54338da2ff==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6f\x63\x63\x75\x72\x65\x64\x20\x2d\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}DATARMNETb01cbc5ec9=genl_info_net(
DATARMNET54338da2ff);DATARMNET373156e169=DATARMNET54338da2ff->snd_portid;rm_err(
"\x70\x6f\x72\x74\x5f\x69\x64\x20\x3d\x20\x25\x75",DATARMNET373156e169);return
(0xd2d+202-0xdf7);}void DATARMNET8d0d510d45(uint32_t DATARMNETaf3d356342,struct
DATARMNET177911299b*DATARMNET60b6e12cfd){struct DATARMNETe5f1cf1a69
DATARMNET7baa284dc5;struct timespec64 time;if(DATARMNET60b6e12cfd==NULL){rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x53\x47\x5f\x47\x4e\x4c\x20\x2d\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x6e\x70\x75\x74"
);return;}memset(DATARMNET60b6e12cfd,(0xd2d+202-0xdf7),sizeof(struct
DATARMNET177911299b));memset(&DATARMNET7baa284dc5,(0xd2d+202-0xdf7),sizeof(
DATARMNET7baa284dc5));ktime_get_real_ts64(&time);DATARMNET60b6e12cfd->timestamp=
(DATARMNET6987463c5e(time.tv_sec)+time.tv_nsec);DATARMNET7baa284dc5.
DATARMNETaf3d356342=DATARMNETaf3d356342;DATARMNET7baa284dc5.DATARMNET43a8300dfd=
(0xd26+209-0xdf6);memcpy(&(DATARMNET60b6e12cfd->list[(0xd2d+202-0xdf7)].
DATARMNETdf2dbc641f),&DATARMNET7baa284dc5,sizeof(DATARMNET7baa284dc5));
DATARMNET60b6e12cfd->list[(0xd2d+202-0xdf7)].msg_type=DATARMNETfce267cbe9;
DATARMNET60b6e12cfd->valid=(0xd26+209-0xdf6);DATARMNET60b6e12cfd->list_len=
(0xd26+209-0xdf6);}void DATARMNET88ef60041c(uint8_t seq,struct
DATARMNET177911299b*DATARMNET60b6e12cfd){struct DATARMNET1564093dbc
DATARMNET28ce320ddf;if(DATARMNET60b6e12cfd==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x53\x47\x5f\x47\x4e\x4c\x20\x2d\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x6e\x70\x75\x74"
);return;}memset(DATARMNET60b6e12cfd,(0xd2d+202-0xdf7),sizeof(struct
DATARMNET177911299b));memset(&DATARMNET28ce320ddf,(0xd2d+202-0xdf7),sizeof(
DATARMNET28ce320ddf));memcpy(&(DATARMNET60b6e12cfd->list[(0xd2d+202-0xdf7)].
DATARMNETdf2dbc641f),&DATARMNET28ce320ddf,sizeof(DATARMNET28ce320ddf));
DATARMNET60b6e12cfd->list[(0xd2d+202-0xdf7)].msg_type=DATARMNET890e50739c;
DATARMNET60b6e12cfd->valid=(0xd26+209-0xdf6);DATARMNET60b6e12cfd->list_len=
(0xd26+209-0xdf6);}void DATARMNET1d4b1eff85(struct DATARMNET177911299b*
DATARMNET60b6e12cfd,uint8_t DATARMNET907a90c6af,uint8_t DATARMNET9a4544e068){
struct DATARMNET80e227e008 DATARMNETc909849dcb;struct timespec64 time;if(
DATARMNET60b6e12cfd==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x53\x47\x5f\x47\x4e\x4c\x20\x2d\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x6e\x70\x75\x74"
);return;}memset(DATARMNET60b6e12cfd,(0xd2d+202-0xdf7),sizeof(struct
DATARMNET177911299b));memset(&DATARMNETc909849dcb,(0xd2d+202-0xdf7),sizeof(
DATARMNETc909849dcb));ktime_get_real_ts64(&time);DATARMNET60b6e12cfd->timestamp=
(DATARMNET6987463c5e(time.tv_sec)+time.tv_nsec);DATARMNETc909849dcb.
DATARMNET035f475d5c=DATARMNET907a90c6af;DATARMNETc909849dcb.DATARMNETcfb5dc7296=
DATARMNET9a4544e068;memcpy(&(DATARMNET60b6e12cfd->list[(0xd2d+202-0xdf7)].
DATARMNETdf2dbc641f),&DATARMNETc909849dcb,sizeof(DATARMNETc909849dcb));
DATARMNET60b6e12cfd->list[(0xd2d+202-0xdf7)].msg_type=DATARMNETf41c724abf;
DATARMNET60b6e12cfd->valid=(0xd26+209-0xdf6);DATARMNET60b6e12cfd->list_len=
(0xd26+209-0xdf6);}int DATARMNETb5d58adbe7(struct DATARMNET177911299b*msg_ptr){
struct sk_buff*skb;void*msg_head;int rc;if(DATARMNET77097baa98==NULL){rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x6d\x73\x67\x5f\x6c\x61\x73\x74\x5f\x6e\x65\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c" "\n"
);return-(0xd26+209-0xdf6);}skb=genlmsg_new(NLMSG_GOODSIZE,GFP_ATOMIC);if(skb==
NULL)goto DATARMNETbf4095f79e;msg_head=genlmsg_put(skb,(0xd2d+202-0xdf7),
DATARMNETf1e47cb243++,&rmnet_shs_genl_msg_family,(0xd2d+202-0xdf7),
DATARMNETafee1e9070);if(msg_head==NULL){rc=-ENOMEM;rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x6d\x73\x67\x5f\x68\x65\x61\x64\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}rc=nla_put(skb,DATARMNET8070cc0bdc,
sizeof(struct DATARMNET177911299b),msg_ptr);if(rc!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x6e\x6c\x61\x5f\x70\x75\x74\x20\x25\x64" "\n"
,rc);kfree(skb);goto DATARMNETbf4095f79e;}genlmsg_end(skb,msg_head);rc=
genlmsg_unicast(DATARMNET77097baa98,skb,DATARMNET990a29d492);if(rc!=
(0xd2d+202-0xdf7))goto DATARMNETbf4095f79e;rm_err(
"\x53\x48\x53\x5f\x4d\x53\x47\x5f\x47\x4e\x4c\x3a\x20\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x73\x65\x6e\x74\x20\x6d\x73\x67\x20\x25\x64" "\n"
,DATARMNETf1e47cb243);return(0xd2d+202-0xdf7);DATARMNETbf4095f79e:rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x74\x6f\x20\x6d\x73\x67\x20\x63\x68\x61\x6e\x6e\x65\x6c" "\n"
);return-(0xd26+209-0xdf6);}int DATARMNETd65d1351b9(struct sk_buff*
DATARMNETaafc1d9519,struct genl_info*DATARMNET54338da2ff){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x5f\x4d\x53\x47\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x67\x65\x6e\x6c\x5f\x6d\x73\x67\x5f\x72\x65\x71"
);if(!DATARMNETc252c204a8){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x5f\x4d\x53\x47\x3a\x20\x65\x72\x72\x6f\x72\x3a\x20\x75\x73\x65\x72\x73\x70\x61\x63\x65\x20\x6e\x6f\x74\x20\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64"
);return-(0xd26+209-0xdf6);}if(DATARMNET54338da2ff==NULL){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x47\x4e\x4c\x5f\x4d\x53\x47\x3a\x20\x65\x72\x72\x6f\x72\x3a\x20\x69\x6e\x66\x6f\x20\x69\x73\x20\x6e\x75\x6c\x6c"
);return-(0xd26+209-0xdf6);}DATARMNET77097baa98=genl_info_net(
DATARMNET54338da2ff);DATARMNET990a29d492=DATARMNET54338da2ff->snd_portid;rm_err(
"\x6d\x73\x67\x5f\x70\x6f\x72\x74\x5f\x69\x64\x20\x3d\x20\x25\x75",
DATARMNET990a29d492);return(0xd2d+202-0xdf7);}int DATARMNET0dbc627e8f(void){int
ret;DATARMNETc252c204a8=(0xd2d+202-0xdf7);ret=genl_register_family(&
DATARMNETecc643c219);if(ret!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x6d\x69\x6c\x79\x20\x66\x61\x69\x6c\x65\x64\x3a\x20\x25\x69"
,ret);genl_unregister_family(&DATARMNETecc643c219);return-(0xd26+209-0xdf6);}
rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x6e\x65\x74\x6c\x69\x6e\x6b\x20\x66\x61\x6d\x69\x6c\x79\x3a\x20\x25\x73"
,DATARMNET0228d9f101);ret=genl_register_family(&rmnet_shs_genl_msg_family);if(
ret!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x4d\x53\x47\x5f\x47\x4e\x4c\x3a\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x6d\x69\x6c\x79\x20\x66\x61\x69\x6c\x65\x64\x3a\x20\x25\x69"
,ret);genl_unregister_family(&rmnet_shs_genl_msg_family);}else{rm_err(
"\x53\x48\x53\x5f\x4d\x53\x47\x5f\x47\x4e\x4c\x3a\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x67\x65\x6e\x65\x72\x69\x63\x20\x6e\x65\x74\x6c\x69\x6e\x6b\x20\x66\x61\x6d\x69\x6c\x79\x3a\x20\x25\x73"
,DATARMNETa35687f809);}return(0xd2d+202-0xdf7);}int DATARMNETeabd69d1ab(void){
int ret;DATARMNET5945236cd3(DATARMNET19092afcc2);ret=genl_unregister_family(&
DATARMNETecc643c219);if(ret!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x75\x6e\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x6d\x69\x6c\x79\x20\x66\x61\x69\x6c\x65\x64\x3a\x20\x25\x69" "\n"
,ret);}DATARMNETc252c204a8=(0xd2d+202-0xdf7);ret=genl_unregister_family(&
rmnet_shs_genl_msg_family);if(ret!=(0xd2d+202-0xdf7)){rm_err(
"\x53\x48\x53\x5f\x47\x4e\x4c\x3a\x20\x75\x6e\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x6d\x69\x6c\x79\x20\x66\x61\x69\x6c\x65\x64\x3a\x20\x25\x69" "\n"
,ret);}return(0xd2d+202-0xdf7);}

View File

@@ -0,0 +1,94 @@
/* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include "rmnet_shs.h"
#ifndef DATARMNETf34a2d1928
#define DATARMNETf34a2d1928
#include <net/genetlink.h>
#define DATARMNET0fa03ac25b (0xd26+209-0xdf6)
#define DATARMNET0228d9f101 "\x52\x4d\x4e\x45\x54\x5f\x53\x48\x53"
#define DATARMNETe64295b6cb (0xbb7+853-0xc3c)
#define DATARMNET598eb03fad (0xbc7+788-0xc04)
#define DATARMNET7afb49ee3f (0xd07+2129-0x121c)
#define DATARMNET3a69f7c4e5 (0xd07+2122-0x1214)
#define DATARMNET2d19c9b1ef (0xcc7+5761-0x221c)
#define DATARMNET96de786762 (0xcc7+5754-0x2214)
#define DATARMNETb5601817b1 (0xdb7+6677-0x263c)
#define DATARMNET00895c1601 (0xdc7+3085-0x163c)
#define DATARMNET0cb8735618 (0xdb7+3102-0x1634)
#define DATARMNET87c27cd354 (0x52f+2440-0xca5)
#define DATARMNETc9a3fec39c (0x530+2455-0xcac)
#define DATARMNET6e742895e1 (0xdb7+3095-0x162c)
#define DATARMNETc30f35c15f (0xdb7+3088-0x1624)
#define DATARMNET19092afcc2 (0xec7+1152-0x131d)
#define DATARMNETfe6b3a15a1 (0xd35+210-0xdff)
extern int DATARMNETc252c204a8;enum{DATARMNET9491b185b7,DATARMNETc574b5cfba,
DATARMNET8e3adfc5dd,DATARMNETffb2945689,DATARMNET51b1ee5a68,
RMNET_SHS_GENL_CMD_LL_FLOW,DATARMNET93b3e11659,DATARMNET5d672fac06,
DATARMNET5b3796e25a,};enum{DATARMNET603b776397,DATARMNETaa0fe5a855,
DATARMNET7d289a7bfa,DATARMNET813a742587,DATARMNET50e1cd26c7,DATARMNET6ab4513e45,
DATARMNET627787b1dd,DATARMNET310b1858b8,DATARMNET0158bf4d2b,};
#define DATARMNETcecb35ee33 (DATARMNET0158bf4d2b - (0xd26+209-0xdf6))
struct DATARMNET506d6d2edb{uint32_t DATARMNET85a9848b29;uint8_t
DATARMNET637025ccc1;uint32_t DATARMNETef524c3133[DATARMNETfe6b3a15a1];uint32_t
DATARMNET6beee7b91c[DATARMNETfe6b3a15a1];uint32_t DATARMNETe306607c08;};struct
DATARMNET6c41b886b2{uint32_t DATARMNET4da4612f1e;uint32_t DATARMNETa3f89581b5;
uint16_t DATARMNETc790ff30fc;uint16_t DATARMNET208ea67e1d;};struct
DATARMNET837c876a22{uint32_t DATARMNET8c11bd9466;uint32_t DATARMNET87636d0152;};
struct DATARMNET1ac24ff95c{uint32_t DATARMNET8c11bd9466;uint32_t ack_thresh;};
struct DATARMNET80e227e008{uint8_t DATARMNET035f475d5c;uint8_t
DATARMNETcfb5dc7296;};
#define DATARMNETa35687f809 "RMNET_SHS_MSG"
enum{DATARMNETeaa13301a0,DATARMNETafee1e9070,DATARMNET943966c53e,};enum{
DATARMNET5f0371060e,DATARMNETc08daf87d4,DATARMNET8070cc0bdc,DATARMNETc2be398ed4,
};
#define DATARMNET3b631aeccb ((0xeb7+712-0x111d))
#define DATARMNET8a917ef593 ((0xd26+209-0xdf6))
struct DATARMNETe5f1cf1a69{uint32_t DATARMNETaf3d356342;uint8_t
DATARMNET43a8300dfd;};struct DATARMNET1564093dbc{uint8_t seq;};enum{
DATARMNET68b3f1699c=(0xd2d+202-0xdf7),DATARMNETfce267cbe9=(0xd26+209-0xdf6),
DATARMNETf41c724abf=(0xd1f+216-0xdf5),DATARMNET890e50739c=(0xd18+223-0xdf4),};
struct DATARMNET4a3b3209dd{char DATARMNETdf2dbc641f[DATARMNET3b631aeccb];
uint16_t msg_type;};struct DATARMNET25187800fe{int valid;};struct
DATARMNET177911299b{struct DATARMNET4a3b3209dd list[DATARMNET8a917ef593];
uint64_t timestamp;uint16_t list_len;uint8_t valid;};struct DATARMNETbf4d34b241{
union{__be32 daddr;struct in6_addr v6_daddr;}DATARMNETea422561ef;union{__be32
saddr;struct in6_addr v6_saddr;}DATARMNET53d5f671f0;u16 src_port;u16
DATARMNET5a5907dd87;u16 DATARMNET1e49bc75c8;u16 DATARMNET1c959e10ca;u8
DATARMNET1819cae4a3;u8 DATARMNETb035edcfb9;u8 proto;u8 DATARMNET8b5ace4a98;u8
DATARMNET602389fe52;u8 DATARMNETc2d5c71ce1;u8 seq;u8 DATARMNET969cfb9094;};enum
DATARMNET4c422f5fb1{DATARMNET9a035137c0,DATARMNET8d88a2f3f5,DATARMNET755fb8f198,
};struct DATARMNET0331d6732d{struct list_head DATARMNET32e10c59ce;struct
hlist_node list;struct DATARMNETbf4d34b241 DATARMNET54338da2ff;};int
DATARMNET740f3b34b3(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff);int DATARMNET29175fb5fc(struct sk_buff*DATARMNETaafc1d9519,
struct genl_info*DATARMNET54338da2ff);int DATARMNETd81d2866ba(struct sk_buff*
DATARMNETaafc1d9519,struct genl_info*DATARMNET54338da2ff);int
DATARMNETc850634243(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff);int DATARMNET283f08f439(struct sk_buff*DATARMNETaafc1d9519,
struct genl_info*DATARMNET54338da2ff);int DATARMNET9bbfc822c2(struct sk_buff*
DATARMNETaafc1d9519,struct genl_info*DATARMNET54338da2ff);int
DATARMNET2b7c02fa2c(struct sk_buff*DATARMNETaafc1d9519,struct genl_info*
DATARMNET54338da2ff);int DATARMNET5d4ca1da1c(struct genl_info*
DATARMNET54338da2ff,int val);int DATARMNET5945236cd3(int val);int
DATARMNETa9a7fa898c(void);void DATARMNET8d0d510d45(uint32_t DATARMNETaf3d356342,
struct DATARMNET177911299b*DATARMNET60b6e12cfd);void DATARMNET88ef60041c(uint8_t
seq,struct DATARMNET177911299b*DATARMNET60b6e12cfd);int DATARMNETb5d58adbe7(
struct DATARMNET177911299b*msg_ptr);int DATARMNETd65d1351b9(struct sk_buff*
DATARMNETaafc1d9519,struct genl_info*DATARMNET54338da2ff);void
DATARMNET1d4b1eff85(struct DATARMNET177911299b*DATARMNET60b6e12cfd,uint8_t
DATARMNET907a90c6af,uint8_t DATARMNET9a4544e068);int DATARMNET0dbc627e8f(void);
int DATARMNETeabd69d1ab(void);
#endif

View File

@@ -0,0 +1,676 @@
/* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include "rmnet_shs_modules.h"
#include "rmnet_shs_common.h"
#include "rmnet_shs_wq_mem.h"
#include <linux/proc_fs.h>
#include <linux/refcount.h>
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");struct proc_dir_entry*
DATARMNETe4c5563cdb;struct DATARMNET33582f7450 DATARMNET63c47f3c37[
DATARMNETc6782fed88];struct DATARMNETf44cda1bf2 DATARMNET22b4032799[
DATARMNET75c69edb82];struct DATARMNET3a84fbfeae DATARMNETb0d78d576f[
DATARMNET75c69edb82];struct DATARMNETc13d990bf1 DATARMNET3d25ff4ef4[
DATARMNET67578af78f];struct DATARMNET26737fb11e DATARMNET2fdef9da24[
DATARMNET67578af78f];struct DATARMNET57ccbe14f3 DATARMNETf46265286b[
DATARMNETe4d15b9332];struct list_head DATARMNET6c23f11e81=LIST_HEAD_INIT(
DATARMNET6c23f11e81);struct list_head DATARMNETf91b305f4e=LIST_HEAD_INIT(
DATARMNETf91b305f4e);struct list_head DATARMNETe46ae760db=LIST_HEAD_INIT(
DATARMNETe46ae760db);struct list_head DATARMNET3208cd0982=LIST_HEAD_INIT(
DATARMNET3208cd0982);struct list_head DATARMNET922b4752e2=LIST_HEAD_INIT(
DATARMNET922b4752e2);struct DATARMNETa41d4c4a12*DATARMNET410036d5ac;struct
DATARMNETa41d4c4a12*DATARMNET19c47a9f3a;struct DATARMNETa41d4c4a12*
DATARMNET22e796eff3;struct DATARMNETa41d4c4a12*DATARMNET9b8000d2a7;struct
DATARMNETa41d4c4a12*DATARMNET835a28686c;struct DATARMNETa41d4c4a12*
DATARMNET67d31dc40a;static void DATARMNET6069bf201a(struct vm_area_struct*vma){
return;}static void DATARMNET0f6b7f3f93(struct vm_area_struct*vma){return;}
static vm_fault_t DATARMNET9efe8a3d18(struct vm_fault*DATARMNETca901b4e1f){
struct page*page=NULL;struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;
DATARMNET6bf538fa23();if(DATARMNET410036d5ac){DATARMNET54338da2ff=(struct
DATARMNETa41d4c4a12*)DATARMNETca901b4e1f->vma->vm_private_data;if(
DATARMNET54338da2ff->data){page=virt_to_page(DATARMNET54338da2ff->data);get_page
(page);DATARMNETca901b4e1f->page=page;}else{DATARMNETaea4c85748();return
VM_FAULT_SIGSEGV;}}else{DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}
DATARMNETaea4c85748();return(0xd2d+202-0xdf7);}static vm_fault_t
DATARMNETd005aa7157(struct vm_fault*DATARMNETca901b4e1f){struct page*page=NULL;
struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;DATARMNET6bf538fa23();if(
DATARMNET19c47a9f3a){DATARMNET54338da2ff=(struct DATARMNETa41d4c4a12*)
DATARMNETca901b4e1f->vma->vm_private_data;if(DATARMNET54338da2ff->data){page=
virt_to_page(DATARMNET54338da2ff->data);get_page(page);DATARMNETca901b4e1f->page
=page;}else{DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}}else{
DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}DATARMNETaea4c85748();return
(0xd2d+202-0xdf7);}static vm_fault_t DATARMNETb3a7180954(struct vm_fault*
DATARMNETca901b4e1f){struct page*page=NULL;struct DATARMNETa41d4c4a12*
DATARMNET54338da2ff;DATARMNET6bf538fa23();if(DATARMNET22e796eff3){
DATARMNET54338da2ff=(struct DATARMNETa41d4c4a12*)DATARMNETca901b4e1f->vma->
vm_private_data;if(DATARMNET54338da2ff->data){page=virt_to_page(
DATARMNET54338da2ff->data);get_page(page);DATARMNETca901b4e1f->page=page;}else{
DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}}else{DATARMNETaea4c85748();
return VM_FAULT_SIGSEGV;}DATARMNETaea4c85748();return(0xd2d+202-0xdf7);}static
vm_fault_t DATARMNETe35719979c(struct vm_fault*DATARMNETca901b4e1f){struct page*
page=NULL;struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;DATARMNET6bf538fa23();
if(DATARMNET9b8000d2a7){DATARMNET54338da2ff=(struct DATARMNETa41d4c4a12*)
DATARMNETca901b4e1f->vma->vm_private_data;if(DATARMNET54338da2ff->data){page=
virt_to_page(DATARMNET54338da2ff->data);get_page(page);DATARMNETca901b4e1f->page
=page;}else{DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}}else{
DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}DATARMNETaea4c85748();return
(0xd2d+202-0xdf7);}static vm_fault_t DATARMNET1ab1f570f2(struct vm_fault*
DATARMNETca901b4e1f){struct page*page=NULL;struct DATARMNETa41d4c4a12*
DATARMNET54338da2ff;DATARMNET6bf538fa23();if(DATARMNET835a28686c){
DATARMNET54338da2ff=(struct DATARMNETa41d4c4a12*)DATARMNETca901b4e1f->vma->
vm_private_data;if(DATARMNET54338da2ff->data){page=virt_to_page(
DATARMNET54338da2ff->data);get_page(page);DATARMNETca901b4e1f->page=page;}else{
DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}}else{DATARMNETaea4c85748();
return VM_FAULT_SIGSEGV;}DATARMNETaea4c85748();return(0xd2d+202-0xdf7);}static
vm_fault_t DATARMNETe421c4e1db(struct vm_fault*DATARMNETca901b4e1f){struct page*
page=NULL;struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;DATARMNET6bf538fa23();
if(DATARMNET67d31dc40a){DATARMNET54338da2ff=(struct DATARMNETa41d4c4a12*)
DATARMNETca901b4e1f->vma->vm_private_data;if(DATARMNET54338da2ff->data){page=
virt_to_page(DATARMNET54338da2ff->data);get_page(page);DATARMNETca901b4e1f->page
=page;}else{DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}}else{
DATARMNETaea4c85748();return VM_FAULT_SIGSEGV;}DATARMNETaea4c85748();return
(0xd2d+202-0xdf7);}static const struct vm_operations_struct DATARMNETfa4e968e7d=
{.close=DATARMNET0f6b7f3f93,.open=DATARMNET6069bf201a,.fault=DATARMNET9efe8a3d18
,};static const struct vm_operations_struct DATARMNETe9c0626068={.close=
DATARMNET0f6b7f3f93,.open=DATARMNET6069bf201a,.fault=DATARMNETd005aa7157,};
static const struct vm_operations_struct DATARMNET9a89317a86={.close=
DATARMNET0f6b7f3f93,.open=DATARMNET6069bf201a,.fault=DATARMNETb3a7180954,};
static const struct vm_operations_struct DATARMNET5462c2ce60={.close=
DATARMNET0f6b7f3f93,.open=DATARMNET6069bf201a,.fault=DATARMNETe35719979c,};
static const struct vm_operations_struct DATARMNET523167fa26={.close=
DATARMNET0f6b7f3f93,.open=DATARMNET6069bf201a,.fault=DATARMNET1ab1f570f2,};
static const struct vm_operations_struct DATARMNET41944cc550={.close=
DATARMNET0f6b7f3f93,.open=DATARMNET6069bf201a,.fault=DATARMNETe421c4e1db,};
static int DATARMNET54418f934d(struct file*DATARMNET3cc114dce0,struct
vm_area_struct*vma){vma->vm_ops=&DATARMNETfa4e968e7d;vm_flags_set(vma,
VM_DONTEXPAND|VM_DONTDUMP);vma->vm_private_data=DATARMNET3cc114dce0->
private_data;return(0xd2d+202-0xdf7);}static int DATARMNETc55748448d(struct file
*DATARMNET3cc114dce0,struct vm_area_struct*vma){vma->vm_ops=&DATARMNETe9c0626068
;vm_flags_set(vma,VM_DONTEXPAND|VM_DONTDUMP);vma->vm_private_data=
DATARMNET3cc114dce0->private_data;return(0xd2d+202-0xdf7);}static int
DATARMNET43c6d751a2(struct file*DATARMNET3cc114dce0,struct vm_area_struct*vma){
vma->vm_ops=&DATARMNET9a89317a86;vm_flags_set(vma,VM_DONTEXPAND|VM_DONTDUMP);vma
->vm_private_data=DATARMNET3cc114dce0->private_data;return(0xd2d+202-0xdf7);}
static int DATARMNET7cc042bdf3(struct file*DATARMNET3cc114dce0,struct
vm_area_struct*vma){vma->vm_ops=&DATARMNET5462c2ce60;vm_flags_set(vma,
VM_DONTEXPAND|VM_DONTDUMP);vma->vm_private_data=DATARMNET3cc114dce0->
private_data;return(0xd2d+202-0xdf7);}static int DATARMNET150e284e90(struct file
*DATARMNET3cc114dce0,struct vm_area_struct*vma){vma->vm_ops=&DATARMNET523167fa26
;vm_flags_set(vma,VM_DONTEXPAND|VM_DONTDUMP);vma->vm_private_data=
DATARMNET3cc114dce0->private_data;return(0xd2d+202-0xdf7);}static int
DATARMNET444e2eb654(struct file*DATARMNET3cc114dce0,struct vm_area_struct*vma){
vma->vm_ops=&DATARMNET41944cc550;vm_flags_set(vma,VM_DONTEXPAND|VM_DONTDUMP);vma
->vm_private_data=DATARMNET3cc114dce0->private_data;return(0xd2d+202-0xdf7);}
static int DATARMNET33a80d3bf7(struct inode*inode,struct file*
DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(!DATARMNET410036d5ac){DATARMNET54338da2ff=kzalloc(
sizeof(struct DATARMNETa41d4c4a12),GFP_ATOMIC);if(!DATARMNET54338da2ff)goto
DATARMNET1d7e728ddf;DATARMNET54338da2ff->data=(char*)get_zeroed_page(GFP_ATOMIC)
;if(!DATARMNET54338da2ff->data){kfree(DATARMNET54338da2ff);goto
DATARMNET1d7e728ddf;}DATARMNET410036d5ac=DATARMNET54338da2ff;refcount_set(&
DATARMNET410036d5ac->refcnt,(0xd26+209-0xdf6));rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x76\x69\x72\x74\x5f\x74\x6f\x5f\x70\x68\x79\x73\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x63\x61\x70\x5f\x73\x68\x61\x72\x65\x64\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET54338da2ff),(unsigned long
long)virt_to_phys((void*)DATARMNET410036d5ac));}else{refcount_inc(&
DATARMNET410036d5ac->refcnt);}DATARMNET3cc114dce0->private_data=
DATARMNET410036d5ac;DATARMNETaea4c85748();rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x2d\x20\x4f\x4b" "\n"
);return(0xd2d+202-0xdf7);DATARMNET1d7e728ddf:DATARMNETaea4c85748();rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x2d\x20\x46\x41\x49\x4c\x45\x44" "\n"
);return-ENOMEM;}static int DATARMNET0935e3beb9(struct inode*inode,struct file*
DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x67\x5f\x66\x6c\x6f\x77\x73\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(!DATARMNET19c47a9f3a){DATARMNET54338da2ff=kzalloc(
sizeof(struct DATARMNETa41d4c4a12),GFP_ATOMIC);if(!DATARMNET54338da2ff)goto
DATARMNET1d7e728ddf;DATARMNET54338da2ff->data=(char*)get_zeroed_page(GFP_ATOMIC)
;if(!DATARMNET54338da2ff->data){kfree(DATARMNET54338da2ff);goto
DATARMNET1d7e728ddf;}DATARMNET19c47a9f3a=DATARMNET54338da2ff;refcount_set(&
DATARMNET19c47a9f3a->refcnt,(0xd26+209-0xdf6));rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x76\x69\x72\x74\x5f\x74\x6f\x5f\x70\x68\x79\x73\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x67\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET54338da2ff),(unsigned long
long)virt_to_phys((void*)DATARMNET19c47a9f3a));}else{refcount_inc(&
DATARMNET19c47a9f3a->refcnt);}DATARMNET3cc114dce0->private_data=
DATARMNET19c47a9f3a;DATARMNETaea4c85748();return(0xd2d+202-0xdf7);
DATARMNET1d7e728ddf:DATARMNETaea4c85748();rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x2d\x20\x46\x41\x49\x4c\x45\x44" "\n"
);return-ENOMEM;}static int DATARMNETfbd34e70a2(struct inode*inode,struct file*
DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x73\x73\x5f\x66\x6c\x6f\x77\x73\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(!DATARMNET22e796eff3){DATARMNET54338da2ff=kzalloc(
sizeof(struct DATARMNETa41d4c4a12),GFP_ATOMIC);if(!DATARMNET54338da2ff)goto
DATARMNET1d7e728ddf;DATARMNET54338da2ff->data=(char*)get_zeroed_page(GFP_ATOMIC)
;if(!DATARMNET54338da2ff->data){kfree(DATARMNET54338da2ff);goto
DATARMNET1d7e728ddf;}DATARMNET22e796eff3=DATARMNET54338da2ff;refcount_set(&
DATARMNET22e796eff3->refcnt,(0xd26+209-0xdf6));rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x76\x69\x72\x74\x5f\x74\x6f\x5f\x70\x68\x79\x73\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x73\x73\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET54338da2ff),(unsigned long
long)virt_to_phys((void*)DATARMNET22e796eff3));}else{refcount_inc(&
DATARMNET22e796eff3->refcnt);}DATARMNET3cc114dce0->private_data=
DATARMNET22e796eff3;DATARMNETaea4c85748();return(0xd2d+202-0xdf7);
DATARMNET1d7e728ddf:DATARMNETaea4c85748();rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x2d\x20\x46\x41\x49\x4c\x45\x44" "\n"
);return-ENOMEM;}static int DATARMNET57bcb932f3(struct inode*inode,struct file*
DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x66\x66\x6c\x6f\x77\x73\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(!DATARMNET9b8000d2a7){DATARMNET54338da2ff=kzalloc(
sizeof(struct DATARMNETa41d4c4a12),GFP_ATOMIC);if(!DATARMNET54338da2ff)goto
DATARMNET1d7e728ddf;DATARMNET54338da2ff->data=(char*)get_zeroed_page(GFP_ATOMIC)
;if(!DATARMNET54338da2ff->data){kfree(DATARMNET54338da2ff);goto
DATARMNET1d7e728ddf;}DATARMNET9b8000d2a7=DATARMNET54338da2ff;refcount_set(&
DATARMNET9b8000d2a7->refcnt,(0xd26+209-0xdf6));rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x76\x69\x72\x74\x5f\x74\x6f\x5f\x70\x68\x79\x73\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x66\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET54338da2ff),(unsigned long
long)virt_to_phys((void*)DATARMNET9b8000d2a7));}else{refcount_inc(&
DATARMNET9b8000d2a7->refcnt);}DATARMNET3cc114dce0->private_data=
DATARMNET9b8000d2a7;DATARMNETaea4c85748();return(0xd2d+202-0xdf7);
DATARMNET1d7e728ddf:DATARMNETaea4c85748();rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x2d\x20\x46\x41\x49\x4c\x45\x44" "\n"
);return-ENOMEM;}static int DATARMNET601894f27b(struct inode*inode,struct file*
DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x6c\x6c\x5f\x66\x6c\x6f\x77\x73\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(!DATARMNET835a28686c){DATARMNET54338da2ff=kzalloc(
sizeof(struct DATARMNETa41d4c4a12),GFP_ATOMIC);if(!DATARMNET54338da2ff)goto
DATARMNET1d7e728ddf;DATARMNET54338da2ff->data=(char*)get_zeroed_page(GFP_ATOMIC)
;if(!DATARMNET54338da2ff->data){kfree(DATARMNET54338da2ff);goto
DATARMNET1d7e728ddf;}DATARMNET835a28686c=DATARMNET54338da2ff;refcount_set(&
DATARMNET835a28686c->refcnt,(0xd26+209-0xdf6));rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x76\x69\x72\x74\x5f\x74\x6f\x5f\x70\x68\x79\x73\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x6c\x6c\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET54338da2ff),(unsigned long
long)virt_to_phys((void*)DATARMNET835a28686c));}else{refcount_inc(&
DATARMNET835a28686c->refcnt);}DATARMNET3cc114dce0->private_data=
DATARMNET835a28686c;DATARMNETaea4c85748();return(0xd2d+202-0xdf7);
DATARMNET1d7e728ddf:DATARMNETaea4c85748();rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x2d\x20\x46\x41\x49\x4c\x45\x44" "\n"
);return-ENOMEM;}static int DATARMNETb9d10d8cc0(struct inode*inode,struct file*
DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;rm_err(
"\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x70\x65\x6e\x20\x6e\x65\x74\x64\x65\x76\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(!DATARMNET67d31dc40a){DATARMNET54338da2ff=kzalloc(
sizeof(struct DATARMNETa41d4c4a12),GFP_ATOMIC);if(!DATARMNET54338da2ff)goto
DATARMNET1d7e728ddf;DATARMNET54338da2ff->data=(char*)get_zeroed_page(GFP_ATOMIC)
;if(!DATARMNET54338da2ff->data){kfree(DATARMNET54338da2ff);goto
DATARMNET1d7e728ddf;}DATARMNET67d31dc40a=DATARMNET54338da2ff;refcount_set(&
DATARMNET67d31dc40a->refcnt,(0xd26+209-0xdf6));rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x76\x69\x72\x74\x5f\x74\x6f\x5f\x70\x68\x79\x73\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x6e\x65\x74\x64\x65\x76\x5f\x73\x68\x61\x72\x65\x64\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET54338da2ff),(unsigned long
long)virt_to_phys((void*)DATARMNET67d31dc40a));}else{refcount_inc(&
DATARMNET67d31dc40a->refcnt);}DATARMNET3cc114dce0->private_data=
DATARMNET67d31dc40a;DATARMNETaea4c85748();return(0xd2d+202-0xdf7);
DATARMNET1d7e728ddf:DATARMNETaea4c85748();return-ENOMEM;}static ssize_t
DATARMNETaf2aa1d70f(struct file*DATARMNET3cc114dce0,char __user*buf,size_t len,
loff_t*DATARMNET6396f657b3){return DATARMNET29d29f44cf;}static ssize_t
DATARMNET4761dcd3fd(struct file*DATARMNET3cc114dce0,const char __user*buf,size_t
len,loff_t*DATARMNET6396f657b3){return len;}static int DATARMNETcfbc4f0c39(
struct inode*inode,struct file*DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*
DATARMNET54338da2ff;rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x72\x65\x6c\x65\x61\x73\x65\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(DATARMNET410036d5ac){DATARMNET54338da2ff=
DATARMNET3cc114dce0->private_data;if(refcount_read(&DATARMNET54338da2ff->refcnt)
<=(0xd26+209-0xdf6)){free_page((unsigned long)DATARMNET54338da2ff->data);kfree(
DATARMNET54338da2ff);DATARMNET410036d5ac=NULL;DATARMNET3cc114dce0->private_data=
NULL;}else{refcount_dec(&DATARMNET54338da2ff->refcnt);}}DATARMNETaea4c85748();
return(0xd2d+202-0xdf7);}static int DATARMNET2a9f67714f(struct inode*inode,
struct file*DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;
rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x72\x65\x6c\x65\x61\x73\x65\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(DATARMNET19c47a9f3a){DATARMNET54338da2ff=
DATARMNET3cc114dce0->private_data;if(refcount_read(&DATARMNET54338da2ff->refcnt)
<=(0xd26+209-0xdf6)){free_page((unsigned long)DATARMNET54338da2ff->data);kfree(
DATARMNET54338da2ff);DATARMNET19c47a9f3a=NULL;DATARMNET3cc114dce0->private_data=
NULL;}else{refcount_dec(&DATARMNET54338da2ff->refcnt);}}DATARMNETaea4c85748();
return(0xd2d+202-0xdf7);}static int DATARMNET968bc5b80d(struct inode*inode,
struct file*DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;
rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x72\x65\x6c\x65\x61\x73\x65\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(DATARMNET22e796eff3){DATARMNET54338da2ff=
DATARMNET3cc114dce0->private_data;if(refcount_read(&DATARMNET54338da2ff->refcnt)
<=(0xd26+209-0xdf6)){free_page((unsigned long)DATARMNET54338da2ff->data);kfree(
DATARMNET54338da2ff);DATARMNET22e796eff3=NULL;DATARMNET3cc114dce0->private_data=
NULL;}else{refcount_dec(&DATARMNET54338da2ff->refcnt);}}DATARMNETaea4c85748();
return(0xd2d+202-0xdf7);}static int DATARMNET59b415aded(struct inode*inode,
struct file*DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;
rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x72\x65\x6c\x65\x61\x73\x65\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(DATARMNET9b8000d2a7){DATARMNET54338da2ff=
DATARMNET3cc114dce0->private_data;if(refcount_read(&DATARMNET54338da2ff->refcnt)
<=(0xd26+209-0xdf6)){free_page((unsigned long)DATARMNET54338da2ff->data);kfree(
DATARMNET54338da2ff);DATARMNET9b8000d2a7=NULL;DATARMNET3cc114dce0->private_data=
NULL;}else{refcount_dec(&DATARMNET54338da2ff->refcnt);}}DATARMNETaea4c85748();
return(0xd2d+202-0xdf7);}static int DATARMNET794d7587bd(struct inode*inode,
struct file*DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;
rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x72\x65\x6c\x65\x61\x73\x65\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(DATARMNET835a28686c){DATARMNET54338da2ff=
DATARMNET3cc114dce0->private_data;if(refcount_read(&DATARMNET54338da2ff->refcnt)
<=(0xd26+209-0xdf6)){free_page((unsigned long)DATARMNET54338da2ff->data);kfree(
DATARMNET54338da2ff);DATARMNET835a28686c=NULL;DATARMNET3cc114dce0->private_data=
NULL;}else{refcount_dec(&DATARMNET54338da2ff->refcnt);}}DATARMNETaea4c85748();
return(0xd2d+202-0xdf7);}static int DATARMNET18464ea5e3(struct inode*inode,
struct file*DATARMNET3cc114dce0){struct DATARMNETa41d4c4a12*DATARMNET54338da2ff;
rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x72\x65\x6c\x65\x61\x73\x65\x20\x6e\x65\x74\x64\x65\x76\x20\x2d\x20\x65\x6e\x74\x72\x79" "\n"
);DATARMNET6bf538fa23();if(DATARMNET67d31dc40a){DATARMNET54338da2ff=
DATARMNET3cc114dce0->private_data;if(refcount_read(&DATARMNET54338da2ff->refcnt)
<=(0xd26+209-0xdf6)){free_page((unsigned long)DATARMNET54338da2ff->data);kfree(
DATARMNET54338da2ff);DATARMNET67d31dc40a=NULL;DATARMNET3cc114dce0->private_data=
NULL;}else{refcount_dec(&DATARMNET54338da2ff->refcnt);}}DATARMNETaea4c85748();
return(0xd2d+202-0xdf7);}static const struct proc_ops DATARMNET668485bd14={.
proc_mmap=DATARMNET54418f934d,.proc_open=DATARMNET33a80d3bf7,.proc_release=
DATARMNETcfbc4f0c39,.proc_read=DATARMNETaf2aa1d70f,.proc_write=
DATARMNET4761dcd3fd,};static const struct proc_ops DATARMNETe84fbaa6af={.
proc_mmap=DATARMNETc55748448d,.proc_open=DATARMNET0935e3beb9,.proc_release=
DATARMNET2a9f67714f,.proc_read=DATARMNETaf2aa1d70f,.proc_write=
DATARMNET4761dcd3fd,};static const struct proc_ops DATARMNET8fe5f892a8={.
proc_mmap=DATARMNET43c6d751a2,.proc_open=DATARMNETfbd34e70a2,.proc_release=
DATARMNET968bc5b80d,.proc_read=DATARMNETaf2aa1d70f,.proc_write=
DATARMNET4761dcd3fd,};static const struct proc_ops DATARMNET0104d40d4b={.
proc_mmap=DATARMNET7cc042bdf3,.proc_open=DATARMNET57bcb932f3,.proc_release=
DATARMNET59b415aded,.proc_read=DATARMNETaf2aa1d70f,.proc_write=
DATARMNET4761dcd3fd,};static const struct proc_ops DATARMNETddcdf7bd4e={.
proc_mmap=DATARMNET150e284e90,.proc_open=DATARMNET601894f27b,.proc_release=
DATARMNET794d7587bd,.proc_read=DATARMNETaf2aa1d70f,.proc_write=
DATARMNET4761dcd3fd,};static const struct proc_ops DATARMNET6eb63d9ad0={.
proc_mmap=DATARMNET444e2eb654,.proc_open=DATARMNETb9d10d8cc0,.proc_release=
DATARMNET18464ea5e3,.proc_read=DATARMNETaf2aa1d70f,.proc_write=
DATARMNET4761dcd3fd,};void DATARMNET28a80d526e(struct DATARMNET6c78e47d24*
DATARMNETd2a694d52a,struct list_head*DATARMNETf0fb155a9c){struct
DATARMNETa52c09a590*DATARMNET0f551e8a47;if(!DATARMNETd2a694d52a||!
DATARMNETf0fb155a9c){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}
DATARMNET0f551e8a47=kzalloc(sizeof(*DATARMNET0f551e8a47),GFP_ATOMIC);if(
DATARMNET0f551e8a47!=NULL){DATARMNET0f551e8a47->DATARMNET253a9fc708=
DATARMNETd2a694d52a->DATARMNET253a9fc708;DATARMNET0f551e8a47->
DATARMNET42a992465f=DATARMNETd2a694d52a->DATARMNET7c894c2f8f;DATARMNET0f551e8a47
->hash=DATARMNETd2a694d52a->hash;DATARMNET0f551e8a47->bif=DATARMNETd2a694d52a->
bif;DATARMNET0f551e8a47->ack_thresh=DATARMNETd2a694d52a->ack_thresh;
DATARMNET0f551e8a47->DATARMNET324c1a8f98=DATARMNETd2a694d52a->
DATARMNET324c1a8f98;DATARMNET0f551e8a47->DATARMNETbb80fccd97=DATARMNETd2a694d52a
->DATARMNETbb80fccd97;list_add(&DATARMNET0f551e8a47->DATARMNET6f898987df,
DATARMNETf0fb155a9c);}else{DATARMNET68d84e7b98[DATARMNET6533f70c87]++;}}void
DATARMNET3af54cd726(struct list_head*DATARMNETf0fb155a9c){struct
DATARMNETa52c09a590*DATARMNET0f551e8a47;struct list_head*DATARMNET7b34b7b5be,*
next;if(!DATARMNETf0fb155a9c){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;
}list_for_each_safe(DATARMNET7b34b7b5be,next,DATARMNETf0fb155a9c){
DATARMNET0f551e8a47=list_entry(DATARMNET7b34b7b5be,struct DATARMNETa52c09a590,
DATARMNET6f898987df);list_del_init(&DATARMNET0f551e8a47->DATARMNET6f898987df);
kfree(DATARMNET0f551e8a47);}}void DATARMNET24e4475345(struct DATARMNET6c78e47d24
*DATARMNETd2a694d52a,struct list_head*DATARMNETb436c3f30b){struct
DATARMNET09a412b1c6*DATARMNET4238158b2a;if(!DATARMNETd2a694d52a||!
DATARMNETb436c3f30b){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}
DATARMNET4238158b2a=kzalloc(sizeof(*DATARMNET4238158b2a),GFP_ATOMIC);if(
DATARMNET4238158b2a!=NULL){DATARMNET4238158b2a->DATARMNET253a9fc708=
DATARMNETd2a694d52a->DATARMNET253a9fc708;DATARMNET4238158b2a->
DATARMNET42a992465f=DATARMNETd2a694d52a->DATARMNET7c894c2f8f;DATARMNET4238158b2a
->hash=DATARMNETd2a694d52a->hash;DATARMNET4238158b2a->DATARMNET324c1a8f98=
DATARMNETd2a694d52a->DATARMNET324c1a8f98;list_add(&DATARMNET4238158b2a->
DATARMNETd502c0412a,DATARMNETb436c3f30b);}else{DATARMNET68d84e7b98[
DATARMNET6533f70c87]++;}}void DATARMNETa1b141715b(struct list_head*
DATARMNETb436c3f30b){struct DATARMNET09a412b1c6*DATARMNET4238158b2a;struct
list_head*DATARMNET7b34b7b5be,*next;if(!DATARMNETb436c3f30b){DATARMNET68d84e7b98
[DATARMNETac729c3d29]++;return;}list_for_each_safe(DATARMNET7b34b7b5be,next,
DATARMNETb436c3f30b){DATARMNET4238158b2a=list_entry(DATARMNET7b34b7b5be,struct
DATARMNET09a412b1c6,DATARMNETd502c0412a);list_del_init(&DATARMNET4238158b2a->
DATARMNETd502c0412a);kfree(DATARMNET4238158b2a);}}void DATARMNETc6439e3d71(
struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6,struct DATARMNET228056d4b7*
DATARMNETf632b170b1,struct list_head*DATARMNETe46ae760db){u64
DATARMNET264b01f4d5,DATARMNET53ce143c7e=(0xd2d+202-0xdf7);struct
DATARMNET47a6995138*DATARMNETace28a2c7f;int flows=(0xd2d+202-0xdf7);if(!
DATARMNETf632b170b1||!DATARMNETe46ae760db){DATARMNET68d84e7b98[
DATARMNETac729c3d29]++;return;}flows=DATARMNET7bea4a06a6->DATARMNET73464778dc[
DATARMNETf632b170b1->DATARMNET42a992465f].flows;DATARMNET264b01f4d5=
DATARMNET713717107f[DATARMNETf632b170b1->DATARMNET42a992465f];
DATARMNET53ce143c7e=DATARMNET4793ed48af[DATARMNETf632b170b1->DATARMNET42a992465f
];DATARMNETace28a2c7f=kzalloc(sizeof(*DATARMNETace28a2c7f),GFP_ATOMIC);if(
DATARMNETace28a2c7f==NULL){DATARMNET68d84e7b98[DATARMNET6533f70c87]++;return;}
DATARMNETace28a2c7f->DATARMNET42a992465f=DATARMNETf632b170b1->
DATARMNET42a992465f;if(flows<=(0xd2d+202-0xdf7)){DATARMNETace28a2c7f->
DATARMNET18b7a5b761=DATARMNET264b01f4d5;DATARMNETace28a2c7f->DATARMNET4da6031170
=DATARMNET264b01f4d5;DATARMNETace28a2c7f->DATARMNET4df302dbd6=(0xd2d+202-0xdf7);
list_add(&DATARMNETace28a2c7f->DATARMNET02523bfb57,DATARMNETe46ae760db);return;}
if(DATARMNETf632b170b1->DATARMNET324c1a8f98<DATARMNET264b01f4d5){
DATARMNETace28a2c7f->DATARMNET18b7a5b761=DATARMNET264b01f4d5-DATARMNETf632b170b1
->DATARMNET324c1a8f98;}else{DATARMNETace28a2c7f->DATARMNET18b7a5b761=
(0xd2d+202-0xdf7);}if(DATARMNETf632b170b1->DATARMNET253a9fc708<
DATARMNET264b01f4d5){DATARMNETace28a2c7f->DATARMNET4da6031170=
DATARMNET264b01f4d5-DATARMNETf632b170b1->DATARMNET253a9fc708;}else{
DATARMNETace28a2c7f->DATARMNET4da6031170=(0xd2d+202-0xdf7);}DATARMNETace28a2c7f
->DATARMNET4df302dbd6=DATARMNETf632b170b1->DATARMNETbb80fccd97;list_add(&
DATARMNETace28a2c7f->DATARMNET02523bfb57,DATARMNETe46ae760db);}void
DATARMNETb177316a15(struct list_head*DATARMNETe46ae760db){struct
DATARMNET47a6995138*DATARMNETace28a2c7f;struct list_head*DATARMNET7b34b7b5be,*
next;if(!DATARMNETe46ae760db){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;
}list_for_each_safe(DATARMNET7b34b7b5be,next,DATARMNETe46ae760db){
DATARMNETace28a2c7f=list_entry(DATARMNET7b34b7b5be,struct DATARMNET47a6995138,
DATARMNET02523bfb57);list_del_init(&DATARMNETace28a2c7f->DATARMNET02523bfb57);
kfree(DATARMNETace28a2c7f);}}void DATARMNET312b06829d(struct DATARMNET6c78e47d24
*DATARMNETd2a694d52a,struct list_head*DATARMNET922b4752e2){struct
DATARMNETe176be7f7c*DATARMNET4af6567922;if(!DATARMNETd2a694d52a||!
DATARMNET922b4752e2){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}
DATARMNET4af6567922=kzalloc(sizeof(*DATARMNET4af6567922),GFP_ATOMIC);if(
DATARMNET4af6567922!=NULL&&DATARMNETd2a694d52a->DATARMNET63b1a086d5!=NULL){
DATARMNET4af6567922->DATARMNET253a9fc708=DATARMNETd2a694d52a->
DATARMNET253a9fc708;DATARMNET4af6567922->DATARMNET42a992465f=DATARMNETd2a694d52a
->DATARMNET7c894c2f8f;DATARMNET4af6567922->hash=DATARMNETd2a694d52a->hash;
DATARMNET4af6567922->DATARMNET324c1a8f98=DATARMNETd2a694d52a->
DATARMNET324c1a8f98;DATARMNET4af6567922->DATARMNETbb80fccd97=DATARMNETd2a694d52a
->DATARMNETbb80fccd97;DATARMNET4af6567922->trans_proto=DATARMNETd2a694d52a->
DATARMNET1e9d25d9ff;DATARMNET4af6567922->mux_id=DATARMNETd2a694d52a->mux_id;
DATARMNET4af6567922->DATARMNET95266642d1=DATARMNETd2a694d52a->
DATARMNET95266642d1;DATARMNET4af6567922->DATARMNET0d682bcb29=DATARMNETd2a694d52a
->DATARMNET0d682bcb29;DATARMNET4af6567922->DATARMNET20e8fc9db8=
DATARMNETd2a694d52a->DATARMNET20e8fc9db8;DATARMNET4af6567922->
DATARMNETda8e8ae7ed=DATARMNETd2a694d52a->DATARMNET29c6349349;DATARMNETd2da2e8466
(
"\x53\x48\x53\x5f\x48\x57\x5f\x43\x4f\x41\x4c\x5f\x4d\x45\x4d\x3a\x20\x68\x77\x20\x63\x6f\x61\x6c\x20\x62\x79\x74\x65\x73\x20\x64\x69\x66\x66\x20\x3d\x20\x25\x6c\x6c\x75\x20\x68\x77\x20\x63\x6f\x61\x6c\x20\x62\x75\x66\x73\x69\x7a\x65\x20\x64\x69\x66\x66\x20\x3d\x20\x25\x6c\x6c\x75"
,DATARMNET4af6567922->DATARMNET0d682bcb29,DATARMNET4af6567922->
DATARMNET20e8fc9db8);rm_err(
"\x53\x48\x53\x5f\x46\x4d\x55\x58\x3a\x20\x6d\x75\x78\x20\x69\x64\x20\x66\x6f\x72\x20\x4c\x4c\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x69\x73\x20\x25\x64\x20\x74\x70\x20\x25\x64"
,DATARMNET4af6567922->hash,DATARMNET4af6567922->mux_id,DATARMNET4af6567922->
trans_proto);memcpy(&DATARMNET4af6567922->ip_hdr,&DATARMNETd2a694d52a->
DATARMNET63b1a086d5->ip_hdr,sizeof(DATARMNET4af6567922->ip_hdr));memcpy(&
DATARMNET4af6567922->DATARMNETe33b41dad9,&DATARMNETd2a694d52a->
DATARMNET63b1a086d5->DATARMNETe33b41dad9,sizeof(DATARMNET4af6567922->
DATARMNETe33b41dad9));list_add(&DATARMNET4af6567922->DATARMNET7287946e7b,
DATARMNET922b4752e2);}else{DATARMNET68d84e7b98[DATARMNET6533f70c87]++;}}void
DATARMNET6f4b0915d3(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct
list_head*DATARMNET3208cd0982){struct DATARMNET13c47d154e*DATARMNETf02b2a5be7;if
(!DATARMNETd2a694d52a||!DATARMNET3208cd0982){DATARMNET68d84e7b98[
DATARMNETac729c3d29]++;return;}DATARMNETf02b2a5be7=kzalloc(sizeof(*
DATARMNETf02b2a5be7),GFP_ATOMIC);if(DATARMNETf02b2a5be7!=NULL&&
DATARMNETd2a694d52a->DATARMNET63b1a086d5!=NULL){DATARMNETf02b2a5be7->
DATARMNET253a9fc708=DATARMNETd2a694d52a->DATARMNET253a9fc708;DATARMNETf02b2a5be7
->DATARMNET42a992465f=DATARMNETd2a694d52a->DATARMNET7c894c2f8f;
DATARMNETf02b2a5be7->hash=DATARMNETd2a694d52a->hash;DATARMNETf02b2a5be7->
DATARMNET324c1a8f98=DATARMNETd2a694d52a->DATARMNET324c1a8f98;DATARMNETf02b2a5be7
->DATARMNETbb80fccd97=DATARMNETd2a694d52a->DATARMNETbb80fccd97;
DATARMNETf02b2a5be7->trans_proto=DATARMNETd2a694d52a->DATARMNET1e9d25d9ff;
DATARMNETf02b2a5be7->mux_id=DATARMNETd2a694d52a->mux_id;DATARMNETf02b2a5be7->
DATARMNET95266642d1=DATARMNETd2a694d52a->DATARMNET95266642d1;DATARMNETf02b2a5be7
->DATARMNET0d682bcb29=DATARMNETd2a694d52a->DATARMNET0d682bcb29;
DATARMNETf02b2a5be7->DATARMNET20e8fc9db8=DATARMNETd2a694d52a->
DATARMNET20e8fc9db8;DATARMNETd2da2e8466(
"\x53\x48\x53\x5f\x48\x57\x5f\x43\x4f\x41\x4c\x5f\x4d\x45\x4d\x3a\x20\x68\x77\x20\x63\x6f\x61\x6c\x20\x62\x79\x74\x65\x73\x20\x64\x69\x66\x66\x20\x3d\x20\x25\x6c\x6c\x75\x20\x68\x77\x20\x63\x6f\x61\x6c\x20\x62\x75\x66\x73\x69\x7a\x65\x20\x64\x69\x66\x66\x20\x3d\x20\x25\x6c\x6c\x75"
,DATARMNETf02b2a5be7->DATARMNET0d682bcb29,DATARMNETf02b2a5be7->
DATARMNET20e8fc9db8);rm_err(
"\x53\x48\x53\x5f\x46\x4d\x55\x58\x3a\x20\x6d\x75\x78\x20\x69\x64\x20\x66\x6f\x72\x20\x66\x66\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x69\x73\x20\x25\x64\x20\x74\x70\x20\x25\x64"
,DATARMNETf02b2a5be7->hash,DATARMNETf02b2a5be7->mux_id,DATARMNETf02b2a5be7->
trans_proto);memcpy(&DATARMNETf02b2a5be7->ip_hdr,&DATARMNETd2a694d52a->
DATARMNET63b1a086d5->ip_hdr,sizeof(DATARMNETf02b2a5be7->ip_hdr));memcpy(&
DATARMNETf02b2a5be7->DATARMNETe33b41dad9,&DATARMNETd2a694d52a->
DATARMNET63b1a086d5->DATARMNETe33b41dad9,sizeof(DATARMNETf02b2a5be7->
DATARMNETe33b41dad9));list_add(&DATARMNETf02b2a5be7->DATARMNETec0e3cb8f0,
DATARMNET3208cd0982);}else{DATARMNET68d84e7b98[DATARMNET6533f70c87]++;}}void
DATARMNETf7730d41c1(struct list_head*DATARMNET922b4752e2){struct
DATARMNET13c47d154e*DATARMNET4af6567922;struct list_head*DATARMNET7b34b7b5be,*
next;if(!DATARMNET922b4752e2){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;
}list_for_each_safe(DATARMNET7b34b7b5be,next,DATARMNET922b4752e2){
DATARMNET4af6567922=list_entry(DATARMNET7b34b7b5be,struct DATARMNET13c47d154e,
DATARMNETec0e3cb8f0);list_del_init(&DATARMNET4af6567922->DATARMNETec0e3cb8f0);
kfree(DATARMNET4af6567922);}}void DATARMNETcc489fbbad(struct list_head*
DATARMNET3208cd0982){struct DATARMNET13c47d154e*DATARMNETf02b2a5be7;struct
list_head*DATARMNET7b34b7b5be,*next;if(!DATARMNET3208cd0982){DATARMNET68d84e7b98
[DATARMNETac729c3d29]++;return;}list_for_each_safe(DATARMNET7b34b7b5be,next,
DATARMNET3208cd0982){DATARMNETf02b2a5be7=list_entry(DATARMNET7b34b7b5be,struct
DATARMNET13c47d154e,DATARMNETec0e3cb8f0);list_del_init(&DATARMNETf02b2a5be7->
DATARMNETec0e3cb8f0);kfree(DATARMNETf02b2a5be7);}}void DATARMNET5157210c44(
struct list_head*DATARMNETe46ae760db){struct DATARMNET47a6995138*
DATARMNETace28a2c7f;struct DATARMNET661e7a8566 DATARMNET3ef5021fcf;uint16_t idx=
(0xd2d+202-0xdf7);if(!DATARMNETe46ae760db){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x53\x43\x41\x50\x53\x3a\x20\x43\x50\x55\x20\x43\x61\x70\x61\x63\x69\x74\x69\x65\x73\x20\x4c\x69\x73\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err("\x25\x73",
"\x53\x48\x53\x5f\x53\x43\x41\x50\x53\x3a\x20\x53\x6f\x72\x74\x65\x64\x20\x43\x50\x55\x20\x43\x61\x70\x61\x63\x69\x74\x69\x65\x73\x3a"
);list_for_each_entry(DATARMNETace28a2c7f,DATARMNETe46ae760db,
DATARMNET02523bfb57){if(idx>=DATARMNETc6782fed88)break;rm_err(
"\x53\x48\x53\x5f\x53\x43\x41\x50\x53\x3a\x20\x3e\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x77\x69\x74\x68\x20\x70\x70\x73\x20\x63\x61\x70\x61\x63\x69\x74\x79\x20\x3d\x20\x25\x6c\x6c\x75\x20\x7c\x20"
"\x61\x76\x67\x20\x70\x70\x73\x20\x63\x61\x70\x20\x3d\x20\x25\x6c\x6c\x75\x20\x62\x70\x73\x20\x3d\x20\x25\x6c\x6c\x75"
,DATARMNETace28a2c7f->DATARMNET42a992465f,DATARMNETace28a2c7f->
DATARMNET18b7a5b761,DATARMNETace28a2c7f->DATARMNET4da6031170,DATARMNETace28a2c7f
->DATARMNET4df302dbd6);DATARMNET63c47f3c37[idx].DATARMNET4da6031170=
DATARMNETace28a2c7f->DATARMNET4da6031170;DATARMNET63c47f3c37[idx].
DATARMNET18b7a5b761=DATARMNETace28a2c7f->DATARMNET18b7a5b761;DATARMNET63c47f3c37
[idx].DATARMNET4df302dbd6=DATARMNETace28a2c7f->DATARMNET4df302dbd6;
DATARMNET63c47f3c37[idx].DATARMNET42a992465f=DATARMNETace28a2c7f->
DATARMNET42a992465f;DATARMNET63c47f3c37[idx].DATARMNETf510b48c29=
DATARMNETecc0627c70.DATARMNETf510b48c29;idx+=(0xd26+209-0xdf6);}rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x63\x61\x70\x5f\x64\x6d\x61\x5f\x70\x74\x72\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x61\x64\x64\x72\x20\x3d\x20\x30\x78\x25\x70\x4b" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET410036d5ac),
DATARMNET410036d5ac);if(!DATARMNET410036d5ac){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x57\x52\x49\x54\x45\x3a\x20\x63\x61\x70\x5f\x73\x68\x61\x72\x65\x64\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}memcpy((char*)DATARMNET410036d5ac->data,(void*)&DATARMNET63c47f3c37[
(0xd2d+202-0xdf7)],sizeof(DATARMNET63c47f3c37));rm_err(
"\x25\x73\x28\x29\x3a\x20\x72\x6d\x65\x6d\x20\x25\x64\x20\x25\x64\x20\x25\x64\x20\x77\x6d\x65\x6d\x20\x25\x64\x20\x25\x64\x20\x25\x64" "\n"
,__func__,init_net.ipv4.sysctl_tcp_rmem[(0xd2d+202-0xdf7)],init_net.ipv4.
sysctl_tcp_rmem[(0xd26+209-0xdf6)],init_net.ipv4.sysctl_tcp_rmem[
(0xd1f+216-0xdf5)],init_net.ipv4.sysctl_tcp_wmem[(0xd2d+202-0xdf7)],init_net.
ipv4.sysctl_tcp_wmem[(0xd26+209-0xdf6)],init_net.ipv4.sysctl_tcp_wmem[
(0xd1f+216-0xdf5)]);memset(&DATARMNET3ef5021fcf,(0xd2d+202-0xdf7),sizeof(
DATARMNET3ef5021fcf));DATARMNET3ef5021fcf.DATARMNET68a58889b0[(0xd2d+202-0xdf7)]
=init_net.ipv4.sysctl_tcp_rmem[(0xd2d+202-0xdf7)];DATARMNET3ef5021fcf.
DATARMNET68a58889b0[(0xd26+209-0xdf6)]=init_net.ipv4.sysctl_tcp_rmem[
(0xd26+209-0xdf6)];DATARMNET3ef5021fcf.DATARMNET68a58889b0[(0xd1f+216-0xdf5)]=
init_net.ipv4.sysctl_tcp_rmem[(0xd1f+216-0xdf5)];DATARMNET3ef5021fcf.
DATARMNET1c7c913c7b[(0xd2d+202-0xdf7)]=init_net.ipv4.sysctl_tcp_wmem[
(0xd2d+202-0xdf7)];DATARMNET3ef5021fcf.DATARMNET1c7c913c7b[(0xd26+209-0xdf6)]=
init_net.ipv4.sysctl_tcp_wmem[(0xd26+209-0xdf6)];DATARMNET3ef5021fcf.
DATARMNET1c7c913c7b[(0xd1f+216-0xdf5)]=init_net.ipv4.sysctl_tcp_wmem[
(0xd1f+216-0xdf5)];memcpy((char*)DATARMNET410036d5ac->data+sizeof(
DATARMNET63c47f3c37),(void*)&DATARMNET3ef5021fcf,sizeof(DATARMNET3ef5021fcf));}
void DATARMNET0e273eab79(struct list_head*DATARMNETb436c3f30b){struct
DATARMNET09a412b1c6*DATARMNET4238158b2a;uint16_t idx=(0xd2d+202-0xdf7);int
DATARMNETcde08f6e7d=(0xd2d+202-0xdf7);if(!DATARMNETb436c3f30b){rm_err("\x25\x73"
,
"\x53\x48\x53\x5f\x53\x47\x4f\x4c\x44\x3a\x20\x47\x6f\x6c\x64\x20\x46\x6c\x6f\x77\x73\x20\x4c\x69\x73\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err("\x25\x73",
"\x53\x48\x53\x5f\x53\x47\x4f\x4c\x44\x3a\x20\x4c\x69\x73\x74\x20\x6f\x66\x20\x73\x6f\x72\x74\x65\x64\x20\x67\x6f\x6c\x64\x20\x66\x6c\x6f\x77\x73\x3a"
);list_for_each_entry(DATARMNET4238158b2a,DATARMNETb436c3f30b,
DATARMNETd502c0412a){if(DATARMNET4238158b2a->DATARMNET324c1a8f98==
(0xd2d+202-0xdf7)){continue;}if(idx>=DATARMNET75c69edb82){break;}rm_err(
"\x53\x48\x53\x5f\x53\x47\x4f\x4c\x44\x3a\x20\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x77\x69\x74\x68\x20\x70\x70\x73\x20\x25\x6c\x6c\x75\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d"
,DATARMNET4238158b2a->hash,DATARMNET4238158b2a->DATARMNET324c1a8f98,
DATARMNET4238158b2a->DATARMNET42a992465f);DATARMNETcde08f6e7d+=(0xd26+209-0xdf6)
;DATARMNET22b4032799[idx].DATARMNET42a992465f=DATARMNET4238158b2a->
DATARMNET42a992465f;DATARMNET22b4032799[idx].hash=DATARMNET4238158b2a->hash;
DATARMNET22b4032799[idx].DATARMNET253a9fc708=DATARMNET4238158b2a->
DATARMNET253a9fc708;DATARMNET22b4032799[idx].DATARMNET324c1a8f98=
DATARMNET4238158b2a->DATARMNET324c1a8f98;idx+=(0xd26+209-0xdf6);}rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x67\x66\x6c\x6f\x77\x5f\x64\x6d\x61\x5f\x70\x74\x72\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x61\x64\x64\x72\x20\x3d\x20\x30\x78\x25\x70\x4b" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET19c47a9f3a),
DATARMNET19c47a9f3a);if(!DATARMNET19c47a9f3a){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x57\x52\x49\x54\x45\x3a\x20\x67\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err(
"\x53\x48\x53\x5f\x53\x47\x4f\x4c\x44\x3a\x20\x6e\x75\x6d\x20\x67\x6f\x6c\x64\x20\x66\x6c\x6f\x77\x73\x20\x3d\x20\x25\x75" "\n"
,idx);memcpy(((char*)DATARMNET19c47a9f3a->data),&idx,sizeof(idx));memcpy(((char*
)DATARMNET19c47a9f3a->data+sizeof(uint16_t)),(void*)&DATARMNET22b4032799[
(0xd2d+202-0xdf7)],sizeof(DATARMNET22b4032799));}void DATARMNETe15af8eb6d(struct
list_head*DATARMNETf0fb155a9c){struct DATARMNETa52c09a590*DATARMNET0f551e8a47;
uint16_t idx=(0xd2d+202-0xdf7);int DATARMNET6d96003717=(0xd2d+202-0xdf7);if(!
DATARMNETf0fb155a9c){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x53\x4c\x4f\x57\x3a\x20\x53\x53\x20\x46\x6c\x6f\x77\x73\x20\x4c\x69\x73\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err("\x25\x73",
"\x53\x48\x53\x5f\x53\x4c\x4f\x57\x3a\x20\x4c\x69\x73\x74\x20\x6f\x66\x20\x73\x6f\x72\x74\x65\x64\x20\x73\x73\x20\x66\x6c\x6f\x77\x73\x3a"
);list_for_each_entry(DATARMNET0f551e8a47,DATARMNETf0fb155a9c,
DATARMNET6f898987df){if(DATARMNET0f551e8a47->DATARMNET324c1a8f98==
(0xd2d+202-0xdf7)){continue;}if(idx>=DATARMNET75c69edb82){break;}rm_err(
"\x53\x48\x53\x5f\x53\x4c\x4f\x57\x3a\x20\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x77\x69\x74\x68\x20\x70\x70\x73\x20\x25\x6c\x6c\x75\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x62\x69\x66\x5b\x25\x75\x5d\x20\x61\x63\x6b\x5f\x74\x68\x72\x65\x73\x68\x5b\x25\x75\x5d"
,DATARMNET0f551e8a47->hash,DATARMNET0f551e8a47->DATARMNET324c1a8f98,
DATARMNET0f551e8a47->DATARMNET42a992465f,DATARMNET0f551e8a47->bif,
DATARMNET0f551e8a47->ack_thresh);DATARMNET6d96003717+=(0xd26+209-0xdf6);
DATARMNETb0d78d576f[idx].DATARMNET42a992465f=DATARMNET0f551e8a47->
DATARMNET42a992465f;DATARMNETb0d78d576f[idx].hash=DATARMNET0f551e8a47->hash;
DATARMNETb0d78d576f[idx].DATARMNET253a9fc708=DATARMNET0f551e8a47->
DATARMNET253a9fc708;DATARMNETb0d78d576f[idx].DATARMNET324c1a8f98=
DATARMNET0f551e8a47->DATARMNET324c1a8f98;DATARMNETb0d78d576f[idx].
DATARMNETbb80fccd97=DATARMNET0f551e8a47->DATARMNETbb80fccd97;DATARMNETb0d78d576f
[idx].ack_thresh=DATARMNET0f551e8a47->ack_thresh;DATARMNETb0d78d576f[idx].bif=
DATARMNET0f551e8a47->bif;idx+=(0xd26+209-0xdf6);}rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x73\x73\x66\x6c\x6f\x77\x5f\x64\x6d\x61\x5f\x70\x74\x72\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x61\x64\x64\x72\x20\x3d\x20\x30\x78\x25\x70\x4b" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET22e796eff3),
DATARMNET22e796eff3);if(!DATARMNET22e796eff3){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x57\x52\x49\x54\x45\x3a\x20\x73\x73\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err(
"\x53\x48\x53\x5f\x53\x4c\x4f\x57\x3a\x20\x6e\x75\x6d\x20\x73\x73\x20\x66\x6c\x6f\x77\x73\x20\x3d\x20\x25\x75" "\n"
,idx);memcpy(((char*)DATARMNET22e796eff3->data),&idx,sizeof(idx));memcpy(((char*
)DATARMNET22e796eff3->data+sizeof(uint16_t)),(void*)&DATARMNETb0d78d576f[
(0xd2d+202-0xdf7)],sizeof(DATARMNETb0d78d576f));}void DATARMNET78f3a0ca4f(struct
list_head*DATARMNET3208cd0982){struct DATARMNET13c47d154e*DATARMNETf02b2a5be7;
uint16_t idx=(0xd2d+202-0xdf7);int DATARMNETd31ee74d2e=(0xd2d+202-0xdf7);if(!
DATARMNET3208cd0982){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x54\x4f\x50\x3a\x20\x46\x69\x6c\x74\x65\x72\x20\x46\x6c\x6f\x77\x73\x20\x4c\x69\x73\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err("\x25\x73",
"\x53\x48\x53\x5f\x54\x4f\x50\x3a\x20\x4c\x69\x73\x74\x20\x6f\x66\x20\x54\x4f\x50\x20\x66\x69\x6c\x74\x65\x72\x20\x66\x6c\x6f\x77\x73\x3a"
);list_for_each_entry(DATARMNETf02b2a5be7,DATARMNET3208cd0982,
DATARMNETec0e3cb8f0){if(DATARMNETf02b2a5be7->DATARMNET324c1a8f98==
(0xd2d+202-0xdf7)){continue;}if(idx>=DATARMNET67578af78f){break;}rm_err(
"\x53\x48\x53\x5f\x54\x4f\x50\x3a\x20\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x77\x69\x74\x68\x20\x70\x70\x73\x20\x25\x6c\x6c\x75\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d"
,DATARMNETf02b2a5be7->hash,DATARMNETf02b2a5be7->DATARMNET324c1a8f98,
DATARMNETf02b2a5be7->DATARMNET42a992465f);DATARMNETd31ee74d2e+=(0xd26+209-0xdf6)
;memcpy(&(DATARMNET3d25ff4ef4[idx].ip_hdr),&(DATARMNETf02b2a5be7->ip_hdr),sizeof
(DATARMNET3d25ff4ef4[idx].ip_hdr));memcpy(&(DATARMNET3d25ff4ef4[idx].
DATARMNETe33b41dad9),&(DATARMNETf02b2a5be7->DATARMNETe33b41dad9),sizeof(
DATARMNET3d25ff4ef4[idx].DATARMNETe33b41dad9));DATARMNET3d25ff4ef4[idx].
DATARMNET42a992465f=DATARMNETf02b2a5be7->DATARMNET42a992465f;DATARMNET3d25ff4ef4
[idx].hash=DATARMNETf02b2a5be7->hash;DATARMNET3d25ff4ef4[idx].
DATARMNET253a9fc708=DATARMNETf02b2a5be7->DATARMNET253a9fc708;DATARMNET3d25ff4ef4
[idx].DATARMNET324c1a8f98=DATARMNETf02b2a5be7->DATARMNET324c1a8f98;
DATARMNET3d25ff4ef4[idx].DATARMNETbb80fccd97=DATARMNETf02b2a5be7->
DATARMNETbb80fccd97;DATARMNET3d25ff4ef4[idx].trans_proto=DATARMNETf02b2a5be7->
trans_proto;DATARMNET3d25ff4ef4[idx].mux_id=DATARMNETf02b2a5be7->mux_id;
DATARMNET3d25ff4ef4[idx].DATARMNET95266642d1=DATARMNETf02b2a5be7->
DATARMNET95266642d1;DATARMNET3d25ff4ef4[idx].DATARMNET0d682bcb29=
DATARMNETf02b2a5be7->DATARMNET0d682bcb29;DATARMNET3d25ff4ef4[idx].
DATARMNET20e8fc9db8=DATARMNETf02b2a5be7->DATARMNET20e8fc9db8;idx+=
(0xd26+209-0xdf6);}rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x66\x66\x6c\x6f\x77\x5f\x64\x6d\x61\x5f\x70\x74\x72\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x61\x64\x64\x72\x20\x3d\x20\x30\x78\x25\x70\x4b" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET9b8000d2a7),
DATARMNET9b8000d2a7);if(!DATARMNET9b8000d2a7){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x57\x52\x49\x54\x45\x3a\x20\x66\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err(
"\x53\x48\x53\x5f\x53\x4c\x4f\x57\x3a\x20\x6e\x75\x6d\x20\x66\x66\x6c\x6f\x77\x73\x20\x3d\x20\x25\x75" "\n"
,idx);memcpy(((char*)DATARMNET9b8000d2a7->data),&idx,sizeof(idx));memcpy(((char*
)DATARMNET9b8000d2a7->data+sizeof(uint16_t)),(void*)&DATARMNET3d25ff4ef4[
(0xd2d+202-0xdf7)],sizeof(DATARMNET3d25ff4ef4));}void DATARMNETa3d6c4072d(struct
list_head*DATARMNET922b4752e2){struct DATARMNETe176be7f7c*DATARMNET4af6567922;
uint16_t idx=(0xd2d+202-0xdf7);int DATARMNET5c1d9cb9dd=(0xd2d+202-0xdf7);if(!
DATARMNET922b4752e2){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x54\x4f\x50\x3a\x20\x4c\x4c\x20\x46\x6c\x6f\x77\x73\x20\x4c\x69\x73\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err("\x25\x73",
"\x53\x48\x53\x5f\x54\x4f\x50\x3a\x20\x4c\x69\x73\x74\x20\x6f\x66\x20\x54\x4f\x50\x20\x4c\x4c\x20\x66\x69\x6c\x74\x65\x72\x20\x66\x6c\x6f\x77\x73\x3a"
);list_for_each_entry(DATARMNET4af6567922,DATARMNET922b4752e2,
DATARMNET7287946e7b){if(idx>=DATARMNETa847b6b6d0){break;}rm_err(
"\x53\x48\x53\x5f\x54\x4f\x50\x3a\x20\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x77\x69\x74\x68\x20\x70\x70\x73\x20\x25\x6c\x6c\x75\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d"
,DATARMNET4af6567922->hash,DATARMNET4af6567922->DATARMNET324c1a8f98,
DATARMNET4af6567922->DATARMNET42a992465f);DATARMNET5c1d9cb9dd+=(0xd26+209-0xdf6)
;memcpy(&(DATARMNET2fdef9da24[idx].ip_hdr),&(DATARMNET4af6567922->ip_hdr),sizeof
(DATARMNET2fdef9da24[idx].ip_hdr));memcpy(&(DATARMNET2fdef9da24[idx].
DATARMNETe33b41dad9),&(DATARMNET4af6567922->DATARMNETe33b41dad9),sizeof(
DATARMNET2fdef9da24[idx].DATARMNETe33b41dad9));DATARMNET2fdef9da24[idx].
DATARMNET42a992465f=DATARMNET4af6567922->DATARMNET42a992465f;DATARMNET2fdef9da24
[idx].hash=DATARMNET4af6567922->hash;DATARMNET2fdef9da24[idx].
DATARMNET253a9fc708=DATARMNET4af6567922->DATARMNET253a9fc708;DATARMNET2fdef9da24
[idx].DATARMNET324c1a8f98=DATARMNET4af6567922->DATARMNET324c1a8f98;
DATARMNET2fdef9da24[idx].DATARMNETda8e8ae7ed=DATARMNET4af6567922->
DATARMNETda8e8ae7ed;DATARMNET2fdef9da24[idx].DATARMNETbb80fccd97=
DATARMNET4af6567922->DATARMNETbb80fccd97;DATARMNET2fdef9da24[idx].trans_proto=
DATARMNET4af6567922->trans_proto;DATARMNET2fdef9da24[idx].mux_id=
DATARMNET4af6567922->mux_id;DATARMNET2fdef9da24[idx].DATARMNET95266642d1=
DATARMNET4af6567922->DATARMNET95266642d1;DATARMNET2fdef9da24[idx].
DATARMNET0d682bcb29=DATARMNET4af6567922->DATARMNET0d682bcb29;DATARMNET2fdef9da24
[idx].DATARMNET20e8fc9db8=DATARMNET4af6567922->DATARMNET20e8fc9db8;idx+=
(0xd26+209-0xdf6);}rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x6c\x6c\x5f\x66\x6c\x6f\x77\x5f\x64\x6d\x61\x5f\x70\x74\x72\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x61\x64\x64\x72\x20\x3d\x20\x30\x78\x25\x70\x4b" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET835a28686c),
DATARMNET835a28686c);if(!DATARMNET835a28686c){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x57\x52\x49\x54\x45\x3a\x20\x6c\x6c\x66\x6c\x6f\x77\x5f\x73\x68\x61\x72\x65\x64\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}rm_err(
"\x53\x48\x53\x5f\x53\x4c\x4f\x57\x3a\x20\x6e\x75\x6d\x20\x6c\x6c\x66\x6c\x6f\x77\x73\x20\x3d\x20\x25\x75" "\n"
,idx);memcpy(((char*)DATARMNET835a28686c->data),&idx,sizeof(idx));memcpy(((char*
)DATARMNET835a28686c->data+sizeof(uint16_t)),(void*)&DATARMNET2fdef9da24[
(0xd2d+202-0xdf7)],sizeof(DATARMNET2fdef9da24));}void DATARMNET78666f33a1(void){
struct rmnet_priv*priv;struct rmnet_port*port;struct DATARMNET9b44b71ee9*ep=NULL
;u16 idx=(0xd2d+202-0xdf7);u16 count=(0xd2d+202-0xdf7);port=DATARMNETecc0627c70.
port;if(!port){DATARMNET68d84e7b98[DATARMNET42b73d0f3f]++;return;}rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x6e\x74\x65\x72\x20\x25\x75" "\n"
,idx);list_for_each_entry(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){count+=
(0xd26+209-0xdf6);rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x6e\x74\x65\x72\x20\x65\x70\x20\x25\x75" "\n"
,count);if(!ep->DATARMNET4a4e6f66b5){rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x69\x73\x20\x4e\x4f\x54\x20\x61\x63\x74\x69\x76\x65" "\n"
,count);continue;}rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x69\x73\x20\x61\x63\x74\x69\x76\x65\x20\x61\x6e\x64\x20\x6e\x6f\x74\x20\x6e\x75\x6c\x6c" "\n"
,count);if(idx>=DATARMNETe4d15b9332){break;}priv=netdev_priv(ep->ep);if(!priv){
rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x70\x72\x69\x76\x20\x66\x6f\x72\x20\x65\x70\x20\x25\x75\x20\x69\x73\x20\x6e\x75\x6c\x6c" "\n"
,count);continue;}rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x68\x61\x73\x20\x6e\x61\x6d\x65\x20\x3d\x20\x25\x73\x20" "\n"
,count,ep->ep->name);rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x68\x61\x73\x20\x6d\x75\x78\x5f\x69\x64\x20\x3d\x20\x25\x75\x20" "\n"
,count,priv->mux_id);rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x68\x61\x73\x20\x69\x70\x5f\x6d\x69\x73\x73\x20\x3d\x20\x25\x6c\x6c\x75\x20" "\n"
,count,priv->stats.coal.close.ip_miss);rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x68\x61\x73\x20\x63\x6f\x61\x6c\x5f\x72\x78\x5f\x70\x6b\x74\x73\x20\x3d\x20\x25\x6c\x6c\x75\x20" "\n"
,count,priv->stats.coal.coal_pkts);rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x68\x61\x73\x20\x75\x64\x70\x5f\x72\x78\x5f\x62\x70\x73\x20\x3d\x20\x25\x6c\x6c\x75\x20" "\n"
,count,ep->DATARMNET257fc4b2d4);rm_err(
"\x53\x48\x53\x5f\x4e\x45\x54\x44\x45\x56\x3a\x20\x65\x70\x20\x25\x75\x20\x68\x61\x73\x20\x74\x63\x70\x5f\x72\x78\x5f\x62\x70\x73\x20\x3d\x20\x25\x6c\x6c\x75\x20" "\n"
,count,ep->DATARMNET4eb77c78e6);DATARMNETf46265286b[idx].DATARMNET77de6e34f2=
priv->stats.coal.close.ip_miss;DATARMNETf46265286b[idx].hw_evict=priv->stats.
coal.close.hw_evict;DATARMNETf46265286b[idx].coal_tcp=priv->stats.coal.coal_tcp;
DATARMNETf46265286b[idx].coal_tcp_bytes=priv->stats.coal.coal_tcp_bytes;
DATARMNETf46265286b[idx].coal_udp=priv->stats.coal.coal_udp;DATARMNETf46265286b[
idx].coal_udp_bytes=priv->stats.coal.coal_udp_bytes;DATARMNETf46265286b[idx].
mux_id=priv->mux_id;DATARMNETf46265286b[idx].pb_marker_seq=port->stats.
pb_marker_seq;strscpy(DATARMNETf46265286b[idx].name,ep->ep->name,sizeof(
DATARMNETf46265286b[idx].name));DATARMNETf46265286b[idx].DATARMNET870c3dafcb=
priv->stats.coal.coal_pkts;DATARMNETf46265286b[idx].DATARMNET4eb77c78e6=ep->
DATARMNET4eb77c78e6;DATARMNETf46265286b[idx].DATARMNET257fc4b2d4=ep->
DATARMNET257fc4b2d4;idx+=(0xd26+209-0xdf6);}rm_err(
"\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x6e\x65\x74\x64\x65\x76\x5f\x73\x68\x61\x72\x65\x64\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x61\x64\x64\x72\x20\x3d\x20\x30\x78\x25\x70\x4b" "\n"
,(unsigned long long)virt_to_phys((void*)DATARMNET67d31dc40a),
DATARMNET67d31dc40a);if(!DATARMNET67d31dc40a){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x57\x52\x49\x54\x45\x3a\x20\x6e\x65\x74\x64\x65\x76\x5f\x73\x68\x61\x72\x65\x64\x20\x69\x73\x20\x4e\x55\x4c\x4c"
);return;}memcpy(((char*)DATARMNET67d31dc40a->data),&idx,sizeof(idx));memcpy(((
char*)DATARMNET67d31dc40a->data+sizeof(uint16_t)),(void*)&DATARMNETf46265286b[
(0xd2d+202-0xdf7)],sizeof(DATARMNETf46265286b));}void DATARMNETf5f83b943f(void){
kuid_t DATARMNETdaca088404;kgid_t DATARMNET254aa091f2;DATARMNETe4c5563cdb=
proc_mkdir("\x73\x68\x73",NULL);if(!DATARMNETe4c5563cdb){rm_err("\x25\x73",
"\x53\x48\x53\x5f\x4d\x45\x4d\x5f\x49\x4e\x49\x54\x3a\x20\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x63\x72\x65\x61\x74\x65\x20\x70\x72\x6f\x63\x20\x64\x69\x72"
);return;}DATARMNETdaca088404=make_kuid(&init_user_ns,(0xdc7+2646-0x1434));
DATARMNET254aa091f2=make_kgid(&init_user_ns,(0xdc7+2646-0x1434));if(uid_valid(
DATARMNETdaca088404)&&gid_valid(DATARMNET254aa091f2))proc_set_user(
DATARMNETe4c5563cdb,DATARMNETdaca088404,DATARMNET254aa091f2);proc_create(
DATARMNET41be983a65,(0xdb7+6665-0x261c),DATARMNETe4c5563cdb,&DATARMNET668485bd14
);proc_create(DATARMNET5ddc91451c,(0xdb7+6665-0x261c),DATARMNETe4c5563cdb,&
DATARMNETe84fbaa6af);proc_create(DATARMNETeb2a21dd7c,(0xdb7+6665-0x261c),
DATARMNETe4c5563cdb,&DATARMNET8fe5f892a8);proc_create(DATARMNET1c4ea23858,
(0xdb7+6665-0x261c),DATARMNETe4c5563cdb,&DATARMNET0104d40d4b);proc_create(
DATARMNET8b29e14112,(0xdb7+6665-0x261c),DATARMNETe4c5563cdb,&DATARMNETddcdf7bd4e
);proc_create(DATARMNETe98d39b779,(0xdb7+6665-0x261c),DATARMNETe4c5563cdb,&
DATARMNET6eb63d9ad0);DATARMNET6bf538fa23();DATARMNET410036d5ac=NULL;
DATARMNET19c47a9f3a=NULL;DATARMNET22e796eff3=NULL;DATARMNET9b8000d2a7=NULL;
DATARMNET835a28686c=NULL;DATARMNET67d31dc40a=NULL;DATARMNETaea4c85748();}void
DATARMNET28d33bd09f(void){remove_proc_entry(DATARMNET41be983a65,
DATARMNETe4c5563cdb);remove_proc_entry(DATARMNET5ddc91451c,DATARMNETe4c5563cdb);
remove_proc_entry(DATARMNETeb2a21dd7c,DATARMNETe4c5563cdb);remove_proc_entry(
DATARMNET1c4ea23858,DATARMNETe4c5563cdb);remove_proc_entry(DATARMNET8b29e14112,
DATARMNETe4c5563cdb);remove_proc_entry(DATARMNETe98d39b779,DATARMNETe4c5563cdb);
remove_proc_entry(DATARMNET6517f07a36,NULL);DATARMNET6bf538fa23();
DATARMNET410036d5ac=NULL;DATARMNET19c47a9f3a=NULL;DATARMNET22e796eff3=NULL;
DATARMNET9b8000d2a7=NULL;DATARMNET835a28686c=NULL;DATARMNET67d31dc40a=NULL;
DATARMNETaea4c85748();}

View File

@@ -0,0 +1,87 @@
/* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef DATARMNETe10fe0b1e0
#define DATARMNETe10fe0b1e0
#include "rmnet_shs.h"
#include "rmnet_shs_config.h"
#define DATARMNET6517f07a36 "\x73\x68\x73"
#define DATARMNET41be983a65 \
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x63\x61\x70\x73"
#define DATARMNET5ddc91451c \
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x66\x6c\x6f\x77\x73"
#define DATARMNETeb2a21dd7c \
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x73\x73\x5f\x66\x6c\x6f\x77\x73"
#define DATARMNET1c4ea23858 \
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x66\x66\x6c\x6f\x77\x73"
#define DATARMNET8b29e14112 \
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6c\x6c\x5f\x66\x6c\x6f\x77\x73"
#define DATARMNETe98d39b779 \
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6e\x65\x74\x64\x65\x76"
#define DATARMNET67578af78f ((0xec7+1108-0x12fd))
#define DATARMNETa847b6b6d0 (DATARMNET67578af78f)
#define DATARMNET75c69edb82 ((0xeb7+698-0x110d))
#define DATARMNETe4d15b9332 ((0xec7+1166-0x132d))
#define DATARMNET9ae5f81f71 ((0xeb7+1158-0x132d))
#define DATARMNET29d29f44cf ((0xd2d+202-0xdf7))
struct __attribute__((__packed__))DATARMNET33582f7450{u64 DATARMNET18b7a5b761;
u64 DATARMNET4da6031170;u64 DATARMNET4df302dbd6;u16 DATARMNET42a992465f;u8
DATARMNETf510b48c29;};struct __attribute__((__packed__))DATARMNET661e7a8566{int
DATARMNET68a58889b0[(0xd18+223-0xdf4)];int DATARMNET1c7c913c7b[(0xd18+223-0xdf4)
];};struct __attribute__((__packed__))DATARMNETf44cda1bf2{u64
DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u32 hash;u16
DATARMNET42a992465f;};struct __attribute__((__packed__))DATARMNET3a84fbfeae{u64
DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u32 hash;
u32 bif;u32 ack_thresh;u16 DATARMNET42a992465f;};struct __attribute__((
__packed__))DATARMNET26737fb11e{union{struct iphdr DATARMNETac9bbaad7c;struct
ipv6hdr DATARMNET1688a97aa4;}ip_hdr;union{struct tcphdr tp;struct udphdr up;}
DATARMNETe33b41dad9;u64 DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64
DATARMNETbb80fccd97;u64 DATARMNET95266642d1;u64 DATARMNET0d682bcb29;u64
DATARMNET20e8fc9db8;u32 hash;u16 DATARMNET42a992465f;u16 trans_proto;u8 mux_id;
u8 DATARMNETda8e8ae7ed;};struct __attribute__((__packed__))DATARMNETc13d990bf1{
union{struct iphdr DATARMNETac9bbaad7c;struct ipv6hdr DATARMNET1688a97aa4;}
ip_hdr;union{struct tcphdr tp;struct udphdr up;}DATARMNETe33b41dad9;u64
DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u64
DATARMNET95266642d1;u64 DATARMNET0d682bcb29;u64 DATARMNET20e8fc9db8;u32 hash;u16
DATARMNET42a992465f;u16 trans_proto;u8 mux_id;};struct __attribute__((
__packed__))DATARMNET57ccbe14f3{char name[DATARMNET9ae5f81f71];u64
DATARMNET77de6e34f2;u64 hw_evict;u64 DATARMNET870c3dafcb;u64 coal_tcp;u64
coal_tcp_bytes;u64 coal_udp;u64 coal_udp_bytes;u64 DATARMNET257fc4b2d4;u64
DATARMNET4eb77c78e6;u64 pb_marker_seq;u8 mux_id;};extern struct list_head
DATARMNET6c23f11e81;extern struct list_head DATARMNETf91b305f4e;extern struct
list_head DATARMNET3208cd0982;extern struct list_head DATARMNET922b4752e2;extern
struct list_head DATARMNETe46ae760db;enum{DATARMNETbd4083a6a4=
(0x24f5+499-0x16e8)};struct DATARMNETa41d4c4a12{char*data;refcount_t refcnt;};
void DATARMNET28a80d526e(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct
list_head*DATARMNETf0fb155a9c);void DATARMNET24e4475345(struct
DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct list_head*DATARMNETb436c3f30b);
void DATARMNET6f4b0915d3(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct
list_head*DATARMNET3208cd0982);void DATARMNET312b06829d(struct
DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct list_head*DATARMNET922b4752e2);
void DATARMNETa1b141715b(struct list_head*DATARMNETb436c3f30b);void
DATARMNET3af54cd726(struct list_head*DATARMNETf0fb155a9c);void
DATARMNETcc489fbbad(struct list_head*DATARMNET3208cd0982);void
DATARMNETf7730d41c1(struct list_head*DATARMNET922b4752e2);void
DATARMNETc6439e3d71(struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6,struct
DATARMNET228056d4b7*DATARMNETf632b170b1,struct list_head*DATARMNETe46ae760db);
void DATARMNETb177316a15(struct list_head*DATARMNETe46ae760db);void
DATARMNET5157210c44(struct list_head*DATARMNETe46ae760db);void
DATARMNET0e273eab79(struct list_head*DATARMNETb436c3f30b);void
DATARMNETe15af8eb6d(struct list_head*DATARMNETf0fb155a9c);void
DATARMNET78f3a0ca4f(struct list_head*DATARMNET3208cd0982);void
DATARMNETa3d6c4072d(struct list_head*DATARMNET922b4752e2);void
DATARMNET78666f33a1(void);void DATARMNETf5f83b943f(void);void
DATARMNET28d33bd09f(void);
#endif