sm8750: init kernel modules repo
This commit is contained in:
46
qcom/opensource/datarmnet-ext/shs/Android.mk
Normal file
46
qcom/opensource/datarmnet-ext/shs/Android.mk
Normal 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
|
||||
13
qcom/opensource/datarmnet-ext/shs/BUILD.bazel
Normal file
13
qcom/opensource/datarmnet-ext/shs/BUILD.bazel
Normal 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")
|
||||
13
qcom/opensource/datarmnet-ext/shs/Kbuild
Normal file
13
qcom/opensource/datarmnet-ext/shs/Kbuild
Normal 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
|
||||
10
qcom/opensource/datarmnet-ext/shs/Kconfig
Normal file
10
qcom/opensource/datarmnet-ext/shs/Kconfig
Normal 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
|
||||
15
qcom/opensource/datarmnet-ext/shs/Makefile
Normal file
15
qcom/opensource/datarmnet-ext/shs/Makefile
Normal 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
|
||||
50
qcom/opensource/datarmnet-ext/shs/define_shs.bzl
Normal file
50
qcom/opensource/datarmnet-ext/shs/define_shs.bzl
Normal 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"},
|
||||
)
|
||||
190
qcom/opensource/datarmnet-ext/shs/rmnet_shs.h
Normal file
190
qcom/opensource/datarmnet-ext/shs/rmnet_shs.h
Normal 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
|
||||
|
||||
238
qcom/opensource/datarmnet-ext/shs/rmnet_shs_common.c
Normal file
238
qcom/opensource/datarmnet-ext/shs/rmnet_shs_common.c
Normal 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;}
|
||||
71
qcom/opensource/datarmnet-ext/shs/rmnet_shs_common.h
Normal file
71
qcom/opensource/datarmnet-ext/shs/rmnet_shs_common.h
Normal 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
|
||||
|
||||
108
qcom/opensource/datarmnet-ext/shs/rmnet_shs_config.c
Normal file
108
qcom/opensource/datarmnet-ext/shs/rmnet_shs_config.c
Normal 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);
|
||||
27
qcom/opensource/datarmnet-ext/shs/rmnet_shs_config.h
Normal file
27
qcom/opensource/datarmnet-ext/shs/rmnet_shs_config.h
Normal 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
|
||||
|
||||
131
qcom/opensource/datarmnet-ext/shs/rmnet_shs_freq.c
Normal file
131
qcom/opensource/datarmnet-ext/shs/rmnet_shs_freq.c
Normal 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);}
|
||||
22
qcom/opensource/datarmnet-ext/shs/rmnet_shs_freq.h
Normal file
22
qcom/opensource/datarmnet-ext/shs/rmnet_shs_freq.h
Normal 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
|
||||
|
||||
380
qcom/opensource/datarmnet-ext/shs/rmnet_shs_ll.c
Normal file
380
qcom/opensource/datarmnet-ext/shs/rmnet_shs_ll.c
Normal 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"
|
||||
);}
|
||||
22
qcom/opensource/datarmnet-ext/shs/rmnet_shs_ll.h
Normal file
22
qcom/opensource/datarmnet-ext/shs/rmnet_shs_ll.h
Normal 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
|
||||
|
||||
1000
qcom/opensource/datarmnet-ext/shs/rmnet_shs_main.c
Normal file
1000
qcom/opensource/datarmnet-ext/shs/rmnet_shs_main.c
Normal file
File diff suppressed because it is too large
Load Diff
255
qcom/opensource/datarmnet-ext/shs/rmnet_shs_modules.c
Normal file
255
qcom/opensource/datarmnet-ext/shs/rmnet_shs_modules.c
Normal 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"
|
||||
);
|
||||
63
qcom/opensource/datarmnet-ext/shs/rmnet_shs_modules.h
Normal file
63
qcom/opensource/datarmnet-ext/shs/rmnet_shs_modules.h
Normal 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
|
||||
|
||||
1009
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq.c
Normal file
1009
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq.c
Normal file
File diff suppressed because it is too large
Load Diff
142
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq.h
Normal file
142
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq.h
Normal 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
|
||||
|
||||
398
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_genl.c
Normal file
398
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_genl.c
Normal 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);}
|
||||
94
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_genl.h
Normal file
94
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_genl.h
Normal 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
|
||||
|
||||
676
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_mem.c
Normal file
676
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_mem.c
Normal 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();}
|
||||
87
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_mem.h
Normal file
87
qcom/opensource/datarmnet-ext/shs/rmnet_shs_wq_mem.h
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user