From 77c31e2738e45af9f2a800c9025e5e4d5d79ceaa Mon Sep 17 00:00:00 2001 From: Ihor Solodrai Date: Mon, 23 Feb 2026 12:06:28 -0800 Subject: [PATCH 1/4] Bump default Linux tag to v6.19 Signed-off-by: Ihor Solodrai --- .github/workflows/vmlinux.h.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/vmlinux.h.yml b/.github/workflows/vmlinux.h.yml index 071a8e5..d28da9a 100644 --- a/.github/workflows/vmlinux.h.yml +++ b/.github/workflows/vmlinux.h.yml @@ -11,7 +11,7 @@ on: description: 'Kernel version (Git tag/ref)' required: true # Keep in sync with string used in `checkout` invocation below. - default: 'v6.18' + default: 'v6.19' workflow_call: jobs: @@ -37,7 +37,7 @@ jobs: uses: actions/checkout@v6 with: repository: 'torvalds/linux' - ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.kernel-ref || 'v6.18' }} + ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.kernel-ref || 'v6.19' }} fetch-depth: 1 path: linux/ From 3f7160113c1c8838c8cfe992ae82aaab2cc0de21 Mon Sep 17 00:00:00 2001 From: Ihor Solodrai Date: Mon, 23 Feb 2026 11:45:25 -0800 Subject: [PATCH 2/4] kconfigs: set CONFIG_BPF_LSM=y Signed-off-by: Ihor Solodrai --- kconfigs/config.common | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kconfigs/config.common b/kconfigs/config.common index 996b85d..ece21f1 100644 --- a/kconfigs/config.common +++ b/kconfigs/config.common @@ -1,6 +1,7 @@ CONFIG_BPF=y CONFIG_BPF_EVENTS=y CONFIG_BPF_JIT=y +CONFIG_BPF_LSM=y CONFIG_BPF_SYSCALL=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_BTF=y @@ -14,8 +15,11 @@ CONFIG_KPROBES=y CONFIG_KPROBE_EVENTS=y CONFIG_MMU=y CONFIG_MODULES=y +CONFIG_MULTIUSER=y CONFIG_NET=y CONFIG_PERF_EVENTS=y +CONFIG_SECURITY=y +CONFIG_SYSFS=y CONFIG_TRACEPOINTS=y CONFIG_TRACING=y CONFIG_UPROBE_EVENTS=y From d55e6a2b43f324e9f06a1557a23d2ad839af7f3d Mon Sep 17 00:00:00 2001 From: Ihor Solodrai Date: Mon, 23 Feb 2026 12:56:08 -0800 Subject: [PATCH 3/4] test.yml: run apt update before installing anything Fixes failures like: https://github.com/libbpf/vmlinux.h/actions/runs/22324190820/job/64590178451 Signed-off-by: Ihor Solodrai --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9493046..85f4c5b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,7 +61,7 @@ jobs: repository: libbpf/libbpf-rs path: libbpf-rs - name: Install development dependencies - run: sudo apt-get install -y gcc-multilib libelf-dev zlib1g-dev + run: sudo apt-get update -y && sudo apt-get install -y gcc-multilib libelf-dev zlib1g-dev - name: Build libbpf-rs run: | dir=$(pwd) From 101f09aff608444572309f67d80bfd27805ef425 Mon Sep 17 00:00:00 2001 From: Ihor Solodrai Date: Mon, 23 Feb 2026 13:58:46 -0800 Subject: [PATCH 4/4] Update checked in vmlinux.h headers to v6.19 Signed-off-by: Ihor Solodrai --- include/aarch64/vmlinux.h | 2 +- .../{vmlinux_6.18.h => vmlinux_6.19.h} | 2647 ++++++++++++---- include/arm/vmlinux.h | 2 +- .../arm/{vmlinux_6.18.h => vmlinux_6.19.h} | 2335 +++++++++++--- include/loongarch64/vmlinux.h | 2 +- .../{vmlinux_6.18.h => vmlinux_6.19.h} | 2257 +++++++++++--- include/powerpc/vmlinux.h | 2 +- .../{vmlinux_6.18.h => vmlinux_6.19.h} | 2317 +++++++++++--- include/riscv64/vmlinux.h | 2 +- .../{vmlinux_6.18.h => vmlinux_6.19.h} | 2287 +++++++++++--- include/s390x/vmlinux.h | 2 +- .../s390x/{vmlinux_6.18.h => vmlinux_6.19.h} | 2706 +++++++++++++---- include/x86/vmlinux.h | 2 +- .../x86/{vmlinux_6.18.h => vmlinux_6.19.h} | 2486 ++++++++++++--- 14 files changed, 13658 insertions(+), 3391 deletions(-) rename include/aarch64/{vmlinux_6.18.h => vmlinux_6.19.h} (94%) rename include/arm/{vmlinux_6.18.h => vmlinux_6.19.h} (95%) rename include/loongarch64/{vmlinux_6.18.h => vmlinux_6.19.h} (95%) rename include/powerpc/{vmlinux_6.18.h => vmlinux_6.19.h} (95%) rename include/riscv64/{vmlinux_6.18.h => vmlinux_6.19.h} (95%) rename include/s390x/{vmlinux_6.18.h => vmlinux_6.19.h} (95%) rename include/x86/{vmlinux_6.18.h => vmlinux_6.19.h} (95%) diff --git a/include/aarch64/vmlinux.h b/include/aarch64/vmlinux.h index be73697..9ed9bfb 120000 --- a/include/aarch64/vmlinux.h +++ b/include/aarch64/vmlinux.h @@ -1 +1 @@ -vmlinux_6.18.h \ No newline at end of file +vmlinux_6.19.h \ No newline at end of file diff --git a/include/aarch64/vmlinux_6.18.h b/include/aarch64/vmlinux_6.19.h similarity index 94% rename from include/aarch64/vmlinux_6.18.h rename to include/aarch64/vmlinux_6.19.h index 15c8e54..51cfb3a 100644 --- a/include/aarch64/vmlinux_6.18.h +++ b/include/aarch64/vmlinux_6.19.h @@ -102,6 +102,10 @@ enum { BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, }; +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + enum { BPF_F_GET_BRANCH_RECORDS_SIZE = 1, }; @@ -152,6 +156,7 @@ enum { BPF_F_TOKEN_FD = 65536, BPF_F_SEGV_ON_FAULT = 131072, BPF_F_NO_USER_CONV = 262144, + BPF_F_RB_OVERWRITE = 524288, }; enum { @@ -221,6 +226,7 @@ enum { BPF_RB_RING_SIZE = 1, BPF_RB_CONS_POS = 2, BPF_RB_PROD_POS = 3, + BPF_RB_OVERWRITE_POS = 4, }; enum { @@ -592,24 +598,6 @@ enum { KEEP_EXPLORING = 1, }; -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - enum { DUMP_PREFIX_NONE = 0, DUMP_PREFIX_ADDRESS = 1, @@ -1035,6 +1023,36 @@ enum { ETHTOOL_A_MODULE_MAX = 3, }; +enum { + ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE = 2, + ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS = 3, + ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS = 4, + __ETHTOOL_A_MSE_CAPABILITIES_CNT = 5, + ETHTOOL_A_MSE_CAPABILITIES_MAX = 4, +}; + +enum { + ETHTOOL_A_MSE_HEADER = 1, + ETHTOOL_A_MSE_CAPABILITIES = 2, + ETHTOOL_A_MSE_CHANNEL_A = 3, + ETHTOOL_A_MSE_CHANNEL_B = 4, + ETHTOOL_A_MSE_CHANNEL_C = 5, + ETHTOOL_A_MSE_CHANNEL_D = 6, + ETHTOOL_A_MSE_WORST_CHANNEL = 7, + ETHTOOL_A_MSE_LINK = 8, + __ETHTOOL_A_MSE_CNT = 9, + ETHTOOL_A_MSE_MAX = 8, +}; + +enum { + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE = 2, + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE = 3, + __ETHTOOL_A_MSE_SNAPSHOT_CNT = 4, + ETHTOOL_A_MSE_SNAPSHOT_MAX = 3, +}; + enum { ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, ETHTOOL_A_PAUSE_STAT_PAD = 1, @@ -1443,8 +1461,9 @@ enum { ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, ETHTOOL_MSG_RSS_CREATE_NTF = 52, ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, + ETHTOOL_MSG_MSE_GET_REPLY = 54, + __ETHTOOL_MSG_KERNEL_CNT = 55, + ETHTOOL_MSG_KERNEL_MAX = 54, }; enum { @@ -1499,8 +1518,9 @@ enum { ETHTOOL_MSG_RSS_SET = 48, ETHTOOL_MSG_RSS_CREATE_ACT = 49, ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, + ETHTOOL_MSG_MSE_GET = 51, + __ETHTOOL_MSG_USER_CNT = 52, + ETHTOOL_MSG_USER_MAX = 51, }; enum { @@ -1563,6 +1583,7 @@ enum { enum { EVENT_TRIGGER_FL_PROBE = 1, + EVENT_TRIGGER_FL_COUNT = 2, }; enum { @@ -1709,6 +1730,7 @@ enum { FTRACE_OPS_FL_DIRECT = 131072, FTRACE_OPS_FL_SUBOP = 262144, FTRACE_OPS_FL_GRAPH = 524288, + FTRACE_OPS_FL_JMP = 1048576, }; enum { @@ -1791,6 +1813,15 @@ enum { __ICMP6_MIB_MAX = 7, }; +enum { + ICMP_ERR_EXT_IIO_IIF = 0, + ICMP_ERR_EXT_COUNT = 1, +}; + +enum { + ICMP_EXT_CTYPE_IIO_ROLE_IIF = 0, +}; + enum { ICMP_MIB_NUM = 0, ICMP_MIB_INMSGS = 1, @@ -2961,6 +2992,12 @@ enum { __MDBA_SET_ENTRY_MAX = 3, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + enum { MEMREMAP_WB = 1, MEMREMAP_WT = 2, @@ -3021,6 +3058,7 @@ enum { NAPIF_STATE_THREADED = 256, NAPIF_STATE_SCHED_THREADED = 512, NAPIF_STATE_HAS_NOTIFIER = 1024, + NAPIF_STATE_THREADED_BUSY_POLL = 2048, }; enum { @@ -3040,6 +3078,7 @@ enum { NAPI_STATE_THREADED = 8, NAPI_STATE_SCHED_THREADED = 9, NAPI_STATE_HAS_NOTIFIER = 10, + NAPI_STATE_THREADED_BUSY_POLL = 11, }; enum { @@ -3644,12 +3683,50 @@ enum { POOL_EARLY_BITS = 128, }; +enum { + POWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN = 0, + POWER_SUPPLY_CAPACITY_LEVEL_CRITICAL = 1, + POWER_SUPPLY_CAPACITY_LEVEL_LOW = 2, + POWER_SUPPLY_CAPACITY_LEVEL_NORMAL = 3, + POWER_SUPPLY_CAPACITY_LEVEL_HIGH = 4, + POWER_SUPPLY_CAPACITY_LEVEL_FULL = 5, +}; + +enum { + POWER_SUPPLY_HEALTH_UNKNOWN = 0, + POWER_SUPPLY_HEALTH_GOOD = 1, + POWER_SUPPLY_HEALTH_OVERHEAT = 2, + POWER_SUPPLY_HEALTH_DEAD = 3, + POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4, + POWER_SUPPLY_HEALTH_UNDERVOLTAGE = 5, + POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 6, + POWER_SUPPLY_HEALTH_COLD = 7, + POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 8, + POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 9, + POWER_SUPPLY_HEALTH_OVERCURRENT = 10, + POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED = 11, + POWER_SUPPLY_HEALTH_WARM = 12, + POWER_SUPPLY_HEALTH_COOL = 13, + POWER_SUPPLY_HEALTH_HOT = 14, + POWER_SUPPLY_HEALTH_NO_BATTERY = 15, + POWER_SUPPLY_HEALTH_BLOWN_FUSE = 16, + POWER_SUPPLY_HEALTH_CELL_IMBALANCE = 17, +}; + enum { POWER_SUPPLY_SCOPE_UNKNOWN = 0, POWER_SUPPLY_SCOPE_SYSTEM = 1, POWER_SUPPLY_SCOPE_DEVICE = 2, }; +enum { + POWER_SUPPLY_STATUS_UNKNOWN = 0, + POWER_SUPPLY_STATUS_CHARGING = 1, + POWER_SUPPLY_STATUS_DISCHARGING = 2, + POWER_SUPPLY_STATUS_NOT_CHARGING = 3, + POWER_SUPPLY_STATUS_FULL = 4, +}; + enum { POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0, POWER_SUPPLY_TECHNOLOGY_NiMH = 1, @@ -4311,6 +4388,7 @@ enum { TCP_BPF_SYN_MAC = 1007, TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, SK_BPF_CB_FLAGS = 1009, + SK_BPF_BYPASS_PROT_MEM = 1010, }; enum { @@ -4568,6 +4646,7 @@ enum { TRACE_ARRAY_FL_LAST_BOOT = 4, TRACE_ARRAY_FL_MOD_INIT = 8, TRACE_ARRAY_FL_MEMMAP = 16, + TRACE_ARRAY_FL_VMALLOC = 32, }; enum { @@ -4617,9 +4696,14 @@ enum { TRACE_INTERNAL_IRQ_BIT = 7, TRACE_INTERNAL_SIRQ_BIT = 8, TRACE_INTERNAL_TRANSITION_BIT = 9, - TRACE_BRANCH_BIT = 10, - TRACE_IRQ_BIT = 11, - TRACE_RECORD_RECURSION_BIT = 12, + TRACE_INTERNAL_EVENT_BIT = 10, + TRACE_INTERNAL_EVENT_NMI_BIT = 11, + TRACE_INTERNAL_EVENT_IRQ_BIT = 12, + TRACE_INTERNAL_EVENT_SIRQ_BIT = 13, + TRACE_INTERNAL_EVENT_TRANSITION_BIT = 14, + TRACE_BRANCH_BIT = 15, + TRACE_IRQ_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 17, }; enum { @@ -4709,6 +4793,66 @@ enum { ADDR_LIMIT_3GB = 134217728, }; +enum { + VMA_READ_BIT = 0, + VMA_WRITE_BIT = 1, + VMA_EXEC_BIT = 2, + VMA_SHARED_BIT = 3, + VMA_MAYREAD_BIT = 4, + VMA_MAYWRITE_BIT = 5, + VMA_MAYEXEC_BIT = 6, + VMA_MAYSHARE_BIT = 7, + VMA_GROWSDOWN_BIT = 8, + VMA_UFFD_MISSING_BIT = 9, + VMA_PFNMAP_BIT = 10, + VMA_MAYBE_GUARD_BIT = 11, + VMA_UFFD_WP_BIT = 12, + VMA_LOCKED_BIT = 13, + VMA_IO_BIT = 14, + VMA_SEQ_READ_BIT = 15, + VMA_RAND_READ_BIT = 16, + VMA_DONTCOPY_BIT = 17, + VMA_DONTEXPAND_BIT = 18, + VMA_LOCKONFAULT_BIT = 19, + VMA_ACCOUNT_BIT = 20, + VMA_NORESERVE_BIT = 21, + VMA_HUGETLB_BIT = 22, + VMA_SYNC_BIT = 23, + VMA_ARCH_1_BIT = 24, + VMA_WIPEONFORK_BIT = 25, + VMA_DONTDUMP_BIT = 26, + VMA_SOFTDIRTY_BIT = 27, + VMA_MIXEDMAP_BIT = 28, + VMA_HUGEPAGE_BIT = 29, + VMA_NOHUGEPAGE_BIT = 30, + VMA_MERGEABLE_BIT = 31, + VMA_HIGH_ARCH_0_BIT = 32, + VMA_HIGH_ARCH_1_BIT = 33, + VMA_HIGH_ARCH_2_BIT = 34, + VMA_HIGH_ARCH_3_BIT = 35, + VMA_HIGH_ARCH_4_BIT = 36, + VMA_HIGH_ARCH_5_BIT = 37, + VMA_HIGH_ARCH_6_BIT = 38, + VMA_ALLOW_ANY_UNCACHED_BIT = 39, + VMA_DROPPABLE_BIT = 40, + VMA_UFFD_MINOR_BIT = 41, + VMA_SEALED_BIT = 42, + VMA_PKEY_BIT0_BIT = 32, + VMA_PKEY_BIT1_BIT = 33, + VMA_PKEY_BIT2_BIT = 34, + VMA_PKEY_BIT3_BIT = 35, + VMA_PKEY_BIT4_BIT = 36, + VMA_SAO_BIT = 24, + VMA_GROWSUP_BIT = 24, + VMA_SPARC_ADI_BIT = 24, + VMA_ARM64_BTI_BIT = 24, + VMA_ARCH_CLEAR_BIT = 24, + VMA_MAPPED_COPY_BIT = 24, + VMA_MTE_BIT = 36, + VMA_MTE_ALLOWED_BIT = 37, + VMA_STACK_BIT = 8, +}; + enum { WALK_TRAILING = 1, WALK_MORE = 2, @@ -4853,7 +4997,8 @@ enum { __SCHED_FEAT_WA_BIAS = 23, __SCHED_FEAT_UTIL_EST = 24, __SCHED_FEAT_LATENCY_WARN = 25, - __SCHED_FEAT_NR = 26, + __SCHED_FEAT_NI_RANDOM = 26, + __SCHED_FEAT_NR = 27, }; enum { @@ -4899,7 +5044,8 @@ enum { ___GFP_THISNODE_BIT = 21, ___GFP_ACCOUNT_BIT = 22, ___GFP_ZEROTAGS_BIT = 23, - ___GFP_LAST_BIT = 24, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, }; enum { @@ -4925,8 +5071,9 @@ enum { __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 19, __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 20, __ctx_convertBPF_PROG_TYPE_EXT = 21, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 22, - __ctx_convert_unused = 23, + __ctx_convertBPF_PROG_TYPE_LSM = 22, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 23, + __ctx_convert_unused = 24, }; enum { @@ -4940,6 +5087,10 @@ enum { true = 1, }; +enum { + sysctl_hung_task_timeout_secs = 0, +}; + typedef enum { PAGE_KEEP = 0, PAGE_ACTIVATE = 1, @@ -5371,6 +5522,12 @@ enum audit_ntp_type { AUDIT_NTP_NVALS = 6, }; +enum base64_variant { + BASE64_STD = 0, + BASE64_URLSAFE = 1, + BASE64_IMAP = 2, +}; + enum batadv_packettype { BATADV_IV_OGM = 0, BATADV_BCAST = 1, @@ -5491,7 +5648,7 @@ enum bpf_arg_type { ARG_PTR_TO_BTF_ID_OR_NULL = 269, ARG_PTR_TO_UNINIT_MEM = 67141636, ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 268435455, + __BPF_ARG_TYPE_LIMIT = 536870911, }; enum bpf_async_type { @@ -5661,6 +5818,7 @@ enum bpf_dynptr_type { BPF_DYNPTR_TYPE_SKB = 3, BPF_DYNPTR_TYPE_XDP = 4, BPF_DYNPTR_TYPE_SKB_META = 5, + BPF_DYNPTR_TYPE_FILE = 6, }; enum bpf_features { @@ -5978,7 +6136,8 @@ enum bpf_map_type { BPF_MAP_TYPE_USER_RINGBUF = 31, BPF_MAP_TYPE_CGRP_STORAGE = 32, BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, + BPF_MAP_TYPE_INSN_ARRAY = 34, + __MAX_BPF_MAP_TYPE = 35, }; enum bpf_netdev_command { @@ -6058,14 +6217,15 @@ enum bpf_reg_type { PTR_TO_ARENA = 18, PTR_TO_BUF = 19, PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, + PTR_TO_INSN = 21, + CONST_PTR_TO_DYNPTR = 22, + __BPF_REG_TYPE_MAX = 23, PTR_TO_MAP_VALUE_OR_NULL = 260, PTR_TO_SOCKET_OR_NULL = 267, PTR_TO_SOCK_COMMON_OR_NULL = 268, PTR_TO_TCP_SOCK_OR_NULL = 269, PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 268435455, + __BPF_REG_TYPE_LIMIT = 536870911, }; enum bpf_ret_code { @@ -6095,7 +6255,7 @@ enum bpf_return_type { RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, RET_PTR_TO_BTF_ID_OR_NULL = 264, RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 268435455, + __BPF_RET_TYPE_LIMIT = 536870911, }; enum bpf_stack_build_id_status { @@ -6162,8 +6322,9 @@ enum bpf_task_work_state { }; enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, + BPF_MOD_NOP = 0, + BPF_MOD_CALL = 1, + BPF_MOD_JUMP = 2, }; enum bpf_tramp_prog_type { @@ -6202,8 +6363,9 @@ enum bpf_type_flag { MEM_ALIGNED = 33554432, MEM_WRITE = 67108864, DYNPTR_TYPE_SKB_META = 134217728, - __BPF_TYPE_FLAG_MAX = 134217729, - __BPF_TYPE_LAST_FLAG = 134217728, + DYNPTR_TYPE_FILE = 268435456, + __BPF_TYPE_FLAG_MAX = 268435457, + __BPF_TYPE_LAST_FLAG = 268435456, }; enum bpf_xdp_mode { @@ -6389,6 +6551,7 @@ enum cons_flags { CON_EXTENDED = 64, CON_SUSPENDED = 128, CON_NBCON = 256, + CON_NBCON_ATOMIC_UNSAFE = 512, }; enum cpio_fields { @@ -6684,7 +6847,6 @@ enum dentry_flags { DCACHE_REFERENCED = 64, DCACHE_DONTCACHE = 128, DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, DCACHE_SHRINK_LIST = 1024, DCACHE_OP_WEAK_REVALIDATE = 2048, DCACHE_NFSFS_RENAMED = 4096, @@ -6707,6 +6869,7 @@ enum dentry_flags { DCACHE_PAR_LOOKUP = 16777216, DCACHE_DENTRY_CURSOR = 33554432, DCACHE_NORCU = 67108864, + DCACHE_PERSISTENT = 134217728, }; enum dev_dma_attr { @@ -7195,7 +7358,11 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, + ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121, + ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122, + ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123, + ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124, + __ETHTOOL_LINK_MODE_MASK_NBITS = 125, }; enum ethtool_mac_stats_src { @@ -7400,6 +7567,10 @@ enum fault_flag { FAULT_FLAG_VMA_LOCK = 4096, }; +enum fault_flags { + FAULT_NOWARN = 1, +}; + enum fbq_type { regular = 0, remote = 1, @@ -7904,6 +8075,33 @@ enum handle_to_path_flags { HANDLE_CHECK_SUBTREE = 2, }; +enum hash_algo { + HASH_ALGO_MD4 = 0, + HASH_ALGO_MD5 = 1, + HASH_ALGO_SHA1 = 2, + HASH_ALGO_RIPE_MD_160 = 3, + HASH_ALGO_SHA256 = 4, + HASH_ALGO_SHA384 = 5, + HASH_ALGO_SHA512 = 6, + HASH_ALGO_SHA224 = 7, + HASH_ALGO_RIPE_MD_128 = 8, + HASH_ALGO_RIPE_MD_256 = 9, + HASH_ALGO_RIPE_MD_320 = 10, + HASH_ALGO_WP_256 = 11, + HASH_ALGO_WP_384 = 12, + HASH_ALGO_WP_512 = 13, + HASH_ALGO_TGR_128 = 14, + HASH_ALGO_TGR_160 = 15, + HASH_ALGO_TGR_192 = 16, + HASH_ALGO_SM3_256 = 17, + HASH_ALGO_STREEBOG_256 = 18, + HASH_ALGO_STREEBOG_512 = 19, + HASH_ALGO_SHA3_256 = 20, + HASH_ALGO_SHA3_384 = 21, + HASH_ALGO_SHA3_512 = 22, + HASH_ALGO__LAST = 23, +}; + enum hash_pointers_policy { HASH_PTR_AUTO = 0, HASH_PTR_ALWAYS = 1, @@ -8038,6 +8236,18 @@ enum inet_csk_ack_state_t { ICSK_ACK_NOMEM = 32, }; +enum init_ns_id { + IPC_NS_INIT_ID = 1, + UTS_NS_INIT_ID = 2, + USER_NS_INIT_ID = 3, + PID_NS_INIT_ID = 4, + CGROUP_NS_INIT_ID = 5, + TIME_NS_INIT_ID = 6, + NET_NS_INIT_ID = 7, + MNT_NS_INIT_ID = 8, + NS_LAST_INIT_ID = 8, +}; + enum init_ns_ino { IPC_NS_INIT_INO = 4026531839, UTS_NS_INIT_INO = 4026531838, @@ -8065,7 +8275,7 @@ enum inode_state_bits { __I_LRU_ISOLATING = 2, }; -enum inode_state_flags_t { +enum inode_state_flags_enum { I_NEW = 1, I_SYNC = 2, I_LRU_ISOLATING = 4, @@ -8150,7 +8360,9 @@ enum io_uring_op { IORING_OP_READV_FIXED = 60, IORING_OP_WRITEV_FIXED = 61, IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, + IORING_OP_NOP128 = 63, + IORING_OP_URING_CMD128 = 64, + IORING_OP_LAST = 65, }; enum io_uring_register_op { @@ -8190,7 +8402,8 @@ enum io_uring_register_op { IORING_REGISTER_RESIZE_RINGS = 33, IORING_REGISTER_MEM_REGION = 34, IORING_REGISTER_QUERY = 35, - IORING_REGISTER_LAST = 36, + IORING_REGISTER_ZCRX_CTRL = 36, + IORING_REGISTER_LAST = 37, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, }; @@ -8341,7 +8554,8 @@ enum kernel_load_data_id { LOADING_KEXEC_INITRAMFS = 4, LOADING_POLICY = 5, LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, + LOADING_MODULE_COMPRESSED = 7, + LOADING_MAX_ID = 8, }; enum kernel_read_file_id { @@ -8352,7 +8566,36 @@ enum kernel_read_file_id { READING_KEXEC_INITRAMFS = 4, READING_POLICY = 5, READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, + READING_MODULE_COMPRESSED = 7, + READING_MAX_ID = 8, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, }; enum kfunc_ptr_arg_type { @@ -8534,6 +8777,23 @@ enum lruvec_flags { LRUVEC_NODE_CONGESTED = 1, }; +enum lsm_event { + LSM_POLICY_CHANGE = 0, + LSM_STARTED_ALL = 1, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + enum lw_bits { LW_URGENT = 0, }; @@ -8609,6 +8869,7 @@ enum mapping_flags { AS_INACCESSIBLE = 8, AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, AS_KERNEL_FILE = 10, + AS_NO_DATA_INTEGRITY = 11, AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 16, AS_FOLIO_ORDER_MAX = 21, @@ -8635,7 +8896,8 @@ enum memcg_memory_event { MEMCG_SWAP_HIGH = 6, MEMCG_SWAP_MAX = 7, MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, + MEMCG_SOCK_THROTTLED = 9, + MEMCG_NR_MEMORY_EVENTS = 10, }; enum memcg_stat_item { @@ -8654,6 +8916,15 @@ enum meminit_context { MEMINIT_HOTPLUG = 1, }; +enum memory_block_state { + MEM_ONLINE = 0, + MEM_GOING_OFFLINE = 1, + MEM_OFFLINE = 2, + MEM_GOING_ONLINE = 3, + MEM_CANCEL_ONLINE = 4, + MEM_CANCEL_OFFLINE = 5, +}; + enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_COHERENT = 2, @@ -8712,6 +8983,12 @@ enum mitigation_state { SPECTRE_VULNERABLE = 2, }; +enum mmap_action_type { + MMAP_NOTHING = 0, + MMAP_REMAP_PFN = 1, + MMAP_IO_REMAP_PFN = 2, +}; + enum mminit_level { MMINIT_WARNING = 0, MMINIT_VERIFY = 1, @@ -8861,12 +9138,12 @@ enum net_device_path_type { DEV_PATH_PPPOE = 3, DEV_PATH_DSA = 4, DEV_PATH_MTK_WDMA = 5, + DEV_PATH_TUN = 6, }; enum net_iov_type { - NET_IOV_DMABUF = 0ULL, - NET_IOV_IOURING = 1ULL, - NET_IOV_MAX = 18446744073709551615ULL, + NET_IOV_DMABUF = 0, + NET_IOV_IOURING = 1, }; enum netdev_cmd { @@ -8920,6 +9197,7 @@ enum netdev_ml_priv_type { enum netdev_napi_threaded { NETDEV_NAPI_THREADED_DISABLED = 0, NETDEV_NAPI_THREADED_ENABLED = 1, + NETDEV_NAPI_THREADED_BUSY_POLL = 2, }; enum netdev_offload_xstats_type { @@ -9213,6 +9491,17 @@ enum node_states { NR_NODE_STATES = 6, }; +enum ns_type { + TIME_NS = 128, + MNT_NS = 131072, + CGROUP_NS = 33554432, + UTS_NS = 67108864, + IPC_NS = 134217728, + USER_NS = 268435456, + PID_NS = 536870912, + NET_NS = 1073741824, +}; + enum offload_act_command { FLOW_ACT_REPLACE = 0, FLOW_ACT_DESTROY = 1, @@ -9390,6 +9679,7 @@ enum perf_callchain_context { PERF_CONTEXT_HV = 18446744073709551584ULL, PERF_CONTEXT_KERNEL = 18446744073709551488ULL, PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_USER_DEFERRED = 18446744073709550976ULL, PERF_CONTEXT_GUEST = 18446744073709549568ULL, PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, @@ -9516,7 +9806,8 @@ enum perf_event_type { PERF_RECORD_CGROUP = 19, PERF_RECORD_TEXT_POKE = 20, PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, + PERF_RECORD_CALLCHAIN_DEFERRED = 22, + PERF_RECORD_MAX = 23, }; enum perf_hw_cache_id { @@ -9613,9 +9904,8 @@ enum perf_type_id { }; enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, + PGDAT_WRITEBACK = 0, + PGDAT_RECLAIM_LOCKED = 1, }; enum pgt_entry { @@ -9640,6 +9930,15 @@ enum pgtable_type { TABLE_P4D = 3, }; +enum phy_mse_channel { + PHY_MSE_CHANNEL_A = 0, + PHY_MSE_CHANNEL_B = 1, + PHY_MSE_CHANNEL_C = 2, + PHY_MSE_CHANNEL_D = 3, + PHY_MSE_CHANNEL_WORST = 4, + PHY_MSE_CHANNEL_LINK = 5, +}; + enum phy_state { PHY_DOWN = 0, PHY_READY = 1, @@ -9672,6 +9971,11 @@ enum pid_type { PIDTYPE_MAX = 4, }; +enum pidfs_attr_mask_bits { + PIDFS_ATTR_BIT_EXIT = 0, + PIDFS_ATTR_BIT_COREDUMP = 1, +}; + enum pkt_hash_types { PKT_HASH_TYPE_NONE = 0, PKT_HASH_TYPE_L2 = 1, @@ -9715,6 +10019,25 @@ enum positive_aop_returns { AOP_TRUNCATED_PAGE = 524289, }; +enum power_supply_charge_behaviour { + POWER_SUPPLY_CHARGE_BEHAVIOUR_AUTO = 0, + POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE = 1, + POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE_AWAKE = 2, + POWER_SUPPLY_CHARGE_BEHAVIOUR_FORCE_DISCHARGE = 3, +}; + +enum power_supply_charge_type { + POWER_SUPPLY_CHARGE_TYPE_UNKNOWN = 0, + POWER_SUPPLY_CHARGE_TYPE_NONE = 1, + POWER_SUPPLY_CHARGE_TYPE_TRICKLE = 2, + POWER_SUPPLY_CHARGE_TYPE_FAST = 3, + POWER_SUPPLY_CHARGE_TYPE_STANDARD = 4, + POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE = 5, + POWER_SUPPLY_CHARGE_TYPE_CUSTOM = 6, + POWER_SUPPLY_CHARGE_TYPE_LONGLIFE = 7, + POWER_SUPPLY_CHARGE_TYPE_BYPASS = 8, +}; + enum power_supply_notifier_events { PSY_EVENT_PROP_CHANGED = 0, }; @@ -9817,12 +10140,32 @@ enum power_supply_type { POWER_SUPPLY_TYPE_WIRELESS = 12, }; +enum power_supply_usb_type { + POWER_SUPPLY_USB_TYPE_UNKNOWN = 0, + POWER_SUPPLY_USB_TYPE_SDP = 1, + POWER_SUPPLY_USB_TYPE_DCP = 2, + POWER_SUPPLY_USB_TYPE_CDP = 3, + POWER_SUPPLY_USB_TYPE_ACA = 4, + POWER_SUPPLY_USB_TYPE_C = 5, + POWER_SUPPLY_USB_TYPE_PD = 6, + POWER_SUPPLY_USB_TYPE_PD_DRP = 7, + POWER_SUPPLY_USB_TYPE_PD_PPS = 8, + POWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID = 9, +}; + enum ppi_reg { PPI_PENDING = 0, PPI_ACTIVE = 1, PPI_HM = 2, }; +enum preempt_wakeup_action { + PREEMPT_WAKEUP_NONE = 0, + PREEMPT_WAKEUP_SHORT = 1, + PREEMPT_WAKEUP_PICK = 2, + PREEMPT_WAKEUP_RESCHED = 3, +}; + enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, @@ -9868,15 +10211,16 @@ enum proc_cn_event { PROC_EVENT_EXIT = 2147483648, }; +enum pt_flags { + PT_kernel = 2, + PT_reserved = 13, +}; + enum ptrace_syscall_dir { PTRACE_SYSCALL_ENTER = 0, PTRACE_SYSCALL_EXIT = 1, }; -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, -}; - enum qdisc_state_t { __QDISC_STATE_SCHED = 0, __QDISC_STATE_DEACTIVATED = 1, @@ -9964,6 +10308,11 @@ enum resolve_mode { RESOLVE_STRUCT_OR_ARRAY = 2, }; +enum rht_lookup_freq { + RHT_LOOKUP_NORMAL = 0, + RHT_LOOKUP_LIKELY = 1, +}; + enum ring_buffer_flags { RB_FL_OVERWRITE = 1, }; @@ -10329,69 +10678,70 @@ enum skb_drop_reason { SKB_DROP_REASON_TC_EGRESS = 62, SKB_DROP_REASON_SECURITY_HOOK = 63, SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_PSP_INPUT = 125, - SKB_DROP_REASON_PSP_OUTPUT = 126, - SKB_DROP_REASON_MAX = 127, + SKB_DROP_REASON_QDISC_BURST_DROP = 65, + SKB_DROP_REASON_QDISC_OVERLIMIT = 66, + SKB_DROP_REASON_QDISC_CONGESTED = 67, + SKB_DROP_REASON_CAKE_FLOOD = 68, + SKB_DROP_REASON_FQ_BAND_LIMIT = 69, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 70, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 71, + SKB_DROP_REASON_CPU_BACKLOG = 72, + SKB_DROP_REASON_XDP = 73, + SKB_DROP_REASON_TC_INGRESS = 74, + SKB_DROP_REASON_UNHANDLED_PROTO = 75, + SKB_DROP_REASON_SKB_CSUM = 76, + SKB_DROP_REASON_SKB_GSO_SEG = 77, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 78, + SKB_DROP_REASON_DEV_HDR = 79, + SKB_DROP_REASON_DEV_READY = 80, + SKB_DROP_REASON_FULL_RING = 81, + SKB_DROP_REASON_NOMEM = 82, + SKB_DROP_REASON_HDR_TRUNC = 83, + SKB_DROP_REASON_TAP_FILTER = 84, + SKB_DROP_REASON_TAP_TXFILTER = 85, + SKB_DROP_REASON_ICMP_CSUM = 86, + SKB_DROP_REASON_INVALID_PROTO = 87, + SKB_DROP_REASON_IP_INADDRERRORS = 88, + SKB_DROP_REASON_IP_INNOROUTES = 89, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 90, + SKB_DROP_REASON_IP_INVALID_SOURCE = 91, + SKB_DROP_REASON_IP_LOCALNET = 92, + SKB_DROP_REASON_IP_INVALID_DEST = 93, + SKB_DROP_REASON_PKT_TOO_BIG = 94, + SKB_DROP_REASON_DUP_FRAG = 95, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 96, + SKB_DROP_REASON_FRAG_TOO_FAR = 97, + SKB_DROP_REASON_TCP_MINTTL = 98, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 99, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 100, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 102, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 103, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 104, + SKB_DROP_REASON_QUEUE_PURGE = 105, + SKB_DROP_REASON_TC_COOKIE_ERROR = 106, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 107, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 108, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 109, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 110, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 111, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 112, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 113, + SKB_DROP_REASON_NO_TX_TARGET = 114, + SKB_DROP_REASON_IP_TUNNEL_ECN = 115, + SKB_DROP_REASON_TUNNEL_TXINFO = 116, + SKB_DROP_REASON_LOCAL_MAC = 117, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 118, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 119, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 120, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 123, + SKB_DROP_REASON_PFMEMALLOC = 124, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 125, + SKB_DROP_REASON_PSP_INPUT = 126, + SKB_DROP_REASON_PSP_OUTPUT = 127, + SKB_DROP_REASON_MAX = 128, SKB_DROP_REASON_SUBSYS_MASK = 4294901760, }; @@ -10494,6 +10844,19 @@ enum socket_flags { SOCK_CUSTOM_SOCKOPT = 4, }; +enum softleaf_type { + SOFTLEAF_NONE = 0, + SOFTLEAF_SWAP = 1, + SOFTLEAF_MIGRATION_READ = 2, + SOFTLEAF_MIGRATION_READ_EXCLUSIVE = 3, + SOFTLEAF_MIGRATION_WRITE = 4, + SOFTLEAF_DEVICE_PRIVATE_READ = 5, + SOFTLEAF_DEVICE_PRIVATE_WRITE = 6, + SOFTLEAF_DEVICE_EXCLUSIVE = 7, + SOFTLEAF_HWPOISON = 8, + SOFTLEAF_MARKER = 9, +}; + enum special_kfunc_type { KF_bpf_obj_new_impl = 0, KF_bpf_obj_drop_impl = 1, @@ -10541,9 +10904,11 @@ enum special_kfunc_type { KF_bpf_res_spin_unlock = 43, KF_bpf_res_spin_lock_irqsave = 44, KF_bpf_res_spin_unlock_irqrestore = 45, - KF___bpf_trap = 46, - KF_bpf_task_work_schedule_signal_impl = 47, - KF_bpf_task_work_schedule_resume_impl = 48, + KF_bpf_dynptr_from_file = 46, + KF_bpf_dynptr_file_discard = 47, + KF___bpf_trap = 48, + KF_bpf_task_work_schedule_signal_impl = 49, + KF_bpf_task_work_schedule_resume_impl = 50, }; enum spectre_v4_policy { @@ -10552,6 +10917,13 @@ enum spectre_v4_policy { SPECTRE_V4_POLICY_MITIGATION_DISABLED = 2, }; +enum ss_state { + ss_done = 0, + ss_lock = 1, + ss_lock_irqsave = 2, + ss_lockless = 3, +}; + enum stat_item { ALLOC_PCS = 0, ALLOC_FASTPATH = 1, @@ -10859,6 +11231,7 @@ enum trace_iter_flags { TRACE_FILE_LAT_FMT = 1, TRACE_FILE_ANNOTATE = 2, TRACE_FILE_TIME_IN_NS = 4, + TRACE_FILE_PAUSE = 8, }; enum trace_iterator_bits { @@ -10896,40 +11269,6 @@ enum trace_iterator_bits { TRACE_ITER_LAST_BIT = 31, }; -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_FUNCTION = 134217728, - TRACE_ITER_FUNC_FORK = 268435456, - TRACE_ITER_DISPLAY_GRAPH = 536870912, - TRACE_ITER_STACKTRACE = 1073741824, -}; - enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, @@ -10966,6 +11305,11 @@ enum trace_type { __TRACE_LAST_TYPE = 21, }; +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + enum tsq_enum { TSQ_THROTTLED = 0, TSQ_QUEUED = 1, @@ -11111,12 +11455,6 @@ enum uprobe_task_state { UTASK_SSTEP_TRAPPED = 3, }; -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - enum uts_proc { UTS_PROC_ARCH = 0, UTS_PROC_OSTYPE = 1, @@ -11561,6 +11899,14 @@ enum vm_fault_reason { VM_FAULT_HINDEX_MASK = 983040, }; +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + enum vma_merge_state { VMA_MERGE_START = 0, VMA_MERGE_ERROR_NOMEM = 1, @@ -11882,12 +12228,16 @@ typedef __u128 u128; typedef u128 freelist_full_t; +typedef freelist_full_t pcp_op_T__; + typedef const char (* const ethnl_string_array_t)[32]; typedef int __kernel_clockid_t; typedef int __kernel_daddr_t; +typedef int __kernel_key_t; + typedef int __kernel_pid_t; typedef int __kernel_rwf_t; @@ -11916,6 +12266,8 @@ typedef int initcall_entry_t; typedef s32 int32_t; +typedef __kernel_key_t key_t; + typedef int mm_id_mapcount_t; typedef s32 old_time32_t; @@ -11932,6 +12284,8 @@ typedef int suspend_state_t; typedef const int tracepoint_ptr_t; +typedef int vma_flag_t; + typedef long int __kernel_long_t; typedef __kernel_long_t __kernel_clock_t; @@ -11990,6 +12344,8 @@ typedef __u64 __addrpair; typedef __u64 __be64; +typedef long long unsigned int __kernel_uoff_t; + typedef __u64 __le64; typedef __u64 u64; @@ -12030,6 +12386,8 @@ typedef __u64 timeu64_t; typedef u64 uint64_t; +typedef __kernel_uoff_t uoff_t; + typedef long unsigned int __kernel_ulong_t; typedef __kernel_ulong_t __kernel_size_t; @@ -12251,12 +12609,28 @@ typedef struct { unsigned int timeout; } cisco_proto; +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +struct task_struct; + +struct rq; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class___task_rq_lock_t; + typedef struct { void *lock; } class_cpus_read_lock_t; -struct rq; - typedef struct { struct rq *lock; struct rq *lock2; @@ -12279,6 +12653,12 @@ typedef struct { void *lock; } class_jump_label_lock_t; +struct user_fpsimd_state; + +typedef struct { + struct user_fpsimd_state *lock; +} class_ksimd_t; + typedef struct { void *lock; } class_mount_locked_reader_t; @@ -12301,6 +12681,14 @@ typedef struct { void *lock; } class_namespace_shared_t; +typedef struct { + void *lock; +} class_ns_tree_locked_reader_t; + +typedef struct { + void *lock; +} class_ns_tree_writer_t; + typedef struct { void *lock; } class_pagefault_t; @@ -12338,14 +12726,44 @@ typedef struct { void *lock; } class_rcu_tasks_trace_t; -struct pin_cookie {}; +struct qspinlock { + union { + atomic_t val; + struct { + u8 locked; + u8 pending; + }; + struct { + u16 locked_pending; + u16 tail; + }; + }; +}; -struct rq_flags { - long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; +typedef struct qspinlock arch_spinlock_t; + +struct qrwlock { + union { + atomic_t cnts; + struct { + u8 wlocked; + u8 __lstate[3]; + }; + }; + arch_spinlock_t wait_lock; }; +typedef struct qrwlock arch_rwlock_t; + +typedef struct { + arch_rwlock_t raw_lock; +} rwlock_t; + +typedef struct { + rwlock_t *lock; + long unsigned int flags; +} class_read_lock_irqsave_t; + typedef struct { struct rq *lock; struct rq_flags rf; @@ -12385,47 +12803,12 @@ typedef struct { int idx; } class_srcu_t; -struct task_struct; - typedef struct { struct task_struct *lock; struct rq *rq; struct rq_flags rf; } class_task_rq_lock_t; -struct qspinlock { - union { - atomic_t val; - struct { - u8 locked; - u8 pending; - }; - struct { - u16 locked_pending; - u16 tail; - }; - }; -}; - -typedef struct qspinlock arch_spinlock_t; - -struct qrwlock { - union { - atomic_t cnts; - struct { - u8 wlocked; - u8 __lstate[3]; - }; - }; - arch_spinlock_t wait_lock; -}; - -typedef struct qrwlock arch_rwlock_t; - -typedef struct { - arch_rwlock_t raw_lock; -} rwlock_t; - typedef struct { rwlock_t *lock; } class_write_lock_irq_t; @@ -12464,14 +12847,6 @@ typedef struct { char master[16]; } fr_proto_pvc_info; -typedef union { - struct { - void *freelist; - long unsigned int counter; - }; - freelist_full_t full; -} freelist_aba_t; - typedef struct { long unsigned int v; } freeptr_t; @@ -12660,15 +13035,17 @@ typedef struct { wait_queue_head_t wq; } socket_lock_t; +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef swp_entry_t softleaf_t; + typedef struct { char *from; char *to; } substring_t; -typedef struct { - long unsigned int val; -} swp_entry_t; - typedef struct { unsigned int clock_rate; unsigned int clock_type; @@ -12698,6 +13075,10 @@ typedef struct { uid_t val; } vfsuid_t; +typedef struct { + long unsigned int __vma_flags[1]; +} vma_flags_t; + typedef struct { short unsigned int dce; unsigned int modulo; @@ -12768,6 +13149,12 @@ struct gnet_stats_queue { __u32 overlimits; }; +struct llist_node; + +struct llist_head { + struct llist_node *first; +}; + struct callback_head { struct callback_head *next; void (*func)(struct callback_head *); @@ -12802,23 +13189,28 @@ struct Qdisc { long: 64; long: 64; long: 64; + __u8 __cacheline_group_begin__Qdisc_read_mostly[0]; struct sk_buff_head gso_skb; - struct qdisc_skb_head q; - struct gnet_stats_basic_sync bstats; - struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; struct Qdisc *next_sched; struct sk_buff_head skb_bad_txq; + __u8 __cacheline_group_end__Qdisc_read_mostly[0]; long: 64; + __u8 __cacheline_group_begin__Qdisc_write[0]; + struct qdisc_skb_head q; + long unsigned int state; + struct gnet_stats_basic_sync bstats; + bool running; + struct gnet_stats_queue qstats; + struct sk_buff *to_free; + __u8 __cacheline_group_end__Qdisc_write[0]; long: 64; long: 64; long: 64; long: 64; long: 64; long: 64; - spinlock_t busylock; + atomic_long_t defer_count; + struct llist_head defer_list; spinlock_t seqlock; struct callback_head rcu; netdevice_tracker dev_tracker; @@ -12826,8 +13218,6 @@ struct Qdisc { long: 64; long: 64; long: 64; - long: 64; - long: 64; long int privdata[0]; }; @@ -13163,6 +13553,14 @@ struct __sk_buff { __u64 hwtstamp; }; +union __u128_halves { + u128 full; + struct { + u64 low; + u64 high; + }; +}; + struct inode; struct __uprobe_key { @@ -13170,6 +13568,21 @@ struct __uprobe_key { loff_t offset; }; +struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +}; + +typedef struct __user_cap_data_struct *cap_user_data_t; + +struct __user_cap_header_struct { + __u32 version; + int pid; +}; + +typedef struct __user_cap_header_struct *cap_user_header_t; + struct __va_list { void *__stack; void *__gr_top; @@ -13676,6 +14089,9 @@ struct device_driver { const struct dev_pm_ops *pm; void (*coredump)(struct device *); struct driver_private *p; + struct { + void (*post_unbind_rust)(struct device *); + } p_cb; }; struct amba_id; @@ -14195,6 +14611,7 @@ struct arm_pmu { struct notifier_block cpu_pm_nb; const struct attribute_group *attr_groups[5]; int pmuver; + bool has_smt; u64 reg_pmmir; u64 reg_brbidr; long unsigned int pmceid_bitmap[1]; @@ -14231,13 +14648,7 @@ struct arphdr { struct sockaddr { sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; + char sa_data[14]; }; struct arpreq { @@ -14310,10 +14721,16 @@ struct bin_attribute; struct attribute_group { const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); + union { + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_visible_const)(struct kobject *, const struct attribute *, int); + }; umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; + union { + struct attribute **attrs; + const struct attribute * const *attrs_const; + }; const struct bin_attribute * const *bin_attrs; }; @@ -14440,6 +14857,7 @@ struct file { u64 f_pipe; }; loff_t f_pos; + void *f_security; errseq_t f_wb_err; errseq_t f_sb_err; union { @@ -14566,6 +14984,7 @@ struct bio { enum rw_hint bi_write_hint; u8 bi_write_stream; blk_status_t bi_status; + u8 bi_bvec_gap_bit; atomic_t __bi_remaining; struct bvec_iter bi_iter; union { @@ -14632,7 +15051,7 @@ struct blacklist_entry { char *buf; }; -struct blake2s_state { +struct blake2s_ctx { u32 h[8]; u32 t[2]; u32 f[2]; @@ -14673,19 +15092,6 @@ struct blk_integrity { struct blk_plug {}; -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - struct disk_stats; struct gendisk; @@ -14716,12 +15122,13 @@ struct block_device { struct mutex bd_fsfreeze_mutex; struct partition_meta_info *bd_meta_info; int bd_writers; + void *bd_security; struct device bd_device; }; struct hd_geometry; -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct blk_report_zones_args; struct pr_ops; @@ -14740,7 +15147,7 @@ struct block_device_operations { int (*set_read_only)(struct block_device *, bool); void (*free_disk)(struct gendisk *); void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, struct blk_report_zones_args *); char * (*devnode)(struct gendisk *, umode_t *); int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); struct module *owner; @@ -14786,6 +15193,7 @@ struct bpf_map { u8 sha[32]; const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; + void *security; enum bpf_map_type map_type; u32 key_size; u32 value_size; @@ -15942,6 +16350,8 @@ struct bpf_ctx_convert { void *BPF_PROG_TYPE_STRUCT_OPS_kern; void *BPF_PROG_TYPE_EXT_prog; void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; void *BPF_PROG_TYPE_SYSCALL_prog; void *BPF_PROG_TYPE_SYSCALL_kern; }; @@ -15970,6 +16380,8 @@ struct bpf_ksym { struct list_head lnode; struct latch_tree_node tnode; bool prog; + u32 fp_start; + u32 fp_end; }; struct bpf_dispatcher { @@ -16027,6 +16439,31 @@ struct bpf_dynptr { __u64 __opaque[2]; }; +struct freader { + void *buf; + u32 buf_sz; + int err; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + loff_t folio_off; + bool may_fault; + }; + struct { + const char *data; + u64 data_sz; + }; + }; +}; + +struct bpf_dynptr_file_impl { + struct freader freader; + u64 offset; + u64 size; +}; + struct bpf_dynptr_kern { void *data; u32 size; @@ -16323,7 +16760,6 @@ struct bpf_htab { long: 64; long: 64; long: 64; - long: 64; union { struct pcpu_freelist freelist; struct bpf_lru lru; @@ -16338,6 +16774,11 @@ struct bpf_htab { long: 64; }; +struct bpf_iarray { + int cnt; + u32 items[0]; +}; + struct bpf_id_pair { u32 old; u32 cur; @@ -16376,6 +16817,23 @@ struct bpf_insn_access_aux { bool is_retval; }; +struct bpf_insn_array_value { + __u32 orig_off; + __u32 xlated_off; + __u32 jitted_off; + long: 0; +}; + +struct bpf_insn_array { + struct bpf_map map; + atomic_t used; + long int *ips; + struct { + struct {} __empty_values; + struct bpf_insn_array_value values[0]; + }; +}; + struct bpf_map_ptr_state { struct bpf_map *map_ptr; bool poison; @@ -16416,6 +16874,7 @@ struct bpf_insn_aux_data { u64 obj_new_size; u64 insert_off; }; + struct bpf_iarray *jt; struct btf_struct_meta *kptr_struct_meta; u64 map_key_state; int ctx_field_size; @@ -16424,7 +16883,7 @@ struct bpf_insn_aux_data { bool nospec_result; bool zext_dst; bool needs_zext; - bool storage_get_func_atomic; + bool non_sleepable; bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; @@ -17184,6 +17643,7 @@ struct bpf_local_storage { void *owner; struct callback_head rcu; raw_spinlock_t lock; + bool use_kmalloc_nolock; }; struct bpf_local_storage_cache { @@ -17223,9 +17683,7 @@ struct bpf_local_storage_map { u32 bucket_log; u16 elem_size; u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; + bool use_kmalloc_nolock; }; struct bpf_local_storage_map_bucket { @@ -17348,10 +17806,6 @@ struct bpf_map_owner { enum bpf_attach_type expected_attach_type; }; -struct llist_head { - struct llist_node *first; -}; - struct rcuwait { struct task_struct *task; }; @@ -17626,6 +18080,7 @@ struct bpf_prog_aux { u32 ctx_arg_info_size; u32 max_rdonly_access; u32 max_rdwr_access; + u32 subprog_start; struct btf *attach_btf; struct bpf_ctx_arg_aux *ctx_arg_info; void *priv_stack_ptr; @@ -17677,6 +18132,7 @@ struct bpf_prog_aux { struct bpf_map *cgroup_storage[2]; char name[16]; u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; struct bpf_token *token; struct bpf_prog_offload *offload; struct btf *btf; @@ -17875,6 +18331,7 @@ struct bpf_ringbuf { u64 mask; struct page **pages; int nr_pages; + bool overwrite_mode; long: 64; long: 64; long: 64; @@ -18891,7 +19348,7 @@ struct bpf_ringbuf { long: 64; long unsigned int producer_pos; long unsigned int pending_pos; - long: 64; + long unsigned int overwrite_pos; long: 64; long: 64; long: 64; @@ -19432,7 +19889,7 @@ struct bpf_verifier_state { u32 active_irq_id; u32 active_lock_id; void *active_lock_ptr; - bool active_rcu_lock; + u32 active_rcu_locks; bool speculative; bool in_sleepable; bool cleaned; @@ -19509,12 +19966,14 @@ struct bpf_sk_storage_diag { }; struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; + unsigned int pkt_len; + u16 pkt_segs; + u16 tc_classid; unsigned char data[20]; + u16 slave_dev_queue_mapping; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; }; struct bpf_skb_data_end { @@ -19555,9 +20014,11 @@ struct bpf_sock_addr { }; }; +struct sockaddr_unsized; + struct bpf_sock_addr_kern { struct sock *sk; - struct sockaddr *uaddr; + struct sockaddr_unsized *uaddr; u64 tmp_reg; void *t_ctx; u32 uaddrlen; @@ -19611,6 +20072,10 @@ struct bpf_stack_state { u8 slot_type[8]; }; +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + struct bpf_stream_elem { struct llist_node node; int total_len; @@ -19618,12 +20083,6 @@ struct bpf_stream_elem { char str[0]; }; -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - struct bpf_stream_stage { struct llist_head log; int len; @@ -19716,7 +20175,6 @@ struct bpf_struct_ops_map { long: 64; long: 64; long: 64; - long: 64; struct bpf_struct_ops_value kvalue; }; @@ -19774,6 +20232,7 @@ struct bpf_subprog_info { u32 start; u32 linfo_idx; u32 postorder_start; + u32 exit_idx; u16 stack_depth; u16 stack_extra; s16 fastcall_stack_off; @@ -19787,8 +20246,8 @@ struct bpf_subprog_info { bool keep_fastcall_stack: 1; bool changes_pkt_data: 1; bool might_sleep: 1; + u8 arg_cnt: 3; enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -19891,6 +20350,7 @@ struct bpf_token { u64 allowed_maps; u64 allowed_progs; u64 allowed_attachs; + void *security; }; struct bpf_token_info { @@ -20152,8 +20612,10 @@ struct bpf_verifier_env { struct list_head free_list; struct bpf_map *used_maps[64]; struct btf_mod_pair used_btfs[64]; + struct bpf_map *insn_array_maps[64]; u32 used_map_cnt; u32 used_btf_cnt; + u32 insn_array_map_cnt; u32 id_gen; u32 hidden_subprog_cnt; int exception_callback_subprog; @@ -20209,6 +20671,8 @@ struct bpf_verifier_env { struct bpf_liveness *liveness; struct bpf_scc_info **scc_info; u32 scc_cnt; + struct bpf_iarray *succ; + struct bpf_iarray *gotox_tmp_buf; }; struct bpf_verifier_ops { @@ -20746,6 +21210,21 @@ struct bus_type { bool need_parent_lock; }; +struct cache_coherency_ops_inst; + +struct cc_inval_params; + +struct cache_coherency_ops { + int (*wbinv)(struct cache_coherency_ops_inst *, struct cc_inval_params *); + int (*done)(struct cache_coherency_ops_inst *); +}; + +struct cache_coherency_ops_inst { + struct kref kref; + struct list_head node; + const struct cache_coherency_ops *ops; +}; + struct cache_type_info { const char *size_prop; const char *line_size_props[2]; @@ -20797,6 +21276,11 @@ struct callchain_cpus_entries { struct perf_callchain_entry *cpu_entries[0]; }; +struct cc_inval_params { + phys_addr_t addr; + size_t size; +}; + struct cdev { struct kobject kobj; struct module *owner; @@ -20838,7 +21322,7 @@ struct cfs_rq { unsigned int h_nr_idle; s64 avg_vruntime; u64 avg_load; - u64 min_vruntime; + u64 zero_vruntime; struct rb_root_cached tasks_timeline; struct sched_entity *curr; struct sched_entity *next; @@ -20865,6 +21349,25 @@ struct cgroup__safe_rcu { struct kernfs_node *kn; }; +struct ns_tree_node { + struct rb_node ns_node; + struct list_head ns_list_entry; +}; + +struct ns_tree_root { + struct rb_root ns_rb; + struct list_head ns_list_head; +}; + +struct ns_tree { + u64 ns_id; + atomic_t __ns_ref_active; + struct ns_tree_node ns_unified_node; + struct ns_tree_node ns_tree_node; + struct ns_tree_node ns_owner_node; + struct ns_tree_root ns_owner_root; +}; + struct proc_ns_operations; struct ns_common { @@ -20874,11 +21377,7 @@ struct ns_common { unsigned int inum; refcount_t __ns_ref; union { - struct { - u64 ns_id; - struct rb_node ns_tree_node; - struct list_head ns_list_node; - }; + struct ns_tree; struct callback_head ns_rcu; }; }; @@ -21259,6 +21758,7 @@ struct srcu_data; struct srcu_struct { struct srcu_ctr *srcu_ctrp; struct srcu_data *sda; + u8 srcu_reader_flavor; struct lockdep_map dep_map; struct srcu_usage *srcu_sup; }; @@ -21800,8 +22300,6 @@ struct cpu_fbatches { struct folio_batch lru_move_tail; }; -struct user_fpsimd_state; - struct cpu_fp_state { struct user_fpsimd_state *st; void *sve_state; @@ -21832,6 +22330,21 @@ struct cpu_operations { void (*cpu_postboot)(void); }; +struct cpu_rmap { + struct kref refcount; + u16 size; + void **obj; + struct { + u16 index; + u16 dist; + } near[0]; +}; + +struct cpu_smt_info { + unsigned int thread_num; + int core_id; +}; + struct cpu_stop_done { atomic_t nr_todo; int ret; @@ -22173,6 +22686,7 @@ struct cred { kernel_cap_t cap_effective; kernel_cap_t cap_bset; kernel_cap_t cap_ambient; + void *security; struct user_struct *user; struct user_namespace *user_ns; struct ucounts *ucounts; @@ -22385,6 +22899,14 @@ struct delayed_uprobe { struct mm_struct *mm; }; +struct delegated_inode {}; + +struct delegation { + __u32 d_flags; + __u16 d_type; + __u16 __pad; +}; + struct hlist_bl_node { struct hlist_bl_node *next; struct hlist_bl_node **pprev; @@ -22503,7 +23025,6 @@ struct vmem_altmap { long unsigned int free; long unsigned int align; long unsigned int alloc; - bool inaccessible; }; struct range { @@ -22535,9 +23056,10 @@ struct dev_pagemap { struct vm_fault; struct dev_pagemap_ops { - void (*page_free)(struct page *); + void (*folio_free)(struct folio *); vm_fault_t (*migrate_to_ram)(struct vm_fault *); int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); + void (*folio_split)(struct folio *, struct folio *); }; struct dev_pm_ops { @@ -22669,6 +23191,7 @@ struct device_node { struct device_node *parent; struct device_node *child; struct device_node *sibling; + struct kobject kobj; long unsigned int _flags; void *data; }; @@ -22938,6 +23461,7 @@ struct dir_context { filldir_t actor; loff_t pos; int count; + unsigned int dt_flags_mask; }; struct dirty_throttle_control { @@ -23009,12 +23533,10 @@ struct dma_map_ops { void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_phys)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_phys)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); @@ -23062,6 +23584,29 @@ struct dmabuf_token { __u32 token_count; }; +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + long: 64; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; +}; + struct kqid { union { kuid_t uid; @@ -23437,6 +23982,8 @@ struct em_perf_table; struct em_perf_domain { struct em_perf_table *em_table; + struct list_head node; + int id; int nr_perf_states; int min_perf_state; int max_perf_state; @@ -24588,7 +25135,7 @@ struct ethtool_wolinfo { struct event_trigger_data; -struct event_trigger_ops; +struct ring_buffer_event; struct event_command { struct list_head list; @@ -24600,7 +25147,11 @@ struct event_command { void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); void (*unreg_all)(struct trace_event_file *); int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + bool (*count_func)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); }; struct event_file_link { @@ -24668,7 +25219,6 @@ struct event_trigger_data { long unsigned int count; int ref; int flags; - const struct event_trigger_ops *ops; struct event_command *cmd_ops; struct event_filter *filter; char *filter_str; @@ -24679,15 +25229,7 @@ struct event_trigger_data { char *name; struct list_head named_list; struct event_trigger_data *named_data; -}; - -struct ring_buffer_event; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); + struct llist_node llist; }; struct eventfs_attr { @@ -24824,6 +25366,8 @@ struct fasync_struct { struct callback_head fa_rcu; }; +struct fault_attr {}; + struct fault_info { int (*fn)(long unsigned int, long unsigned int, struct pt_regs *); int sig; @@ -24865,6 +25409,14 @@ typedef struct fd class_fd_raw_t; typedef struct fd class_fd_t; +struct fd_prepare { + s32 err; + s32 __fd; + struct file *__file; +}; + +typedef struct fd_prepare class_fd_prepare_t; + struct fd_range { unsigned int from; unsigned int to; @@ -24991,8 +25543,8 @@ struct fgraph_cpu_data { struct ftrace_graph_ent { long unsigned int func; - int depth; -} __attribute__((packed)); + long int depth; +}; struct ftrace_graph_ent_entry { struct trace_entry ent; @@ -25005,6 +25557,11 @@ struct fgraph_ent_args { long unsigned int args[6]; }; +struct fgraph_retaddr_ent_args { + struct ftrace_graph_ent_entry ent; + long unsigned int args[6]; +}; + struct ftrace_graph_ret { long unsigned int func; int depth; @@ -25022,7 +25579,7 @@ struct fgraph_data { struct fgraph_cpu_data *cpu_data; union { struct fgraph_ent_args ent; - struct ftrace_graph_ent_entry rent; + struct fgraph_retaddr_ent_args rent; }; struct ftrace_graph_ret_entry ret; int failed; @@ -26607,8 +27164,13 @@ struct fprobe_addr_list { long unsigned int *addrs; }; +struct rhlist_head { + struct rhash_head rhead; + struct rhlist_head *next; +}; + struct fprobe_hlist_node { - struct hlist_node hlist; + struct rhlist_head hlist; long unsigned int addr; struct fprobe *fp; }; @@ -26752,28 +27314,36 @@ struct frame_tail { long unsigned int lr; }; -struct freader { - void *buf; - u32 buf_sz; - int err; +struct free_area { + struct list_head free_list[4]; + long unsigned int nr_free; +}; + +struct freelist_counters { union { struct { - struct file *file; - struct folio *folio; - void *addr; - loff_t folio_off; - bool may_fault; - }; - struct { - const char *data; - u64 data_sz; + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; }; + freelist_full_t freelist_counters; }; }; -struct free_area { - struct list_head free_list[4]; - long unsigned int nr_free; +struct freelist_tid { + union { + struct { + void *freelist; + long unsigned int tid; + }; + freelist_full_t freelist_tid; + }; }; struct fregs_offset { @@ -27513,16 +28083,6 @@ union gic_base { void **percpu_base; }; -struct gic_chip_data { - union gic_base dist_base; - union gic_base cpu_base; - void *raw_dist_base; - void *raw_cpu_base; - u32 percpu_offset; - struct irq_domain *domain; - unsigned int gic_irqs; -}; - struct rdists { struct { raw_spinlock_t rd_lock; @@ -27547,9 +28107,9 @@ struct rdists { struct redist_region; -struct partition_desc; +struct partition_affinity; -struct gic_chip_data___2 { +struct gic_chip_data { struct fwnode_handle *fwnode; phys_addr_t dist_phys_base; void *dist_base; @@ -27561,12 +28121,24 @@ struct gic_chip_data___2 { u64 flags; bool has_rss; unsigned int ppi_nr; - struct partition_desc **ppi_descs; + struct partition_affinity *parts; + unsigned int nr_parts; +}; + +struct gic_chip_data___2 { + union gic_base dist_base; + union gic_base cpu_base; + void *raw_dist_base; + void *raw_cpu_base; + u32 percpu_offset; + struct irq_domain *domain; + unsigned int gic_irqs; }; struct gic_kvm_info { enum gic_type type; struct resource vcpu; + void *gicc_base; unsigned int maint_irq; bool no_maint_irq_mask; struct resource vctrl; @@ -27733,8 +28305,8 @@ struct irq_affinity_notify { struct napi_config; struct napi_struct { - struct list_head poll_list; long unsigned int state; + struct list_head poll_list; int weight; u32 defer_hard_irqs_count; int (*poll)(struct napi_struct *, int); @@ -27971,11 +28543,6 @@ struct hw_perf_event_extra { int idx; }; -struct rhlist_head { - struct rhash_head rhead; - struct rhlist_head *next; -}; - struct hw_perf_event { union { struct { @@ -28102,6 +28669,12 @@ struct icmp6_err { int fatal; }; +struct icmp6_ext_iio_addr6_subobj { + __be16 afi; + __be16 reserved; + struct in6_addr addr6; +}; + struct icmp6_filter { __u32 data[8]; }; @@ -28246,6 +28819,17 @@ struct icmp_ext_hdr { __sum16 checksum; }; +struct icmp_ext_iio_addr4_subobj { + __be16 afi; + __be16 reserved; + __be32 addr4; +}; + +struct icmp_ext_iio_name_subobj { + u8 len; + char name[16]; +}; + struct icmp_filter { __u32 data; }; @@ -28931,6 +29515,7 @@ struct sock_common { unsigned char skc_reuseport: 1; unsigned char skc_ipv6only: 1; unsigned char skc_net_refcnt: 1; + unsigned char skc_bypass_prot_mem: 1; int skc_bound_dev_if; union { struct hlist_node skc_bind_node; @@ -29040,15 +29625,20 @@ struct sock { struct rb_root tcp_rtx_queue; }; struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; struct page_frag sk_frag; - struct timer_list sk_timer; + union { + struct timer_list sk_timer; + struct timer_list tcp_retransmit_timer; + struct timer_list mptcp_retransmit_timer; + }; long unsigned int sk_pacing_rate; atomic_t sk_zckey; atomic_t sk_tskey; + long unsigned int sk_tx_queue_mapping_jiffies; __u8 __cacheline_group_end__sock_write_tx[0]; __u8 __cacheline_group_begin__sock_read_tx[0]; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; long unsigned int sk_max_pacing_rate; long int sk_sndtimeo; u32 sk_priority; @@ -29101,6 +29691,7 @@ struct sock { u8 sk_txtime_unused: 6; u8 sk_bpf_cb_flags; void *sk_user_data; + void *sk_security; struct sock_cgroup_data sk_cgrp_data; void (*sk_state_change)(struct sock *); void (*sk_write_space)(struct sock *); @@ -29139,11 +29730,14 @@ struct inet_cork_full { struct ipv6_pinfo; +struct ipv6_fl_socklist; + struct ip_mc_socklist; struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; + struct ipv6_fl_socklist *ipv6_fl_list; long unsigned int inet_flags; __be32 inet_saddr; __s16 uc_ttl; @@ -29184,8 +29778,11 @@ struct inet_connection_sock { struct request_sock_queue icsk_accept_queue; struct inet_bind_bucket *icsk_bind_hash; struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; struct timer_list icsk_delack_timer; + union { + struct timer_list icsk_keepalive_timer; + struct timer_list mptcp_tout_timer; + }; __u32 icsk_rto; __u32 icsk_rto_min; u32 icsk_rto_max; @@ -29541,17 +30138,22 @@ struct inet_timewait_sock { struct inet_bind2_bucket *tw_tb2; }; +struct inode_state_flags { + enum inode_state_flags_enum __state; +}; + struct inode_operations; struct inode { umode_t i_mode; short unsigned int i_opflags; + unsigned int i_flags; kuid_t i_uid; kgid_t i_gid; - unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping; + void *i_security; long unsigned int i_ino; union { const unsigned int i_nlink; @@ -29571,7 +30173,7 @@ struct inode { u8 i_blkbits; enum rw_hint i_write_hint; blkcnt_t i_blocks; - enum inode_state_flags_t i_state; + struct inode_state_flags i_state; struct rw_semaphore i_rwsem; long unsigned int dirtied_when; long unsigned int dirtied_time_when; @@ -30332,7 +30934,7 @@ struct ipv6_ac_socklist { struct udp_table; struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + int (*inet6_bind)(struct sock *, struct sockaddr_unsized *, int, u32); struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); @@ -30411,7 +31013,6 @@ struct ipv6_pinfo { struct inet6_cork cork; struct ipv6_mc_socklist *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; }; struct ipv6_rpl_sr_hdr { @@ -30673,7 +31274,6 @@ struct irq_desc { int threads_handled_last; raw_spinlock_t lock; struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; const struct cpumask *affinity_hint; struct irq_affinity_notify *affinity_notify; long unsigned int threads_oneshot; @@ -30692,6 +31292,7 @@ struct irq_desc { long: 64; long: 64; long: 64; + long: 64; }; struct irq_desc_devres { @@ -30776,6 +31377,8 @@ struct irq_domain_info { struct irq_fwspec; +struct irq_fwspec_info; + struct irq_domain_ops { int (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token); int (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token); @@ -30787,6 +31390,7 @@ struct irq_domain_ops { int (*activate)(struct irq_domain *, struct irq_data *, bool); void (*deactivate)(struct irq_domain *, struct irq_data *); int (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *); + int (*get_fwspec_info)(struct irq_fwspec *, struct irq_fwspec_info *); }; struct irq_fwspec { @@ -30795,12 +31399,26 @@ struct irq_fwspec { u32 param[16]; }; +struct irq_fwspec_info { + long unsigned int flags; + const struct cpumask *affinity; +}; + +struct irq_glue { + struct irq_affinity_notify notify; + struct cpu_rmap *rmap; + u16 index; +}; + typedef irqreturn_t (*irq_handler_t)(int, void *); struct irqaction { irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; + union { + void *dev_id; + void *percpu_dev_id; + }; + const struct cpumask *affinity; struct irqaction *next; irq_handler_t thread_fn; struct task_struct *thread; @@ -31102,6 +31720,28 @@ struct kallsyms_data { struct kcsan_scoped_access {}; +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + struct kernel_clone_args { u64 flags; int *pidfd; @@ -31226,10 +31866,10 @@ struct kernel_xattr_ctx { unsigned int flags; }; -struct kernfs_open_node; - struct kernfs_ops; +struct kernfs_open_node; + struct kernfs_elem_attr { const struct kernfs_ops *ops; struct kernfs_open_node *open; @@ -31250,7 +31890,32 @@ struct kernfs_elem_symlink { struct kernfs_node *target_kn; }; -struct kernfs_iattrs; +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[1024]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; +}; struct kernfs_node { atomic_t count; @@ -31291,6 +31956,15 @@ struct kernfs_open_file { const struct vm_operations_struct *vm_ops; }; +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + struct kernfs_ops { int (*open)(struct kernfs_open_file *); void (*release)(struct kernfs_open_file *); @@ -31307,6 +31981,40 @@ struct kernfs_ops { loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); }; +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + struct key_vector { t_key key; unsigned char pos; @@ -31331,10 +32039,7 @@ struct kiocb { int ki_flags; u16 ki_ioprio; u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; + struct wait_page_queue *ki_waitq; }; struct klist_waiter { @@ -31355,6 +32060,17 @@ struct klistmount { struct path root; }; +struct klistns { + u64 *uns_ids; + u32 nr_ns_ids; + u64 last_ns_id; + u64 user_ns_id; + u32 ns_type; + struct user_namespace *user_ns; + bool userns_capable; + struct ns_common *first_ns; +}; + struct kmalloc_info_struct { const char *name[1]; unsigned int size; @@ -31379,11 +32095,15 @@ struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct slub_percpu_sheaves; struct kmem_cache_node; struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + struct lock_class_key lock_key; struct slub_percpu_sheaves *cpu_sheaves; slab_flags_t flags; long unsigned int min_partial; @@ -31402,6 +32122,7 @@ struct kmem_cache { unsigned int red_left_pad; const char *name; struct list_head list; + struct kobject kobj; struct kmem_cache_node *node[1]; }; @@ -31415,6 +32136,12 @@ struct kmem_cache_args { unsigned int sheaf_capacity; }; +struct kmem_cache_cpu { + struct freelist_tid; + struct slab *slab; + local_trylock_t lock; +}; + union kmem_cache_iter_priv { struct bpf_iter_kmem_cache it; struct bpf_iter_kmem_cache_kern kit; @@ -31879,6 +32606,7 @@ struct lease_manager_operations { int (*lm_change)(struct file_lease *, int, struct list_head *); void (*lm_setup)(struct file_lease *, void **); bool (*lm_breaker_owns_lease)(struct file_lease *); + int (*lm_open_conflict)(struct file *, int); }; struct legacy_fs_context { @@ -32133,12 +32861,286 @@ struct lruvec { struct zswap_lruvec_state zswap_lruvec_state; }; +struct lsm_blob_sizes { + unsigned int lbs_cred; + unsigned int lbs_file; + unsigned int lbs_ib; + unsigned int lbs_inode; + unsigned int lbs_sock; + unsigned int lbs_superblock; + unsigned int lbs_ipc; + unsigned int lbs_key; + unsigned int lbs_msg_msg; + unsigned int lbs_perf_event; + unsigned int lbs_task; + unsigned int lbs_xattr_count; + unsigned int lbs_tun_dev; + unsigned int lbs_bdev; + unsigned int lbs_bpf_map; + unsigned int lbs_bpf_prog; + unsigned int lbs_bpf_token; +}; + struct lsm_context { char *context; u32 len; int id; }; +struct lsm_ctx { + __u64 id; + __u64 flags; + __u64 len; + __u64 ctx_len; + __u8 ctx[0]; +}; + +struct lsm_id { + const char *name; + u64 id; +}; + +struct lsm_info { + const struct lsm_id *id; + enum lsm_order order; + long unsigned int flags; + struct lsm_blob_sizes *blobs; + int *enabled; + int (*init)(void); + int (*initcall_pure)(void); + int (*initcall_early)(void); + int (*initcall_core)(void); + int (*initcall_subsys)(void); + int (*initcall_fs)(void); + int (*initcall_device)(void); + int (*initcall_late)(void); +}; + +struct lsm_prop_selinux {}; + +struct lsm_prop_smack {}; + +struct lsm_prop_apparmor {}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct static_call_key; + +struct security_hook_list; + +struct static_key_false; + +struct lsm_static_call { + struct static_call_key *key; + void *trampoline; + struct security_hook_list *hl; + struct static_key_false *active; +}; + +struct lsm_static_calls_table { + struct lsm_static_call binder_set_context_mgr[2]; + struct lsm_static_call binder_transaction[2]; + struct lsm_static_call binder_transfer_binder[2]; + struct lsm_static_call binder_transfer_file[2]; + struct lsm_static_call ptrace_access_check[2]; + struct lsm_static_call ptrace_traceme[2]; + struct lsm_static_call capget[2]; + struct lsm_static_call capset[2]; + struct lsm_static_call capable[2]; + struct lsm_static_call quotactl[2]; + struct lsm_static_call quota_on[2]; + struct lsm_static_call syslog[2]; + struct lsm_static_call settime[2]; + struct lsm_static_call vm_enough_memory[2]; + struct lsm_static_call bprm_creds_for_exec[2]; + struct lsm_static_call bprm_creds_from_file[2]; + struct lsm_static_call bprm_check_security[2]; + struct lsm_static_call bprm_committing_creds[2]; + struct lsm_static_call bprm_committed_creds[2]; + struct lsm_static_call fs_context_submount[2]; + struct lsm_static_call fs_context_dup[2]; + struct lsm_static_call fs_context_parse_param[2]; + struct lsm_static_call sb_alloc_security[2]; + struct lsm_static_call sb_delete[2]; + struct lsm_static_call sb_free_security[2]; + struct lsm_static_call sb_free_mnt_opts[2]; + struct lsm_static_call sb_eat_lsm_opts[2]; + struct lsm_static_call sb_mnt_opts_compat[2]; + struct lsm_static_call sb_remount[2]; + struct lsm_static_call sb_kern_mount[2]; + struct lsm_static_call sb_show_options[2]; + struct lsm_static_call sb_statfs[2]; + struct lsm_static_call sb_mount[2]; + struct lsm_static_call sb_umount[2]; + struct lsm_static_call sb_pivotroot[2]; + struct lsm_static_call sb_set_mnt_opts[2]; + struct lsm_static_call sb_clone_mnt_opts[2]; + struct lsm_static_call move_mount[2]; + struct lsm_static_call dentry_init_security[2]; + struct lsm_static_call dentry_create_files_as[2]; + struct lsm_static_call path_notify[2]; + struct lsm_static_call inode_alloc_security[2]; + struct lsm_static_call inode_free_security[2]; + struct lsm_static_call inode_free_security_rcu[2]; + struct lsm_static_call inode_init_security[2]; + struct lsm_static_call inode_init_security_anon[2]; + struct lsm_static_call inode_create[2]; + struct lsm_static_call inode_post_create_tmpfile[2]; + struct lsm_static_call inode_link[2]; + struct lsm_static_call inode_unlink[2]; + struct lsm_static_call inode_symlink[2]; + struct lsm_static_call inode_mkdir[2]; + struct lsm_static_call inode_rmdir[2]; + struct lsm_static_call inode_mknod[2]; + struct lsm_static_call inode_rename[2]; + struct lsm_static_call inode_readlink[2]; + struct lsm_static_call inode_follow_link[2]; + struct lsm_static_call inode_permission[2]; + struct lsm_static_call inode_setattr[2]; + struct lsm_static_call inode_post_setattr[2]; + struct lsm_static_call inode_getattr[2]; + struct lsm_static_call inode_xattr_skipcap[2]; + struct lsm_static_call inode_setxattr[2]; + struct lsm_static_call inode_post_setxattr[2]; + struct lsm_static_call inode_getxattr[2]; + struct lsm_static_call inode_listxattr[2]; + struct lsm_static_call inode_removexattr[2]; + struct lsm_static_call inode_post_removexattr[2]; + struct lsm_static_call inode_file_setattr[2]; + struct lsm_static_call inode_file_getattr[2]; + struct lsm_static_call inode_set_acl[2]; + struct lsm_static_call inode_post_set_acl[2]; + struct lsm_static_call inode_get_acl[2]; + struct lsm_static_call inode_remove_acl[2]; + struct lsm_static_call inode_post_remove_acl[2]; + struct lsm_static_call inode_need_killpriv[2]; + struct lsm_static_call inode_killpriv[2]; + struct lsm_static_call inode_getsecurity[2]; + struct lsm_static_call inode_setsecurity[2]; + struct lsm_static_call inode_listsecurity[2]; + struct lsm_static_call inode_getlsmprop[2]; + struct lsm_static_call inode_copy_up[2]; + struct lsm_static_call inode_copy_up_xattr[2]; + struct lsm_static_call inode_setintegrity[2]; + struct lsm_static_call kernfs_init_security[2]; + struct lsm_static_call file_permission[2]; + struct lsm_static_call file_alloc_security[2]; + struct lsm_static_call file_release[2]; + struct lsm_static_call file_free_security[2]; + struct lsm_static_call file_ioctl[2]; + struct lsm_static_call file_ioctl_compat[2]; + struct lsm_static_call mmap_addr[2]; + struct lsm_static_call mmap_file[2]; + struct lsm_static_call file_mprotect[2]; + struct lsm_static_call file_lock[2]; + struct lsm_static_call file_fcntl[2]; + struct lsm_static_call file_set_fowner[2]; + struct lsm_static_call file_send_sigiotask[2]; + struct lsm_static_call file_receive[2]; + struct lsm_static_call file_open[2]; + struct lsm_static_call file_post_open[2]; + struct lsm_static_call file_truncate[2]; + struct lsm_static_call task_alloc[2]; + struct lsm_static_call task_free[2]; + struct lsm_static_call cred_alloc_blank[2]; + struct lsm_static_call cred_free[2]; + struct lsm_static_call cred_prepare[2]; + struct lsm_static_call cred_transfer[2]; + struct lsm_static_call cred_getsecid[2]; + struct lsm_static_call cred_getlsmprop[2]; + struct lsm_static_call kernel_act_as[2]; + struct lsm_static_call kernel_create_files_as[2]; + struct lsm_static_call kernel_module_request[2]; + struct lsm_static_call kernel_load_data[2]; + struct lsm_static_call kernel_post_load_data[2]; + struct lsm_static_call kernel_read_file[2]; + struct lsm_static_call kernel_post_read_file[2]; + struct lsm_static_call task_fix_setuid[2]; + struct lsm_static_call task_fix_setgid[2]; + struct lsm_static_call task_fix_setgroups[2]; + struct lsm_static_call task_setpgid[2]; + struct lsm_static_call task_getpgid[2]; + struct lsm_static_call task_getsid[2]; + struct lsm_static_call current_getlsmprop_subj[2]; + struct lsm_static_call task_getlsmprop_obj[2]; + struct lsm_static_call task_setnice[2]; + struct lsm_static_call task_setioprio[2]; + struct lsm_static_call task_getioprio[2]; + struct lsm_static_call task_prlimit[2]; + struct lsm_static_call task_setrlimit[2]; + struct lsm_static_call task_setscheduler[2]; + struct lsm_static_call task_getscheduler[2]; + struct lsm_static_call task_movememory[2]; + struct lsm_static_call task_kill[2]; + struct lsm_static_call task_prctl[2]; + struct lsm_static_call task_to_inode[2]; + struct lsm_static_call userns_create[2]; + struct lsm_static_call ipc_permission[2]; + struct lsm_static_call ipc_getlsmprop[2]; + struct lsm_static_call msg_msg_alloc_security[2]; + struct lsm_static_call msg_msg_free_security[2]; + struct lsm_static_call msg_queue_alloc_security[2]; + struct lsm_static_call msg_queue_free_security[2]; + struct lsm_static_call msg_queue_associate[2]; + struct lsm_static_call msg_queue_msgctl[2]; + struct lsm_static_call msg_queue_msgsnd[2]; + struct lsm_static_call msg_queue_msgrcv[2]; + struct lsm_static_call shm_alloc_security[2]; + struct lsm_static_call shm_free_security[2]; + struct lsm_static_call shm_associate[2]; + struct lsm_static_call shm_shmctl[2]; + struct lsm_static_call shm_shmat[2]; + struct lsm_static_call sem_alloc_security[2]; + struct lsm_static_call sem_free_security[2]; + struct lsm_static_call sem_associate[2]; + struct lsm_static_call sem_semctl[2]; + struct lsm_static_call sem_semop[2]; + struct lsm_static_call netlink_send[2]; + struct lsm_static_call d_instantiate[2]; + struct lsm_static_call getselfattr[2]; + struct lsm_static_call setselfattr[2]; + struct lsm_static_call getprocattr[2]; + struct lsm_static_call setprocattr[2]; + struct lsm_static_call ismaclabel[2]; + struct lsm_static_call secid_to_secctx[2]; + struct lsm_static_call lsmprop_to_secctx[2]; + struct lsm_static_call secctx_to_secid[2]; + struct lsm_static_call release_secctx[2]; + struct lsm_static_call inode_invalidate_secctx[2]; + struct lsm_static_call inode_notifysecctx[2]; + struct lsm_static_call inode_setsecctx[2]; + struct lsm_static_call inode_getsecctx[2]; + struct lsm_static_call bpf[2]; + struct lsm_static_call bpf_map[2]; + struct lsm_static_call bpf_prog[2]; + struct lsm_static_call bpf_map_create[2]; + struct lsm_static_call bpf_map_free[2]; + struct lsm_static_call bpf_prog_load[2]; + struct lsm_static_call bpf_prog_free[2]; + struct lsm_static_call bpf_token_create[2]; + struct lsm_static_call bpf_token_free[2]; + struct lsm_static_call bpf_token_cmd[2]; + struct lsm_static_call bpf_token_capable[2]; + struct lsm_static_call locked_down[2]; + struct lsm_static_call perf_event_open[2]; + struct lsm_static_call perf_event_alloc[2]; + struct lsm_static_call perf_event_read[2]; + struct lsm_static_call perf_event_write[2]; + struct lsm_static_call initramfs_populated[2]; + struct lsm_static_call bdev_alloc_security[2]; + struct lsm_static_call bdev_free_security[2]; + struct lsm_static_call bdev_setintegrity[2]; +}; + struct lwq { spinlock_t lock; struct llist_node *ready; @@ -32496,7 +33498,8 @@ struct mii_bus { struct mii_timestamper { bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_set)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_get)(struct mii_timestamper *, struct kernel_hwtstamp_config *); void (*link_state)(struct mii_timestamper *, struct phy_device *); int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; @@ -32587,6 +33590,8 @@ struct mlock_fbatch { struct folio_batch fbatch; }; +struct mm_mm_cid {}; + struct mm_reply_data { struct ethnl_reply_data base; struct ethtool_mm_state state; @@ -32617,6 +33622,7 @@ struct mm_struct { long unsigned int task_size; pgd_t *pgd; atomic_t mm_users; + struct mm_mm_cid mm_cid; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; @@ -32662,7 +33668,7 @@ struct mm_struct { long: 64; long: 64; }; - long unsigned int cpu_bitmap[0]; + char flexible_array[0]; }; struct mm_struct__safe_rcu_or_null { @@ -32696,6 +33702,21 @@ struct mm_walk_ops { enum page_walk_lock walk_lock; }; +struct mmap_action { + union { + struct { + long unsigned int start; + long unsigned int start_pfn; + long unsigned int size; + pgprot_t pgprot; + } remap; + }; + enum mmap_action_type type; + int (*success_hook)(const struct vm_area_struct *); + int (*error_hook)(int); + bool hide_from_rmap_until_complete: 1; +}; + struct vma_munmap_struct { struct vma_iterator *vmi; struct vm_area_struct *vma; @@ -32735,7 +33756,9 @@ struct mmap_state { struct vma_munmap_struct vms; struct ma_state mas_detach; struct maple_tree mt_detach; - bool check_ksm_early; + bool check_ksm_early: 1; + bool hold_file_rmap_lock: 1; + bool file_doesnt_need_get: 1; }; struct mmap_unlock_irq_work { @@ -32790,6 +33813,8 @@ struct mmu_gather { unsigned int vma_exec: 1; unsigned int vma_huge: 1; unsigned int vma_pfn: 1; + unsigned int unshared_tables: 1; + unsigned int fully_unshared_tables: 1; unsigned int batch_count; struct mmu_gather_batch *active; struct mmu_gather_batch local; @@ -32858,6 +33883,7 @@ struct mnt_namespace { unsigned int nr_mounts; unsigned int pending_mounts; refcount_t passive; + bool is_anon; }; struct mnt_ns_info { @@ -32928,12 +33954,12 @@ struct module_memory { struct mod_tree_node mtn; }; +struct module_attribute; + struct module_sect_attrs; struct module_notes_attrs; -struct module_attribute; - struct trace_event_call; struct trace_eval_map; @@ -32950,6 +33976,7 @@ struct module { const struct kernel_symbol *syms; const u32 *crcs; unsigned int num_syms; + struct mutex param_lock; struct kernel_param *kp; unsigned int num_kp; unsigned int num_gpl_syms; @@ -32960,10 +33987,6 @@ struct module { unsigned int num_exentries; struct exception_table_entry *extable; int (*init)(void); - long: 64; - long: 64; - long: 64; - long: 64; struct module_memory mem[7]; struct mod_arch_specific arch; long unsigned int taints; @@ -33014,6 +34037,11 @@ struct module_attribute { void (*free)(struct module *); }; +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct param_attribute { struct module_attribute mattr; const struct kernel_param *param; @@ -33030,12 +34058,23 @@ struct module_reply_data { struct ethtool_module_power_mode_params power; }; +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct module_string { struct list_head next; struct module *module; char *str; }; +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + struct modules_array { struct module **mods; int mods_cnt; @@ -33134,6 +34173,44 @@ struct mq_sched { struct Qdisc **qdiscs; }; +struct phy_mse_capability { + u64 max_average_mse; + u64 max_peak_mse; + u64 refresh_rate_ps; + u64 num_symbols; + u32 supported_caps; +}; + +struct mse_snapshot_entry; + +struct mse_reply_data { + struct ethnl_reply_data base; + struct phy_mse_capability capability; + struct mse_snapshot_entry *snapshots; + unsigned int num_snapshots; +}; + +struct phy_mse_snapshot { + u64 average_mse; + u64 peak_mse; + u64 worst_peak_mse; +}; + +struct mse_snapshot_entry { + struct phy_mse_snapshot snapshot; + int channel; +}; + +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + struct ubuf_info; struct msghdr { @@ -33232,6 +34309,7 @@ struct msi_desc { struct irq_affinity_desc *affinity; u64 iommu_msi_iova: 58; u64 iommu_msi_shift: 6; + struct device_attribute *sysfs_attrs; void (*write_msi_msg)(struct msi_desc *, void *); void *write_msi_msg_data; u16 msi_index; @@ -33384,7 +34462,7 @@ struct napi_alloc_cache { local_lock_t bh_lock; struct page_frag_cache page; unsigned int skb_count; - void *skb_cache[64]; + void *skb_cache[128]; }; struct napi_config { @@ -33632,7 +34710,7 @@ struct neigh_table { atomic_t gc_entries; struct list_head gc_list; struct list_head managed_list; - rwlock_t lock; + spinlock_t lock; long unsigned int last_rand; struct neigh_statistics *stats; struct neigh_hash_table *nht; @@ -33692,9 +34770,11 @@ struct raw_notifier_head { struct netns_core { struct ctl_table_header *sysctl_hdr; int sysctl_somaxconn; + int sysctl_txq_reselection; int sysctl_optmem_max; u8 sysctl_txrehash; u8 sysctl_tstamp_allow_data; + u8 sysctl_bypass_prot_mem; }; struct tcp_mib; @@ -33749,16 +34829,16 @@ struct netns_ipv4 { u8 sysctl_ip_fwd_use_pmtu; __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_tcp_moderate_rcvbuf; u8 sysctl_ip_early_demux; u8 sysctl_tcp_early_demux; u8 sysctl_tcp_l3mdev_accept; int sysctl_tcp_reordering; int sysctl_tcp_rmem[3]; + int sysctl_tcp_rcvbuf_low_rtt; __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; - long: 64; struct inet_timewait_death_row tcp_death_row; struct udp_table *udp_table; struct ipv4_devconf *devconf_all; @@ -33781,6 +34861,7 @@ struct netns_ipv4 { u8 sysctl_icmp_echo_ignore_broadcasts; u8 sysctl_icmp_ignore_bogus_error_responses; u8 sysctl_icmp_errors_use_inbound_ifaddr; + u8 sysctl_icmp_errors_extension_mask; int sysctl_icmp_ratelimit; int sysctl_icmp_ratemask; int sysctl_icmp_msgs_per_sec; @@ -33854,6 +34935,7 @@ struct netns_ipv4 { int sysctl_tcp_pacing_ss_ratio; int sysctl_tcp_pacing_ca_ratio; unsigned int sysctl_tcp_child_ehash_entries; + int sysctl_tcp_comp_sack_rtt_percent; long unsigned int sysctl_tcp_comp_sack_delay_ns; long unsigned int sysctl_tcp_comp_sack_slack_ns; int sysctl_max_syn_backlog; @@ -33929,6 +35011,7 @@ struct netns_sysctl_ipv6 { u8 skip_notify_on_dev_down; u8 fib_notify_on_flag_change; u8 icmpv6_error_anycast_as_unicast; + u8 icmpv6_errors_extension_mask; }; struct rt6_statistics; @@ -34022,12 +35105,6 @@ struct net { struct netns_mib mib; struct netns_packet packet; struct netns_nexthop nexthop; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; struct netns_ipv4 ipv4; struct netns_ipv6 ipv6; struct net_generic *gen; @@ -34322,6 +35399,7 @@ struct net_device { struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; unsigned int promiscuity; unsigned int allmulti; bool uc_promisc; @@ -34332,6 +35410,7 @@ struct net_device { unsigned int xdp_zc_max_segs; struct netdev_queue *ingress_queue; unsigned char broadcast[32]; + struct cpu_rmap *rx_cpu_rmap; struct hlist_node index_hlist; unsigned int num_tx_queues; struct Qdisc *qdisc; @@ -34400,8 +35479,6 @@ struct net_device { struct hlist_head neighbours[2]; struct hwtstamp_provider *hwprov; long: 64; - long: 64; - long: 64; u8 priv[0]; }; @@ -34469,6 +35546,7 @@ struct net_device_ops { int (*ndo_set_vf_guid)(struct net_device *, int, u64, int); int (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool); int (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *); + int (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32); int (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *); int (*ndo_del_slave)(struct net_device *, struct net_device *); struct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool); @@ -34521,6 +35599,17 @@ struct net_device_path { __be16 proto; u8 h_dest[6]; } encap; + struct { + union { + struct in_addr src_v4; + struct in6_addr src_v6; + }; + union { + struct in_addr dst_v4; + struct in6_addr dst_v6; + }; + u8 l3_proto; + } tun; struct { enum { DEV_PATH_BR_VLAN_KEEP = 0, @@ -34632,6 +35721,8 @@ struct net_protocol { u32 secret; }; +struct rps_sock_flow_table; + struct skb_defer_node; struct net_hotdata { @@ -34649,12 +35740,15 @@ struct net_hotdata { struct kmem_cache *skbuff_cache; struct kmem_cache *skbuff_fclone_cache; struct kmem_cache *skb_small_head_cache; + struct rps_sock_flow_table *rps_sock_flow_table; + u32 rps_cpu_mask; struct skb_defer_node *skb_defer_nodes; int gro_normal_batch; int netdev_budget; int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; + int qdisc_max_burst; int dev_tx_weight; int dev_rx_weight; int sysctl_max_skb_frags; @@ -34884,11 +35978,13 @@ struct netdev_queue { netdevice_tracker dev_tracker; struct Qdisc *qdisc; struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; long unsigned int tx_maxrate; atomic_long_t trans_timeout; struct net_device *sb_dev; long: 64; - long: 64; + struct dql dql; spinlock_t _xmit_lock; int xmit_lock_owner; long unsigned int trans_start; @@ -34900,6 +35996,12 @@ struct netdev_queue { long: 64; }; +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + struct netdev_queue_mgmt_ops { size_t ndo_queue_mem_size; int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); @@ -34964,8 +36066,14 @@ struct pp_memory_provider_params { const struct memory_provider_ops *mp_ops; }; +struct rps_map; + +struct rps_dev_flow_table; + struct netdev_rx_queue { struct xdp_rxq_info xdp_rxq; + struct rps_map *rps_map; + struct rps_dev_flow_table *rps_flow_table; struct kobject kobj; const struct attribute_group **groups; struct net_device *dev; @@ -34973,8 +36081,6 @@ struct netdev_rx_queue { struct napi_struct *napi; struct pp_memory_provider_params mp_params; long: 64; - long: 64; - long: 64; }; struct netdev_stat_ops { @@ -35495,11 +36601,15 @@ struct ns_get_path_task_args { struct task_struct *task; }; -struct ns_tree { - struct rb_root ns_tree; - struct list_head ns_list; - seqlock_t ns_tree_lock; - int type; +struct ns_id_req { + __u32 size; + __u32 spare; + __u64 ns_id; + struct { + __u32 ns_type; + __u32 spare2; + __u64 user_ns_id; + }; }; struct nsfs_file_handle { @@ -35777,6 +36887,11 @@ struct osnoise_entry { unsigned int thread_count; }; +struct p2pdma_provider { + struct device *owner; + u64 bus_offset; +}; + struct packet_type { __be16 type; bool ignore_outgoing; @@ -36000,16 +37115,7 @@ struct partial_page { struct partition_affinity { cpumask_t mask; - void *partition_id; -}; - -struct partition_desc { - int nr_parts; - struct partition_affinity *parts; - struct irq_domain *domain; - struct irq_desc *chained_desc; - long unsigned int *bitmap; - struct irq_domain_ops ops; + struct fwnode_handle *partition_id; }; struct partition_meta_info { @@ -36149,6 +37255,7 @@ struct pci_dev { unsigned int pasid_enabled: 1; unsigned int pri_enabled: 1; unsigned int tph_enabled: 1; + unsigned int fm_enabled: 1; unsigned int is_managed: 1; unsigned int is_msi_managed: 1; unsigned int needs_freset: 1; @@ -36248,12 +37355,12 @@ struct pci_ops { void * (*map_bus)(struct pci_bus *, unsigned int, int); int (*read)(struct pci_bus *, unsigned int, int, int, u32 *); int (*write)(struct pci_bus *, unsigned int, int, int, u32); + int (*assert_perst)(struct pci_bus *, bool); }; struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; + struct p2pdma_provider *mem; enum pci_p2pdma_map_type map; - u64 bus_off; }; struct hotplug_slot; @@ -36540,6 +37647,18 @@ struct perf_buffer { void *data_pages[0]; }; +struct unwind_stacktrace; + +struct perf_callchain_deferred_event { + struct unwind_stacktrace *trace; + struct { + struct perf_event_header header; + u64 cookie; + u64 nr; + u64 ips[0]; + } event; +}; + struct perf_callchain_entry { u64 nr; u64 ip[0]; @@ -36694,7 +37813,9 @@ struct perf_event_attr { __u64 inherit_thread: 1; __u64 remove_on_exec: 1; __u64 sigtrap: 1; - __u64 __reserved_1: 26; + __u64 defer_callchain: 1; + __u64 defer_output: 1; + __u64 __reserved_1: 24; union { __u32 wakeup_events; __u32 wakeup_watermark; @@ -36732,6 +37853,7 @@ struct perf_event_attr { }; __u64 sig_data; __u64 config3; + __u64 config4; }; typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); @@ -36810,6 +37932,7 @@ struct perf_event { struct trace_event_call *tp_event; struct event_filter *filter; struct ftrace_ops ftrace_ops; + void *security; struct list_head sb_list; struct list_head pmu_list; u32 orig_type; @@ -37139,6 +38262,12 @@ struct phylink; struct pse_control; +struct phy_oatc14_sqi_capability { + bool updated; + int sqi_max; + u8 sqiplus_bits; +}; + struct phy_driver; struct phy_device { @@ -37165,6 +38294,8 @@ struct phy_device { unsigned int autoneg: 1; unsigned int link: 1; unsigned int autoneg_complete: 1; + bool pause: 1; + bool asym_pause: 1; unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; @@ -37177,8 +38308,6 @@ struct phy_device { int speed; int duplex; int port; - int pause; - int asym_pause; u8 master_slave_get; u8 master_slave_set; u8 master_slave_state; @@ -37213,6 +38342,7 @@ struct phy_device { unsigned int link_down_events; void (*phy_link_change)(struct phy_device *, bool); void (*adjust_link)(struct net_device *); + struct phy_oatc14_sqi_capability oatc14_sqi_capability; }; struct phy_device_node { @@ -37272,6 +38402,8 @@ struct phy_driver { int (*set_loopback)(struct phy_device *, bool, int); int (*get_sqi)(struct phy_device *); int (*get_sqi_max)(struct phy_device *); + int (*get_mse_capability)(struct phy_device *, struct phy_mse_capability *); + int (*get_mse_snapshot)(struct phy_device *, enum phy_mse_channel, struct phy_mse_snapshot *); int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); @@ -37376,22 +38508,22 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; + struct { + __u32 coredump_mask; + __u32 coredump_signal; + }; + __u64 supported_mask; }; -struct simple_xattrs; - struct pidfs_attr { + long unsigned int attr_mask; struct simple_xattrs *xattrs; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; + struct { + __u64 cgroupid; + __s32 exit_code; + }; + __u32 coredump_mask; + __u32 coredump_signal; }; struct ping_table { @@ -37451,13 +38583,7 @@ struct pipe_inode_info { struct mutex mutex; wait_queue_head_t rd_wait; wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; + union pipe_index; unsigned int max_usage; unsigned int ring_size; unsigned int nr_accounted; @@ -37784,6 +38910,14 @@ struct power_supply { struct list_head extensions; }; +struct power_supply_attr { + const char *prop_name; + char attr_name[31]; + struct device_attribute dev_attr; + const char * const *text_values; + int text_values_len; +}; + struct power_supply_maintenance_charge_table; struct power_supply_battery_ocv_table; @@ -38112,6 +39246,7 @@ struct property { int length; void *value; struct property *next; + struct bin_attribute attr; }; struct property_entry { @@ -38131,8 +39266,6 @@ struct property_entry { }; }; -struct smc_hashinfo; - struct proto_accept_arg; struct sk_psock; @@ -38141,10 +39274,12 @@ struct timewait_sock_ops; struct raw_hashinfo; +struct smc_hashinfo; + struct proto { void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); + int (*pre_connect)(struct sock *, struct sockaddr_unsized *, int); + int (*connect)(struct sock *, struct sockaddr_unsized *, int); int (*disconnect)(struct sock *, int); struct sock * (*accept)(struct sock *, struct proto_accept_arg *); int (*ioctl)(struct sock *, int, int *); @@ -38157,8 +39292,8 @@ struct proto { int (*sendmsg)(struct sock *, struct msghdr *, size_t); int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*bind)(struct sock *, struct sockaddr_unsized *, int); + int (*bind_add)(struct sock *, struct sockaddr_unsized *, int); int (*backlog_rcv)(struct sock *, struct sk_buff *); bool (*bpf_bypass_getsockopt)(int, int); void (*release_cb)(struct sock *); @@ -38218,8 +39353,8 @@ struct proto_ops { int family; struct module *owner; int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*bind)(struct socket *, struct sockaddr_unsized *, int); + int (*connect)(struct socket *, struct sockaddr_unsized *, int, int); int (*socketpair)(struct socket *, struct socket *); int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); int (*getname)(struct socket *, struct sockaddr *, int); @@ -38296,6 +39431,7 @@ struct pseudo_fs_context { const struct xattr_handler * const *xattr; const struct dentry_operations *dops; long unsigned int magic; + unsigned int s_d_flags; }; struct psy_am_i_supplied_data { @@ -38478,7 +39614,7 @@ struct queue_limits { unsigned int max_sectors; unsigned int max_user_sectors; unsigned int max_segment_size; - unsigned int min_segment_size; + unsigned int max_fast_segment_size; unsigned int physical_block_size; unsigned int logical_block_size; unsigned int alignment_offset; @@ -38635,18 +39771,9 @@ struct raw6_sock { __u32 offset; struct icmp6_filter filter; __u32 ip6mr_table; - long: 64; - long: 64; - long: 64; + long: 0; struct numa_drop_counters drop_counters; struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; }; struct raw_data_entry { @@ -38680,6 +39807,11 @@ struct raw_sock { struct inet_sock inet; struct icmp_filter filter; u32 ipmr_table; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; struct numa_drop_counters drop_counters; }; @@ -39162,7 +40294,7 @@ struct renamedata { struct dentry *old_dentry; struct dentry *new_parent; struct dentry *new_dentry; - struct inode **delegated_inode; + struct delegated_inode *delegated_inode; unsigned int flags; }; @@ -39172,6 +40304,8 @@ struct blk_mq_ops; struct blk_mq_ctx; +struct blk_mq_hw_ctx; + struct blk_queue_stats; struct rq_qos; @@ -39192,7 +40326,7 @@ struct request_queue { unsigned int queue_depth; refcount_t refs; unsigned int nr_hw_queues; - struct xarray hctx_table; + struct blk_mq_hw_ctx **queue_hw_ctx; struct percpu_ref q_usage_counter; struct lock_class_key io_lock_cls_key; struct lockdep_map io_lockdep_map; @@ -39250,7 +40384,6 @@ struct request_sock_ops { void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); }; struct reserve_mem_table { @@ -39301,7 +40434,7 @@ struct restart_block { u32 val; u32 flags; u32 bitset; - u64 time; + ktime_t time; u32 *uaddr2; } futex; struct { @@ -39311,7 +40444,7 @@ struct restart_block { struct __kernel_timespec *rmtp; struct old_timespec32 *compat_rmtp; }; - u64 expires; + ktime_t expires; } nanosleep; struct { struct pollfd *ufds; @@ -39538,6 +40671,36 @@ struct root_domain { struct perf_domain *pd; }; +struct rps_dev_flow { + u16 cpu; + u16 filter; + unsigned int last_qtail; + u32 hash; +}; + +struct rps_dev_flow_table { + u8 log; + struct callback_head rcu; + struct rps_dev_flow flows[0]; +}; + +struct rps_map { + unsigned int len; + struct callback_head rcu; + u16 cpus[0]; +}; + +struct rps_sock_flow_table { + struct callback_head rcu; + u32 mask; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u32 ents[0]; +}; + struct rt_prio_array { long unsigned int bitmap[2]; struct list_head queue[100]; @@ -39558,7 +40721,7 @@ struct rt_rq { struct sched_dl_entity; -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *, struct rq_flags *); struct sched_dl_entity { struct rb_node rb_node; @@ -39579,6 +40742,7 @@ struct sched_dl_entity { unsigned int dl_defer: 1; unsigned int dl_defer_armed: 1; unsigned int dl_defer_running: 1; + unsigned int dl_defer_idle: 1; struct hrtimer dl_timer; struct hrtimer inactive_timer; struct rq *rq; @@ -39587,6 +40751,7 @@ struct sched_dl_entity { struct rq { raw_spinlock_t __lock; + unsigned int queue_mask; unsigned int nr_running; unsigned int ttwu_pending; u64 nr_switches; @@ -39670,6 +40835,8 @@ struct rs_msg { __u8 opt[0]; }; +struct rseq_data {}; + struct rss_nl_dump_ctx { long unsigned int ifindex; long unsigned int ctx_idx; @@ -40132,6 +41299,12 @@ struct rwsem_waiter { bool handoff_set; }; +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + struct s_data { struct sched_domain **sd; struct root_domain *rd; @@ -40232,15 +41405,28 @@ struct sched_attr { __u32 sched_util_max; }; +struct sched_change_ctx; + +typedef struct sched_change_ctx *class_sched_change_t; + +struct sched_change_ctx { + u64 prio; + struct task_struct *p; + int flags; + bool queued; + bool running; +}; + struct sched_class { + unsigned int queue_mask; void (*enqueue_task)(struct rq *, struct task_struct *, int); bool (*dequeue_task)(struct rq *, struct task_struct *, int); void (*yield_task)(struct rq *); bool (*yield_to_task)(struct rq *, struct task_struct *); void (*wakeup_preempt)(struct rq *, struct task_struct *, int); int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + struct task_struct * (*pick_task)(struct rq *, struct rq_flags *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *, struct rq_flags *); void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); void (*set_next_task)(struct rq *, struct task_struct *, bool); int (*select_task_rq)(struct task_struct *, int, int); @@ -40253,11 +41439,13 @@ struct sched_class { void (*task_tick)(struct rq *, struct task_struct *, int); void (*task_fork)(struct task_struct *); void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); + void (*switching_from)(struct rq *, struct task_struct *); void (*switched_from)(struct rq *, struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); void (*switched_to)(struct rq *, struct task_struct *); + u64 (*get_prio)(struct rq *, struct task_struct *); + void (*prio_changed)(struct rq *, struct task_struct *, u64); void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); void (*update_curr)(struct rq *); }; @@ -40282,6 +41470,9 @@ struct sched_domain { long unsigned int last_balance; unsigned int balance_interval; unsigned int nr_balance_failed; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; u64 max_newidle_lb_cost; long unsigned int last_decay_max_lb_cost; char *name; @@ -40382,6 +41573,8 @@ struct sched_group_capacity { struct sched_info {}; +struct sched_mm_cid {}; + struct sched_param { int sched_priority; }; @@ -40442,6 +41635,15 @@ struct sd_flag_debug { char *name; }; +struct sd_flow_limit { + struct callback_head rcu; + unsigned int count; + u8 log_buckets; + unsigned int history_head; + u16 history[128]; + u8 buckets[0]; +}; + struct sg_lb_stats { long unsigned int avg_load; long unsigned int group_load; @@ -40505,6 +41707,214 @@ struct secondary_data { long int status; }; +struct timezone; + +struct xattr; + +struct sembuf; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, const struct qstr *, const struct cred *, struct cred *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, u64); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); + void *lsm_func_addr; +}; + +struct security_hook_list { + struct lsm_static_call *scalls; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + struct seg6_pernet_data { struct mutex lock; struct in6_addr *tun_src; @@ -40531,6 +41941,12 @@ struct semaphore_waiter { bool up; }; +struct sembuf { + short unsigned int sem_num; + short int sem_op; + short int sem_flg; +}; + struct send_signal_irq_work { struct irq_work irq_work; struct task_struct *task; @@ -40782,11 +42198,6 @@ struct simple_xattr { char value[0]; }; -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - struct sit_net { struct ip_tunnel *tunnels_r_l[16]; struct ip_tunnel *tunnels_r[16]; @@ -40958,20 +42369,7 @@ struct slab { void *flush_freelist; }; }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - freelist_aba_t freelist_counter; - }; + struct freelist_counters; }; struct callback_head callback_head; }; @@ -40984,7 +42382,10 @@ struct slab_sheaf { union { struct callback_head callback_head; struct list_head barn_list; - unsigned int capacity; + struct { + unsigned int capacity; + bool pfmemalloc; + }; }; struct kmem_cache *cache; unsigned int size; @@ -41005,6 +42406,11 @@ struct slub_percpu_sheaves { struct slab_sheaf *rcu_free; }; +struct smc_hashinfo { + rwlock_t lock; + struct hlist_head ht; +}; + struct smp_call_on_cpu_struct { struct work_struct work; struct completion done; @@ -41157,6 +42563,11 @@ struct sockaddr_un { char sun_path[108]; }; +struct sockaddr_unsized { + __kernel_sa_family_t sa_family; + char sa_data[0]; +}; + struct socket_wq { wait_queue_head_t wait; struct fasync_struct *fasync_list; @@ -41187,7 +42598,6 @@ struct socket_alloc { struct inode vfs_inode; long: 64; long: 64; - long: 64; }; struct sockmap_link { @@ -41205,19 +42615,38 @@ struct softnet_data { local_lock_t process_queue_bh_lock; unsigned int processed; unsigned int time_squeeze; + struct softnet_data *rps_ipi_list; unsigned int received_rps; bool in_net_rx_action; bool in_napi_threaded_poll; + struct sd_flow_limit *flow_limit; struct Qdisc *output_queue; struct Qdisc **output_queue_tailp; struct sk_buff *completion_queue; struct netdev_xmit xmit; + long: 64; + long: 64; + long: 64; + unsigned int input_queue_head; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + call_single_data_t csd; + struct softnet_data *rps_ipi_next; + unsigned int cpu; + long: 64; + long: 64; + long int pad[3]; + unsigned int input_queue_tail; struct sk_buff_head input_pkt_queue; struct napi_struct backlog; long: 64; long: 64; long: 64; - long: 64; struct numa_drop_counters drop_counters; int defer_ipi_scheduled; long: 64; @@ -41233,7 +42662,8 @@ struct software_node { }; struct software_node_ref_args { - const struct software_node *node; + const struct software_node *swnode; + struct fwnode_handle *fwnode; unsigned int nargs; u64 args[16]; }; @@ -41303,6 +42733,8 @@ struct srcu_data { struct timer_list delay_work; struct work_struct work; struct callback_head srcu_barrier_head; + struct callback_head srcu_ec_head; + int srcu_ec_state; struct srcu_node *mynode; long unsigned int grpmask; int cpu; @@ -41310,9 +42742,6 @@ struct srcu_data { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; }; struct srcu_node { @@ -41325,6 +42754,13 @@ struct srcu_node { int grphi; }; +struct ss_tmp { + enum ss_state state; + long unsigned int data; + spinlock_t *lock; + spinlock_t *lock_irqsave; +}; + struct stack_entry { struct trace_entry ent; int size; @@ -41598,6 +43034,8 @@ struct subsys_private { struct lock_class_key lock_key; }; +typedef struct super_block *class_super_write_t; + struct mtd_info; struct super_block { @@ -41618,6 +43056,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_t s_active; + void *s_security; const struct xattr_handler * const *s_xattr; struct hlist_bl_head s_roots; struct mount *s_mounts; @@ -41657,12 +43096,11 @@ struct super_block { int s_stack_depth; long: 64; long: 64; - long: 64; spinlock_t s_inode_list_lock; struct list_head s_inodes; spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; - long: 64; + long int s_min_writeback_pages; long: 64; }; @@ -41750,7 +43188,7 @@ struct swap_info_struct { struct work_struct discard_work; struct work_struct reclaim_work; struct list_head discard_clusters; - struct plist_node avail_lists[0]; + struct plist_node avail_list; }; struct swap_sequential_cluster { @@ -41799,11 +43237,6 @@ struct sys64_hook { void (*handler)(long unsigned int, struct pt_regs *); }; -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - struct sys_off_data { int mode; void *cb_data; @@ -41821,6 +43254,12 @@ struct sys_off_handler { struct device *dev; }; +struct syscall_args { + char *ptr_array[3]; + int read[3]; + int uargs; +}; + struct syscall_info { __u64 sp; struct seccomp_data data; @@ -41829,7 +43268,10 @@ struct syscall_info { struct syscall_metadata { const char *name; int syscall_nr; - int nb_args; + u8 nb_args: 7; + u8 user_arg_is_str: 1; + s8 user_arg_size; + short int user_mask; const char **types; const char **args; struct list_head enter_fields; @@ -41861,13 +43303,33 @@ struct syscall_trace_exit { long int ret; }; +struct trace_user_buf; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + size_t size; + int ref; +}; + +struct syscall_user_buffer { + struct trace_user_buf_info buf; + struct callback_head rcu; +}; + struct syscall_user_dispatch {}; -struct syscore_ops { +struct syscore_ops; + +struct syscore { struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); + const struct syscore_ops *ops; + void *data; +}; + +struct syscore_ops { + int (*suspend)(void *); + void (*resume)(void *); + void (*shutdown)(void *); }; struct sysfs_ops { @@ -41924,7 +43386,6 @@ struct system_time_snapshot { struct taint_flag { char c_true; char c_false; - bool module; const char *desc; }; @@ -41998,8 +43459,7 @@ struct thread_struct { long unsigned int fault_address; long unsigned int fault_code; struct debug_info debug; - long: 64; - struct user_fpsimd_state kernel_fpsimd_state; + struct user_fpsimd_state *kernel_fpsimd_state; unsigned int kernel_fpsimd_cpu; u64 sctlr_user; u64 svcr; @@ -42144,6 +43604,8 @@ struct task_struct { struct mutex perf_event_mutex; struct list_head perf_event_list; struct perf_ctx_data *perf_ctx_data; + struct rseq_data rseq; + struct sched_mm_cid mm_cid; struct tlbflush_unmap_batch tlb_ubc; struct pipe_inode_info *splice_pipe; struct page_frag task_frag; @@ -42169,10 +43631,12 @@ struct task_struct { struct timer_list oom_reaper_timer; struct vm_struct *stack_vm_area; refcount_t stack_refcount; + void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; struct bpf_net_context *bpf_net_context; struct llist_head kretprobe_instances; + long: 64; struct thread_struct thread; long: 64; long: 64; @@ -42244,9 +43708,6 @@ struct tc_skb_cb { u32 drop_reason; u16 zone; u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; }; struct tcf_chain; @@ -42457,6 +43918,11 @@ struct tcp_sock { struct rb_root out_of_order_queue; __u8 __cacheline_group_end__tcp_sock_read_rx[0]; long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; u32 segs_out; u32 data_segs_out; @@ -42607,13 +44073,6 @@ struct tcp_sock { struct tcp6_sock { struct tcp_sock tcp; struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; }; union tcp_ao_addr { @@ -43257,6 +44716,7 @@ struct tls_context { u8 rx_conf: 3; u8 zerocopy_sendfile: 1; u8 rx_no_pad: 1; + u16 tx_max_payload_len; int (*push_pending_record)(struct sock *, int); void (*sk_write_space)(struct sock *); void *priv_ctx_tx; @@ -43390,6 +44850,8 @@ struct trace_module_delta; struct trace_pid_list; +struct tracer_flags; + struct trace_options; struct trace_func_repeats; @@ -43412,8 +44874,8 @@ struct trace_array { arch_spinlock_t max_lock; int sys_refcount_enter; int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[470]; - struct trace_event_file *exit_syscall_files[470]; + struct trace_event_file *enter_syscall_files[471]; + struct trace_event_file *exit_syscall_files[471]; int stop_count; int clock_id; int nr_topts; @@ -43421,8 +44883,9 @@ struct trace_array { int buffer_percent; unsigned int n_err_log_entries; struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; + struct tracer_flags *current_trace_flags; + u64 trace_flags; + unsigned char trace_flags_index[64]; unsigned int flags; raw_spinlock_t start_lock; const char *system_names; @@ -43435,6 +44898,7 @@ struct trace_array { struct list_head systems; struct list_head events; struct list_head marker_list; + struct list_head tracers; struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; cpumask_var_t pipe_cpumask; @@ -43450,6 +44914,7 @@ struct trace_array { struct list_head mod_notrace; int function_enabled; int no_filter_buffering_ref; + unsigned int syscall_buf_sz; struct list_head hist_vars; struct trace_func_repeats *last_func_repeats; bool ring_buffer_expanded; @@ -44673,6 +46138,9 @@ struct trace_event_raw_dma_map { struct trace_event_raw_dma_map_sg { struct trace_entry ent; u32 __data_loc_device; + int full_nents; + int full_ents; + bool truncated; u32 __data_loc_phys_addrs; u32 __data_loc_dma_addrs; u32 __data_loc_lengths; @@ -45563,6 +47031,7 @@ struct trace_event_raw_net_dev_rx_verbose_template { unsigned char nr_frags; u16 gso_size; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -45585,6 +47054,7 @@ struct trace_event_raw_net_dev_start_xmit { u16 gso_size; u16 gso_segs; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -45593,6 +47063,7 @@ struct trace_event_raw_net_dev_template { void *skbaddr; unsigned int len; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -45602,6 +47073,7 @@ struct trace_event_raw_net_dev_xmit { unsigned int len; int rc; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -45610,6 +47082,7 @@ struct trace_event_raw_net_dev_xmit_timeout { u32 __data_loc_name; u32 __data_loc_driver; int queue_index; + u64 net_cookie; char __data[0]; }; @@ -46676,8 +48149,6 @@ struct trace_module_delta { struct tracer_opt; -struct tracer_flags; - struct trace_option_dentry { struct tracer_opt *opt; struct tracer_flags *flags; @@ -46693,6 +48164,7 @@ struct trace_options { union upper_chunk; struct trace_pid_list { + seqcount_raw_spinlock_t seqcount; raw_spinlock_t lock; struct irq_work refill_irqwork; union upper_chunk *upper[256]; @@ -46761,11 +48233,6 @@ struct trace_user_buf { char *buf; }; -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - struct tracefs_dir_ops { int (*mkdir)(const char *); int (*rmdir)(const char *); @@ -46842,9 +48309,10 @@ struct tracer { void (*print_header)(struct seq_file *); enum print_line_t (*print_line)(struct trace_iterator *); int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); + int (*flag_changed)(struct trace_array *, u64, int); struct tracer *next; struct tracer_flags *flags; + struct tracer_flags *default_flags; int enabled; bool print_max; bool allow_instances; @@ -46874,6 +48342,12 @@ struct tracer_stat { int (*stat_headers)(struct seq_file *); }; +struct tracers { + struct list_head list; + struct tracer *tracer; + struct tracer_flags *flags; +}; + struct tracing_log_err { struct list_head list; struct err_info info; @@ -47274,9 +48748,6 @@ struct udp_sock { struct udp_prod_queue *udp_prod_queue; long: 64; long: 64; - long: 64; - long: 64; - long: 64; struct sk_buff_head reader_queue; int forward_deficit; int forward_threshold; @@ -47289,13 +48760,6 @@ struct udp_sock { struct udp6_sock { struct udp_sock udp; struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; }; struct udp_dev_scratch { @@ -47432,8 +48896,6 @@ struct unix_sock { long: 64; long: 64; long: 64; - long: 64; - long: 64; struct socket_wq peer_wq; wait_queue_entry_t peer_wake; struct scm_stat scm_stat; @@ -47446,6 +48908,21 @@ struct unlink_vma_file_batch { struct vm_area_struct *vmas[8]; }; +struct unwind_stacktrace { + unsigned int nr; + long unsigned int *entries; +}; + +struct unwind_work; + +typedef void (*unwind_callback_t)(struct unwind_work *, struct unwind_stacktrace *, u64); + +struct unwind_work { + struct list_head list; + unwind_callback_t func; + int bit; +}; + union upper_chunk { union upper_chunk *next; union lower_chunk *data[256]; @@ -47752,10 +49229,14 @@ struct vm_area_desc { long unsigned int end; long unsigned int pgoff; struct file *vm_file; - vm_flags_t vm_flags; + union { + vm_flags_t vm_flags; + vma_flags_t vma_flags; + }; pgprot_t page_prot; const struct vm_operations_struct *vm_ops; void *private_data; + struct mmap_action action; }; struct vm_userfaultfd_ctx {}; @@ -47772,7 +49253,7 @@ struct vm_area_struct { pgprot_t vm_page_prot; union { const vm_flags_t vm_flags; - vm_flags_t __vm_flags; + vma_flags_t flags; }; unsigned int vm_lock_seq; struct list_head anon_vma_chain; @@ -47795,6 +49276,11 @@ struct vm_area_struct { long: 64; }; +struct vm_area_struct__safe_trusted_or_null { + struct mm_struct *vm_mm; + struct file *vm_file; +}; + struct vm_fault { const struct { struct vm_area_struct *vma; @@ -47847,7 +49333,10 @@ struct vm_stack { }; struct vm_struct { - struct vm_struct *next; + union { + struct vm_struct *next; + struct llist_node llnode; + }; void *addr; long unsigned int size; long unsigned int flags; @@ -47892,6 +49381,7 @@ struct vma_merge_struct { struct vm_userfaultfd_ctx uffd_ctx; struct anon_vma_name *anon_name; enum vma_merge_state state; + struct vm_area_struct *copied_from; bool just_expand: 1; bool give_up_on_oom: 1; bool skip_vma_uprobe: 1; @@ -48043,6 +49533,8 @@ struct warn_args { struct wb_completion { atomic_t cnt; wait_queue_head_t *waitq; + long unsigned int progress_stamp; + long unsigned int wait_start; }; struct wb_domain { @@ -48163,6 +49655,8 @@ struct workqueue_attrs { struct wq_flusher; +struct wq_device; + struct wq_node_nr_active; struct workqueue_struct { @@ -48184,11 +49678,11 @@ struct workqueue_struct { int saved_min_active; struct workqueue_attrs *unbound_attrs; struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; char name[32]; struct callback_head rcu; long: 64; long: 64; - long: 64; unsigned int flags; struct pool_workqueue **cpu_pwq; struct wq_node_nr_active *node_nr_active[0]; @@ -48206,6 +49700,11 @@ struct wq_barrier { struct task_struct *task; }; +struct wq_device { + struct workqueue_struct *wq; + struct device dev; +}; + struct wq_drain_dead_softirq_work { struct work_struct work; struct worker_pool *pool; @@ -48315,6 +49814,12 @@ struct xa_state { struct list_lru *xa_lru; }; +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + struct xattr_args { __u64 value; __u32 size; @@ -48433,8 +49938,6 @@ struct xdp_sock { long: 64; long: 64; long: 64; - long: 64; - long: 64; struct xsk_queue *rx; struct net_device *dev; struct xdp_umem *umem; @@ -48825,7 +50328,8 @@ struct xsk_buff_pool { bool unaligned; bool tx_sw_csum; void *addrs; - spinlock_t cq_lock; + spinlock_t cq_prod_lock; + spinlock_t cq_cached_prod_lock; struct xdp_buff_xsk *free_heads[0]; long: 64; long: 64; @@ -48881,6 +50385,8 @@ typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_r typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); @@ -48897,13 +50403,13 @@ typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); typedef u64 (*btf_bpf_d_path)(const struct path *, char *, u32); -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u64, u64, struct bpf_dynptr_kern *); -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); +typedef u64 (*btf_bpf_dynptr_read)(void *, u64, const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u64, void *, u64, u64); typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); @@ -48913,6 +50419,8 @@ typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); @@ -49003,6 +50511,14 @@ typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + typedef u64 (*btf_bpf_jiffies64)(void); typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); @@ -49239,6 +50755,10 @@ typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, stru typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); +typedef u64 (*btf_bpf_sock_create_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_create_setsockopt)(struct sock *, int, int, char *, int); + typedef u64 (*btf_bpf_sock_from_file)(struct file *); typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); @@ -50073,8 +51593,6 @@ typedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16); -struct xattr; - typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); typedef int (*ioremap_prot_hook_t)(phys_addr_t, size_t, pgprot_t *); @@ -50127,6 +51645,8 @@ typedef void perf_iterate_f(struct perf_event *, void *); typedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int); +typedef int (*platform_irq_probe_t)(struct platform_device *, struct device_node *); + typedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int); typedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *); @@ -50169,6 +51689,8 @@ typedef void (*task_work_func_t)(struct callback_head *); typedef void text_poke_f(void *, void *, size_t, size_t); +typedef int (*trace_user_buf_copy)(char *, const char *, size_t, void *); + typedef void ttbr_replace_func(phys_addr_t); typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); @@ -50185,6 +51707,10 @@ struct task_group; typedef void *acpi_handle; +typedef void *class_user_read_access_t; + +typedef void *class_user_write_access_t; + struct acpi_device; struct audit_buffer; @@ -50211,12 +51737,12 @@ extern void __attribute__((address_space(1))) *bpf_arena_alloc_pages(void *p__ma extern void bpf_arena_free_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern int bpf_arena_reserve_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; -extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, struct task_struct *tsk, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; extern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; @@ -50243,20 +51769,25 @@ extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) _ extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; -extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym; +extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u64 start, u64 end) __weak __ksym; extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; -extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u32 dst_off, struct bpf_dynptr *src_ptr, u32 src_off, u32 size) __weak __ksym; +extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u64 dst_off, struct bpf_dynptr *src_ptr, u64 src_off, u64 size) __weak __ksym; +extern int bpf_dynptr_file_discard(struct bpf_dynptr *dynptr) __weak __ksym; +extern int bpf_dynptr_from_file(struct file *file, u32 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb_meta(struct __sk_buff *skb_, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym; extern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym; -extern int bpf_dynptr_memset(struct bpf_dynptr *p, u32 offset, u32 size, u8 val) __weak __ksym; -extern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; -extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; -extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; +extern int bpf_dynptr_memset(struct bpf_dynptr *p, u64 offset, u64 size, u8 val) __weak __ksym; +extern u64 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; +extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; +extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; extern int bpf_fentry_test1(int a) __weak __ksym; +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; extern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; extern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym; extern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym; @@ -50288,14 +51819,16 @@ extern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, c extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; extern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; +extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __weak __ksym; extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; extern void bpf_preempt_disable(void) __weak __ksym; extern void bpf_preempt_enable(void) __weak __ksym; -extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; extern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_left(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym; @@ -50306,6 +51839,7 @@ extern void bpf_rcu_read_lock(void) __weak __ksym; extern void bpf_rcu_read_unlock(void) __weak __ksym; extern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_remove_dentry_xattr(struct dentry *dentry, const char *name__str) __weak __ksym; extern int bpf_res_spin_lock(struct bpf_res_spin_lock *lock) __weak __ksym; extern int bpf_res_spin_lock_irqsave(struct bpf_res_spin_lock *lock, long unsigned int *flags__irq_flag) __weak __ksym; extern void bpf_res_spin_unlock(struct bpf_res_spin_lock *lock) __weak __ksym; @@ -50313,17 +51847,20 @@ extern void bpf_res_spin_unlock_irqrestore(struct bpf_res_spin_lock *lock, long extern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym; extern __u64 *bpf_session_cookie(void) __weak __ksym; extern bool bpf_session_is_return(void) __weak __ksym; +extern int bpf_set_dentry_xattr(struct dentry *dentry, const char *name__str, const struct bpf_dynptr *value_p, int flags) __weak __ksym; extern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym; extern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym; extern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym; extern int bpf_sock_ops_enable_tx_tstamp(struct bpf_sock_ops_kern *skops, u64 flags) __weak __ksym; extern int bpf_strcasecmp(const char *s1__ign, const char *s2__ign) __weak __ksym; +extern int bpf_strcasestr(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strchr(const char *s__ign, char c) __weak __ksym; extern int bpf_strchrnul(const char *s__ign, char c) __weak __ksym; extern int bpf_strcmp(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strcspn(const char *s__ign, const char *reject__ign) __weak __ksym; extern int bpf_stream_vprintk_impl(int stream_id, const char *fmt__str, const void *args, u32 len__sz, void *aux__prog) __weak __ksym; extern int bpf_strlen(const char *s__ign) __weak __ksym; +extern int bpf_strncasestr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; extern int bpf_strnchr(const char *s__ign, size_t count, char c) __weak __ksym; extern int bpf_strnlen(const char *s__ign, size_t count) __weak __ksym; extern int bpf_strnstr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; diff --git a/include/arm/vmlinux.h b/include/arm/vmlinux.h index be73697..9ed9bfb 120000 --- a/include/arm/vmlinux.h +++ b/include/arm/vmlinux.h @@ -1 +1 @@ -vmlinux_6.18.h \ No newline at end of file +vmlinux_6.19.h \ No newline at end of file diff --git a/include/arm/vmlinux_6.18.h b/include/arm/vmlinux_6.19.h similarity index 95% rename from include/arm/vmlinux_6.18.h rename to include/arm/vmlinux_6.19.h index 5397e06..9ae812e 100644 --- a/include/arm/vmlinux_6.18.h +++ b/include/arm/vmlinux_6.19.h @@ -102,6 +102,10 @@ enum { BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, }; +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + enum { BPF_F_GET_BRANCH_RECORDS_SIZE = 1, }; @@ -148,6 +152,7 @@ enum { BPF_F_TOKEN_FD = 65536, BPF_F_SEGV_ON_FAULT = 131072, BPF_F_NO_USER_CONV = 262144, + BPF_F_RB_OVERWRITE = 524288, }; enum { @@ -241,6 +246,7 @@ enum { BPF_RB_RING_SIZE = 1, BPF_RB_CONS_POS = 2, BPF_RB_PROD_POS = 3, + BPF_RB_OVERWRITE_POS = 4, }; enum { @@ -608,24 +614,6 @@ enum { KEEP_EXPLORING = 1, }; -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - enum { DUMP_PREFIX_NONE = 0, DUMP_PREFIX_ADDRESS = 1, @@ -1051,6 +1039,36 @@ enum { ETHTOOL_A_MODULE_MAX = 3, }; +enum { + ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE = 2, + ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS = 3, + ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS = 4, + __ETHTOOL_A_MSE_CAPABILITIES_CNT = 5, + ETHTOOL_A_MSE_CAPABILITIES_MAX = 4, +}; + +enum { + ETHTOOL_A_MSE_HEADER = 1, + ETHTOOL_A_MSE_CAPABILITIES = 2, + ETHTOOL_A_MSE_CHANNEL_A = 3, + ETHTOOL_A_MSE_CHANNEL_B = 4, + ETHTOOL_A_MSE_CHANNEL_C = 5, + ETHTOOL_A_MSE_CHANNEL_D = 6, + ETHTOOL_A_MSE_WORST_CHANNEL = 7, + ETHTOOL_A_MSE_LINK = 8, + __ETHTOOL_A_MSE_CNT = 9, + ETHTOOL_A_MSE_MAX = 8, +}; + +enum { + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE = 2, + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE = 3, + __ETHTOOL_A_MSE_SNAPSHOT_CNT = 4, + ETHTOOL_A_MSE_SNAPSHOT_MAX = 3, +}; + enum { ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, ETHTOOL_A_PAUSE_STAT_PAD = 1, @@ -1459,8 +1477,9 @@ enum { ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, ETHTOOL_MSG_RSS_CREATE_NTF = 52, ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, + ETHTOOL_MSG_MSE_GET_REPLY = 54, + __ETHTOOL_MSG_KERNEL_CNT = 55, + ETHTOOL_MSG_KERNEL_MAX = 54, }; enum { @@ -1515,8 +1534,9 @@ enum { ETHTOOL_MSG_RSS_SET = 48, ETHTOOL_MSG_RSS_CREATE_ACT = 49, ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, + ETHTOOL_MSG_MSE_GET = 51, + __ETHTOOL_MSG_USER_CNT = 52, + ETHTOOL_MSG_USER_MAX = 51, }; enum { @@ -1579,6 +1599,7 @@ enum { enum { EVENT_TRIGGER_FL_PROBE = 1, + EVENT_TRIGGER_FL_COUNT = 2, }; enum { @@ -1725,6 +1746,7 @@ enum { FTRACE_OPS_FL_DIRECT = 131072, FTRACE_OPS_FL_SUBOP = 262144, FTRACE_OPS_FL_GRAPH = 524288, + FTRACE_OPS_FL_JMP = 1048576, }; enum { @@ -1807,6 +1829,15 @@ enum { __ICMP6_MIB_MAX = 7, }; +enum { + ICMP_ERR_EXT_IIO_IIF = 0, + ICMP_ERR_EXT_COUNT = 1, +}; + +enum { + ICMP_EXT_CTYPE_IIO_ROLE_IIF = 0, +}; + enum { ICMP_MIB_NUM = 0, ICMP_MIB_INMSGS = 1, @@ -2977,6 +3008,12 @@ enum { __MDBA_SET_ENTRY_MAX = 3, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + enum { MEMREMAP_WB = 1, MEMREMAP_WT = 2, @@ -3026,6 +3063,7 @@ enum { NAPIF_STATE_THREADED = 256, NAPIF_STATE_SCHED_THREADED = 512, NAPIF_STATE_HAS_NOTIFIER = 1024, + NAPIF_STATE_THREADED_BUSY_POLL = 2048, }; enum { @@ -3045,6 +3083,7 @@ enum { NAPI_STATE_THREADED = 8, NAPI_STATE_SCHED_THREADED = 9, NAPI_STATE_HAS_NOTIFIER = 10, + NAPI_STATE_THREADED_BUSY_POLL = 11, }; enum { @@ -4268,6 +4307,7 @@ enum { TCP_BPF_SYN_MAC = 1007, TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, SK_BPF_CB_FLAGS = 1009, + SK_BPF_BYPASS_PROT_MEM = 1010, }; enum { @@ -4525,6 +4565,7 @@ enum { TRACE_ARRAY_FL_LAST_BOOT = 4, TRACE_ARRAY_FL_MOD_INIT = 8, TRACE_ARRAY_FL_MEMMAP = 16, + TRACE_ARRAY_FL_VMALLOC = 32, }; enum { @@ -4574,9 +4615,14 @@ enum { TRACE_INTERNAL_IRQ_BIT = 7, TRACE_INTERNAL_SIRQ_BIT = 8, TRACE_INTERNAL_TRANSITION_BIT = 9, - TRACE_BRANCH_BIT = 10, - TRACE_IRQ_BIT = 11, - TRACE_RECORD_RECURSION_BIT = 12, + TRACE_INTERNAL_EVENT_BIT = 10, + TRACE_INTERNAL_EVENT_NMI_BIT = 11, + TRACE_INTERNAL_EVENT_IRQ_BIT = 12, + TRACE_INTERNAL_EVENT_SIRQ_BIT = 13, + TRACE_INTERNAL_EVENT_TRANSITION_BIT = 14, + TRACE_BRANCH_BIT = 15, + TRACE_IRQ_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 17, }; enum { @@ -4666,6 +4712,66 @@ enum { ADDR_LIMIT_3GB = 134217728, }; +enum { + VMA_READ_BIT = 0, + VMA_WRITE_BIT = 1, + VMA_EXEC_BIT = 2, + VMA_SHARED_BIT = 3, + VMA_MAYREAD_BIT = 4, + VMA_MAYWRITE_BIT = 5, + VMA_MAYEXEC_BIT = 6, + VMA_MAYSHARE_BIT = 7, + VMA_GROWSDOWN_BIT = 8, + VMA_UFFD_MISSING_BIT = 9, + VMA_PFNMAP_BIT = 10, + VMA_MAYBE_GUARD_BIT = 11, + VMA_UFFD_WP_BIT = 12, + VMA_LOCKED_BIT = 13, + VMA_IO_BIT = 14, + VMA_SEQ_READ_BIT = 15, + VMA_RAND_READ_BIT = 16, + VMA_DONTCOPY_BIT = 17, + VMA_DONTEXPAND_BIT = 18, + VMA_LOCKONFAULT_BIT = 19, + VMA_ACCOUNT_BIT = 20, + VMA_NORESERVE_BIT = 21, + VMA_HUGETLB_BIT = 22, + VMA_SYNC_BIT = 23, + VMA_ARCH_1_BIT = 24, + VMA_WIPEONFORK_BIT = 25, + VMA_DONTDUMP_BIT = 26, + VMA_SOFTDIRTY_BIT = 27, + VMA_MIXEDMAP_BIT = 28, + VMA_HUGEPAGE_BIT = 29, + VMA_NOHUGEPAGE_BIT = 30, + VMA_MERGEABLE_BIT = 31, + VMA_HIGH_ARCH_0_BIT = 32, + VMA_HIGH_ARCH_1_BIT = 33, + VMA_HIGH_ARCH_2_BIT = 34, + VMA_HIGH_ARCH_3_BIT = 35, + VMA_HIGH_ARCH_4_BIT = 36, + VMA_HIGH_ARCH_5_BIT = 37, + VMA_HIGH_ARCH_6_BIT = 38, + VMA_ALLOW_ANY_UNCACHED_BIT = 39, + VMA_DROPPABLE_BIT = 40, + VMA_UFFD_MINOR_BIT = 41, + VMA_SEALED_BIT = 42, + VMA_PKEY_BIT0_BIT = 32, + VMA_PKEY_BIT1_BIT = 33, + VMA_PKEY_BIT2_BIT = 34, + VMA_PKEY_BIT3_BIT = 35, + VMA_PKEY_BIT4_BIT = 36, + VMA_SAO_BIT = 24, + VMA_GROWSUP_BIT = 24, + VMA_SPARC_ADI_BIT = 24, + VMA_ARM64_BTI_BIT = 24, + VMA_ARCH_CLEAR_BIT = 24, + VMA_MAPPED_COPY_BIT = 24, + VMA_MTE_BIT = 36, + VMA_MTE_ALLOWED_BIT = 37, + VMA_STACK_BIT = 8, +}; + enum { WALK_TRAILING = 1, WALK_MORE = 2, @@ -4809,7 +4915,8 @@ enum { __SCHED_FEAT_WA_BIAS = 22, __SCHED_FEAT_UTIL_EST = 23, __SCHED_FEAT_LATENCY_WARN = 24, - __SCHED_FEAT_NR = 25, + __SCHED_FEAT_NI_RANDOM = 25, + __SCHED_FEAT_NR = 26, }; enum { @@ -4863,7 +4970,8 @@ enum { ___GFP_THISNODE_BIT = 21, ___GFP_ACCOUNT_BIT = 22, ___GFP_ZEROTAGS_BIT = 23, - ___GFP_LAST_BIT = 24, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, }; enum { @@ -4889,8 +4997,9 @@ enum { __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 19, __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 20, __ctx_convertBPF_PROG_TYPE_EXT = 21, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 22, - __ctx_convert_unused = 23, + __ctx_convertBPF_PROG_TYPE_LSM = 22, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 23, + __ctx_convert_unused = 24, }; enum { @@ -4904,6 +5013,10 @@ enum { true = 1, }; +enum { + sysctl_hung_task_timeout_secs = 0, +}; + typedef enum { ISOLATE_ABORT = 0, ISOLATE_NONE = 1, @@ -5043,6 +5156,12 @@ enum audit_ntp_type { AUDIT_NTP_NVALS = 6, }; +enum base64_variant { + BASE64_STD = 0, + BASE64_URLSAFE = 1, + BASE64_IMAP = 2, +}; + enum batadv_packettype { BATADV_IV_OGM = 0, BATADV_BCAST = 1, @@ -5156,7 +5275,7 @@ enum bpf_arg_type { ARG_PTR_TO_BTF_ID_OR_NULL = 269, ARG_PTR_TO_UNINIT_MEM = 67141636, ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 268435455, + __BPF_ARG_TYPE_LIMIT = 536870911, }; enum bpf_async_type { @@ -5326,6 +5445,7 @@ enum bpf_dynptr_type { BPF_DYNPTR_TYPE_SKB = 3, BPF_DYNPTR_TYPE_XDP = 4, BPF_DYNPTR_TYPE_SKB_META = 5, + BPF_DYNPTR_TYPE_FILE = 6, }; enum bpf_features { @@ -5643,7 +5763,8 @@ enum bpf_map_type { BPF_MAP_TYPE_USER_RINGBUF = 31, BPF_MAP_TYPE_CGRP_STORAGE = 32, BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, + BPF_MAP_TYPE_INSN_ARRAY = 34, + __MAX_BPF_MAP_TYPE = 35, }; enum bpf_netdev_command { @@ -5723,14 +5844,15 @@ enum bpf_reg_type { PTR_TO_ARENA = 18, PTR_TO_BUF = 19, PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, + PTR_TO_INSN = 21, + CONST_PTR_TO_DYNPTR = 22, + __BPF_REG_TYPE_MAX = 23, PTR_TO_MAP_VALUE_OR_NULL = 260, PTR_TO_SOCKET_OR_NULL = 267, PTR_TO_SOCK_COMMON_OR_NULL = 268, PTR_TO_TCP_SOCK_OR_NULL = 269, PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 268435455, + __BPF_REG_TYPE_LIMIT = 536870911, }; enum bpf_ret_code { @@ -5760,7 +5882,7 @@ enum bpf_return_type { RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, RET_PTR_TO_BTF_ID_OR_NULL = 264, RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 268435455, + __BPF_RET_TYPE_LIMIT = 536870911, }; enum bpf_stack_build_id_status { @@ -5827,8 +5949,9 @@ enum bpf_task_work_state { }; enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, + BPF_MOD_NOP = 0, + BPF_MOD_CALL = 1, + BPF_MOD_JUMP = 2, }; enum bpf_tramp_prog_type { @@ -5867,8 +5990,9 @@ enum bpf_type_flag { MEM_ALIGNED = 33554432, MEM_WRITE = 67108864, DYNPTR_TYPE_SKB_META = 134217728, - __BPF_TYPE_FLAG_MAX = 134217729, - __BPF_TYPE_LAST_FLAG = 134217728, + DYNPTR_TYPE_FILE = 268435456, + __BPF_TYPE_FLAG_MAX = 268435457, + __BPF_TYPE_LAST_FLAG = 268435456, }; enum bpf_xdp_mode { @@ -6042,6 +6166,7 @@ enum cons_flags { CON_EXTENDED = 64, CON_SUSPENDED = 128, CON_NBCON = 256, + CON_NBCON_ATOMIC_UNSAFE = 512, }; enum cpu_attack_vectors { @@ -6339,7 +6464,6 @@ enum dentry_flags { DCACHE_REFERENCED = 64, DCACHE_DONTCACHE = 128, DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, DCACHE_SHRINK_LIST = 1024, DCACHE_OP_WEAK_REVALIDATE = 2048, DCACHE_NFSFS_RENAMED = 4096, @@ -6362,6 +6486,7 @@ enum dentry_flags { DCACHE_PAR_LOOKUP = 16777216, DCACHE_DENTRY_CURSOR = 33554432, DCACHE_NORCU = 67108864, + DCACHE_PERSISTENT = 134217728, }; enum dev_dma_attr { @@ -6850,7 +6975,11 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, + ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121, + ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122, + ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123, + ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124, + __ETHTOOL_LINK_MODE_MASK_NBITS = 125, }; enum ethtool_mac_stats_src { @@ -7055,6 +7184,10 @@ enum fault_flag { FAULT_FLAG_VMA_LOCK = 4096, }; +enum fault_flags { + FAULT_NOWARN = 1, +}; + enum fbq_type { regular = 0, remote = 1, @@ -7510,6 +7643,33 @@ enum handle_to_path_flags { HANDLE_CHECK_SUBTREE = 2, }; +enum hash_algo { + HASH_ALGO_MD4 = 0, + HASH_ALGO_MD5 = 1, + HASH_ALGO_SHA1 = 2, + HASH_ALGO_RIPE_MD_160 = 3, + HASH_ALGO_SHA256 = 4, + HASH_ALGO_SHA384 = 5, + HASH_ALGO_SHA512 = 6, + HASH_ALGO_SHA224 = 7, + HASH_ALGO_RIPE_MD_128 = 8, + HASH_ALGO_RIPE_MD_256 = 9, + HASH_ALGO_RIPE_MD_320 = 10, + HASH_ALGO_WP_256 = 11, + HASH_ALGO_WP_384 = 12, + HASH_ALGO_WP_512 = 13, + HASH_ALGO_TGR_128 = 14, + HASH_ALGO_TGR_160 = 15, + HASH_ALGO_TGR_192 = 16, + HASH_ALGO_SM3_256 = 17, + HASH_ALGO_STREEBOG_256 = 18, + HASH_ALGO_STREEBOG_512 = 19, + HASH_ALGO_SHA3_256 = 20, + HASH_ALGO_SHA3_384 = 21, + HASH_ALGO_SHA3_512 = 22, + HASH_ALGO__LAST = 23, +}; + enum hash_pointers_policy { HASH_PTR_AUTO = 0, HASH_PTR_ALWAYS = 1, @@ -7638,6 +7798,18 @@ enum inet_csk_ack_state_t { ICSK_ACK_NOMEM = 32, }; +enum init_ns_id { + IPC_NS_INIT_ID = 1, + UTS_NS_INIT_ID = 2, + USER_NS_INIT_ID = 3, + PID_NS_INIT_ID = 4, + CGROUP_NS_INIT_ID = 5, + TIME_NS_INIT_ID = 6, + NET_NS_INIT_ID = 7, + MNT_NS_INIT_ID = 8, + NS_LAST_INIT_ID = 8, +}; + enum init_ns_ino { IPC_NS_INIT_INO = 4026531839, UTS_NS_INIT_INO = 4026531838, @@ -7665,7 +7837,7 @@ enum inode_state_bits { __I_LRU_ISOLATING = 2, }; -enum inode_state_flags_t { +enum inode_state_flags_enum { I_NEW = 1, I_SYNC = 2, I_LRU_ISOLATING = 4, @@ -7750,7 +7922,9 @@ enum io_uring_op { IORING_OP_READV_FIXED = 60, IORING_OP_WRITEV_FIXED = 61, IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, + IORING_OP_NOP128 = 63, + IORING_OP_URING_CMD128 = 64, + IORING_OP_LAST = 65, }; enum io_uring_register_op { @@ -7790,7 +7964,8 @@ enum io_uring_register_op { IORING_REGISTER_RESIZE_RINGS = 33, IORING_REGISTER_MEM_REGION = 34, IORING_REGISTER_QUERY = 35, - IORING_REGISTER_LAST = 36, + IORING_REGISTER_ZCRX_CTRL = 36, + IORING_REGISTER_LAST = 37, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, }; @@ -7911,7 +8086,8 @@ enum kernel_load_data_id { LOADING_KEXEC_INITRAMFS = 4, LOADING_POLICY = 5, LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, + LOADING_MODULE_COMPRESSED = 7, + LOADING_MAX_ID = 8, }; enum kernel_read_file_id { @@ -7922,7 +8098,36 @@ enum kernel_read_file_id { READING_KEXEC_INITRAMFS = 4, READING_POLICY = 5, READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, + READING_MODULE_COMPRESSED = 7, + READING_MAX_ID = 8, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, }; enum kfunc_ptr_arg_type { @@ -8071,6 +8276,23 @@ enum lruvec_flags { LRUVEC_NODE_CONGESTED = 1, }; +enum lsm_event { + LSM_POLICY_CHANGE = 0, + LSM_STARTED_ALL = 1, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + enum lw_bits { LW_URGENT = 0, }; @@ -8146,6 +8368,7 @@ enum mapping_flags { AS_INACCESSIBLE = 8, AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, AS_KERNEL_FILE = 10, + AS_NO_DATA_INTEGRITY = 11, AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 16, AS_FOLIO_ORDER_MAX = 21, @@ -8172,7 +8395,8 @@ enum memcg_memory_event { MEMCG_SWAP_HIGH = 6, MEMCG_SWAP_MAX = 7, MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, + MEMCG_SOCK_THROTTLED = 9, + MEMCG_NR_MEMORY_EVENTS = 10, }; enum memcg_stat_item { @@ -8191,6 +8415,15 @@ enum meminit_context { MEMINIT_HOTPLUG = 1, }; +enum memory_block_state { + MEM_ONLINE = 0, + MEM_GOING_OFFLINE = 1, + MEM_OFFLINE = 2, + MEM_GOING_ONLINE = 3, + MEM_CANCEL_ONLINE = 4, + MEM_CANCEL_OFFLINE = 5, +}; + enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_COHERENT = 2, @@ -8243,6 +8476,12 @@ enum migration_type { migrate_misfit = 3, }; +enum mmap_action_type { + MMAP_NOTHING = 0, + MMAP_REMAP_PFN = 1, + MMAP_IO_REMAP_PFN = 2, +}; + enum mminit_level { MMINIT_WARNING = 0, MMINIT_VERIFY = 1, @@ -8373,12 +8612,12 @@ enum net_device_path_type { DEV_PATH_PPPOE = 3, DEV_PATH_DSA = 4, DEV_PATH_MTK_WDMA = 5, + DEV_PATH_TUN = 6, }; enum net_iov_type { NET_IOV_DMABUF = 0, NET_IOV_IOURING = 1, - NET_IOV_MAX = 4294967295, }; enum netdev_cmd { @@ -8432,6 +8671,7 @@ enum netdev_ml_priv_type { enum netdev_napi_threaded { NETDEV_NAPI_THREADED_DISABLED = 0, NETDEV_NAPI_THREADED_ENABLED = 1, + NETDEV_NAPI_THREADED_BUSY_POLL = 2, }; enum netdev_offload_xstats_type { @@ -8726,6 +8966,17 @@ enum node_states { NR_NODE_STATES = 6, }; +enum ns_type { + TIME_NS = 128, + MNT_NS = 131072, + CGROUP_NS = 33554432, + UTS_NS = 67108864, + IPC_NS = 134217728, + USER_NS = 268435456, + PID_NS = 536870912, + NET_NS = 1073741824, +}; + enum offload_act_command { FLOW_ACT_REPLACE = 0, FLOW_ACT_DESTROY = 1, @@ -8905,6 +9156,7 @@ enum perf_callchain_context { PERF_CONTEXT_HV = 18446744073709551584ULL, PERF_CONTEXT_KERNEL = 18446744073709551488ULL, PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_USER_DEFERRED = 18446744073709550976ULL, PERF_CONTEXT_GUEST = 18446744073709549568ULL, PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, @@ -9012,7 +9264,8 @@ enum perf_event_type { PERF_RECORD_CGROUP = 19, PERF_RECORD_TEXT_POKE = 20, PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, + PERF_RECORD_CALLCHAIN_DEFERRED = 22, + PERF_RECORD_MAX = 23, }; enum perf_hw_cache_id { @@ -9109,9 +9362,8 @@ enum perf_type_id { }; enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, + PGDAT_WRITEBACK = 0, + PGDAT_RECLAIM_LOCKED = 1, }; enum pgt_entry { @@ -9129,6 +9381,15 @@ enum pgtable_level { PGTABLE_LEVEL_PGD = 4, }; +enum phy_mse_channel { + PHY_MSE_CHANNEL_A = 0, + PHY_MSE_CHANNEL_B = 1, + PHY_MSE_CHANNEL_C = 2, + PHY_MSE_CHANNEL_D = 3, + PHY_MSE_CHANNEL_WORST = 4, + PHY_MSE_CHANNEL_LINK = 5, +}; + enum phy_state { PHY_DOWN = 0, PHY_READY = 1, @@ -9161,6 +9422,11 @@ enum pid_type { PIDTYPE_MAX = 4, }; +enum pidfs_attr_mask_bits { + PIDFS_ATTR_BIT_EXIT = 0, + PIDFS_ATTR_BIT_COREDUMP = 1, +}; + enum pkt_hash_types { PKT_HASH_TYPE_NONE = 0, PKT_HASH_TYPE_L2 = 1, @@ -9204,6 +9470,13 @@ enum positive_aop_returns { AOP_TRUNCATED_PAGE = 524289, }; +enum preempt_wakeup_action { + PREEMPT_WAKEUP_NONE = 0, + PREEMPT_WAKEUP_SHORT = 1, + PREEMPT_WAKEUP_PICK = 2, + PREEMPT_WAKEUP_RESCHED = 3, +}; + enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, @@ -9342,15 +9615,16 @@ enum proc_cn_event { PROC_EVENT_EXIT = 2147483648, }; +enum pt_flags { + PT_kernel = 2, + PT_reserved = 13, +}; + enum ptrace_syscall_dir { PTRACE_SYSCALL_ENTER = 0, PTRACE_SYSCALL_EXIT = 1, }; -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, -}; - enum qdisc_state_t { __QDISC_STATE_SCHED = 0, __QDISC_STATE_DEACTIVATED = 1, @@ -9432,6 +9706,11 @@ enum resolve_mode { RESOLVE_STRUCT_OR_ARRAY = 2, }; +enum rht_lookup_freq { + RHT_LOOKUP_NORMAL = 0, + RHT_LOOKUP_LIKELY = 1, +}; + enum ring_buffer_flags { RB_FL_OVERWRITE = 1, }; @@ -9469,6 +9748,12 @@ enum rp_check { RP_CHECK_RET = 2, }; +enum rseq_cs_flags_bit { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, +}; + enum rt6_nud_state { RT6_NUD_FAIL_HARD = -3, RT6_NUD_FAIL_PROBE = -2, @@ -9787,69 +10072,70 @@ enum skb_drop_reason { SKB_DROP_REASON_TC_EGRESS = 62, SKB_DROP_REASON_SECURITY_HOOK = 63, SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_PSP_INPUT = 125, - SKB_DROP_REASON_PSP_OUTPUT = 126, - SKB_DROP_REASON_MAX = 127, + SKB_DROP_REASON_QDISC_BURST_DROP = 65, + SKB_DROP_REASON_QDISC_OVERLIMIT = 66, + SKB_DROP_REASON_QDISC_CONGESTED = 67, + SKB_DROP_REASON_CAKE_FLOOD = 68, + SKB_DROP_REASON_FQ_BAND_LIMIT = 69, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 70, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 71, + SKB_DROP_REASON_CPU_BACKLOG = 72, + SKB_DROP_REASON_XDP = 73, + SKB_DROP_REASON_TC_INGRESS = 74, + SKB_DROP_REASON_UNHANDLED_PROTO = 75, + SKB_DROP_REASON_SKB_CSUM = 76, + SKB_DROP_REASON_SKB_GSO_SEG = 77, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 78, + SKB_DROP_REASON_DEV_HDR = 79, + SKB_DROP_REASON_DEV_READY = 80, + SKB_DROP_REASON_FULL_RING = 81, + SKB_DROP_REASON_NOMEM = 82, + SKB_DROP_REASON_HDR_TRUNC = 83, + SKB_DROP_REASON_TAP_FILTER = 84, + SKB_DROP_REASON_TAP_TXFILTER = 85, + SKB_DROP_REASON_ICMP_CSUM = 86, + SKB_DROP_REASON_INVALID_PROTO = 87, + SKB_DROP_REASON_IP_INADDRERRORS = 88, + SKB_DROP_REASON_IP_INNOROUTES = 89, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 90, + SKB_DROP_REASON_IP_INVALID_SOURCE = 91, + SKB_DROP_REASON_IP_LOCALNET = 92, + SKB_DROP_REASON_IP_INVALID_DEST = 93, + SKB_DROP_REASON_PKT_TOO_BIG = 94, + SKB_DROP_REASON_DUP_FRAG = 95, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 96, + SKB_DROP_REASON_FRAG_TOO_FAR = 97, + SKB_DROP_REASON_TCP_MINTTL = 98, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 99, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 100, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 102, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 103, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 104, + SKB_DROP_REASON_QUEUE_PURGE = 105, + SKB_DROP_REASON_TC_COOKIE_ERROR = 106, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 107, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 108, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 109, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 110, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 111, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 112, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 113, + SKB_DROP_REASON_NO_TX_TARGET = 114, + SKB_DROP_REASON_IP_TUNNEL_ECN = 115, + SKB_DROP_REASON_TUNNEL_TXINFO = 116, + SKB_DROP_REASON_LOCAL_MAC = 117, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 118, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 119, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 120, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 123, + SKB_DROP_REASON_PFMEMALLOC = 124, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 125, + SKB_DROP_REASON_PSP_INPUT = 126, + SKB_DROP_REASON_PSP_OUTPUT = 127, + SKB_DROP_REASON_MAX = 128, SKB_DROP_REASON_SUBSYS_MASK = 4294901760, }; @@ -9952,6 +10238,19 @@ enum socket_flags { SOCK_CUSTOM_SOCKOPT = 4, }; +enum softleaf_type { + SOFTLEAF_NONE = 0, + SOFTLEAF_SWAP = 1, + SOFTLEAF_MIGRATION_READ = 2, + SOFTLEAF_MIGRATION_READ_EXCLUSIVE = 3, + SOFTLEAF_MIGRATION_WRITE = 4, + SOFTLEAF_DEVICE_PRIVATE_READ = 5, + SOFTLEAF_DEVICE_PRIVATE_WRITE = 6, + SOFTLEAF_DEVICE_EXCLUSIVE = 7, + SOFTLEAF_HWPOISON = 8, + SOFTLEAF_MARKER = 9, +}; + enum special_kfunc_type { KF_bpf_obj_new_impl = 0, KF_bpf_obj_drop_impl = 1, @@ -9999,9 +10298,18 @@ enum special_kfunc_type { KF_bpf_res_spin_unlock = 43, KF_bpf_res_spin_lock_irqsave = 44, KF_bpf_res_spin_unlock_irqrestore = 45, - KF___bpf_trap = 46, - KF_bpf_task_work_schedule_signal_impl = 47, - KF_bpf_task_work_schedule_resume_impl = 48, + KF_bpf_dynptr_from_file = 46, + KF_bpf_dynptr_file_discard = 47, + KF___bpf_trap = 48, + KF_bpf_task_work_schedule_signal_impl = 49, + KF_bpf_task_work_schedule_resume_impl = 50, +}; + +enum ss_state { + ss_done = 0, + ss_lock = 1, + ss_lock_irqsave = 2, + ss_lockless = 3, }; enum stat_item { @@ -10305,6 +10613,7 @@ enum trace_iter_flags { TRACE_FILE_LAT_FMT = 1, TRACE_FILE_ANNOTATE = 2, TRACE_FILE_TIME_IN_NS = 4, + TRACE_FILE_PAUSE = 8, }; enum trace_iterator_bits { @@ -10342,40 +10651,6 @@ enum trace_iterator_bits { TRACE_ITER_LAST_BIT = 31, }; -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_FUNCTION = 134217728, - TRACE_ITER_FUNC_FORK = 268435456, - TRACE_ITER_DISPLAY_GRAPH = 536870912, - TRACE_ITER_STACKTRACE = 1073741824, -}; - enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, @@ -10412,6 +10687,11 @@ enum trace_type { __TRACE_LAST_TYPE = 21, }; +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + enum tsq_enum { TSQ_THROTTLED = 0, TSQ_QUEUED = 1, @@ -10563,12 +10843,6 @@ enum uprobe_task_state { UTASK_SSTEP_TRAPPED = 3, }; -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - enum uts_proc { UTS_PROC_ARCH = 0, UTS_PROC_OSTYPE = 1, @@ -10687,6 +10961,14 @@ enum vm_fault_reason { VM_FAULT_HINDEX_MASK = 983040, }; +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + enum vma_merge_state { VMA_MERGE_START = 0, VMA_MERGE_ERROR_NOMEM = 1, @@ -11002,6 +11284,8 @@ typedef int __kernel_clockid_t; typedef int __kernel_daddr_t; +typedef int __kernel_key_t; + typedef int __kernel_pid_t; typedef int __kernel_ptrdiff_t; @@ -11032,6 +11316,8 @@ typedef int fpi_t; typedef s32 int32_t; +typedef __kernel_key_t key_t; + typedef s32 old_time32_t; typedef __kernel_pid_t pid_t; @@ -11044,6 +11330,8 @@ typedef __kernel_rwf_t rwf_t; typedef __kernel_ssize_t ssize_t; +typedef int vma_flag_t; + typedef long int __kernel_long_t; typedef __kernel_long_t __kernel_clock_t; @@ -11090,6 +11378,8 @@ typedef __u64 __addrpair; typedef __u64 __be64; +typedef long long unsigned int __kernel_uoff_t; + typedef __u64 __le64; typedef __u64 u64; @@ -11100,6 +11390,8 @@ typedef u64 blkcnt_t; typedef __be64 fdt64_t; +typedef u64 freelist_full_t; + typedef u64 io_req_flags_t; typedef u64 netdev_features_t; @@ -11112,6 +11404,8 @@ typedef __u64 timeu64_t; typedef u64 uint64_t; +typedef __kernel_uoff_t uoff_t; + typedef long unsigned int __kernel_ulong_t; typedef long unsigned int cycles_t; @@ -11150,6 +11444,14 @@ typedef __u16 Elf64_Half; typedef __u16 __be16; +typedef short unsigned int __kernel_gid_t; + +typedef __kernel_gid_t __kernel_old_gid_t; + +typedef short unsigned int __kernel_uid_t; + +typedef __kernel_uid_t __kernel_old_uid_t; + typedef short unsigned int __kernel_sa_family_t; typedef __u16 __le16; @@ -11158,6 +11460,10 @@ typedef __u16 __sum16; typedef short unsigned int mm_id_t; +typedef __kernel_old_gid_t old_gid_t; + +typedef __kernel_old_uid_t old_uid_t; + typedef short unsigned int pci_bus_flags_t; typedef short unsigned int pci_dev_flags_t; @@ -11363,12 +11669,28 @@ typedef struct { unsigned int timeout; } cisco_proto; +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +struct task_struct; + +struct rq; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class___task_rq_lock_t; + typedef struct { void *lock; } class_cpus_read_lock_t; -struct rq; - typedef struct { struct rq *lock; struct rq *lock2; @@ -11391,6 +11713,10 @@ typedef struct { void *lock; } class_jump_label_lock_t; +typedef struct { + void *lock; +} class_ksimd_t; + typedef struct { void *lock; } class_mount_locked_reader_t; @@ -11407,6 +11733,14 @@ typedef struct { void *lock; } class_namespace_shared_t; +typedef struct { + void *lock; +} class_ns_tree_locked_reader_t; + +typedef struct { + void *lock; +} class_ns_tree_writer_t; + typedef struct { void *lock; } class_pagefault_t; @@ -11444,13 +11778,14 @@ typedef struct { void *lock; } class_rcu_tasks_trace_t; -struct pin_cookie {}; +typedef struct { + arch_rwlock_t raw_lock; +} rwlock_t; -struct rq_flags { +typedef struct { + rwlock_t *lock; long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; -}; +} class_read_lock_irqsave_t; typedef struct { struct rq *lock; @@ -11491,18 +11826,12 @@ typedef struct { int idx; } class_srcu_t; -struct task_struct; - typedef struct { struct task_struct *lock; struct rq *rq; struct rq_flags rf; } class_task_rq_lock_t; -typedef struct { - arch_rwlock_t raw_lock; -} rwlock_t; - typedef struct { rwlock_t *lock; } class_write_lock_irq_t; @@ -11713,15 +12042,17 @@ typedef struct { wait_queue_head_t wq; } socket_lock_t; +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef swp_entry_t softleaf_t; + typedef struct { char *from; char *to; } substring_t; -typedef struct { - long unsigned int val; -} swp_entry_t; - typedef struct { unsigned int clock_rate; unsigned int clock_type; @@ -11751,6 +12082,10 @@ typedef struct { uid_t val; } vfsuid_t; +typedef struct { + long unsigned int __vma_flags[1]; +} vma_flags_t; + typedef struct { short unsigned int dce; unsigned int modulo; @@ -11832,6 +12167,12 @@ struct gnet_stats_queue { __u32 overlimits; }; +struct llist_node; + +struct llist_head { + struct llist_node *first; +}; + struct callback_head { struct callback_head *next; void (*func)(struct callback_head *); @@ -11863,24 +12204,43 @@ struct Qdisc { struct gnet_stats_queue *cpu_qstats; int pad; refcount_t refcnt; + __u8 __cacheline_group_begin__Qdisc_read_mostly[0]; struct sk_buff_head gso_skb; - struct qdisc_skb_head q; + struct Qdisc *next_sched; + struct sk_buff_head skb_bad_txq; + __u8 __cacheline_group_end__Qdisc_read_mostly[0]; + long: 32; + long: 32; + long: 32; long: 32; long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + __u8 __cacheline_group_begin__Qdisc_write[0]; + struct qdisc_skb_head q; + long unsigned int state; struct gnet_stats_basic_sync bstats; + bool running; struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; - struct Qdisc *next_sched; - struct sk_buff_head skb_bad_txq; - spinlock_t busylock; + struct sk_buff *to_free; + __u8 __cacheline_group_end__Qdisc_write[0]; + atomic_long_t defer_count; + struct llist_head defer_list; spinlock_t seqlock; struct callback_head rcu; netdevice_tracker dev_tracker; struct lock_class_key root_lock_key; long: 32; long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; long int privdata[0]; }; @@ -12215,6 +12575,21 @@ struct __uprobe_key { loff_t offset; }; +struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +}; + +typedef struct __user_cap_data_struct *cap_user_data_t; + +struct __user_cap_header_struct { + __u32 version; + int pid; +}; + +typedef struct __user_cap_header_struct *cap_user_header_t; + struct __va_list { void *__ap; }; @@ -13001,6 +13376,8 @@ struct arm_pmu { struct notifier_block cpu_pm_nb; const struct attribute_group *attr_groups[5]; int pmuver; + bool has_smt; + long: 32; u64 reg_pmmir; u64 reg_brbidr; long unsigned int pmceid_bitmap[2]; @@ -13026,13 +13403,7 @@ struct arphdr { struct sockaddr { sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; + char sa_data[14]; }; struct arpreq { @@ -13108,10 +13479,16 @@ struct bin_attribute; struct attribute_group { const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); + union { + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_visible_const)(struct kobject *, const struct attribute *, int); + }; umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; + union { + struct attribute **attrs; + const struct attribute * const *attrs_const; + }; const struct bin_attribute * const *bin_attrs; }; @@ -13246,8 +13623,10 @@ struct file { u64 f_pipe; }; loff_t f_pos; + void *f_security; errseq_t f_wb_err; errseq_t f_sb_err; + long: 32; union { struct callback_head f_task_work; struct llist_node f_llist; @@ -13373,6 +13752,7 @@ struct bio { enum rw_hint bi_write_hint; u8 bi_write_stream; blk_status_t bi_status; + u8 bi_bvec_gap_bit; atomic_t __bi_remaining; struct bvec_iter bi_iter; union { @@ -13437,7 +13817,7 @@ struct blacklist_entry { char *buf; }; -struct blake2s_state { +struct blake2s_ctx { u32 h[8]; u32 t[2]; u32 f[2]; @@ -13480,19 +13860,6 @@ struct blk_integrity { struct blk_plug {}; -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - struct disk_stats; struct gendisk; @@ -13523,12 +13890,14 @@ struct block_device { struct mutex bd_fsfreeze_mutex; struct partition_meta_info *bd_meta_info; int bd_writers; + void *bd_security; + long: 32; struct device bd_device; }; struct hd_geometry; -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct blk_report_zones_args; struct pr_ops; @@ -13547,7 +13916,7 @@ struct block_device_operations { int (*set_read_only)(struct block_device *, bool); void (*free_disk)(struct gendisk *); void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, struct blk_report_zones_args *); char * (*devnode)(struct gendisk *, umode_t *); int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); struct module *owner; @@ -13586,10 +13955,12 @@ struct bpf_map { u8 sha[32]; const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; + void *security; enum bpf_map_type map_type; u32 key_size; u32 value_size; u32 max_entries; + long: 32; u64 map_extra; u32 map_flags; u32 id; @@ -14704,6 +15075,8 @@ struct bpf_ctx_convert { void *BPF_PROG_TYPE_STRUCT_OPS_kern; void *BPF_PROG_TYPE_EXT_prog; void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; void *BPF_PROG_TYPE_SYSCALL_prog; void *BPF_PROG_TYPE_SYSCALL_kern; long: 32; @@ -14733,6 +15106,8 @@ struct bpf_ksym { struct list_head lnode; struct latch_tree_node tnode; bool prog; + u32 fp_start; + u32 fp_end; }; struct bpf_dispatcher { @@ -14791,6 +15166,35 @@ struct bpf_dynptr { __u64 __opaque[2]; }; +struct freader { + void *buf; + u32 buf_sz; + int err; + long: 32; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + long: 32; + loff_t folio_off; + bool may_fault; + long: 32; + }; + struct { + const char *data; + long: 32; + u64 data_sz; + }; + }; +}; + +struct bpf_dynptr_file_impl { + struct freader freader; + u64 offset; + u64 size; +}; + struct bpf_dynptr_kern { void *data; u32 size; @@ -15101,6 +15505,11 @@ struct bpf_htab { long: 32; }; +struct bpf_iarray { + int cnt; + u32 items[0]; +}; + struct bpf_id_pair { u32 old; u32 cur; @@ -15139,6 +15548,23 @@ struct bpf_insn_access_aux { bool is_retval; }; +struct bpf_insn_array_value { + __u32 orig_off; + __u32 xlated_off; + __u32 jitted_off; + long: 32; +}; + +struct bpf_insn_array { + struct bpf_map map; + atomic_t used; + long int *ips; + struct { + struct {} __empty_values; + struct bpf_insn_array_value values[0]; + }; +}; + struct bpf_map_ptr_state { struct bpf_map *map_ptr; bool poison; @@ -15180,8 +15606,8 @@ struct bpf_insn_aux_data { u64 obj_new_size; u64 insert_off; }; + struct bpf_iarray *jt; struct btf_struct_meta *kptr_struct_meta; - long: 32; u64 map_key_state; int ctx_field_size; u32 seen; @@ -15189,7 +15615,7 @@ struct bpf_insn_aux_data { bool nospec_result; bool zext_dst; bool needs_zext; - bool storage_get_func_atomic; + bool non_sleepable; bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; @@ -15929,6 +16355,7 @@ struct bpf_local_storage { void *owner; struct callback_head rcu; raw_spinlock_t lock; + bool use_kmalloc_nolock; }; struct bpf_local_storage_cache { @@ -15984,9 +16411,7 @@ struct bpf_local_storage_map { u32 bucket_log; u16 elem_size; u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; + bool use_kmalloc_nolock; }; struct bpf_local_storage_map_bucket { @@ -16110,10 +16535,6 @@ struct bpf_map_owner { enum bpf_attach_type expected_attach_type; }; -struct llist_head { - struct llist_node *first; -}; - struct rcuwait { struct task_struct *task; }; @@ -16390,6 +16811,7 @@ struct bpf_prog_aux { u32 ctx_arg_info_size; u32 max_rdonly_access; u32 max_rdwr_access; + u32 subprog_start; struct btf *attach_btf; struct bpf_ctx_arg_aux *ctx_arg_info; void *priv_stack_ptr; @@ -16414,7 +16836,6 @@ struct bpf_prog_aux { bool changes_pkt_data; bool might_sleep; bool kprobe_write_ctx; - long: 32; u64 prog_array_member_cnt; struct mutex ext_mutex; struct bpf_arena *arena; @@ -16442,6 +16863,7 @@ struct bpf_prog_aux { struct bpf_map *cgroup_storage[2]; char name[16]; u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; struct bpf_token *token; struct bpf_prog_offload *offload; struct btf *btf; @@ -16460,6 +16882,7 @@ struct bpf_prog_aux { struct callback_head rcu; }; struct bpf_stream stream[2]; + long: 32; }; struct bpf_prog_dummy { @@ -16655,6 +17078,7 @@ struct bpf_ringbuf { u64 mask; struct page **pages; int nr_pages; + bool overwrite_mode; rqspinlock_t spinlock; atomic_t busy; long: 32; @@ -17668,7 +18092,6 @@ struct bpf_ringbuf { long: 32; long: 32; long: 32; - long: 32; long unsigned int consumer_pos; long: 32; long: 32; @@ -18695,7 +19118,7 @@ struct bpf_ringbuf { long: 32; long unsigned int producer_pos; long unsigned int pending_pos; - long: 32; + long unsigned int overwrite_pos; long: 32; long: 32; long: 32; @@ -19750,7 +20173,7 @@ struct bpf_verifier_state { u32 active_irq_id; u32 active_lock_id; void *active_lock_ptr; - bool active_rcu_lock; + u32 active_rcu_locks; bool speculative; bool in_sleepable; bool cleaned; @@ -19833,12 +20256,14 @@ struct bpf_sk_storage_diag { }; struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; + unsigned int pkt_len; + u16 pkt_segs; + u16 tc_classid; unsigned char data[20]; + u16 slave_dev_queue_mapping; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; }; struct bpf_skb_data_end { @@ -19880,9 +20305,11 @@ struct bpf_sock_addr { }; }; +struct sockaddr_unsized; + struct bpf_sock_addr_kern { struct sock *sk; - struct sockaddr *uaddr; + struct sockaddr_unsized *uaddr; u64 tmp_reg; void *t_ctx; u32 uaddrlen; @@ -19938,6 +20365,10 @@ struct bpf_stack_state { u8 slot_type[8]; }; +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + struct bpf_stream_elem { struct llist_node node; int total_len; @@ -19945,12 +20376,6 @@ struct bpf_stream_elem { char str[0]; }; -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - struct bpf_stream_stage { struct llist_head log; int len; @@ -20067,6 +20492,7 @@ struct bpf_subprog_info { u32 start; u32 linfo_idx; u32 postorder_start; + u32 exit_idx; u16 stack_depth; u16 stack_extra; s16 fastcall_stack_off; @@ -20080,8 +20506,8 @@ struct bpf_subprog_info { bool keep_fastcall_stack: 1; bool changes_pkt_data: 1; bool might_sleep: 1; + u8 arg_cnt: 3; enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -20188,6 +20614,8 @@ struct bpf_token { u64 allowed_maps; u64 allowed_progs; u64 allowed_attachs; + void *security; + long: 32; }; struct bpf_token_info { @@ -20462,8 +20890,10 @@ struct bpf_verifier_env { struct list_head free_list; struct bpf_map *used_maps[64]; struct btf_mod_pair used_btfs[64]; + struct bpf_map *insn_array_maps[64]; u32 used_map_cnt; u32 used_btf_cnt; + u32 insn_array_map_cnt; u32 id_gen; u32 hidden_subprog_cnt; int exception_callback_subprog; @@ -20477,7 +20907,6 @@ struct bpf_verifier_env { bool seen_exception; struct bpf_insn_aux_data *insn_aux_data; const struct bpf_line_info *prev_linfo; - long: 32; struct bpf_verifier_log log; struct bpf_subprog_info subprog_info[258]; union { @@ -20521,6 +20950,8 @@ struct bpf_verifier_env { struct bpf_liveness *liveness; struct bpf_scc_info **scc_info; u32 scc_cnt; + struct bpf_iarray *succ; + struct bpf_iarray *gotox_tmp_buf; long: 32; }; @@ -21148,7 +21579,7 @@ struct cfs_rq { unsigned int h_nr_idle; s64 avg_vruntime; u64 avg_load; - u64 min_vruntime; + u64 zero_vruntime; struct rb_root_cached tasks_timeline; struct sched_entity *curr; struct sched_entity *next; @@ -21193,6 +21624,26 @@ struct cgroup__safe_rcu { struct kernfs_node *kn; }; +struct ns_tree_node { + struct rb_node ns_node; + struct list_head ns_list_entry; +}; + +struct ns_tree_root { + struct rb_root ns_rb; + struct list_head ns_list_head; +}; + +struct ns_tree { + u64 ns_id; + atomic_t __ns_ref_active; + struct ns_tree_node ns_unified_node; + struct ns_tree_node ns_tree_node; + struct ns_tree_node ns_owner_node; + struct ns_tree_root ns_owner_root; + long: 32; +}; + struct proc_ns_operations; struct ns_common { @@ -21203,12 +21654,7 @@ struct ns_common { refcount_t __ns_ref; long: 32; union { - struct { - u64 ns_id; - struct rb_node ns_tree_node; - struct list_head ns_list_node; - long: 32; - }; + struct ns_tree; struct callback_head ns_rcu; }; }; @@ -22487,6 +22933,7 @@ struct cred { kernel_cap_t cap_effective; kernel_cap_t cap_bset; kernel_cap_t cap_ambient; + void *security; struct user_struct *user; struct user_namespace *user_ns; struct ucounts *ucounts; @@ -22495,6 +22942,7 @@ struct cred { int non_rcu; struct callback_head rcu; }; + long: 32; }; struct crng { @@ -22783,6 +23231,14 @@ struct delayed_uprobe { struct mm_struct *mm; }; +struct delegated_inode {}; + +struct delegation { + __u32 d_flags; + __u16 d_type; + __u16 __pad; +}; + struct hlist_bl_node { struct hlist_bl_node *next; struct hlist_bl_node **pprev; @@ -22902,7 +23358,6 @@ struct vmem_altmap { long unsigned int free; long unsigned int align; long unsigned int alloc; - bool inaccessible; }; struct range { @@ -22922,6 +23377,7 @@ struct dev_pagemap { const struct dev_pagemap_ops *ops; void *owner; int nr_range; + long: 32; union { struct range range; struct { @@ -22934,9 +23390,10 @@ struct dev_pagemap { struct vm_fault; struct dev_pagemap_ops { - void (*page_free)(struct page *); + void (*folio_free)(struct folio *); vm_fault_t (*migrate_to_ram)(struct vm_fault *); int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); + void (*folio_split)(struct folio *, struct folio *); }; struct dev_pm_ops { @@ -23055,6 +23512,9 @@ struct device_driver { const struct dev_pm_ops *pm; void (*coredump)(struct device *); struct driver_private *p; + struct { + void (*post_unbind_rust)(struct device *); + } p_cb; }; struct device_link { @@ -23095,6 +23555,7 @@ struct device_node { struct device_node *parent; struct device_node *child; struct device_node *sibling; + struct kobject kobj; long unsigned int _flags; void *data; }; @@ -23368,7 +23829,7 @@ struct dir_context { long: 32; loff_t pos; int count; - long: 32; + unsigned int dt_flags_mask; }; struct dirty_throttle_control { @@ -23442,12 +23903,10 @@ struct dma_map_ops { void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_phys)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_phys)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); @@ -23495,6 +23954,28 @@ struct dmabuf_token { __u32 token_count; }; +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; +}; + struct kqid { union { kuid_t uid; @@ -23869,6 +24350,8 @@ struct em_perf_table; struct em_perf_domain { struct em_perf_table *em_table; + struct list_head node; + int id; int nr_perf_states; int min_perf_state; int max_perf_state; @@ -25024,7 +25507,7 @@ struct ethtool_wolinfo { struct event_trigger_data; -struct event_trigger_ops; +struct ring_buffer_event; struct event_command { struct list_head list; @@ -25036,7 +25519,11 @@ struct event_command { void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); void (*unreg_all)(struct trace_event_file *); int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + bool (*count_func)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); }; struct event_file_link { @@ -25089,7 +25576,6 @@ struct event_trigger_data { long unsigned int count; int ref; int flags; - const struct event_trigger_ops *ops; struct event_command *cmd_ops; struct event_filter *filter; char *filter_str; @@ -25100,15 +25586,7 @@ struct event_trigger_data { char *name; struct list_head named_list; struct event_trigger_data *named_data; -}; - -struct ring_buffer_event; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); + struct llist_node llist; }; struct eventfs_attr { @@ -25236,6 +25714,8 @@ struct fasync_struct { struct callback_head fa_rcu; }; +struct fault_attr {}; + struct faux_device { struct device dev; }; @@ -25270,6 +25750,14 @@ typedef struct fd class_fd_raw_t; typedef struct fd class_fd_t; +struct fd_prepare { + s32 err; + s32 __fd; + struct file *__file; +}; + +typedef struct fd_prepare class_fd_prepare_t; + struct fd_range { unsigned int from; unsigned int to; @@ -25383,7 +25871,7 @@ struct fgraph_cpu_data { struct ftrace_graph_ent { long unsigned int func; - int depth; + long int depth; }; struct ftrace_graph_ent_entry { @@ -25397,6 +25885,11 @@ struct fgraph_ent_args { long unsigned int args[6]; }; +struct fgraph_retaddr_ent_args { + struct ftrace_graph_ent_entry ent; + long unsigned int args[6]; +}; + struct ftrace_graph_ret { long unsigned int func; int depth; @@ -25414,7 +25907,7 @@ struct fgraph_data { struct fgraph_cpu_data *cpu_data; union { struct fgraph_ent_args ent; - struct ftrace_graph_ent_entry rent; + struct fgraph_retaddr_ent_args rent; }; struct ftrace_graph_ret_entry ret; int failed; @@ -27122,32 +27615,35 @@ struct frame_tail { long unsigned int lr; }; -struct freader { - void *buf; - u32 buf_sz; - int err; - long: 32; +struct free_area { + struct list_head free_list[4]; + long unsigned int nr_free; +}; + +struct freelist_counters { union { struct { - struct file *file; - struct folio *folio; - void *addr; - long: 32; - loff_t folio_off; - bool may_fault; - long: 32; - }; - struct { - const char *data; - long: 32; - u64 data_sz; + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; }; }; }; -struct free_area { - struct list_head free_list[4]; - long unsigned int nr_free; +struct freelist_tid { + union { + struct { + void *freelist; + long unsigned int tid; + }; + freelist_full_t freelist_tid; + }; }; struct p_log { @@ -27921,8 +28417,8 @@ struct irq_affinity_notify { struct napi_config; struct napi_struct { - struct list_head poll_list; long unsigned int state; + struct list_head poll_list; int weight; u32 defer_hard_irqs_count; int (*poll)(struct napi_struct *, int); @@ -28291,6 +28787,12 @@ struct icmp6_err { int fatal; }; +struct icmp6_ext_iio_addr6_subobj { + __be16 afi; + __be16 reserved; + struct in6_addr addr6; +}; + struct icmp6_filter { __u32 data[8]; }; @@ -28435,6 +28937,17 @@ struct icmp_ext_hdr { __sum16 checksum; }; +struct icmp_ext_iio_addr4_subobj { + __be16 afi; + __be16 reserved; + __be32 addr4; +}; + +struct icmp_ext_iio_name_subobj { + u8 len; + char name[16]; +}; + struct icmp_filter { __u32 data; }; @@ -29122,6 +29635,7 @@ struct sock_common { unsigned char skc_reuseport: 1; unsigned char skc_ipv6only: 1; unsigned char skc_net_refcnt: 1; + unsigned char skc_bypass_prot_mem: 1; int skc_bound_dev_if; union { struct hlist_node skc_bind_node; @@ -29232,15 +29746,20 @@ struct sock { struct rb_root tcp_rtx_queue; }; struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; struct page_frag sk_frag; - struct timer_list sk_timer; + union { + struct timer_list sk_timer; + struct timer_list tcp_retransmit_timer; + struct timer_list mptcp_retransmit_timer; + }; long unsigned int sk_pacing_rate; atomic_t sk_zckey; atomic_t sk_tskey; + long unsigned int sk_tx_queue_mapping_jiffies; __u8 __cacheline_group_end__sock_write_tx[0]; __u8 __cacheline_group_begin__sock_read_tx[0]; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; long unsigned int sk_max_pacing_rate; long int sk_sndtimeo; u32 sk_priority; @@ -29249,7 +29768,6 @@ struct sock { u16 sk_protocol; u16 sk_type; struct dst_entry *sk_dst_cache; - long: 32; netdev_features_t sk_route_caps; u16 sk_gso_type; u16 sk_gso_max_segs; @@ -29295,6 +29813,7 @@ struct sock { u8 sk_txtime_unused: 6; u8 sk_bpf_cb_flags; void *sk_user_data; + void *sk_security; struct sock_cgroup_data sk_cgrp_data; void (*sk_state_change)(struct sock *); void (*sk_write_space)(struct sock *); @@ -29307,6 +29826,7 @@ struct sock { struct callback_head sk_rcu; netns_tracker ns_tracker; struct xarray sk_user_frags; + long: 32; }; struct inet_cork { @@ -29334,11 +29854,14 @@ struct inet_cork_full { struct ipv6_pinfo; +struct ipv6_fl_socklist; + struct ip_mc_socklist; struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; + struct ipv6_fl_socklist *ipv6_fl_list; long unsigned int inet_flags; __be32 inet_saddr; __s16 uc_ttl; @@ -29356,7 +29879,6 @@ struct inet_sock { __be32 mc_addr; u32 local_port_range; struct ip_mc_socklist *mc_list; - long: 32; struct inet_cork_full cork; }; @@ -29380,8 +29902,11 @@ struct inet_connection_sock { struct request_sock_queue icsk_accept_queue; struct inet_bind_bucket *icsk_bind_hash; struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; struct timer_list icsk_delack_timer; + union { + struct timer_list icsk_keepalive_timer; + struct timer_list mptcp_tout_timer; + }; __u32 icsk_rto; __u32 icsk_rto_min; u32 icsk_rto_max; @@ -29719,23 +30244,29 @@ struct inet_timewait_sock { long: 32; }; +struct inode_state_flags { + enum inode_state_flags_enum __state; +}; + struct inode_operations; struct inode { umode_t i_mode; short unsigned int i_opflags; + unsigned int i_flags; kuid_t i_uid; kgid_t i_gid; - unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping; + void *i_security; long unsigned int i_ino; union { const unsigned int i_nlink; unsigned int __i_nlink; }; dev_t i_rdev; + long: 32; loff_t i_size; time64_t i_atime_sec; time64_t i_mtime_sec; @@ -29750,7 +30281,7 @@ struct inode { enum rw_hint i_write_hint; long: 32; blkcnt_t i_blocks; - enum inode_state_flags_t i_state; + struct inode_state_flags i_state; struct rw_semaphore i_rwsem; long unsigned int dirtied_when; long unsigned int dirtied_time_when; @@ -29946,7 +30477,10 @@ struct ioptdesc { long unsigned int __page_flags; struct list_head iopt_freelist_elm; long unsigned int __page_mapping; - long unsigned int __index; + union { + u8 incoherent; + long unsigned int __index; + }; void *_private; unsigned int __page_type; atomic_t __page_refcount; @@ -30494,7 +31028,7 @@ struct ipv6_ac_socklist { struct udp_table; struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + int (*inet6_bind)(struct sock *, struct sockaddr_unsized *, int, u32); struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); @@ -30573,7 +31107,6 @@ struct ipv6_pinfo { struct inet6_cork cork; struct ipv6_mc_socklist *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; }; struct ipv6_rpl_sr_hdr { @@ -30833,7 +31366,6 @@ struct irq_desc { int threads_handled_last; raw_spinlock_t lock; struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; long unsigned int threads_oneshot; atomic_t threads_active; wait_queue_head_t wait_for_threads; @@ -30937,12 +31469,20 @@ struct irq_fwspec { u32 param[16]; }; +struct irq_fwspec_info { + long unsigned int flags; + const struct cpumask *affinity; +}; + typedef irqreturn_t (*irq_handler_t)(int, void *); struct irqaction { irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; + union { + void *dev_id; + void *percpu_dev_id; + }; + const struct cpumask *affinity; struct irqaction *next; irq_handler_t thread_fn; struct task_struct *thread; @@ -31023,6 +31563,23 @@ struct kallsyms_data { size_t found; }; +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; +}; + struct kernel_clone_args { u64 flags; int *pidfd; @@ -31147,10 +31704,10 @@ struct kernel_xattr_ctx { unsigned int flags; }; -struct kernfs_open_node; - struct kernfs_ops; +struct kernfs_open_node; + struct kernfs_elem_attr { const struct kernfs_ops *ops; struct kernfs_open_node *open; @@ -31172,7 +31729,33 @@ struct kernfs_elem_symlink { struct kernfs_node *target_kn; }; -struct kernfs_iattrs; +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[2]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; + long: 32; +}; struct kernfs_node { atomic_t count; @@ -31213,6 +31796,15 @@ struct kernfs_open_file { const struct vm_operations_struct *vm_ops; }; +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + struct kernfs_ops { int (*open)(struct kernfs_open_file *); void (*release)(struct kernfs_open_file *); @@ -31229,6 +31821,40 @@ struct kernfs_ops { loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); }; +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + struct key_vector { t_key key; unsigned char pos; @@ -31254,10 +31880,7 @@ struct kiocb { int ki_flags; u16 ki_ioprio; u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; + struct wait_page_queue *ki_waitq; long: 32; }; @@ -31280,6 +31903,17 @@ struct klistmount { long: 32; }; +struct klistns { + u64 *uns_ids; + u32 nr_ns_ids; + u64 last_ns_id; + u64 user_ns_id; + u32 ns_type; + struct user_namespace *user_ns; + bool userns_capable; + struct ns_common *first_ns; +}; + struct kmalloc_info_struct { const char *name[1]; unsigned int size; @@ -31304,11 +31938,15 @@ struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct slub_percpu_sheaves; struct kmem_cache_node; struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + struct lock_class_key lock_key; struct slub_percpu_sheaves *cpu_sheaves; slab_flags_t flags; long unsigned int min_partial; @@ -31327,6 +31965,7 @@ struct kmem_cache { unsigned int red_left_pad; const char *name; struct list_head list; + struct kobject kobj; struct kmem_cache_node *node[1]; }; @@ -31340,6 +31979,12 @@ struct kmem_cache_args { unsigned int sheaf_capacity; }; +struct kmem_cache_cpu { + struct freelist_tid; + struct slab *slab; + local_trylock_t lock; +}; + union kmem_cache_iter_priv { struct bpf_iter_kmem_cache it; struct bpf_iter_kmem_cache_kern kit; @@ -31809,6 +32454,7 @@ struct lease_manager_operations { int (*lm_change)(struct file_lease *, int, struct list_head *); void (*lm_setup)(struct file_lease *, void **); bool (*lm_breaker_owns_lease)(struct file_lease *); + int (*lm_open_conflict)(struct file *, int); }; struct legacy_fs_context { @@ -32057,12 +32703,287 @@ struct lruvec { struct zswap_lruvec_state zswap_lruvec_state; }; +struct lsm_blob_sizes { + unsigned int lbs_cred; + unsigned int lbs_file; + unsigned int lbs_ib; + unsigned int lbs_inode; + unsigned int lbs_sock; + unsigned int lbs_superblock; + unsigned int lbs_ipc; + unsigned int lbs_key; + unsigned int lbs_msg_msg; + unsigned int lbs_perf_event; + unsigned int lbs_task; + unsigned int lbs_xattr_count; + unsigned int lbs_tun_dev; + unsigned int lbs_bdev; + unsigned int lbs_bpf_map; + unsigned int lbs_bpf_prog; + unsigned int lbs_bpf_token; +}; + struct lsm_context { char *context; u32 len; int id; }; +struct lsm_ctx { + __u64 id; + __u64 flags; + __u64 len; + __u64 ctx_len; + __u8 ctx[0]; +}; + +struct lsm_id { + const char *name; + long: 32; + u64 id; +}; + +struct lsm_info { + const struct lsm_id *id; + enum lsm_order order; + long unsigned int flags; + struct lsm_blob_sizes *blobs; + int *enabled; + int (*init)(void); + int (*initcall_pure)(void); + int (*initcall_early)(void); + int (*initcall_core)(void); + int (*initcall_subsys)(void); + int (*initcall_fs)(void); + int (*initcall_device)(void); + int (*initcall_late)(void); +}; + +struct lsm_prop_selinux {}; + +struct lsm_prop_smack {}; + +struct lsm_prop_apparmor {}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct static_call_key; + +struct security_hook_list; + +struct static_key_false; + +struct lsm_static_call { + struct static_call_key *key; + void *trampoline; + struct security_hook_list *hl; + struct static_key_false *active; +}; + +struct lsm_static_calls_table { + struct lsm_static_call binder_set_context_mgr[2]; + struct lsm_static_call binder_transaction[2]; + struct lsm_static_call binder_transfer_binder[2]; + struct lsm_static_call binder_transfer_file[2]; + struct lsm_static_call ptrace_access_check[2]; + struct lsm_static_call ptrace_traceme[2]; + struct lsm_static_call capget[2]; + struct lsm_static_call capset[2]; + struct lsm_static_call capable[2]; + struct lsm_static_call quotactl[2]; + struct lsm_static_call quota_on[2]; + struct lsm_static_call syslog[2]; + struct lsm_static_call settime[2]; + struct lsm_static_call vm_enough_memory[2]; + struct lsm_static_call bprm_creds_for_exec[2]; + struct lsm_static_call bprm_creds_from_file[2]; + struct lsm_static_call bprm_check_security[2]; + struct lsm_static_call bprm_committing_creds[2]; + struct lsm_static_call bprm_committed_creds[2]; + struct lsm_static_call fs_context_submount[2]; + struct lsm_static_call fs_context_dup[2]; + struct lsm_static_call fs_context_parse_param[2]; + struct lsm_static_call sb_alloc_security[2]; + struct lsm_static_call sb_delete[2]; + struct lsm_static_call sb_free_security[2]; + struct lsm_static_call sb_free_mnt_opts[2]; + struct lsm_static_call sb_eat_lsm_opts[2]; + struct lsm_static_call sb_mnt_opts_compat[2]; + struct lsm_static_call sb_remount[2]; + struct lsm_static_call sb_kern_mount[2]; + struct lsm_static_call sb_show_options[2]; + struct lsm_static_call sb_statfs[2]; + struct lsm_static_call sb_mount[2]; + struct lsm_static_call sb_umount[2]; + struct lsm_static_call sb_pivotroot[2]; + struct lsm_static_call sb_set_mnt_opts[2]; + struct lsm_static_call sb_clone_mnt_opts[2]; + struct lsm_static_call move_mount[2]; + struct lsm_static_call dentry_init_security[2]; + struct lsm_static_call dentry_create_files_as[2]; + struct lsm_static_call path_notify[2]; + struct lsm_static_call inode_alloc_security[2]; + struct lsm_static_call inode_free_security[2]; + struct lsm_static_call inode_free_security_rcu[2]; + struct lsm_static_call inode_init_security[2]; + struct lsm_static_call inode_init_security_anon[2]; + struct lsm_static_call inode_create[2]; + struct lsm_static_call inode_post_create_tmpfile[2]; + struct lsm_static_call inode_link[2]; + struct lsm_static_call inode_unlink[2]; + struct lsm_static_call inode_symlink[2]; + struct lsm_static_call inode_mkdir[2]; + struct lsm_static_call inode_rmdir[2]; + struct lsm_static_call inode_mknod[2]; + struct lsm_static_call inode_rename[2]; + struct lsm_static_call inode_readlink[2]; + struct lsm_static_call inode_follow_link[2]; + struct lsm_static_call inode_permission[2]; + struct lsm_static_call inode_setattr[2]; + struct lsm_static_call inode_post_setattr[2]; + struct lsm_static_call inode_getattr[2]; + struct lsm_static_call inode_xattr_skipcap[2]; + struct lsm_static_call inode_setxattr[2]; + struct lsm_static_call inode_post_setxattr[2]; + struct lsm_static_call inode_getxattr[2]; + struct lsm_static_call inode_listxattr[2]; + struct lsm_static_call inode_removexattr[2]; + struct lsm_static_call inode_post_removexattr[2]; + struct lsm_static_call inode_file_setattr[2]; + struct lsm_static_call inode_file_getattr[2]; + struct lsm_static_call inode_set_acl[2]; + struct lsm_static_call inode_post_set_acl[2]; + struct lsm_static_call inode_get_acl[2]; + struct lsm_static_call inode_remove_acl[2]; + struct lsm_static_call inode_post_remove_acl[2]; + struct lsm_static_call inode_need_killpriv[2]; + struct lsm_static_call inode_killpriv[2]; + struct lsm_static_call inode_getsecurity[2]; + struct lsm_static_call inode_setsecurity[2]; + struct lsm_static_call inode_listsecurity[2]; + struct lsm_static_call inode_getlsmprop[2]; + struct lsm_static_call inode_copy_up[2]; + struct lsm_static_call inode_copy_up_xattr[2]; + struct lsm_static_call inode_setintegrity[2]; + struct lsm_static_call kernfs_init_security[2]; + struct lsm_static_call file_permission[2]; + struct lsm_static_call file_alloc_security[2]; + struct lsm_static_call file_release[2]; + struct lsm_static_call file_free_security[2]; + struct lsm_static_call file_ioctl[2]; + struct lsm_static_call file_ioctl_compat[2]; + struct lsm_static_call mmap_addr[2]; + struct lsm_static_call mmap_file[2]; + struct lsm_static_call file_mprotect[2]; + struct lsm_static_call file_lock[2]; + struct lsm_static_call file_fcntl[2]; + struct lsm_static_call file_set_fowner[2]; + struct lsm_static_call file_send_sigiotask[2]; + struct lsm_static_call file_receive[2]; + struct lsm_static_call file_open[2]; + struct lsm_static_call file_post_open[2]; + struct lsm_static_call file_truncate[2]; + struct lsm_static_call task_alloc[2]; + struct lsm_static_call task_free[2]; + struct lsm_static_call cred_alloc_blank[2]; + struct lsm_static_call cred_free[2]; + struct lsm_static_call cred_prepare[2]; + struct lsm_static_call cred_transfer[2]; + struct lsm_static_call cred_getsecid[2]; + struct lsm_static_call cred_getlsmprop[2]; + struct lsm_static_call kernel_act_as[2]; + struct lsm_static_call kernel_create_files_as[2]; + struct lsm_static_call kernel_module_request[2]; + struct lsm_static_call kernel_load_data[2]; + struct lsm_static_call kernel_post_load_data[2]; + struct lsm_static_call kernel_read_file[2]; + struct lsm_static_call kernel_post_read_file[2]; + struct lsm_static_call task_fix_setuid[2]; + struct lsm_static_call task_fix_setgid[2]; + struct lsm_static_call task_fix_setgroups[2]; + struct lsm_static_call task_setpgid[2]; + struct lsm_static_call task_getpgid[2]; + struct lsm_static_call task_getsid[2]; + struct lsm_static_call current_getlsmprop_subj[2]; + struct lsm_static_call task_getlsmprop_obj[2]; + struct lsm_static_call task_setnice[2]; + struct lsm_static_call task_setioprio[2]; + struct lsm_static_call task_getioprio[2]; + struct lsm_static_call task_prlimit[2]; + struct lsm_static_call task_setrlimit[2]; + struct lsm_static_call task_setscheduler[2]; + struct lsm_static_call task_getscheduler[2]; + struct lsm_static_call task_movememory[2]; + struct lsm_static_call task_kill[2]; + struct lsm_static_call task_prctl[2]; + struct lsm_static_call task_to_inode[2]; + struct lsm_static_call userns_create[2]; + struct lsm_static_call ipc_permission[2]; + struct lsm_static_call ipc_getlsmprop[2]; + struct lsm_static_call msg_msg_alloc_security[2]; + struct lsm_static_call msg_msg_free_security[2]; + struct lsm_static_call msg_queue_alloc_security[2]; + struct lsm_static_call msg_queue_free_security[2]; + struct lsm_static_call msg_queue_associate[2]; + struct lsm_static_call msg_queue_msgctl[2]; + struct lsm_static_call msg_queue_msgsnd[2]; + struct lsm_static_call msg_queue_msgrcv[2]; + struct lsm_static_call shm_alloc_security[2]; + struct lsm_static_call shm_free_security[2]; + struct lsm_static_call shm_associate[2]; + struct lsm_static_call shm_shmctl[2]; + struct lsm_static_call shm_shmat[2]; + struct lsm_static_call sem_alloc_security[2]; + struct lsm_static_call sem_free_security[2]; + struct lsm_static_call sem_associate[2]; + struct lsm_static_call sem_semctl[2]; + struct lsm_static_call sem_semop[2]; + struct lsm_static_call netlink_send[2]; + struct lsm_static_call d_instantiate[2]; + struct lsm_static_call getselfattr[2]; + struct lsm_static_call setselfattr[2]; + struct lsm_static_call getprocattr[2]; + struct lsm_static_call setprocattr[2]; + struct lsm_static_call ismaclabel[2]; + struct lsm_static_call secid_to_secctx[2]; + struct lsm_static_call lsmprop_to_secctx[2]; + struct lsm_static_call secctx_to_secid[2]; + struct lsm_static_call release_secctx[2]; + struct lsm_static_call inode_invalidate_secctx[2]; + struct lsm_static_call inode_notifysecctx[2]; + struct lsm_static_call inode_setsecctx[2]; + struct lsm_static_call inode_getsecctx[2]; + struct lsm_static_call bpf[2]; + struct lsm_static_call bpf_map[2]; + struct lsm_static_call bpf_prog[2]; + struct lsm_static_call bpf_map_create[2]; + struct lsm_static_call bpf_map_free[2]; + struct lsm_static_call bpf_prog_load[2]; + struct lsm_static_call bpf_prog_free[2]; + struct lsm_static_call bpf_token_create[2]; + struct lsm_static_call bpf_token_free[2]; + struct lsm_static_call bpf_token_cmd[2]; + struct lsm_static_call bpf_token_capable[2]; + struct lsm_static_call locked_down[2]; + struct lsm_static_call perf_event_open[2]; + struct lsm_static_call perf_event_alloc[2]; + struct lsm_static_call perf_event_read[2]; + struct lsm_static_call perf_event_write[2]; + struct lsm_static_call initramfs_populated[2]; + struct lsm_static_call bdev_alloc_security[2]; + struct lsm_static_call bdev_free_security[2]; + struct lsm_static_call bdev_setintegrity[2]; +}; + struct lwq { spinlock_t lock; struct llist_node *ready; @@ -32459,7 +33380,8 @@ struct mii_bus { struct mii_timestamper { bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_set)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_get)(struct mii_timestamper *, struct kernel_hwtstamp_config *); void (*link_state)(struct mii_timestamper *, struct phy_device *); int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; @@ -32550,6 +33472,8 @@ struct mlock_fbatch { struct folio_batch fbatch; }; +struct mm_mm_cid {}; + struct mm_reply_data { struct ethnl_reply_data base; struct ethtool_mm_state state; @@ -32574,6 +33498,7 @@ struct mm_struct { long unsigned int task_size; pgd_t *pgd; atomic_t mm_users; + struct mm_mm_cid mm_cid; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; @@ -32613,7 +33538,7 @@ struct mm_struct { struct uprobes_state uprobes_state; struct work_struct async_put_work; }; - long unsigned int cpu_bitmap[0]; + char flexible_array[0]; }; struct mm_struct__safe_rcu_or_null { @@ -32647,6 +33572,21 @@ struct mm_walk_ops { enum page_walk_lock walk_lock; }; +struct mmap_action { + union { + struct { + long unsigned int start; + long unsigned int start_pfn; + long unsigned int size; + pgprot_t pgprot; + } remap; + }; + enum mmap_action_type type; + int (*success_hook)(const struct vm_area_struct *); + int (*error_hook)(int); + bool hide_from_rmap_until_complete: 1; +}; + struct mmap_arg_struct { long unsigned int addr; long unsigned int len; @@ -32695,7 +33635,9 @@ struct mmap_state { struct vma_munmap_struct vms; struct ma_state mas_detach; struct maple_tree mt_detach; - bool check_ksm_early; + bool check_ksm_early: 1; + bool hold_file_rmap_lock: 1; + bool file_doesnt_need_get: 1; }; struct mmap_unlock_irq_work { @@ -32747,6 +33689,8 @@ struct mmu_gather { unsigned int vma_exec: 1; unsigned int vma_huge: 1; unsigned int vma_pfn: 1; + unsigned int unshared_tables: 1; + unsigned int fully_unshared_tables: 1; unsigned int batch_count; struct mmu_gather_batch *active; struct mmu_gather_batch local; @@ -32809,7 +33753,7 @@ struct mnt_namespace { unsigned int nr_mounts; unsigned int pending_mounts; refcount_t passive; - long: 32; + bool is_anon; }; struct mnt_ns_info { @@ -32877,14 +33821,14 @@ struct module_memory { struct mod_tree_node mtn; }; -struct module_sect_attrs; - -struct module_notes_attrs; - typedef struct tracepoint * const tracepoint_ptr_t; struct module_attribute; +struct module_sect_attrs; + +struct module_notes_attrs; + struct trace_event_call; struct trace_eval_map; @@ -32901,6 +33845,7 @@ struct module { const struct kernel_symbol *syms; const u32 *crcs; unsigned int num_syms; + struct mutex param_lock; struct kernel_param *kp; unsigned int num_kp; unsigned int num_gpl_syms; @@ -32912,6 +33857,19 @@ struct module { struct exception_table_entry *extable; int (*init)(void); long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; struct module_memory mem[7]; struct mod_arch_specific arch; long unsigned int taints; @@ -32955,6 +33913,11 @@ struct module_attribute { void (*free)(struct module *); }; +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct param_attribute { struct module_attribute mattr; const struct kernel_param *param; @@ -32971,12 +33934,23 @@ struct module_reply_data { struct ethtool_module_power_mode_params power; }; +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct module_string { struct list_head next; struct module *module; char *str; }; +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + struct vfsmount { struct dentry *mnt_root; struct super_block *mnt_sb; @@ -33077,6 +34051,47 @@ struct mq_sched { struct Qdisc **qdiscs; }; +struct phy_mse_capability { + u64 max_average_mse; + u64 max_peak_mse; + u64 refresh_rate_ps; + u64 num_symbols; + u32 supported_caps; + long: 32; +}; + +struct mse_snapshot_entry; + +struct mse_reply_data { + struct ethnl_reply_data base; + long: 32; + struct phy_mse_capability capability; + struct mse_snapshot_entry *snapshots; + unsigned int num_snapshots; +}; + +struct phy_mse_snapshot { + u64 average_mse; + u64 peak_mse; + u64 worst_peak_mse; +}; + +struct mse_snapshot_entry { + struct phy_mse_snapshot snapshot; + int channel; + long: 32; +}; + +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + struct ubuf_info; struct msghdr { @@ -33156,9 +34171,11 @@ struct msi_desc { struct device *dev; struct msi_msg msg; struct irq_affinity_desc *affinity; + struct device_attribute *sysfs_attrs; void (*write_msi_msg)(struct msi_desc *, void *); void *write_msi_msg_data; u16 msi_index; + long: 32; union { struct pci_msi_desc pci; struct msi_desc_data data; @@ -33230,7 +34247,7 @@ struct napi_alloc_cache { local_lock_t bh_lock; struct page_frag_cache page; unsigned int skb_count; - void *skb_cache[64]; + void *skb_cache[128]; }; struct napi_config { @@ -33479,7 +34496,7 @@ struct neigh_table { atomic_t gc_entries; struct list_head gc_list; struct list_head managed_list; - rwlock_t lock; + spinlock_t lock; long unsigned int last_rand; struct neigh_statistics *stats; struct neigh_hash_table *nht; @@ -33540,9 +34557,11 @@ struct raw_notifier_head { struct netns_core { struct ctl_table_header *sysctl_hdr; int sysctl_somaxconn; + int sysctl_txq_reselection; int sysctl_optmem_max; u8 sysctl_txrehash; u8 sysctl_tstamp_allow_data; + u8 sysctl_bypass_prot_mem; }; struct tcp_mib; @@ -33597,14 +34616,15 @@ struct netns_ipv4 { u8 sysctl_ip_fwd_use_pmtu; __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_tcp_moderate_rcvbuf; u8 sysctl_ip_early_demux; u8 sysctl_tcp_early_demux; u8 sysctl_tcp_l3mdev_accept; int sysctl_tcp_reordering; int sysctl_tcp_rmem[3]; + int sysctl_tcp_rcvbuf_low_rtt; __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; struct inet_timewait_death_row tcp_death_row; struct udp_table *udp_table; @@ -33628,6 +34648,7 @@ struct netns_ipv4 { u8 sysctl_icmp_echo_ignore_broadcasts; u8 sysctl_icmp_ignore_bogus_error_responses; u8 sysctl_icmp_errors_use_inbound_ifaddr; + u8 sysctl_icmp_errors_extension_mask; int sysctl_icmp_ratelimit; int sysctl_icmp_ratemask; int sysctl_icmp_msgs_per_sec; @@ -33701,6 +34722,7 @@ struct netns_ipv4 { int sysctl_tcp_pacing_ss_ratio; int sysctl_tcp_pacing_ca_ratio; unsigned int sysctl_tcp_child_ehash_entries; + int sysctl_tcp_comp_sack_rtt_percent; long unsigned int sysctl_tcp_comp_sack_delay_ns; long unsigned int sysctl_tcp_comp_sack_slack_ns; int sysctl_max_syn_backlog; @@ -33777,6 +34799,7 @@ struct netns_sysctl_ipv6 { u8 skip_notify_on_dev_down; u8 fib_notify_on_flag_change; u8 icmpv6_error_anycast_as_unicast; + u8 icmpv6_errors_extension_mask; long: 32; }; @@ -33871,6 +34894,7 @@ struct net { struct netns_mib mib; struct netns_packet packet; struct netns_nexthop nexthop; + long: 32; struct netns_ipv4 ipv4; struct netns_ipv6 ipv6; struct net_generic *gen; @@ -34141,6 +35165,7 @@ struct net_device { struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; unsigned int promiscuity; unsigned int allmulti; bool uc_promisc; @@ -34173,6 +35198,7 @@ struct net_device { void *ml_priv; enum netdev_ml_priv_type ml_priv_type; enum netdev_stat_type pcpu_stat_type: 8; + long: 32; struct device dev; const struct attribute_group *sysfs_groups[5]; const struct attribute_group *sysfs_rx_queue_group; @@ -34228,8 +35254,6 @@ struct net_device { long: 32; long: 32; long: 32; - long: 32; - long: 32; u8 priv[0]; }; @@ -34349,6 +35373,17 @@ struct net_device_path { __be16 proto; u8 h_dest[6]; } encap; + struct { + union { + struct in_addr src_v4; + struct in6_addr src_v6; + }; + union { + struct in_addr dst_v4; + struct in6_addr dst_v6; + }; + u8 l3_proto; + } tun; struct { enum { DEV_PATH_BR_VLAN_KEEP = 0, @@ -34483,6 +35518,7 @@ struct net_hotdata { int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; + int qdisc_max_burst; int dev_tx_weight; int dev_rx_weight; int sysctl_max_skb_frags; @@ -34713,9 +35749,12 @@ struct netdev_queue { netdevice_tracker dev_tracker; struct Qdisc *qdisc; struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; long unsigned int tx_maxrate; atomic_long_t trans_timeout; struct net_device *sb_dev; + struct dql dql; spinlock_t _xmit_lock; int xmit_lock_owner; long unsigned int trans_start; @@ -34723,6 +35762,12 @@ struct netdev_queue { struct napi_struct *napi; }; +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + struct netdev_queue_mgmt_ops { size_t ndo_queue_mem_size; int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); @@ -35315,11 +36360,15 @@ struct ns_get_path_task_args { struct task_struct *task; }; -struct ns_tree { - struct rb_root ns_tree; - struct list_head ns_list; - seqlock_t ns_tree_lock; - int type; +struct ns_id_req { + __u32 size; + __u32 spare; + __u64 ns_id; + struct { + __u32 ns_type; + __u32 spare2; + __u64 user_ns_id; + }; }; struct nsfs_file_handle { @@ -35593,6 +36642,12 @@ struct osnoise_entry { long: 32; }; +struct p2pdma_provider { + struct device *owner; + long: 32; + u64 bus_offset; +}; + struct packet_type { __be16 type; bool ignore_outgoing; @@ -35821,9 +36876,8 @@ struct pci_eq_presets { }; struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; + struct p2pdma_provider *mem; enum pci_p2pdma_map_type map; - u64 bus_off; }; struct pcpu_group_info { @@ -36106,6 +37160,19 @@ struct perf_buffer { void *data_pages[0]; }; +struct unwind_stacktrace; + +struct perf_callchain_deferred_event { + struct unwind_stacktrace *trace; + long: 32; + struct { + struct perf_event_header header; + u64 cookie; + u64 nr; + u64 ips[0]; + } event; +}; + struct perf_callchain_entry { u64 nr; u64 ip[0]; @@ -36265,7 +37332,9 @@ struct perf_event_attr { __u64 inherit_thread: 1; __u64 remove_on_exec: 1; __u64 sigtrap: 1; - __u64 __reserved_1: 26; + __u64 defer_callchain: 1; + __u64 defer_output: 1; + __u64 __reserved_1: 24; union { __u32 wakeup_events; __u32 wakeup_watermark; @@ -36303,6 +37372,7 @@ struct perf_event_attr { }; __u64 sig_data; __u64 config3; + __u64 config4; }; typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); @@ -36385,10 +37455,10 @@ struct perf_event { struct trace_event_call *tp_event; struct event_filter *filter; struct ftrace_ops ftrace_ops; + void *security; struct list_head sb_list; struct list_head pmu_list; u32 orig_type; - long: 32; }; struct perf_event_min_heap { @@ -36698,6 +37768,12 @@ struct phylink; struct pse_control; +struct phy_oatc14_sqi_capability { + bool updated; + int sqi_max; + u8 sqiplus_bits; +}; + struct phy_driver; struct phy_device { @@ -36724,6 +37800,8 @@ struct phy_device { unsigned int autoneg: 1; unsigned int link: 1; unsigned int autoneg_complete: 1; + bool pause: 1; + bool asym_pause: 1; unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; @@ -36736,8 +37814,6 @@ struct phy_device { int speed; int duplex; int port; - int pause; - int asym_pause; u8 master_slave_get; u8 master_slave_set; u8 master_slave_state; @@ -36772,6 +37848,8 @@ struct phy_device { unsigned int link_down_events; void (*phy_link_change)(struct phy_device *, bool); void (*adjust_link)(struct net_device *); + struct phy_oatc14_sqi_capability oatc14_sqi_capability; + long: 32; }; struct phy_device_node { @@ -36831,6 +37909,8 @@ struct phy_driver { int (*set_loopback)(struct phy_device *, bool, int); int (*get_sqi)(struct phy_device *); int (*get_sqi_max)(struct phy_device *); + int (*get_mse_capability)(struct phy_device *, struct phy_mse_capability *); + int (*get_mse_snapshot)(struct phy_device *, enum phy_mse_channel, struct phy_mse_snapshot *); int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); @@ -36938,24 +38018,23 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; + struct { + __u32 coredump_mask; + __u32 coredump_signal; + }; + __u64 supported_mask; }; -struct simple_xattrs; - struct pidfs_attr { + long unsigned int attr_mask; struct simple_xattrs *xattrs; - long: 32; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; - long: 32; + struct { + __u64 cgroupid; + __s32 exit_code; + long: 32; + }; + __u32 coredump_mask; + __u32 coredump_signal; }; struct ping_table { @@ -37015,13 +38094,7 @@ struct pipe_inode_info { struct mutex mutex; wait_queue_head_t rd_wait; wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; + union pipe_index; unsigned int max_usage; unsigned int ring_size; unsigned int nr_accounted; @@ -37532,6 +38605,7 @@ struct property { int length; void *value; struct property *next; + struct bin_attribute attr; }; struct property_entry { @@ -37551,8 +38625,6 @@ struct property_entry { }; }; -struct smc_hashinfo; - struct proto_accept_arg; struct sk_psock; @@ -37561,10 +38633,12 @@ struct timewait_sock_ops; struct raw_hashinfo; +struct smc_hashinfo; + struct proto { void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); + int (*pre_connect)(struct sock *, struct sockaddr_unsized *, int); + int (*connect)(struct sock *, struct sockaddr_unsized *, int); int (*disconnect)(struct sock *, int); struct sock * (*accept)(struct sock *, struct proto_accept_arg *); int (*ioctl)(struct sock *, int, int *); @@ -37577,8 +38651,8 @@ struct proto { int (*sendmsg)(struct sock *, struct msghdr *, size_t); int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*bind)(struct sock *, struct sockaddr_unsized *, int); + int (*bind_add)(struct sock *, struct sockaddr_unsized *, int); int (*backlog_rcv)(struct sock *, struct sk_buff *); bool (*bpf_bypass_getsockopt)(int, int); void (*release_cb)(struct sock *); @@ -37638,8 +38712,8 @@ struct proto_ops { int family; struct module *owner; int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*bind)(struct socket *, struct sockaddr_unsized *, int); + int (*connect)(struct socket *, struct sockaddr_unsized *, int, int); int (*socketpair)(struct socket *, struct socket *); int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); int (*getname)(struct socket *, struct sockaddr *, int); @@ -37700,6 +38774,7 @@ struct pseudo_fs_context { const struct xattr_handler * const *xattr; const struct dentry_operations *dops; long unsigned int magic; + unsigned int s_d_flags; }; struct pt_regs_offset { @@ -37867,7 +38942,7 @@ struct queue_limits { unsigned int max_sectors; unsigned int max_user_sectors; unsigned int max_segment_size; - unsigned int min_segment_size; + unsigned int max_fast_segment_size; unsigned int physical_block_size; unsigned int logical_block_size; unsigned int alignment_offset; @@ -38020,7 +39095,6 @@ struct raw6_sock { __u32 ip6mr_table; struct numa_drop_counters drop_counters; struct ipv6_pinfo inet6; - long: 32; }; struct raw_data_entry { @@ -38301,7 +39375,7 @@ struct renamedata { struct dentry *old_dentry; struct dentry *new_parent; struct dentry *new_dentry; - struct inode **delegated_inode; + struct delegated_inode *delegated_inode; unsigned int flags; }; @@ -38311,6 +39385,8 @@ struct blk_mq_ops; struct blk_mq_ctx; +struct blk_mq_hw_ctx; + struct blk_queue_stats; struct rq_qos; @@ -38331,7 +39407,7 @@ struct request_queue { unsigned int queue_depth; refcount_t refs; unsigned int nr_hw_queues; - struct xarray hctx_table; + struct blk_mq_hw_ctx **queue_hw_ctx; struct percpu_ref q_usage_counter; struct lock_class_key io_lock_cls_key; struct lockdep_map io_lockdep_map; @@ -38389,7 +39465,6 @@ struct request_sock_ops { void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); }; struct reserve_mem_table { @@ -38440,7 +39515,7 @@ struct restart_block { u32 val; u32 flags; u32 bitset; - u64 time; + ktime_t time; u32 *uaddr2; long: 32; } futex; @@ -38452,7 +39527,7 @@ struct restart_block { struct old_timespec32 *compat_rmtp; }; long: 32; - u64 expires; + ktime_t expires; } nanosleep; struct { struct pollfd *ufds; @@ -38712,7 +39787,7 @@ struct rt_rq { struct sched_dl_entity; -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *, struct rq_flags *); struct sched_dl_entity { struct rb_node rb_node; @@ -38734,6 +39809,7 @@ struct sched_dl_entity { unsigned int dl_defer: 1; unsigned int dl_defer_armed: 1; unsigned int dl_defer_running: 1; + unsigned int dl_defer_idle: 1; struct hrtimer dl_timer; struct hrtimer inactive_timer; struct rq *rq; @@ -38742,11 +39818,11 @@ struct sched_dl_entity { struct rq { raw_spinlock_t __lock; + unsigned int queue_mask; unsigned int nr_running; unsigned int ttwu_pending; - u64 nr_switches; - long: 32; long: 32; + u64 nr_switches; long: 32; long: 32; long: 32; @@ -38869,6 +39945,8 @@ struct rs_msg { __u8 opt[0]; }; +struct rseq_data {}; + struct rss_nl_dump_ctx { long unsigned int ifindex; long unsigned int ctx_idx; @@ -39321,6 +40399,8 @@ struct rusage { __kernel_long_t ru_nivcsw; }; +typedef struct rw_semaphore *class_rwsem_read_t; + struct rwsem_waiter { struct list_head list; struct task_struct *task; @@ -39329,6 +40409,12 @@ struct rwsem_waiter { bool handoff_set; }; +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + struct s_data { struct sched_domain **sd; struct root_domain *rd; @@ -39424,15 +40510,29 @@ struct sched_attr { __u32 sched_util_max; }; +struct sched_change_ctx; + +typedef struct sched_change_ctx *class_sched_change_t; + +struct sched_change_ctx { + u64 prio; + struct task_struct *p; + int flags; + bool queued; + bool running; + long: 32; +}; + struct sched_class { + unsigned int queue_mask; void (*enqueue_task)(struct rq *, struct task_struct *, int); bool (*dequeue_task)(struct rq *, struct task_struct *, int); void (*yield_task)(struct rq *); bool (*yield_to_task)(struct rq *, struct task_struct *); void (*wakeup_preempt)(struct rq *, struct task_struct *, int); int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + struct task_struct * (*pick_task)(struct rq *, struct rq_flags *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *, struct rq_flags *); void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); void (*set_next_task)(struct rq *, struct task_struct *, bool); int (*select_task_rq)(struct task_struct *, int, int); @@ -39445,11 +40545,13 @@ struct sched_class { void (*task_tick)(struct rq *, struct task_struct *, int); void (*task_fork)(struct task_struct *); void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); + void (*switching_from)(struct rq *, struct task_struct *); void (*switched_from)(struct rq *, struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); void (*switched_to)(struct rq *, struct task_struct *); + u64 (*get_prio)(struct rq *, struct task_struct *); + void (*prio_changed)(struct rq *, struct task_struct *, u64); void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); void (*update_curr)(struct rq *); }; @@ -39474,7 +40576,9 @@ struct sched_domain { long unsigned int last_balance; unsigned int balance_interval; unsigned int nr_balance_failed; - long: 32; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; u64 max_newidle_lb_cost; long unsigned int last_decay_max_lb_cost; char *name; @@ -39573,6 +40677,8 @@ struct sched_group_capacity { struct sched_info {}; +struct sched_mm_cid {}; + struct sched_param { int sched_priority; }; @@ -39693,6 +40799,214 @@ struct section_perm { pmdval_t clear; }; +struct timezone; + +struct xattr; + +struct sembuf; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, const struct qstr *, const struct cred *, struct cred *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, u64); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); + void *lsm_func_addr; +}; + +struct security_hook_list { + struct lsm_static_call *scalls; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + struct seg6_pernet_data { struct mutex lock; struct in6_addr *tun_src; @@ -39727,6 +41041,12 @@ struct semaphore_waiter { bool up; }; +struct sembuf { + short unsigned int sem_num; + short int sem_op; + short int sem_flg; +}; + struct send_signal_irq_work { struct irq_work irq_work; struct task_struct *task; @@ -39853,11 +41173,6 @@ struct shmem_falloc { long unsigned int nr_unswapped; }; -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - struct shmem_inode_info { spinlock_t lock; unsigned int seals; @@ -40228,19 +41543,7 @@ struct slab { void *flush_freelist; }; }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - }; + struct freelist_counters; }; struct callback_head callback_head; }; @@ -40252,7 +41555,10 @@ struct slab_sheaf { union { struct callback_head callback_head; struct list_head barn_list; - unsigned int capacity; + struct { + unsigned int capacity; + bool pfmemalloc; + }; }; struct kmem_cache *cache; unsigned int size; @@ -40273,6 +41579,11 @@ struct slub_percpu_sheaves { struct slab_sheaf *rcu_free; }; +struct smc_hashinfo { + rwlock_t lock; + struct hlist_head ht; +}; + struct smp_hotplug_thread { struct task_struct **store; struct list_head list; @@ -40416,6 +41727,11 @@ struct sockaddr_un { char sun_path[108]; }; +struct sockaddr_unsized { + __kernel_sa_family_t sa_family; + char sa_data[0]; +}; + struct socket_wq { wait_queue_head_t wait; struct fasync_struct *fasync_list; @@ -40480,8 +41796,10 @@ struct software_node { }; struct software_node_ref_args { - const struct software_node *node; + const struct software_node *swnode; + struct fwnode_handle *fwnode; unsigned int nargs; + long: 32; u64 args[16]; }; @@ -40529,6 +41847,13 @@ struct sr6_tlv { __u8 data[0]; }; +struct ss_tmp { + enum ss_state state; + long unsigned int data; + spinlock_t *lock; + spinlock_t *lock_irqsave; +}; + struct stack { u32 irq[4]; u32 abt[4]; @@ -40669,7 +41994,10 @@ struct static_key_true { }; struct vm_struct { - struct vm_struct *next; + union { + struct vm_struct *next; + struct llist_node llnode; + }; void *addr; long unsigned int size; long unsigned int flags; @@ -40825,6 +42153,8 @@ struct subsys_private { struct lock_class_key lock_key; }; +typedef struct super_block *class_super_write_t; + struct mtd_info; struct super_block { @@ -40846,6 +42176,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_t s_active; + void *s_security; const struct xattr_handler * const *s_xattr; struct hlist_bl_head s_roots; struct mount *s_mounts; @@ -40855,7 +42186,6 @@ struct super_block { struct mtd_info *s_mtd; struct hlist_node s_instances; unsigned int s_quota_types; - long: 32; struct quota_info s_dquot; struct sb_writers s_writers; void *s_fs_info; @@ -40889,6 +42219,8 @@ struct super_block { struct list_head s_inodes; spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; + long int s_min_writeback_pages; + long: 32; }; struct super_operations { @@ -40974,7 +42306,7 @@ struct swap_info_struct { struct work_struct discard_work; struct work_struct reclaim_work; struct list_head discard_clusters; - struct plist_node avail_lists[0]; + struct plist_node avail_list; }; struct swap_sequential_cluster { @@ -41017,11 +42349,6 @@ struct symsearch { enum mod_license license; }; -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - struct sys_off_data { int mode; void *cb_data; @@ -41039,10 +42366,19 @@ struct sys_off_handler { struct device *dev; }; +struct syscall_args { + char *ptr_array[3]; + int read[3]; + int uargs; +}; + struct syscall_metadata { const char *name; int syscall_nr; - int nb_args; + u8 nb_args: 7; + u8 user_arg_is_str: 1; + s8 user_arg_size; + short int user_mask; const char **types; const char **args; struct list_head enter_fields; @@ -41075,13 +42411,33 @@ struct syscall_trace_exit { long int ret; }; +struct trace_user_buf; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + size_t size; + int ref; +}; + +struct syscall_user_buffer { + struct trace_user_buf_info buf; + struct callback_head rcu; +}; + struct syscall_user_dispatch {}; -struct syscore_ops { +struct syscore_ops; + +struct syscore { struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); + const struct syscore_ops *ops; + void *data; +}; + +struct syscore_ops { + int (*suspend)(void *); + void (*resume)(void *); + void (*shutdown)(void *); }; struct sysfs_ops { @@ -41229,7 +42585,6 @@ struct tag { struct taint_flag { char c_true; char c_false; - bool module; const char *desc; }; @@ -41433,6 +42788,8 @@ struct task_struct { struct mutex perf_event_mutex; struct list_head perf_event_list; struct perf_ctx_data *perf_ctx_data; + struct rseq_data rseq; + struct sched_mm_cid mm_cid; struct tlbflush_unmap_batch tlb_ubc; struct pipe_inode_info *splice_pipe; struct page_frag task_frag; @@ -41459,6 +42816,7 @@ struct task_struct { struct timer_list oom_reaper_timer; struct vm_struct *stack_vm_area; refcount_t stack_refcount; + void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; struct bpf_net_context *bpf_net_context; @@ -41470,7 +42828,6 @@ struct task_struct { long: 32; long: 32; long: 32; - long: 32; }; struct task_struct__safe_rcu { @@ -41537,9 +42894,6 @@ struct tc_skb_cb { u32 drop_reason; u16 zone; u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; }; struct tcf_chain; @@ -41762,8 +43116,6 @@ struct tcp_sock { long: 32; long: 32; long: 32; - long: 32; - long: 32; __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; u32 segs_out; u32 data_segs_out; @@ -41927,6 +43279,7 @@ struct tcp6_sock { long: 32; long: 32; long: 32; + long: 32; }; union tcp_ao_addr { @@ -42604,6 +43957,7 @@ struct tls_context { u8 rx_conf: 3; u8 zerocopy_sendfile: 1; u8 rx_no_pad: 1; + u16 tx_max_payload_len; int (*push_pending_record)(struct sock *, int); void (*sk_write_space)(struct sock *); void *priv_ctx_tx; @@ -42732,6 +44086,8 @@ struct trace_module_delta; struct trace_pid_list; +struct tracer_flags; + struct trace_options; struct trace_func_repeats; @@ -42764,8 +44120,10 @@ struct trace_array { int buffer_percent; unsigned int n_err_log_entries; struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; + struct tracer_flags *current_trace_flags; + long: 32; + u64 trace_flags; + unsigned char trace_flags_index[64]; unsigned int flags; raw_spinlock_t start_lock; const char *system_names; @@ -42778,6 +44136,7 @@ struct trace_array { struct list_head systems; struct list_head events; struct list_head marker_list; + struct list_head tracers; struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; cpumask_var_t pipe_cpumask; @@ -42793,6 +44152,7 @@ struct trace_array { struct list_head mod_notrace; int function_enabled; int no_filter_buffering_ref; + unsigned int syscall_buf_sz; struct list_head hist_vars; struct trace_func_repeats *last_func_repeats; bool ring_buffer_expanded; @@ -44022,6 +45382,9 @@ struct trace_event_raw_dma_map { struct trace_event_raw_dma_map_sg { struct trace_entry ent; u32 __data_loc_device; + int full_nents; + int full_ents; + bool truncated; u32 __data_loc_phys_addrs; u32 __data_loc_dma_addrs; u32 __data_loc_lengths; @@ -44996,6 +46359,7 @@ struct trace_event_raw_net_dev_rx_verbose_template { unsigned char nr_frags; u16 gso_size; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -45018,6 +46382,8 @@ struct trace_event_raw_net_dev_start_xmit { u16 gso_size; u16 gso_segs; u16 gso_type; + long: 32; + u64 net_cookie; char __data[0]; }; @@ -45026,6 +46392,8 @@ struct trace_event_raw_net_dev_template { void *skbaddr; unsigned int len; u32 __data_loc_name; + long: 32; + u64 net_cookie; char __data[0]; }; @@ -45035,6 +46403,7 @@ struct trace_event_raw_net_dev_xmit { unsigned int len; int rc; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -45043,6 +46412,8 @@ struct trace_event_raw_net_dev_xmit_timeout { u32 __data_loc_name; u32 __data_loc_driver; int queue_index; + long: 32; + u64 net_cookie; char __data[0]; }; @@ -46091,8 +47462,6 @@ struct trace_module_delta { struct tracer_opt; -struct tracer_flags; - struct trace_option_dentry { struct tracer_opt *opt; struct tracer_flags *flags; @@ -46108,6 +47477,7 @@ struct trace_options { union upper_chunk; struct trace_pid_list { + seqcount_raw_spinlock_t seqcount; raw_spinlock_t lock; struct irq_work refill_irqwork; union upper_chunk *upper[256]; @@ -46184,11 +47554,6 @@ struct trace_user_buf { char *buf; }; -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - struct tracefs_dir_ops { int (*mkdir)(const char *); int (*rmdir)(const char *); @@ -46258,9 +47623,10 @@ struct tracer { void (*print_header)(struct seq_file *); enum print_line_t (*print_line)(struct trace_iterator *); int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); + int (*flag_changed)(struct trace_array *, u64, int); struct tracer *next; struct tracer_flags *flags; + struct tracer_flags *default_flags; int enabled; bool print_max; bool allow_instances; @@ -46278,6 +47644,12 @@ struct tracer_opt { u32 bit; }; +struct tracers { + struct list_head list; + struct tracer *tracer; + struct tracer_flags *flags; +}; + struct tracing_log_err { struct list_head list; struct err_info info; @@ -46689,6 +48061,7 @@ struct udp_sock { struct udp6_sock { struct udp_sock udp; struct ipv6_pinfo inet6; + long: 32; }; struct udp_dev_scratch { @@ -46849,6 +48222,11 @@ struct unwind_idx { long unsigned int insn; }; +struct unwind_stacktrace { + unsigned int nr; + long unsigned int *entries; +}; + struct unwind_table { struct list_head list; struct list_head mod_list; @@ -46859,6 +48237,16 @@ struct unwind_table { long unsigned int end_addr; }; +struct unwind_work; + +typedef void (*unwind_callback_t)(struct unwind_work *, struct unwind_stacktrace *, u64); + +struct unwind_work { + struct list_head list; + unwind_callback_t func; + int bit; +}; + union upper_chunk { union upper_chunk *next; union lower_chunk *data[256]; @@ -47073,10 +48461,14 @@ struct vm_area_desc { long unsigned int end; long unsigned int pgoff; struct file *vm_file; - vm_flags_t vm_flags; + union { + vm_flags_t vm_flags; + vma_flags_t vma_flags; + }; pgprot_t page_prot; const struct vm_operations_struct *vm_ops; void *private_data; + struct mmap_action action; }; struct vm_userfaultfd_ctx {}; @@ -47093,7 +48485,7 @@ struct vm_area_struct { pgprot_t vm_page_prot; union { const vm_flags_t vm_flags; - vm_flags_t __vm_flags; + vma_flags_t flags; }; struct list_head anon_vma_chain; struct anon_vma *anon_vma; @@ -47108,6 +48500,11 @@ struct vm_area_struct { struct vm_userfaultfd_ctx vm_userfaultfd_ctx; }; +struct vm_area_struct__safe_trusted_or_null { + struct mm_struct *vm_mm; + struct file *vm_file; +}; + struct vm_fault { const struct { struct vm_area_struct *vma; @@ -47186,6 +48583,7 @@ struct vma_merge_struct { struct vm_userfaultfd_ctx uffd_ctx; struct anon_vma_name *anon_name; enum vma_merge_state state; + struct vm_area_struct *copied_from; bool just_expand: 1; bool give_up_on_oom: 1; bool skip_vma_uprobe: 1; @@ -47337,6 +48735,8 @@ struct warn_args { struct wb_completion { atomic_t cnt; wait_queue_head_t *waitq; + long unsigned int progress_stamp; + long unsigned int wait_start; }; struct wb_domain { @@ -47447,6 +48847,8 @@ struct workqueue_attrs { struct wq_flusher; +struct wq_device; + struct wq_node_nr_active; struct workqueue_struct { @@ -47468,6 +48870,7 @@ struct workqueue_struct { int saved_min_active; struct workqueue_attrs *unbound_attrs; struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; char name[32]; struct callback_head rcu; long: 32; @@ -47482,7 +48885,6 @@ struct workqueue_struct { long: 32; long: 32; long: 32; - long: 32; unsigned int flags; struct pool_workqueue **cpu_pwq; struct wq_node_nr_active *node_nr_active[0]; @@ -47508,6 +48910,12 @@ struct wq_barrier { struct task_struct *task; }; +struct wq_device { + struct workqueue_struct *wq; + long: 32; + struct device dev; +}; + struct wq_drain_dead_softirq_work { struct work_struct work; struct worker_pool *pool; @@ -47619,6 +49027,12 @@ struct xa_state { struct list_lru *xa_lru; }; +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + struct xattr_args { __u64 value; __u32 size; @@ -48128,7 +49542,8 @@ struct xsk_buff_pool { bool unaligned; bool tx_sw_csum; void *addrs; - spinlock_t cq_lock; + spinlock_t cq_prod_lock; + spinlock_t cq_cached_prod_lock; struct xdp_buff_xsk *free_heads[0]; long: 32; }; @@ -48169,6 +49584,8 @@ typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_r typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); @@ -48185,13 +49602,13 @@ typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); typedef u64 (*btf_bpf_d_path)(const struct path *, char *, u32); -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u64, u64, struct bpf_dynptr_kern *); -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); +typedef u64 (*btf_bpf_dynptr_read)(void *, u64, const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u64, void *, u64, u64); typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); @@ -48201,6 +49618,8 @@ typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); @@ -48291,6 +49710,14 @@ typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + typedef u64 (*btf_bpf_jiffies64)(void); typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); @@ -48527,6 +49954,10 @@ typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, stru typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); +typedef u64 (*btf_bpf_sock_create_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_create_setsockopt)(struct sock *, int, int, char *, int); + typedef u64 (*btf_bpf_sock_from_file)(struct file *); typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); @@ -49387,8 +50818,6 @@ typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const typedef initcall_t initcall_entry_t; -struct xattr; - typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); @@ -49429,6 +50858,8 @@ typedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned in typedef void (*phys_reset_t)(long unsigned int, bool); +typedef int (*platform_irq_probe_t)(struct platform_device *, struct device_node *); + typedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int); typedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *); @@ -49463,6 +50894,8 @@ typedef int (*task_call_f)(struct task_struct *, void *); typedef void (*task_work_func_t)(struct callback_head *); +typedef int (*trace_user_buf_copy)(char *, const char *, size_t, void *); + typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); typedef int (*uprobe_write_verify_t)(struct page *, long unsigned int, uprobe_opcode_t *, int, void *); @@ -49475,6 +50908,10 @@ struct swap_iocb; typedef void *acpi_handle; +typedef void *class_user_read_access_t; + +typedef void *class_user_write_access_t; + struct acpi_device; struct audit_buffer; @@ -49500,12 +50937,8 @@ struct nvmem_cell; #ifndef BPF_NO_KFUNC_PROTOTYPES extern void __bpf_trap(void) __weak __ksym; extern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; -extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, struct task_struct *tsk, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; extern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; @@ -49532,16 +50965,16 @@ extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) _ extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; -extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym; extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; -extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u32 dst_off, struct bpf_dynptr *src_ptr, u32 src_off, u32 size) __weak __ksym; +extern int bpf_dynptr_file_discard(struct bpf_dynptr *dynptr) __weak __ksym; +extern int bpf_dynptr_from_file(struct file *file, u32 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym; extern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym; -extern int bpf_dynptr_memset(struct bpf_dynptr *p, u32 offset, u32 size, u8 val) __weak __ksym; -extern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; -extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; -extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; +extern u64 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; extern int bpf_fentry_test1(int a) __weak __ksym; +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; extern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym; extern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym; @@ -49571,13 +51004,11 @@ extern int bpf_modify_return_test(int a, int *b) __weak __ksym; extern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, char f, int g) __weak __ksym; extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; extern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; +extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __weak __ksym; extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void bpf_preempt_disable(void) __weak __ksym; extern void bpf_preempt_enable(void) __weak __ksym; -extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; extern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_left(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym; @@ -49588,6 +51019,7 @@ extern void bpf_rcu_read_lock(void) __weak __ksym; extern void bpf_rcu_read_unlock(void) __weak __ksym; extern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_remove_dentry_xattr(struct dentry *dentry, const char *name__str) __weak __ksym; extern int bpf_res_spin_lock(struct bpf_res_spin_lock *lock) __weak __ksym; extern int bpf_res_spin_lock_irqsave(struct bpf_res_spin_lock *lock, long unsigned int *flags__irq_flag) __weak __ksym; extern void bpf_res_spin_unlock(struct bpf_res_spin_lock *lock) __weak __ksym; @@ -49595,16 +51027,19 @@ extern void bpf_res_spin_unlock_irqrestore(struct bpf_res_spin_lock *lock, long extern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym; extern __u64 *bpf_session_cookie(void) __weak __ksym; extern bool bpf_session_is_return(void) __weak __ksym; +extern int bpf_set_dentry_xattr(struct dentry *dentry, const char *name__str, const struct bpf_dynptr *value_p, int flags) __weak __ksym; extern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym; extern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym; extern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym; extern int bpf_strcasecmp(const char *s1__ign, const char *s2__ign) __weak __ksym; +extern int bpf_strcasestr(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strchr(const char *s__ign, char c) __weak __ksym; extern int bpf_strchrnul(const char *s__ign, char c) __weak __ksym; extern int bpf_strcmp(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strcspn(const char *s__ign, const char *reject__ign) __weak __ksym; extern int bpf_stream_vprintk_impl(int stream_id, const char *fmt__str, const void *args, u32 len__sz, void *aux__prog) __weak __ksym; extern int bpf_strlen(const char *s__ign) __weak __ksym; +extern int bpf_strncasestr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; extern int bpf_strnchr(const char *s__ign, size_t count, char c) __weak __ksym; extern int bpf_strnlen(const char *s__ign, size_t count) __weak __ksym; extern int bpf_strnstr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; diff --git a/include/loongarch64/vmlinux.h b/include/loongarch64/vmlinux.h index be73697..9ed9bfb 120000 --- a/include/loongarch64/vmlinux.h +++ b/include/loongarch64/vmlinux.h @@ -1 +1 @@ -vmlinux_6.18.h \ No newline at end of file +vmlinux_6.19.h \ No newline at end of file diff --git a/include/loongarch64/vmlinux_6.18.h b/include/loongarch64/vmlinux_6.19.h similarity index 95% rename from include/loongarch64/vmlinux_6.18.h rename to include/loongarch64/vmlinux_6.19.h index bf6d3ad..9e5bee2 100644 --- a/include/loongarch64/vmlinux_6.18.h +++ b/include/loongarch64/vmlinux_6.19.h @@ -193,6 +193,10 @@ enum { BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, }; +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + enum { BPF_F_GET_BRANCH_RECORDS_SIZE = 1, }; @@ -243,6 +247,7 @@ enum { BPF_F_TOKEN_FD = 65536, BPF_F_SEGV_ON_FAULT = 131072, BPF_F_NO_USER_CONV = 262144, + BPF_F_RB_OVERWRITE = 524288, }; enum { @@ -312,6 +317,7 @@ enum { BPF_RB_RING_SIZE = 1, BPF_RB_CONS_POS = 2, BPF_RB_PROD_POS = 3, + BPF_RB_OVERWRITE_POS = 4, }; enum { @@ -685,24 +691,6 @@ enum { KEEP_EXPLORING = 1, }; -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - enum { DUMP_PREFIX_NONE = 0, DUMP_PREFIX_ADDRESS = 1, @@ -1128,6 +1116,36 @@ enum { ETHTOOL_A_MODULE_MAX = 3, }; +enum { + ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE = 2, + ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS = 3, + ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS = 4, + __ETHTOOL_A_MSE_CAPABILITIES_CNT = 5, + ETHTOOL_A_MSE_CAPABILITIES_MAX = 4, +}; + +enum { + ETHTOOL_A_MSE_HEADER = 1, + ETHTOOL_A_MSE_CAPABILITIES = 2, + ETHTOOL_A_MSE_CHANNEL_A = 3, + ETHTOOL_A_MSE_CHANNEL_B = 4, + ETHTOOL_A_MSE_CHANNEL_C = 5, + ETHTOOL_A_MSE_CHANNEL_D = 6, + ETHTOOL_A_MSE_WORST_CHANNEL = 7, + ETHTOOL_A_MSE_LINK = 8, + __ETHTOOL_A_MSE_CNT = 9, + ETHTOOL_A_MSE_MAX = 8, +}; + +enum { + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE = 2, + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE = 3, + __ETHTOOL_A_MSE_SNAPSHOT_CNT = 4, + ETHTOOL_A_MSE_SNAPSHOT_MAX = 3, +}; + enum { ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, ETHTOOL_A_PAUSE_STAT_PAD = 1, @@ -1536,8 +1554,9 @@ enum { ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, ETHTOOL_MSG_RSS_CREATE_NTF = 52, ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, + ETHTOOL_MSG_MSE_GET_REPLY = 54, + __ETHTOOL_MSG_KERNEL_CNT = 55, + ETHTOOL_MSG_KERNEL_MAX = 54, }; enum { @@ -1592,8 +1611,9 @@ enum { ETHTOOL_MSG_RSS_SET = 48, ETHTOOL_MSG_RSS_CREATE_ACT = 49, ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, + ETHTOOL_MSG_MSE_GET = 51, + __ETHTOOL_MSG_USER_CNT = 52, + ETHTOOL_MSG_USER_MAX = 51, }; enum { @@ -1656,6 +1676,7 @@ enum { enum { EVENT_TRIGGER_FL_PROBE = 1, + EVENT_TRIGGER_FL_COUNT = 2, }; enum { @@ -1802,6 +1823,7 @@ enum { FTRACE_OPS_FL_DIRECT = 131072, FTRACE_OPS_FL_SUBOP = 262144, FTRACE_OPS_FL_GRAPH = 524288, + FTRACE_OPS_FL_JMP = 1048576, }; enum { @@ -1884,6 +1906,15 @@ enum { __ICMP6_MIB_MAX = 7, }; +enum { + ICMP_ERR_EXT_IIO_IIF = 0, + ICMP_ERR_EXT_COUNT = 1, +}; + +enum { + ICMP_EXT_CTYPE_IIO_ROLE_IIF = 0, +}; + enum { ICMP_MIB_NUM = 0, ICMP_MIB_INMSGS = 1, @@ -3063,6 +3094,12 @@ enum { __MDBA_SET_ENTRY_MAX = 3, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + enum { MEMREMAP_WB = 1, MEMREMAP_WT = 2, @@ -3123,6 +3160,7 @@ enum { NAPIF_STATE_THREADED = 256, NAPIF_STATE_SCHED_THREADED = 512, NAPIF_STATE_HAS_NOTIFIER = 1024, + NAPIF_STATE_THREADED_BUSY_POLL = 2048, }; enum { @@ -3142,6 +3180,7 @@ enum { NAPI_STATE_THREADED = 8, NAPI_STATE_SCHED_THREADED = 9, NAPI_STATE_HAS_NOTIFIER = 10, + NAPI_STATE_THREADED_BUSY_POLL = 11, }; enum { @@ -4408,6 +4447,7 @@ enum { TCP_BPF_SYN_MAC = 1007, TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, SK_BPF_CB_FLAGS = 1009, + SK_BPF_BYPASS_PROT_MEM = 1010, }; enum { @@ -4665,6 +4705,7 @@ enum { TRACE_ARRAY_FL_LAST_BOOT = 4, TRACE_ARRAY_FL_MOD_INIT = 8, TRACE_ARRAY_FL_MEMMAP = 16, + TRACE_ARRAY_FL_VMALLOC = 32, }; enum { @@ -4714,9 +4755,14 @@ enum { TRACE_INTERNAL_IRQ_BIT = 7, TRACE_INTERNAL_SIRQ_BIT = 8, TRACE_INTERNAL_TRANSITION_BIT = 9, - TRACE_BRANCH_BIT = 10, - TRACE_IRQ_BIT = 11, - TRACE_RECORD_RECURSION_BIT = 12, + TRACE_INTERNAL_EVENT_BIT = 10, + TRACE_INTERNAL_EVENT_NMI_BIT = 11, + TRACE_INTERNAL_EVENT_IRQ_BIT = 12, + TRACE_INTERNAL_EVENT_SIRQ_BIT = 13, + TRACE_INTERNAL_EVENT_TRANSITION_BIT = 14, + TRACE_BRANCH_BIT = 15, + TRACE_IRQ_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 17, }; enum { @@ -4806,6 +4852,66 @@ enum { ADDR_LIMIT_3GB = 134217728, }; +enum { + VMA_READ_BIT = 0, + VMA_WRITE_BIT = 1, + VMA_EXEC_BIT = 2, + VMA_SHARED_BIT = 3, + VMA_MAYREAD_BIT = 4, + VMA_MAYWRITE_BIT = 5, + VMA_MAYEXEC_BIT = 6, + VMA_MAYSHARE_BIT = 7, + VMA_GROWSDOWN_BIT = 8, + VMA_UFFD_MISSING_BIT = 9, + VMA_PFNMAP_BIT = 10, + VMA_MAYBE_GUARD_BIT = 11, + VMA_UFFD_WP_BIT = 12, + VMA_LOCKED_BIT = 13, + VMA_IO_BIT = 14, + VMA_SEQ_READ_BIT = 15, + VMA_RAND_READ_BIT = 16, + VMA_DONTCOPY_BIT = 17, + VMA_DONTEXPAND_BIT = 18, + VMA_LOCKONFAULT_BIT = 19, + VMA_ACCOUNT_BIT = 20, + VMA_NORESERVE_BIT = 21, + VMA_HUGETLB_BIT = 22, + VMA_SYNC_BIT = 23, + VMA_ARCH_1_BIT = 24, + VMA_WIPEONFORK_BIT = 25, + VMA_DONTDUMP_BIT = 26, + VMA_SOFTDIRTY_BIT = 27, + VMA_MIXEDMAP_BIT = 28, + VMA_HUGEPAGE_BIT = 29, + VMA_NOHUGEPAGE_BIT = 30, + VMA_MERGEABLE_BIT = 31, + VMA_HIGH_ARCH_0_BIT = 32, + VMA_HIGH_ARCH_1_BIT = 33, + VMA_HIGH_ARCH_2_BIT = 34, + VMA_HIGH_ARCH_3_BIT = 35, + VMA_HIGH_ARCH_4_BIT = 36, + VMA_HIGH_ARCH_5_BIT = 37, + VMA_HIGH_ARCH_6_BIT = 38, + VMA_ALLOW_ANY_UNCACHED_BIT = 39, + VMA_DROPPABLE_BIT = 40, + VMA_UFFD_MINOR_BIT = 41, + VMA_SEALED_BIT = 42, + VMA_PKEY_BIT0_BIT = 32, + VMA_PKEY_BIT1_BIT = 33, + VMA_PKEY_BIT2_BIT = 34, + VMA_PKEY_BIT3_BIT = 35, + VMA_PKEY_BIT4_BIT = 36, + VMA_SAO_BIT = 24, + VMA_GROWSUP_BIT = 24, + VMA_SPARC_ADI_BIT = 24, + VMA_ARM64_BTI_BIT = 24, + VMA_ARCH_CLEAR_BIT = 24, + VMA_MAPPED_COPY_BIT = 24, + VMA_MTE_BIT = 36, + VMA_MTE_ALLOWED_BIT = 37, + VMA_STACK_BIT = 8, +}; + enum { WALK_TRAILING = 1, WALK_MORE = 2, @@ -4949,7 +5055,8 @@ enum { __SCHED_FEAT_WA_BIAS = 22, __SCHED_FEAT_UTIL_EST = 23, __SCHED_FEAT_LATENCY_WARN = 24, - __SCHED_FEAT_NR = 25, + __SCHED_FEAT_NI_RANDOM = 25, + __SCHED_FEAT_NR = 26, }; enum { @@ -4995,7 +5102,8 @@ enum { ___GFP_THISNODE_BIT = 21, ___GFP_ACCOUNT_BIT = 22, ___GFP_ZEROTAGS_BIT = 23, - ___GFP_LAST_BIT = 24, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, }; enum { @@ -5021,8 +5129,9 @@ enum { __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 19, __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 20, __ctx_convertBPF_PROG_TYPE_EXT = 21, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 22, - __ctx_convert_unused = 23, + __ctx_convertBPF_PROG_TYPE_LSM = 22, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 23, + __ctx_convert_unused = 24, }; enum { @@ -5042,6 +5151,10 @@ enum { pci_channel_io_perm_failure = 3, }; +enum { + sysctl_hung_task_timeout_secs = 0, +}; + typedef enum { OSL_GLOBAL_LOCK_HANDLER = 0, OSL_NOTIFY_HANDLER = 1, @@ -5349,6 +5462,12 @@ enum audit_ntp_type { AUDIT_NTP_NVALS = 6, }; +enum base64_variant { + BASE64_STD = 0, + BASE64_URLSAFE = 1, + BASE64_IMAP = 2, +}; + enum batadv_packettype { BATADV_IV_OGM = 0, BATADV_BCAST = 1, @@ -5467,7 +5586,7 @@ enum bpf_arg_type { ARG_PTR_TO_BTF_ID_OR_NULL = 269, ARG_PTR_TO_UNINIT_MEM = 67141636, ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 268435455, + __BPF_ARG_TYPE_LIMIT = 536870911, }; enum bpf_async_type { @@ -5637,6 +5756,7 @@ enum bpf_dynptr_type { BPF_DYNPTR_TYPE_SKB = 3, BPF_DYNPTR_TYPE_XDP = 4, BPF_DYNPTR_TYPE_SKB_META = 5, + BPF_DYNPTR_TYPE_FILE = 6, }; enum bpf_features { @@ -5954,7 +6074,8 @@ enum bpf_map_type { BPF_MAP_TYPE_USER_RINGBUF = 31, BPF_MAP_TYPE_CGRP_STORAGE = 32, BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, + BPF_MAP_TYPE_INSN_ARRAY = 34, + __MAX_BPF_MAP_TYPE = 35, }; enum bpf_netdev_command { @@ -6034,14 +6155,15 @@ enum bpf_reg_type { PTR_TO_ARENA = 18, PTR_TO_BUF = 19, PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, + PTR_TO_INSN = 21, + CONST_PTR_TO_DYNPTR = 22, + __BPF_REG_TYPE_MAX = 23, PTR_TO_MAP_VALUE_OR_NULL = 260, PTR_TO_SOCKET_OR_NULL = 267, PTR_TO_SOCK_COMMON_OR_NULL = 268, PTR_TO_TCP_SOCK_OR_NULL = 269, PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 268435455, + __BPF_REG_TYPE_LIMIT = 536870911, }; enum bpf_ret_code { @@ -6071,7 +6193,7 @@ enum bpf_return_type { RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, RET_PTR_TO_BTF_ID_OR_NULL = 264, RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 268435455, + __BPF_RET_TYPE_LIMIT = 536870911, }; enum bpf_stack_build_id_status { @@ -6138,8 +6260,9 @@ enum bpf_task_work_state { }; enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, + BPF_MOD_NOP = 0, + BPF_MOD_CALL = 1, + BPF_MOD_JUMP = 2, }; enum bpf_tramp_prog_type { @@ -6178,8 +6301,9 @@ enum bpf_type_flag { MEM_ALIGNED = 33554432, MEM_WRITE = 67108864, DYNPTR_TYPE_SKB_META = 134217728, - __BPF_TYPE_FLAG_MAX = 134217729, - __BPF_TYPE_LAST_FLAG = 134217728, + DYNPTR_TYPE_FILE = 268435456, + __BPF_TYPE_FLAG_MAX = 268435457, + __BPF_TYPE_LAST_FLAG = 268435456, }; enum bpf_xdp_mode { @@ -6365,6 +6489,7 @@ enum cons_flags { CON_EXTENDED = 64, CON_SUSPENDED = 128, CON_NBCON = 256, + CON_NBCON_ATOMIC_UNSAFE = 512, }; enum cpio_fields { @@ -6662,7 +6787,6 @@ enum dentry_flags { DCACHE_REFERENCED = 64, DCACHE_DONTCACHE = 128, DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, DCACHE_SHRINK_LIST = 1024, DCACHE_OP_WEAK_REVALIDATE = 2048, DCACHE_NFSFS_RENAMED = 4096, @@ -6685,6 +6809,7 @@ enum dentry_flags { DCACHE_PAR_LOOKUP = 16777216, DCACHE_DENTRY_CURSOR = 33554432, DCACHE_NORCU = 67108864, + DCACHE_PERSISTENT = 134217728, }; enum dev_dma_attr { @@ -7229,7 +7354,11 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, + ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121, + ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122, + ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123, + ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124, + __ETHTOOL_LINK_MODE_MASK_NBITS = 125, }; enum ethtool_mac_stats_src { @@ -7434,6 +7563,10 @@ enum fault_flag { FAULT_FLAG_VMA_LOCK = 4096, }; +enum fault_flags { + FAULT_NOWARN = 1, +}; + enum fbq_type { regular = 0, remote = 1, @@ -8095,6 +8228,18 @@ enum inet_csk_ack_state_t { ICSK_ACK_NOMEM = 32, }; +enum init_ns_id { + IPC_NS_INIT_ID = 1, + UTS_NS_INIT_ID = 2, + USER_NS_INIT_ID = 3, + PID_NS_INIT_ID = 4, + CGROUP_NS_INIT_ID = 5, + TIME_NS_INIT_ID = 6, + NET_NS_INIT_ID = 7, + MNT_NS_INIT_ID = 8, + NS_LAST_INIT_ID = 8, +}; + enum init_ns_ino { IPC_NS_INIT_INO = 4026531839, UTS_NS_INIT_INO = 4026531838, @@ -8122,7 +8267,7 @@ enum inode_state_bits { __I_LRU_ISOLATING = 2, }; -enum inode_state_flags_t { +enum inode_state_flags_enum { I_NEW = 1, I_SYNC = 2, I_LRU_ISOLATING = 4, @@ -8230,7 +8375,9 @@ enum io_uring_op { IORING_OP_READV_FIXED = 60, IORING_OP_WRITEV_FIXED = 61, IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, + IORING_OP_NOP128 = 63, + IORING_OP_URING_CMD128 = 64, + IORING_OP_LAST = 65, }; enum io_uring_register_op { @@ -8270,7 +8417,8 @@ enum io_uring_register_op { IORING_REGISTER_RESIZE_RINGS = 33, IORING_REGISTER_MEM_REGION = 34, IORING_REGISTER_QUERY = 35, - IORING_REGISTER_LAST = 36, + IORING_REGISTER_ZCRX_CTRL = 36, + IORING_REGISTER_LAST = 37, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, }; @@ -8391,7 +8539,8 @@ enum kernel_load_data_id { LOADING_KEXEC_INITRAMFS = 4, LOADING_POLICY = 5, LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, + LOADING_MODULE_COMPRESSED = 7, + LOADING_MAX_ID = 8, }; enum kernel_read_file_id { @@ -8402,7 +8551,36 @@ enum kernel_read_file_id { READING_KEXEC_INITRAMFS = 4, READING_POLICY = 5, READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, + READING_MODULE_COMPRESSED = 7, + READING_MAX_ID = 8, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, }; enum kfunc_ptr_arg_type { @@ -8596,6 +8774,23 @@ enum lruvec_flags { LRUVEC_NODE_CONGESTED = 1, }; +enum lsm_event { + LSM_POLICY_CHANGE = 0, + LSM_STARTED_ALL = 1, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + enum lw_bits { LW_URGENT = 0, }; @@ -8671,6 +8866,7 @@ enum mapping_flags { AS_INACCESSIBLE = 8, AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, AS_KERNEL_FILE = 10, + AS_NO_DATA_INTEGRITY = 11, AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 16, AS_FOLIO_ORDER_MAX = 21, @@ -8697,7 +8893,8 @@ enum memcg_memory_event { MEMCG_SWAP_HIGH = 6, MEMCG_SWAP_MAX = 7, MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, + MEMCG_SOCK_THROTTLED = 9, + MEMCG_NR_MEMORY_EVENTS = 10, }; enum memcg_stat_item { @@ -8716,6 +8913,15 @@ enum meminit_context { MEMINIT_HOTPLUG = 1, }; +enum memory_block_state { + MEM_ONLINE = 0, + MEM_GOING_OFFLINE = 1, + MEM_OFFLINE = 2, + MEM_GOING_ONLINE = 3, + MEM_CANCEL_ONLINE = 4, + MEM_CANCEL_OFFLINE = 5, +}; + enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_COHERENT = 2, @@ -8768,6 +8974,12 @@ enum migration_type { migrate_misfit = 3, }; +enum mmap_action_type { + MMAP_NOTHING = 0, + MMAP_REMAP_PFN = 1, + MMAP_IO_REMAP_PFN = 2, +}; + enum mmap_allocation_direction { UP = 0, DOWN = 1, @@ -8920,12 +9132,12 @@ enum net_device_path_type { DEV_PATH_PPPOE = 3, DEV_PATH_DSA = 4, DEV_PATH_MTK_WDMA = 5, + DEV_PATH_TUN = 6, }; enum net_iov_type { - NET_IOV_DMABUF = 0ULL, - NET_IOV_IOURING = 1ULL, - NET_IOV_MAX = 18446744073709551615ULL, + NET_IOV_DMABUF = 0, + NET_IOV_IOURING = 1, }; enum netdev_cmd { @@ -8979,6 +9191,7 @@ enum netdev_ml_priv_type { enum netdev_napi_threaded { NETDEV_NAPI_THREADED_DISABLED = 0, NETDEV_NAPI_THREADED_ENABLED = 1, + NETDEV_NAPI_THREADED_BUSY_POLL = 2, }; enum netdev_offload_xstats_type { @@ -9272,6 +9485,17 @@ enum node_states { NR_NODE_STATES = 6, }; +enum ns_type { + TIME_NS = 128, + MNT_NS = 131072, + CGROUP_NS = 33554432, + UTS_NS = 67108864, + IPC_NS = 134217728, + USER_NS = 268435456, + PID_NS = 536870912, + NET_NS = 1073741824, +}; + enum of_gpio_flags { OF_GPIO_ACTIVE_LOW = 1, OF_GPIO_SINGLE_ENDED = 2, @@ -9449,6 +9673,11 @@ enum pci_fixup_pass { pci_fixup_suspend_late = 7, }; +enum pci_mmap_api { + PCI_MMAP_SYSFS = 0, + PCI_MMAP_PROCFS = 1, +}; + enum pci_mmap_state { pci_mmap_io = 0, pci_mmap_mem = 1, @@ -9462,6 +9691,11 @@ enum pci_p2pdma_map_type { PCI_P2PDMA_MAP_THRU_HOST_BRIDGE = 4, }; +enum pci_search_direction { + PCI_SEARCH_FORWARD = 0, + PCI_SEARCH_REVERSE = 1, +}; + enum pcie_bus_config_types { PCIE_BUS_TUNE_OFF = 0, PCIE_BUS_DEFAULT = 1, @@ -9567,6 +9801,7 @@ enum perf_callchain_context { PERF_CONTEXT_HV = 18446744073709551584ULL, PERF_CONTEXT_KERNEL = 18446744073709551488ULL, PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_USER_DEFERRED = 18446744073709550976ULL, PERF_CONTEXT_GUEST = 18446744073709549568ULL, PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, @@ -9690,7 +9925,8 @@ enum perf_event_type { PERF_RECORD_CGROUP = 19, PERF_RECORD_TEXT_POKE = 20, PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, + PERF_RECORD_CALLCHAIN_DEFERRED = 22, + PERF_RECORD_MAX = 23, }; enum perf_hw_cache_id { @@ -9787,9 +10023,8 @@ enum perf_type_id { }; enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, + PGDAT_WRITEBACK = 0, + PGDAT_RECLAIM_LOCKED = 1, }; enum pgt_entry { @@ -9807,6 +10042,15 @@ enum pgtable_level { PGTABLE_LEVEL_PGD = 4, }; +enum phy_mse_channel { + PHY_MSE_CHANNEL_A = 0, + PHY_MSE_CHANNEL_B = 1, + PHY_MSE_CHANNEL_C = 2, + PHY_MSE_CHANNEL_D = 3, + PHY_MSE_CHANNEL_WORST = 4, + PHY_MSE_CHANNEL_LINK = 5, +}; + enum phy_state { PHY_DOWN = 0, PHY_READY = 1, @@ -9839,6 +10083,11 @@ enum pid_type { PIDTYPE_MAX = 4, }; +enum pidfs_attr_mask_bits { + PIDFS_ATTR_BIT_EXIT = 0, + PIDFS_ATTR_BIT_COREDUMP = 1, +}; + enum pin_config_param { PIN_CONFIG_BIAS_BUS_HOLD = 0, PIN_CONFIG_BIAS_DISABLE = 1, @@ -9864,8 +10113,10 @@ enum pin_config_param { PIN_CONFIG_PERSIST_STATE = 21, PIN_CONFIG_POWER_SOURCE = 22, PIN_CONFIG_SKEW_DELAY = 23, - PIN_CONFIG_SLEEP_HARDWARE_STATE = 24, - PIN_CONFIG_SLEW_RATE = 25, + PIN_CONFIG_SKEW_DELAY_INPUT_PS = 24, + PIN_CONFIG_SKEW_DELAY_OUTPUT_PS = 25, + PIN_CONFIG_SLEEP_HARDWARE_STATE = 26, + PIN_CONFIG_SLEW_RATE = 27, PIN_CONFIG_END = 127, PIN_CONFIG_MAX = 255, }; @@ -9920,6 +10171,13 @@ enum positive_aop_returns { AOP_TRUNCATED_PAGE = 524289, }; +enum preempt_wakeup_action { + PREEMPT_WAKEUP_NONE = 0, + PREEMPT_WAKEUP_SHORT = 1, + PREEMPT_WAKEUP_PICK = 2, + PREEMPT_WAKEUP_RESCHED = 3, +}; + enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, @@ -9959,8 +10217,9 @@ enum proc_cn_event { PROC_EVENT_EXIT = 2147483648, }; -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, +enum pt_flags { + PT_kernel = 2, + PT_reserved = 13, }; enum qdisc_state_t { @@ -10270,6 +10529,11 @@ enum resolve_mode { RESOLVE_STRUCT_OR_ARRAY = 2, }; +enum rht_lookup_freq { + RHT_LOOKUP_NORMAL = 0, + RHT_LOOKUP_LIKELY = 1, +}; + enum ring_buffer_flags { RB_FL_OVERWRITE = 1, }; @@ -10626,69 +10890,70 @@ enum skb_drop_reason { SKB_DROP_REASON_TC_EGRESS = 62, SKB_DROP_REASON_SECURITY_HOOK = 63, SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_PSP_INPUT = 125, - SKB_DROP_REASON_PSP_OUTPUT = 126, - SKB_DROP_REASON_MAX = 127, + SKB_DROP_REASON_QDISC_BURST_DROP = 65, + SKB_DROP_REASON_QDISC_OVERLIMIT = 66, + SKB_DROP_REASON_QDISC_CONGESTED = 67, + SKB_DROP_REASON_CAKE_FLOOD = 68, + SKB_DROP_REASON_FQ_BAND_LIMIT = 69, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 70, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 71, + SKB_DROP_REASON_CPU_BACKLOG = 72, + SKB_DROP_REASON_XDP = 73, + SKB_DROP_REASON_TC_INGRESS = 74, + SKB_DROP_REASON_UNHANDLED_PROTO = 75, + SKB_DROP_REASON_SKB_CSUM = 76, + SKB_DROP_REASON_SKB_GSO_SEG = 77, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 78, + SKB_DROP_REASON_DEV_HDR = 79, + SKB_DROP_REASON_DEV_READY = 80, + SKB_DROP_REASON_FULL_RING = 81, + SKB_DROP_REASON_NOMEM = 82, + SKB_DROP_REASON_HDR_TRUNC = 83, + SKB_DROP_REASON_TAP_FILTER = 84, + SKB_DROP_REASON_TAP_TXFILTER = 85, + SKB_DROP_REASON_ICMP_CSUM = 86, + SKB_DROP_REASON_INVALID_PROTO = 87, + SKB_DROP_REASON_IP_INADDRERRORS = 88, + SKB_DROP_REASON_IP_INNOROUTES = 89, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 90, + SKB_DROP_REASON_IP_INVALID_SOURCE = 91, + SKB_DROP_REASON_IP_LOCALNET = 92, + SKB_DROP_REASON_IP_INVALID_DEST = 93, + SKB_DROP_REASON_PKT_TOO_BIG = 94, + SKB_DROP_REASON_DUP_FRAG = 95, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 96, + SKB_DROP_REASON_FRAG_TOO_FAR = 97, + SKB_DROP_REASON_TCP_MINTTL = 98, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 99, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 100, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 102, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 103, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 104, + SKB_DROP_REASON_QUEUE_PURGE = 105, + SKB_DROP_REASON_TC_COOKIE_ERROR = 106, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 107, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 108, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 109, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 110, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 111, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 112, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 113, + SKB_DROP_REASON_NO_TX_TARGET = 114, + SKB_DROP_REASON_IP_TUNNEL_ECN = 115, + SKB_DROP_REASON_TUNNEL_TXINFO = 116, + SKB_DROP_REASON_LOCAL_MAC = 117, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 118, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 119, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 120, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 123, + SKB_DROP_REASON_PFMEMALLOC = 124, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 125, + SKB_DROP_REASON_PSP_INPUT = 126, + SKB_DROP_REASON_PSP_OUTPUT = 127, + SKB_DROP_REASON_MAX = 128, SKB_DROP_REASON_SUBSYS_MASK = 4294901760, }; @@ -10791,6 +11056,19 @@ enum socket_flags { SOCK_CUSTOM_SOCKOPT = 4, }; +enum softleaf_type { + SOFTLEAF_NONE = 0, + SOFTLEAF_SWAP = 1, + SOFTLEAF_MIGRATION_READ = 2, + SOFTLEAF_MIGRATION_READ_EXCLUSIVE = 3, + SOFTLEAF_MIGRATION_WRITE = 4, + SOFTLEAF_DEVICE_PRIVATE_READ = 5, + SOFTLEAF_DEVICE_PRIVATE_WRITE = 6, + SOFTLEAF_DEVICE_EXCLUSIVE = 7, + SOFTLEAF_HWPOISON = 8, + SOFTLEAF_MARKER = 9, +}; + enum special_kfunc_type { KF_bpf_obj_new_impl = 0, KF_bpf_obj_drop_impl = 1, @@ -10838,9 +11116,18 @@ enum special_kfunc_type { KF_bpf_res_spin_unlock = 43, KF_bpf_res_spin_lock_irqsave = 44, KF_bpf_res_spin_unlock_irqrestore = 45, - KF___bpf_trap = 46, - KF_bpf_task_work_schedule_signal_impl = 47, - KF_bpf_task_work_schedule_resume_impl = 48, + KF_bpf_dynptr_from_file = 46, + KF_bpf_dynptr_file_discard = 47, + KF___bpf_trap = 48, + KF_bpf_task_work_schedule_signal_impl = 49, + KF_bpf_task_work_schedule_resume_impl = 50, +}; + +enum ss_state { + ss_done = 0, + ss_lock = 1, + ss_lock_irqsave = 2, + ss_lockless = 3, }; enum stack_type { @@ -11195,6 +11482,7 @@ enum trace_iter_flags { TRACE_FILE_LAT_FMT = 1, TRACE_FILE_ANNOTATE = 2, TRACE_FILE_TIME_IN_NS = 4, + TRACE_FILE_PAUSE = 8, }; enum trace_iterator_bits { @@ -11232,40 +11520,6 @@ enum trace_iterator_bits { TRACE_ITER_LAST_BIT = 31, }; -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_FUNCTION = 134217728, - TRACE_ITER_FUNC_FORK = 268435456, - TRACE_ITER_DISPLAY_GRAPH = 536870912, - TRACE_ITER_STACKTRACE = 1073741824, -}; - enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, @@ -11302,6 +11556,11 @@ enum trace_type { __TRACE_LAST_TYPE = 21, }; +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + enum tsq_enum { TSQ_THROTTLED = 0, TSQ_QUEUED = 1, @@ -11453,12 +11712,6 @@ enum utf16_endian { UTF16_BIG_ENDIAN = 2, }; -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - enum uts_proc { UTS_PROC_ARCH = 0, UTS_PROC_OSTYPE = 1, @@ -11603,6 +11856,14 @@ enum vm_fault_reason { VM_FAULT_HINDEX_MASK = 983040, }; +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + enum vma_merge_state { VMA_MERGE_START = 0, VMA_MERGE_ERROR_NOMEM = 1, @@ -11917,6 +12178,8 @@ typedef __int128 unsigned __u128; typedef __u128 u128; +typedef u128 freelist_full_t; + typedef char acpi_bus_id[8]; typedef char acpi_device_class[20]; @@ -11981,6 +12244,8 @@ typedef __kernel_rwf_t rwf_t; typedef __kernel_timer_t timer_t; +typedef int vma_flag_t; + typedef long int __kernel_long_t; typedef __kernel_long_t __kernel_clock_t; @@ -12039,6 +12304,8 @@ typedef __u64 __addrpair; typedef __u64 __be64; +typedef long long unsigned int __kernel_uoff_t; + typedef __u64 __le64; typedef __u64 u64; @@ -12077,6 +12344,8 @@ typedef __u64 timeu64_t; typedef u64 uint64_t; +typedef __kernel_uoff_t uoff_t; + typedef long unsigned int __kernel_ulong_t; typedef __kernel_ulong_t __kernel_size_t; @@ -12348,12 +12617,28 @@ typedef struct { unsigned int timeout; } cisco_proto; +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +struct task_struct; + +struct rq; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class___task_rq_lock_t; + typedef struct { void *lock; } class_cpus_read_lock_t; -struct rq; - typedef struct { struct rq *lock; struct rq *lock2; @@ -12398,6 +12683,14 @@ typedef struct { void *lock; } class_namespace_shared_t; +typedef struct { + void *lock; +} class_ns_tree_locked_reader_t; + +typedef struct { + void *lock; +} class_ns_tree_writer_t; + typedef struct { void *lock; } class_pagefault_t; @@ -12444,14 +12737,6 @@ typedef struct { long unsigned int flags; } class_read_lock_irqsave_t; -struct pin_cookie {}; - -struct rq_flags { - long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; -}; - typedef struct { struct rq *lock; struct rq_flags rf; @@ -12491,8 +12776,6 @@ typedef struct { int idx; } class_srcu_t; -struct task_struct; - typedef struct { struct task_struct *lock; struct rq *rq; @@ -12916,15 +13199,17 @@ typedef struct { wait_queue_head_t wq; } socket_lock_t; +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef swp_entry_t softleaf_t; + typedef struct { char *from; char *to; } substring_t; -typedef struct { - long unsigned int val; -} swp_entry_t; - typedef struct { unsigned int clock_rate; unsigned int clock_type; @@ -12954,6 +13239,10 @@ typedef struct { uid_t val; } vfsuid_t; +typedef struct { + long unsigned int __vma_flags[1]; +} vma_flags_t; + typedef struct { short unsigned int dce; unsigned int modulo; @@ -13030,6 +13319,12 @@ struct gnet_stats_queue { __u32 overlimits; }; +struct llist_node; + +struct llist_head { + struct llist_node *first; +}; + struct callback_head { struct callback_head *next; void (*func)(struct callback_head *); @@ -13061,28 +13356,31 @@ struct Qdisc { struct gnet_stats_queue *cpu_qstats; int pad; refcount_t refcnt; + long: 64; + long: 64; + long: 64; + __u8 __cacheline_group_begin__Qdisc_read_mostly[0]; struct sk_buff_head gso_skb; - struct qdisc_skb_head q; + struct Qdisc *next_sched; + struct sk_buff_head skb_bad_txq; + __u8 __cacheline_group_end__Qdisc_read_mostly[0]; long: 64; + __u8 __cacheline_group_begin__Qdisc_write[0]; + struct qdisc_skb_head q; + long unsigned int state; struct gnet_stats_basic_sync bstats; + bool running; struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; - struct Qdisc *next_sched; - struct sk_buff_head skb_bad_txq; - spinlock_t busylock; + struct sk_buff *to_free; + __u8 __cacheline_group_end__Qdisc_write[0]; + atomic_long_t defer_count; + struct llist_head defer_list; spinlock_t seqlock; struct callback_head rcu; netdevice_tracker dev_tracker; struct lock_class_key root_lock_key; long: 64; long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; long int privdata[0]; }; @@ -14647,7 +14945,8 @@ struct property_entry { struct software_node; struct software_node_ref_args { - const struct software_node *node; + const struct software_node *swnode; + struct fwnode_handle *fwnode; unsigned int nargs; u64 args[16]; }; @@ -14710,6 +15009,9 @@ struct device_driver { const struct dev_pm_ops *pm; void (*coredump)(struct device *); struct driver_private *p; + struct { + void (*post_unbind_rust)(struct device *); + } p_cb; }; struct acpi_driver { @@ -15802,7 +16104,16 @@ struct acpi_pptt_cache { u16 line_size; }; -struct acpi_pptt_cache_v1 { +struct acpi_pptt_cache_v1_full { + struct acpi_subtable_header header; + u16 reserved; + u32 flags; + u32 next_level_of_cache; + u32 size; + u32 number_of_sets; + u8 associativity; + u8 attributes; + u16 line_size; u32 cache_id; }; @@ -17606,13 +17917,7 @@ struct arphdr { struct sockaddr { sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; + char sa_data[14]; }; struct arpreq { @@ -17670,10 +17975,16 @@ struct atomic_notifier_head { struct attribute_group { const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); + union { + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_visible_const)(struct kobject *, const struct attribute *, int); + }; umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; + union { + struct attribute **attrs; + const struct attribute * const *attrs_const; + }; const struct bin_attribute * const *bin_attrs; }; @@ -17817,6 +18128,7 @@ struct file { u64 f_pipe; }; loff_t f_pos; + void *f_security; errseq_t f_wb_err; errseq_t f_sb_err; union { @@ -17932,6 +18244,7 @@ struct bio { enum rw_hint bi_write_hint; u8 bi_write_stream; blk_status_t bi_status; + u8 bi_bvec_gap_bit; atomic_t __bi_remaining; struct bvec_iter bi_iter; union { @@ -18000,7 +18313,7 @@ struct blacklist_entry { char *buf; }; -struct blake2s_state { +struct blake2s_ctx { u32 h[8]; u32 t[2]; u32 f[2]; @@ -18208,19 +18521,6 @@ struct blk_mq_tags { struct blk_plug {}; -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - struct disk_stats; struct gendisk; @@ -18249,12 +18549,13 @@ struct block_device { struct mutex bd_fsfreeze_mutex; struct partition_meta_info *bd_meta_info; int bd_writers; + void *bd_security; struct device bd_device; }; struct hd_geometry; -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct blk_report_zones_args; struct pr_ops; @@ -18271,7 +18572,7 @@ struct block_device_operations { int (*set_read_only)(struct block_device *, bool); void (*free_disk)(struct gendisk *); void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, struct blk_report_zones_args *); char * (*devnode)(struct gendisk *, umode_t *); int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); struct module *owner; @@ -18310,6 +18611,7 @@ struct bpf_map { u8 sha[32]; const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; + void *security; enum bpf_map_type map_type; u32 key_size; u32 value_size; @@ -19415,6 +19717,8 @@ struct bpf_ctx_convert { void *BPF_PROG_TYPE_STRUCT_OPS_kern; void *BPF_PROG_TYPE_EXT_prog; void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; void *BPF_PROG_TYPE_SYSCALL_prog; void *BPF_PROG_TYPE_SYSCALL_kern; }; @@ -19443,6 +19747,8 @@ struct bpf_ksym { struct list_head lnode; struct latch_tree_node tnode; bool prog; + u32 fp_start; + u32 fp_end; }; struct bpf_dispatcher { @@ -19500,6 +19806,31 @@ struct bpf_dynptr { __u64 __opaque[2]; }; +struct freader { + void *buf; + u32 buf_sz; + int err; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + loff_t folio_off; + bool may_fault; + }; + struct { + const char *data; + u64 data_sz; + }; + }; +}; + +struct bpf_dynptr_file_impl { + struct freader freader; + u64 offset; + u64 size; +}; + struct bpf_dynptr_kern { void *data; u32 size; @@ -19802,6 +20133,11 @@ struct bpf_htab { u32 hashrnd; }; +struct bpf_iarray { + int cnt; + u32 items[0]; +}; + struct bpf_id_pair { u32 old; u32 cur; @@ -19840,6 +20176,23 @@ struct bpf_insn_access_aux { bool is_retval; }; +struct bpf_insn_array_value { + __u32 orig_off; + __u32 xlated_off; + __u32 jitted_off; + long: 0; +}; + +struct bpf_insn_array { + struct bpf_map map; + atomic_t used; + long int *ips; + struct { + struct {} __empty_values; + struct bpf_insn_array_value values[0]; + }; +}; + struct bpf_map_ptr_state { struct bpf_map *map_ptr; bool poison; @@ -19880,6 +20233,7 @@ struct bpf_insn_aux_data { u64 obj_new_size; u64 insert_off; }; + struct bpf_iarray *jt; struct btf_struct_meta *kptr_struct_meta; u64 map_key_state; int ctx_field_size; @@ -19888,7 +20242,7 @@ struct bpf_insn_aux_data { bool nospec_result; bool zext_dst; bool needs_zext; - bool storage_get_func_atomic; + bool non_sleepable; bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; @@ -20648,6 +21002,7 @@ struct bpf_local_storage { void *owner; struct callback_head rcu; raw_spinlock_t lock; + bool use_kmalloc_nolock; }; struct bpf_local_storage_cache { @@ -20687,9 +21042,7 @@ struct bpf_local_storage_map { u32 bucket_log; u16 elem_size; u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; + bool use_kmalloc_nolock; }; struct bpf_local_storage_map_bucket { @@ -20812,10 +21165,6 @@ struct bpf_map_owner { enum bpf_attach_type expected_attach_type; }; -struct llist_head { - struct llist_node *first; -}; - struct rcuwait { struct task_struct *task; }; @@ -21084,6 +21433,7 @@ struct bpf_prog_aux { u32 ctx_arg_info_size; u32 max_rdonly_access; u32 max_rdwr_access; + u32 subprog_start; struct btf *attach_btf; struct bpf_ctx_arg_aux *ctx_arg_info; void *priv_stack_ptr; @@ -21135,6 +21485,7 @@ struct bpf_prog_aux { struct bpf_map *cgroup_storage[2]; char name[16]; u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; struct bpf_token *token; struct bpf_prog_offload *offload; struct btf *btf; @@ -21340,6 +21691,7 @@ struct bpf_ringbuf { u64 mask; struct page **pages; int nr_pages; + bool overwrite_mode; rqspinlock_t spinlock; atomic_t busy; long: 64; @@ -25430,7 +25782,7 @@ struct bpf_ringbuf { long: 64; long unsigned int producer_pos; long unsigned int pending_pos; - long: 64; + long unsigned int overwrite_pos; long: 64; long: 64; long: 64; @@ -27507,7 +27859,7 @@ struct bpf_verifier_state { u32 active_irq_id; u32 active_lock_id; void *active_lock_ptr; - bool active_rcu_lock; + u32 active_rcu_locks; bool speculative; bool in_sleepable; bool cleaned; @@ -27584,12 +27936,14 @@ struct bpf_sk_storage_diag { }; struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; + unsigned int pkt_len; + u16 pkt_segs; + u16 tc_classid; unsigned char data[20]; + u16 slave_dev_queue_mapping; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; }; struct bpf_skb_data_end { @@ -27630,9 +27984,11 @@ struct bpf_sock_addr { }; }; +struct sockaddr_unsized; + struct bpf_sock_addr_kern { struct sock *sk; - struct sockaddr *uaddr; + struct sockaddr_unsized *uaddr; u64 tmp_reg; void *t_ctx; u32 uaddrlen; @@ -27686,6 +28042,10 @@ struct bpf_stack_state { u8 slot_type[8]; }; +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + struct bpf_stream_elem { struct llist_node node; int total_len; @@ -27693,12 +28053,6 @@ struct bpf_stream_elem { char str[0]; }; -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - struct bpf_stream_stage { struct llist_head log; int len; @@ -27814,6 +28168,7 @@ struct bpf_subprog_info { u32 start; u32 linfo_idx; u32 postorder_start; + u32 exit_idx; u16 stack_depth; u16 stack_extra; s16 fastcall_stack_off; @@ -27827,8 +28182,8 @@ struct bpf_subprog_info { bool keep_fastcall_stack: 1; bool changes_pkt_data: 1; bool might_sleep: 1; + u8 arg_cnt: 3; enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -27931,6 +28286,7 @@ struct bpf_token { u64 allowed_maps; u64 allowed_progs; u64 allowed_attachs; + void *security; }; struct bpf_token_info { @@ -28187,8 +28543,10 @@ struct bpf_verifier_env { struct list_head free_list; struct bpf_map *used_maps[64]; struct btf_mod_pair used_btfs[64]; + struct bpf_map *insn_array_maps[64]; u32 used_map_cnt; u32 used_btf_cnt; + u32 insn_array_map_cnt; u32 id_gen; u32 hidden_subprog_cnt; int exception_callback_subprog; @@ -28244,6 +28602,8 @@ struct bpf_verifier_env { struct bpf_liveness *liveness; struct bpf_scc_info **scc_info; u32 scc_cnt; + struct bpf_iarray *succ; + struct bpf_iarray *gotox_tmp_buf; }; struct bpf_verifier_ops { @@ -28867,7 +29227,7 @@ struct cfs_rq { unsigned int h_nr_idle; s64 avg_vruntime; u64 avg_load; - u64 min_vruntime; + u64 zero_vruntime; struct rb_root_cached tasks_timeline; struct sched_entity *curr; struct sched_entity *next; @@ -28894,6 +29254,25 @@ struct cgroup__safe_rcu { struct kernfs_node *kn; }; +struct ns_tree_node { + struct rb_node ns_node; + struct list_head ns_list_entry; +}; + +struct ns_tree_root { + struct rb_root ns_rb; + struct list_head ns_list_head; +}; + +struct ns_tree { + u64 ns_id; + atomic_t __ns_ref_active; + struct ns_tree_node ns_unified_node; + struct ns_tree_node ns_tree_node; + struct ns_tree_node ns_owner_node; + struct ns_tree_root ns_owner_root; +}; + struct proc_ns_operations; struct ns_common { @@ -28903,11 +29282,7 @@ struct ns_common { unsigned int inum; refcount_t __ns_ref; union { - struct { - u64 ns_id; - struct rb_node ns_tree_node; - struct list_head ns_list_node; - }; + struct ns_tree; struct callback_head ns_rcu; }; }; @@ -30136,6 +30511,7 @@ struct cred { kernel_cap_t cap_effective; kernel_cap_t cap_bset; kernel_cap_t cap_ambient; + void *security; struct user_struct *user; struct user_namespace *user_ns; struct ucounts *ucounts; @@ -30363,6 +30739,14 @@ struct delayed_uprobe { struct mm_struct *mm; }; +struct delegated_inode {}; + +struct delegation { + __u32 d_flags; + __u16 d_type; + __u16 __pad; +}; + struct hlist_bl_node { struct hlist_bl_node *next; struct hlist_bl_node **pprev; @@ -30480,7 +30864,6 @@ struct vmem_altmap { long unsigned int free; long unsigned int align; long unsigned int alloc; - bool inaccessible; }; struct range { @@ -30512,9 +30895,10 @@ struct dev_pagemap { struct vm_fault; struct dev_pagemap_ops { - void (*page_free)(struct page *); + void (*folio_free)(struct folio *); vm_fault_t (*migrate_to_ram)(struct vm_fault *); int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); + void (*folio_split)(struct folio *, struct folio *); }; struct dev_pm_ops { @@ -30585,6 +30969,10 @@ struct dev_pm_qos_request { struct device *dev; }; +typedef struct device *class_pm_runtime_active_t; + +typedef class_pm_runtime_active_t class_pm_runtime_active_try_t; + struct device_attach_data { struct device *dev; bool check_async; @@ -30623,6 +31011,7 @@ struct device_node { struct device_node *parent; struct device_node *child; struct device_node *sibling; + struct kobject kobj; long unsigned int _flags; void *data; }; @@ -30882,6 +31271,7 @@ struct dir_context { filldir_t actor; loff_t pos; int count; + unsigned int dt_flags_mask; }; struct dirty_throttle_control { @@ -30953,12 +31343,10 @@ struct dma_map_ops { void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_phys)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_phys)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); @@ -31025,6 +31413,28 @@ struct dmi_system_id { void *driver_data; }; +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; +}; + struct kqid { union { kuid_t uid; @@ -31606,6 +32016,8 @@ struct em_perf_table; struct em_perf_domain { struct em_perf_table *em_table; + struct list_head node; + int id; int nr_perf_states; int min_perf_state; int max_perf_state; @@ -32772,7 +33184,7 @@ struct ethtool_wolinfo { struct event_trigger_data; -struct event_trigger_ops; +struct ring_buffer_event; struct event_command { struct list_head list; @@ -32784,7 +33196,11 @@ struct event_command { void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); void (*unreg_all)(struct trace_event_file *); int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + bool (*count_func)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); }; struct event_counter { @@ -32842,7 +33258,6 @@ struct event_trigger_data { long unsigned int count; int ref; int flags; - const struct event_trigger_ops *ops; struct event_command *cmd_ops; struct event_filter *filter; char *filter_str; @@ -32853,15 +33268,7 @@ struct event_trigger_data { char *name; struct list_head named_list; struct event_trigger_data *named_data; -}; - -struct ring_buffer_event; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); + struct llist_node llist; }; struct eventfs_attr { @@ -33001,6 +33408,8 @@ struct fasync_struct { struct callback_head fa_rcu; }; +struct fault_attr {}; + struct faux_device { struct device dev; }; @@ -33035,6 +33444,14 @@ typedef struct fd class_fd_raw_t; typedef struct fd class_fd_t; +struct fd_prepare { + s32 err; + s32 __fd; + struct file *__file; +}; + +typedef struct fd_prepare class_fd_prepare_t; + struct fd_range { unsigned int from; unsigned int to; @@ -33161,8 +33578,8 @@ struct fgraph_cpu_data { struct ftrace_graph_ent { long unsigned int func; - int depth; -} __attribute__((packed)); + long int depth; +}; struct ftrace_graph_ent_entry { struct trace_entry ent; @@ -33175,6 +33592,11 @@ struct fgraph_ent_args { long unsigned int args[6]; }; +struct fgraph_retaddr_ent_args { + struct ftrace_graph_ent_entry ent; + long unsigned int args[6]; +}; + struct ftrace_graph_ret { long unsigned int func; int depth; @@ -33192,7 +33614,7 @@ struct fgraph_data { struct fgraph_cpu_data *cpu_data; union { struct fgraph_ent_args ent; - struct ftrace_graph_ent_entry rent; + struct fgraph_retaddr_ent_args rent; }; struct ftrace_graph_ret_entry ret; int failed; @@ -34778,8 +35200,13 @@ struct fprobe_addr_list { long unsigned int *addrs; }; +struct rhlist_head { + struct rhash_head rhead; + struct rhlist_head *next; +}; + struct fprobe_hlist_node { - struct hlist_node hlist; + struct rhlist_head hlist; long unsigned int addr; struct fprobe *fp; }; @@ -34911,28 +35338,35 @@ struct frag_queue { u8 ecn; }; -struct freader { - void *buf; - u32 buf_sz; - int err; +struct free_area { + struct list_head free_list[4]; + long unsigned int nr_free; +}; + +struct freelist_counters { union { struct { - struct file *file; - struct folio *folio; - void *addr; - loff_t folio_off; - bool may_fault; - }; - struct { - const char *data; - u64 data_sz; + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; }; }; }; -struct free_area { - struct list_head free_list[4]; - long unsigned int nr_free; +struct freelist_tid { + union { + struct { + void *freelist; + long unsigned int tid; + }; + freelist_full_t freelist_tid; + }; }; struct p_log { @@ -35789,8 +36223,8 @@ struct irq_affinity_notify { struct napi_config; struct napi_struct { - struct list_head poll_list; long unsigned int state; + struct list_head poll_list; int weight; u32 defer_hard_irqs_count; int (*poll)(struct napi_struct *, int); @@ -36111,11 +36545,6 @@ struct hw_perf_event_extra { int idx; }; -struct rhlist_head { - struct rhash_head rhead; - struct rhlist_head *next; -}; - struct hw_perf_event { union { struct { @@ -36237,6 +36666,12 @@ struct icmp6_err { int fatal; }; +struct icmp6_ext_iio_addr6_subobj { + __be16 afi; + __be16 reserved; + struct in6_addr addr6; +}; + struct icmp6_filter { __u32 data[8]; }; @@ -36381,6 +36816,17 @@ struct icmp_ext_hdr { __sum16 checksum; }; +struct icmp_ext_iio_addr4_subobj { + __be16 afi; + __be16 reserved; + __be32 addr4; +}; + +struct icmp_ext_iio_name_subobj { + u8 len; + char name[16]; +}; + struct icmp_filter { __u32 data; }; @@ -37060,6 +37506,7 @@ struct sock_common { unsigned char skc_reuseport: 1; unsigned char skc_ipv6only: 1; unsigned char skc_net_refcnt: 1; + unsigned char skc_bypass_prot_mem: 1; int skc_bound_dev_if; union { struct hlist_node skc_bind_node; @@ -37168,15 +37615,20 @@ struct sock { struct rb_root tcp_rtx_queue; }; struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; struct page_frag sk_frag; - struct timer_list sk_timer; + union { + struct timer_list sk_timer; + struct timer_list tcp_retransmit_timer; + struct timer_list mptcp_retransmit_timer; + }; long unsigned int sk_pacing_rate; atomic_t sk_zckey; atomic_t sk_tskey; + long unsigned int sk_tx_queue_mapping_jiffies; __u8 __cacheline_group_end__sock_write_tx[0]; __u8 __cacheline_group_begin__sock_read_tx[0]; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; long unsigned int sk_max_pacing_rate; long int sk_sndtimeo; u32 sk_priority; @@ -37229,6 +37681,7 @@ struct sock { u8 sk_txtime_unused: 6; u8 sk_bpf_cb_flags; void *sk_user_data; + void *sk_security; struct sock_cgroup_data sk_cgrp_data; void (*sk_state_change)(struct sock *); void (*sk_write_space)(struct sock *); @@ -37267,11 +37720,14 @@ struct inet_cork_full { struct ipv6_pinfo; +struct ipv6_fl_socklist; + struct ip_mc_socklist; struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; + struct ipv6_fl_socklist *ipv6_fl_list; long unsigned int inet_flags; __be32 inet_saddr; __s16 uc_ttl; @@ -37312,8 +37768,11 @@ struct inet_connection_sock { struct request_sock_queue icsk_accept_queue; struct inet_bind_bucket *icsk_bind_hash; struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; struct timer_list icsk_delack_timer; + union { + struct timer_list icsk_keepalive_timer; + struct timer_list mptcp_tout_timer; + }; __u32 icsk_rto; __u32 icsk_rto_min; u32 icsk_rto_max; @@ -37650,17 +38109,22 @@ struct inet_timewait_sock { struct inet_bind2_bucket *tw_tb2; }; +struct inode_state_flags { + enum inode_state_flags_enum __state; +}; + struct inode_operations; struct inode { umode_t i_mode; short unsigned int i_opflags; + unsigned int i_flags; kuid_t i_uid; kgid_t i_gid; - unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping; + void *i_security; long unsigned int i_ino; union { const unsigned int i_nlink; @@ -37680,7 +38144,7 @@ struct inode { u8 i_blkbits; enum rw_hint i_write_hint; blkcnt_t i_blocks; - enum inode_state_flags_t i_state; + struct inode_state_flags i_state; struct rw_semaphore i_rwsem; long unsigned int dirtied_when; long unsigned int dirtied_time_when; @@ -38478,7 +38942,7 @@ struct ipv6_ac_socklist { struct udp_table; struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + int (*inet6_bind)(struct sock *, struct sockaddr_unsized *, int, u32); struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); @@ -38557,7 +39021,6 @@ struct ipv6_pinfo { struct inet6_cork cork; struct ipv6_mc_socklist *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; }; struct ipv6_rpl_sr_hdr { @@ -38816,7 +39279,6 @@ struct irq_desc { int threads_handled_last; raw_spinlock_t lock; struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; long unsigned int threads_oneshot; atomic_t threads_active; wait_queue_head_t wait_for_threads; @@ -38908,6 +39370,8 @@ struct irq_domain_info { void (*exit)(struct irq_domain *); }; +struct irq_fwspec_info; + struct irq_domain_ops { int (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token); int (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token); @@ -38919,6 +39383,7 @@ struct irq_domain_ops { int (*activate)(struct irq_domain *, struct irq_data *, bool); void (*deactivate)(struct irq_domain *, struct irq_data *); int (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *); + int (*get_fwspec_info)(struct irq_fwspec *, struct irq_fwspec_info *); }; struct irq_fwspec { @@ -38927,6 +39392,11 @@ struct irq_fwspec { u32 param[16]; }; +struct irq_fwspec_info { + long unsigned int flags; + const struct cpumask *affinity; +}; + struct irq_generic_chip_devres { struct irq_chip_generic *gc; u32 msk; @@ -38960,8 +39430,11 @@ struct irq_override_cmp { struct irqaction { irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; + union { + void *dev_id; + void *percpu_dev_id; + }; + const struct cpumask *affinity; struct irqaction *next; irq_handler_t thread_fn; struct task_struct *thread; @@ -39054,6 +39527,23 @@ struct kallsyms_data { size_t found; }; +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; +}; + struct kernel_clone_args { u64 flags; int *pidfd; @@ -39178,10 +39668,10 @@ struct kernel_xattr_ctx { unsigned int flags; }; -struct kernfs_open_node; - struct kernfs_ops; +struct kernfs_open_node; + struct kernfs_elem_attr { const struct kernfs_ops *ops; struct kernfs_open_node *open; @@ -39202,7 +39692,32 @@ struct kernfs_elem_symlink { struct kernfs_node *target_kn; }; -struct kernfs_iattrs; +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[2]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; +}; struct kernfs_node { atomic_t count; @@ -39243,6 +39758,15 @@ struct kernfs_open_file { const struct vm_operations_struct *vm_ops; }; +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + struct kernfs_ops { int (*open)(struct kernfs_open_file *); void (*release)(struct kernfs_open_file *); @@ -39259,6 +39783,40 @@ struct kernfs_ops { loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); }; +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + struct key_vector { t_key key; unsigned char pos; @@ -39283,10 +39841,7 @@ struct kiocb { int ki_flags; u16 ki_ioprio; u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; + struct wait_page_queue *ki_waitq; }; struct klist_waiter { @@ -39307,6 +39862,17 @@ struct klistmount { struct path root; }; +struct klistns { + u64 *uns_ids; + u32 nr_ns_ids; + u64 last_ns_id; + u64 user_ns_id; + u32 ns_type; + struct user_namespace *user_ns; + bool userns_capable; + struct ns_common *first_ns; +}; + struct kmalloc_info_struct { const char *name[1]; unsigned int size; @@ -39331,11 +39897,15 @@ struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct slub_percpu_sheaves; struct kmem_cache_node; struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + struct lock_class_key lock_key; struct slub_percpu_sheaves *cpu_sheaves; slab_flags_t flags; long unsigned int min_partial; @@ -39354,6 +39924,7 @@ struct kmem_cache { unsigned int red_left_pad; const char *name; struct list_head list; + struct kobject kobj; struct kmem_cache_node *node[1]; }; @@ -39367,6 +39938,12 @@ struct kmem_cache_args { unsigned int sheaf_capacity; }; +struct kmem_cache_cpu { + struct freelist_tid; + struct slab *slab; + local_trylock_t lock; +}; + union kmem_cache_iter_priv { struct bpf_iter_kmem_cache it; struct bpf_iter_kmem_cache_kern kit; @@ -39779,6 +40356,7 @@ struct lease_manager_operations { int (*lm_change)(struct file_lease *, int, struct list_head *); void (*lm_setup)(struct file_lease *, void **); bool (*lm_breaker_owns_lease)(struct file_lease *); + int (*lm_open_conflict)(struct file *, int); }; struct legacy_fs_context { @@ -40264,6 +40842,26 @@ struct lruvec { struct zswap_lruvec_state zswap_lruvec_state; }; +struct lsm_blob_sizes { + unsigned int lbs_cred; + unsigned int lbs_file; + unsigned int lbs_ib; + unsigned int lbs_inode; + unsigned int lbs_sock; + unsigned int lbs_superblock; + unsigned int lbs_ipc; + unsigned int lbs_key; + unsigned int lbs_msg_msg; + unsigned int lbs_perf_event; + unsigned int lbs_task; + unsigned int lbs_xattr_count; + unsigned int lbs_tun_dev; + unsigned int lbs_bdev; + unsigned int lbs_bpf_map; + unsigned int lbs_bpf_prog; + unsigned int lbs_bpf_token; +}; + struct lsm_context { char *context; u32 len; @@ -40278,6 +40876,252 @@ struct lsm_ctx { __u8 ctx[0]; }; +struct lsm_id { + const char *name; + u64 id; +}; + +struct lsm_info { + const struct lsm_id *id; + enum lsm_order order; + long unsigned int flags; + struct lsm_blob_sizes *blobs; + int *enabled; + int (*init)(void); + int (*initcall_pure)(void); + int (*initcall_early)(void); + int (*initcall_core)(void); + int (*initcall_subsys)(void); + int (*initcall_fs)(void); + int (*initcall_device)(void); + int (*initcall_late)(void); +}; + +struct lsm_prop_selinux {}; + +struct lsm_prop_smack {}; + +struct lsm_prop_apparmor {}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct static_call_key; + +struct security_hook_list; + +struct static_key_false; + +struct lsm_static_call { + struct static_call_key *key; + void *trampoline; + struct security_hook_list *hl; + struct static_key_false *active; +}; + +struct lsm_static_calls_table { + struct lsm_static_call binder_set_context_mgr[2]; + struct lsm_static_call binder_transaction[2]; + struct lsm_static_call binder_transfer_binder[2]; + struct lsm_static_call binder_transfer_file[2]; + struct lsm_static_call ptrace_access_check[2]; + struct lsm_static_call ptrace_traceme[2]; + struct lsm_static_call capget[2]; + struct lsm_static_call capset[2]; + struct lsm_static_call capable[2]; + struct lsm_static_call quotactl[2]; + struct lsm_static_call quota_on[2]; + struct lsm_static_call syslog[2]; + struct lsm_static_call settime[2]; + struct lsm_static_call vm_enough_memory[2]; + struct lsm_static_call bprm_creds_for_exec[2]; + struct lsm_static_call bprm_creds_from_file[2]; + struct lsm_static_call bprm_check_security[2]; + struct lsm_static_call bprm_committing_creds[2]; + struct lsm_static_call bprm_committed_creds[2]; + struct lsm_static_call fs_context_submount[2]; + struct lsm_static_call fs_context_dup[2]; + struct lsm_static_call fs_context_parse_param[2]; + struct lsm_static_call sb_alloc_security[2]; + struct lsm_static_call sb_delete[2]; + struct lsm_static_call sb_free_security[2]; + struct lsm_static_call sb_free_mnt_opts[2]; + struct lsm_static_call sb_eat_lsm_opts[2]; + struct lsm_static_call sb_mnt_opts_compat[2]; + struct lsm_static_call sb_remount[2]; + struct lsm_static_call sb_kern_mount[2]; + struct lsm_static_call sb_show_options[2]; + struct lsm_static_call sb_statfs[2]; + struct lsm_static_call sb_mount[2]; + struct lsm_static_call sb_umount[2]; + struct lsm_static_call sb_pivotroot[2]; + struct lsm_static_call sb_set_mnt_opts[2]; + struct lsm_static_call sb_clone_mnt_opts[2]; + struct lsm_static_call move_mount[2]; + struct lsm_static_call dentry_init_security[2]; + struct lsm_static_call dentry_create_files_as[2]; + struct lsm_static_call path_notify[2]; + struct lsm_static_call inode_alloc_security[2]; + struct lsm_static_call inode_free_security[2]; + struct lsm_static_call inode_free_security_rcu[2]; + struct lsm_static_call inode_init_security[2]; + struct lsm_static_call inode_init_security_anon[2]; + struct lsm_static_call inode_create[2]; + struct lsm_static_call inode_post_create_tmpfile[2]; + struct lsm_static_call inode_link[2]; + struct lsm_static_call inode_unlink[2]; + struct lsm_static_call inode_symlink[2]; + struct lsm_static_call inode_mkdir[2]; + struct lsm_static_call inode_rmdir[2]; + struct lsm_static_call inode_mknod[2]; + struct lsm_static_call inode_rename[2]; + struct lsm_static_call inode_readlink[2]; + struct lsm_static_call inode_follow_link[2]; + struct lsm_static_call inode_permission[2]; + struct lsm_static_call inode_setattr[2]; + struct lsm_static_call inode_post_setattr[2]; + struct lsm_static_call inode_getattr[2]; + struct lsm_static_call inode_xattr_skipcap[2]; + struct lsm_static_call inode_setxattr[2]; + struct lsm_static_call inode_post_setxattr[2]; + struct lsm_static_call inode_getxattr[2]; + struct lsm_static_call inode_listxattr[2]; + struct lsm_static_call inode_removexattr[2]; + struct lsm_static_call inode_post_removexattr[2]; + struct lsm_static_call inode_file_setattr[2]; + struct lsm_static_call inode_file_getattr[2]; + struct lsm_static_call inode_set_acl[2]; + struct lsm_static_call inode_post_set_acl[2]; + struct lsm_static_call inode_get_acl[2]; + struct lsm_static_call inode_remove_acl[2]; + struct lsm_static_call inode_post_remove_acl[2]; + struct lsm_static_call inode_need_killpriv[2]; + struct lsm_static_call inode_killpriv[2]; + struct lsm_static_call inode_getsecurity[2]; + struct lsm_static_call inode_setsecurity[2]; + struct lsm_static_call inode_listsecurity[2]; + struct lsm_static_call inode_getlsmprop[2]; + struct lsm_static_call inode_copy_up[2]; + struct lsm_static_call inode_copy_up_xattr[2]; + struct lsm_static_call inode_setintegrity[2]; + struct lsm_static_call kernfs_init_security[2]; + struct lsm_static_call file_permission[2]; + struct lsm_static_call file_alloc_security[2]; + struct lsm_static_call file_release[2]; + struct lsm_static_call file_free_security[2]; + struct lsm_static_call file_ioctl[2]; + struct lsm_static_call file_ioctl_compat[2]; + struct lsm_static_call mmap_addr[2]; + struct lsm_static_call mmap_file[2]; + struct lsm_static_call file_mprotect[2]; + struct lsm_static_call file_lock[2]; + struct lsm_static_call file_fcntl[2]; + struct lsm_static_call file_set_fowner[2]; + struct lsm_static_call file_send_sigiotask[2]; + struct lsm_static_call file_receive[2]; + struct lsm_static_call file_open[2]; + struct lsm_static_call file_post_open[2]; + struct lsm_static_call file_truncate[2]; + struct lsm_static_call task_alloc[2]; + struct lsm_static_call task_free[2]; + struct lsm_static_call cred_alloc_blank[2]; + struct lsm_static_call cred_free[2]; + struct lsm_static_call cred_prepare[2]; + struct lsm_static_call cred_transfer[2]; + struct lsm_static_call cred_getsecid[2]; + struct lsm_static_call cred_getlsmprop[2]; + struct lsm_static_call kernel_act_as[2]; + struct lsm_static_call kernel_create_files_as[2]; + struct lsm_static_call kernel_module_request[2]; + struct lsm_static_call kernel_load_data[2]; + struct lsm_static_call kernel_post_load_data[2]; + struct lsm_static_call kernel_read_file[2]; + struct lsm_static_call kernel_post_read_file[2]; + struct lsm_static_call task_fix_setuid[2]; + struct lsm_static_call task_fix_setgid[2]; + struct lsm_static_call task_fix_setgroups[2]; + struct lsm_static_call task_setpgid[2]; + struct lsm_static_call task_getpgid[2]; + struct lsm_static_call task_getsid[2]; + struct lsm_static_call current_getlsmprop_subj[2]; + struct lsm_static_call task_getlsmprop_obj[2]; + struct lsm_static_call task_setnice[2]; + struct lsm_static_call task_setioprio[2]; + struct lsm_static_call task_getioprio[2]; + struct lsm_static_call task_prlimit[2]; + struct lsm_static_call task_setrlimit[2]; + struct lsm_static_call task_setscheduler[2]; + struct lsm_static_call task_getscheduler[2]; + struct lsm_static_call task_movememory[2]; + struct lsm_static_call task_kill[2]; + struct lsm_static_call task_prctl[2]; + struct lsm_static_call task_to_inode[2]; + struct lsm_static_call userns_create[2]; + struct lsm_static_call ipc_permission[2]; + struct lsm_static_call ipc_getlsmprop[2]; + struct lsm_static_call msg_msg_alloc_security[2]; + struct lsm_static_call msg_msg_free_security[2]; + struct lsm_static_call msg_queue_alloc_security[2]; + struct lsm_static_call msg_queue_free_security[2]; + struct lsm_static_call msg_queue_associate[2]; + struct lsm_static_call msg_queue_msgctl[2]; + struct lsm_static_call msg_queue_msgsnd[2]; + struct lsm_static_call msg_queue_msgrcv[2]; + struct lsm_static_call shm_alloc_security[2]; + struct lsm_static_call shm_free_security[2]; + struct lsm_static_call shm_associate[2]; + struct lsm_static_call shm_shmctl[2]; + struct lsm_static_call shm_shmat[2]; + struct lsm_static_call sem_alloc_security[2]; + struct lsm_static_call sem_free_security[2]; + struct lsm_static_call sem_associate[2]; + struct lsm_static_call sem_semctl[2]; + struct lsm_static_call sem_semop[2]; + struct lsm_static_call netlink_send[2]; + struct lsm_static_call d_instantiate[2]; + struct lsm_static_call getselfattr[2]; + struct lsm_static_call setselfattr[2]; + struct lsm_static_call getprocattr[2]; + struct lsm_static_call setprocattr[2]; + struct lsm_static_call ismaclabel[2]; + struct lsm_static_call secid_to_secctx[2]; + struct lsm_static_call lsmprop_to_secctx[2]; + struct lsm_static_call secctx_to_secid[2]; + struct lsm_static_call release_secctx[2]; + struct lsm_static_call inode_invalidate_secctx[2]; + struct lsm_static_call inode_notifysecctx[2]; + struct lsm_static_call inode_setsecctx[2]; + struct lsm_static_call inode_getsecctx[2]; + struct lsm_static_call bpf[2]; + struct lsm_static_call bpf_map[2]; + struct lsm_static_call bpf_prog[2]; + struct lsm_static_call bpf_map_create[2]; + struct lsm_static_call bpf_map_free[2]; + struct lsm_static_call bpf_prog_load[2]; + struct lsm_static_call bpf_prog_free[2]; + struct lsm_static_call bpf_token_create[2]; + struct lsm_static_call bpf_token_free[2]; + struct lsm_static_call bpf_token_cmd[2]; + struct lsm_static_call bpf_token_capable[2]; + struct lsm_static_call locked_down[2]; + struct lsm_static_call perf_event_open[2]; + struct lsm_static_call perf_event_alloc[2]; + struct lsm_static_call perf_event_read[2]; + struct lsm_static_call perf_event_write[2]; + struct lsm_static_call initramfs_populated[2]; + struct lsm_static_call bdev_alloc_security[2]; + struct lsm_static_call bdev_free_security[2]; + struct lsm_static_call bdev_setintegrity[2]; +}; + struct lsx_context { __u64 regs[64]; __u64 fcc; @@ -40636,7 +41480,8 @@ struct mii_bus { struct mii_timestamper { bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_set)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_get)(struct mii_timestamper *, struct kernel_hwtstamp_config *); void (*link_state)(struct mii_timestamper *, struct phy_device *); int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; @@ -40727,6 +41572,8 @@ struct mlock_fbatch { struct folio_batch fbatch; }; +struct mm_mm_cid {}; + struct mm_reply_data { struct ethnl_reply_data base; struct ethtool_mm_state state; @@ -40750,6 +41597,7 @@ struct mm_struct { long unsigned int task_size; pgd_t *pgd; atomic_t mm_users; + struct mm_mm_cid mm_cid; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; @@ -40788,7 +41636,7 @@ struct mm_struct { struct uprobes_state uprobes_state; struct work_struct async_put_work; }; - long unsigned int cpu_bitmap[0]; + char flexible_array[0]; }; struct mm_struct__safe_rcu_or_null { @@ -40822,6 +41670,21 @@ struct mm_walk_ops { enum page_walk_lock walk_lock; }; +struct mmap_action { + union { + struct { + long unsigned int start; + long unsigned int start_pfn; + long unsigned int size; + pgprot_t pgprot; + } remap; + }; + enum mmap_action_type type; + int (*success_hook)(const struct vm_area_struct *); + int (*error_hook)(int); + bool hide_from_rmap_until_complete: 1; +}; + struct vma_munmap_struct { struct vma_iterator *vmi; struct vm_area_struct *vma; @@ -40861,7 +41724,9 @@ struct mmap_state { struct vma_munmap_struct vms; struct ma_state mas_detach; struct maple_tree mt_detach; - bool check_ksm_early; + bool check_ksm_early: 1; + bool hold_file_rmap_lock: 1; + bool file_doesnt_need_get: 1; }; struct mmap_unlock_irq_work { @@ -40913,6 +41778,8 @@ struct mmu_gather { unsigned int vma_exec: 1; unsigned int vma_huge: 1; unsigned int vma_pfn: 1; + unsigned int unshared_tables: 1; + unsigned int fully_unshared_tables: 1; unsigned int batch_count; struct mmu_gather_batch *active; struct mmu_gather_batch local; @@ -40975,6 +41842,7 @@ struct mnt_namespace { unsigned int nr_mounts; unsigned int pending_mounts; refcount_t passive; + bool is_anon; }; struct mnt_ns_info { @@ -41040,14 +41908,14 @@ struct module_memory { struct mod_tree_node mtn; }; -struct module_sect_attrs; - -struct module_notes_attrs; - typedef struct tracepoint * const tracepoint_ptr_t; struct module_attribute; +struct module_sect_attrs; + +struct module_notes_attrs; + struct trace_event_call; struct trace_eval_map; @@ -41064,6 +41932,7 @@ struct module { const struct kernel_symbol *syms; const u32 *crcs; unsigned int num_syms; + struct mutex param_lock; struct kernel_param *kp; unsigned int num_kp; unsigned int num_gpl_syms; @@ -41075,9 +41944,6 @@ struct module { struct exception_table_entry *extable; int (*init)(void); long: 64; - long: 64; - long: 64; - long: 64; struct module_memory mem[7]; struct mod_arch_specific arch; long unsigned int taints; @@ -41126,6 +41992,11 @@ struct module_attribute { void (*free)(struct module *); }; +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct param_attribute { struct module_attribute mattr; const struct kernel_param *param; @@ -41142,12 +42013,23 @@ struct module_reply_data { struct ethtool_module_power_mode_params power; }; +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct module_string { struct list_head next; struct module *module; char *str; }; +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + struct modules_array { struct module **mods; int mods_cnt; @@ -41241,6 +42123,44 @@ struct mq_sched { struct Qdisc **qdiscs; }; +struct phy_mse_capability { + u64 max_average_mse; + u64 max_peak_mse; + u64 refresh_rate_ps; + u64 num_symbols; + u32 supported_caps; +}; + +struct mse_snapshot_entry; + +struct mse_reply_data { + struct ethnl_reply_data base; + struct phy_mse_capability capability; + struct mse_snapshot_entry *snapshots; + unsigned int num_snapshots; +}; + +struct phy_mse_snapshot { + u64 average_mse; + u64 peak_mse; + u64 worst_peak_mse; +}; + +struct mse_snapshot_entry { + struct phy_mse_snapshot snapshot; + int channel; +}; + +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + struct ubuf_info; struct msghdr { @@ -41337,6 +42257,7 @@ struct msi_desc { struct device *dev; struct msi_msg msg; struct irq_affinity_desc *affinity; + struct device_attribute *sysfs_attrs; void (*write_msi_msg)(struct msi_desc *, void *); void *write_msi_msg_data; u16 msi_index; @@ -41485,7 +42406,7 @@ struct napi_alloc_cache { local_lock_t bh_lock; struct page_frag_cache page; unsigned int skb_count; - void *skb_cache[64]; + void *skb_cache[128]; }; struct napi_config { @@ -41733,7 +42654,7 @@ struct neigh_table { atomic_t gc_entries; struct list_head gc_list; struct list_head managed_list; - rwlock_t lock; + spinlock_t lock; long unsigned int last_rand; struct neigh_statistics *stats; struct neigh_hash_table *nht; @@ -41788,9 +42709,11 @@ struct ref_tracker_dir {}; struct netns_core { struct ctl_table_header *sysctl_hdr; int sysctl_somaxconn; + int sysctl_txq_reselection; int sysctl_optmem_max; u8 sysctl_txrehash; u8 sysctl_tstamp_allow_data; + u8 sysctl_bypass_prot_mem; }; struct tcp_mib; @@ -41845,14 +42768,15 @@ struct netns_ipv4 { u8 sysctl_ip_fwd_use_pmtu; __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_tcp_moderate_rcvbuf; u8 sysctl_ip_early_demux; u8 sysctl_tcp_early_demux; u8 sysctl_tcp_l3mdev_accept; int sysctl_tcp_reordering; int sysctl_tcp_rmem[3]; + int sysctl_tcp_rcvbuf_low_rtt; __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; struct inet_timewait_death_row tcp_death_row; struct udp_table *udp_table; @@ -41876,6 +42800,7 @@ struct netns_ipv4 { u8 sysctl_icmp_echo_ignore_broadcasts; u8 sysctl_icmp_ignore_bogus_error_responses; u8 sysctl_icmp_errors_use_inbound_ifaddr; + u8 sysctl_icmp_errors_extension_mask; int sysctl_icmp_ratelimit; int sysctl_icmp_ratemask; int sysctl_icmp_msgs_per_sec; @@ -41949,6 +42874,7 @@ struct netns_ipv4 { int sysctl_tcp_pacing_ss_ratio; int sysctl_tcp_pacing_ca_ratio; unsigned int sysctl_tcp_child_ehash_entries; + int sysctl_tcp_comp_sack_rtt_percent; long unsigned int sysctl_tcp_comp_sack_delay_ns; long unsigned int sysctl_tcp_comp_sack_slack_ns; int sysctl_max_syn_backlog; @@ -42024,6 +42950,7 @@ struct netns_sysctl_ipv6 { u8 skip_notify_on_dev_down; u8 fib_notify_on_flag_change; u8 icmpv6_error_anycast_as_unicast; + u8 icmpv6_errors_extension_mask; }; struct rt6_statistics; @@ -42382,6 +43309,7 @@ struct net_device { struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; unsigned int promiscuity; unsigned int allmulti; bool uc_promisc; @@ -42459,7 +43387,6 @@ struct net_device { struct mutex lock; struct hlist_head neighbours[2]; struct hwtstamp_provider *hwprov; - long: 64; u8 priv[0]; }; @@ -42579,6 +43506,17 @@ struct net_device_path { __be16 proto; u8 h_dest[6]; } encap; + struct { + union { + struct in_addr src_v4; + struct in6_addr src_v6; + }; + union { + struct in_addr dst_v4; + struct in6_addr dst_v6; + }; + u8 l3_proto; + } tun; struct { enum { DEV_PATH_BR_VLAN_KEEP = 0, @@ -42715,6 +43653,7 @@ struct net_hotdata { int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; + int qdisc_max_burst; int dev_tx_weight; int dev_rx_weight; int sysctl_max_skb_frags; @@ -42944,9 +43883,12 @@ struct netdev_queue { netdevice_tracker dev_tracker; struct Qdisc *qdisc; struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; long unsigned int tx_maxrate; atomic_long_t trans_timeout; struct net_device *sb_dev; + struct dql dql; spinlock_t _xmit_lock; int xmit_lock_owner; long unsigned int trans_start; @@ -42954,6 +43896,12 @@ struct netdev_queue { struct napi_struct *napi; }; +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + struct netdev_queue_mgmt_ops { size_t ndo_queue_mem_size; int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); @@ -43547,11 +44495,15 @@ struct ns_get_path_task_args { struct task_struct *task; }; -struct ns_tree { - struct rb_root ns_tree; - struct list_head ns_list; - seqlock_t ns_tree_lock; - int type; +struct ns_id_req { + __u32 size; + __u32 spare; + __u64 ns_id; + struct { + __u32 ns_type; + __u32 spare2; + __u64 user_ns_id; + }; }; struct nsfs_file_handle { @@ -43861,6 +44813,11 @@ struct osnoise_entry { unsigned int thread_count; }; +struct p2pdma_provider { + struct device *owner; + u64 bus_offset; +}; + struct packet_type { __be16 type; bool ignore_outgoing; @@ -44252,6 +45209,7 @@ struct pci_dev { unsigned int pasid_enabled: 1; unsigned int pri_enabled: 1; unsigned int tph_enabled: 1; + unsigned int fm_enabled: 1; unsigned int is_managed: 1; unsigned int is_msi_managed: 1; unsigned int needs_freset: 1; @@ -44379,6 +45337,7 @@ struct pci_ops { void * (*map_bus)(struct pci_bus *, unsigned int, int); int (*read)(struct pci_bus *, unsigned int, int, int, u32 *); int (*write)(struct pci_bus *, unsigned int, int, int, u32); + int (*assert_perst)(struct pci_bus *, bool); }; struct pci_host_bridge; @@ -44460,9 +45419,8 @@ struct pci_osc_bit_struct { }; struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; + struct p2pdma_provider *mem; enum pci_p2pdma_map_type map; - u64 bus_off; }; struct pci_pme_device { @@ -44493,6 +45451,12 @@ struct pci_slot { struct kobject kobj; }; +struct pci_slot_attribute { + struct attribute attr; + ssize_t (*show)(struct pci_slot *, char *); + ssize_t (*store)(struct pci_slot *, const char *, size_t); +}; + struct pcim_addr_devres { enum pcim_addr_devres_type type; void *baseaddr; @@ -44777,6 +45741,18 @@ struct perf_buffer { void *data_pages[0]; }; +struct unwind_stacktrace; + +struct perf_callchain_deferred_event { + struct unwind_stacktrace *trace; + struct { + struct perf_event_header header; + u64 cookie; + u64 nr; + u64 ips[0]; + } event; +}; + struct perf_callchain_entry { u64 nr; u64 ip[0]; @@ -44931,7 +45907,9 @@ struct perf_event_attr { __u64 inherit_thread: 1; __u64 remove_on_exec: 1; __u64 sigtrap: 1; - __u64 __reserved_1: 26; + __u64 defer_callchain: 1; + __u64 defer_output: 1; + __u64 __reserved_1: 24; union { __u32 wakeup_events; __u32 wakeup_watermark; @@ -44969,6 +45947,7 @@ struct perf_event_attr { }; __u64 sig_data; __u64 config3; + __u64 config4; }; typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); @@ -45047,6 +46026,7 @@ struct perf_event { struct trace_event_call *tp_event; struct event_filter *filter; struct ftrace_ops ftrace_ops; + void *security; struct list_head sb_list; struct list_head pmu_list; u32 orig_type; @@ -45342,6 +46322,12 @@ struct phylink; struct pse_control; +struct phy_oatc14_sqi_capability { + bool updated; + int sqi_max; + u8 sqiplus_bits; +}; + struct phy_driver; struct phy_device { @@ -45368,6 +46354,8 @@ struct phy_device { unsigned int autoneg: 1; unsigned int link: 1; unsigned int autoneg_complete: 1; + bool pause: 1; + bool asym_pause: 1; unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; @@ -45380,8 +46368,6 @@ struct phy_device { int speed; int duplex; int port; - int pause; - int asym_pause; u8 master_slave_get; u8 master_slave_set; u8 master_slave_state; @@ -45416,6 +46402,7 @@ struct phy_device { unsigned int link_down_events; void (*phy_link_change)(struct phy_device *, bool); void (*adjust_link)(struct net_device *); + struct phy_oatc14_sqi_capability oatc14_sqi_capability; }; struct phy_device_node { @@ -45475,6 +46462,8 @@ struct phy_driver { int (*set_loopback)(struct phy_device *, bool, int); int (*get_sqi)(struct phy_device *); int (*get_sqi_max)(struct phy_device *); + int (*get_mse_capability)(struct phy_device *, struct phy_mse_capability *); + int (*get_mse_snapshot)(struct phy_device *, enum phy_mse_channel, struct phy_mse_snapshot *); int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); @@ -45579,22 +46568,22 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; + struct { + __u32 coredump_mask; + __u32 coredump_signal; + }; + __u64 supported_mask; }; -struct simple_xattrs; - struct pidfs_attr { + long unsigned int attr_mask; struct simple_xattrs *xattrs; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; + struct { + __u64 cgroupid; + __s32 exit_code; + }; + __u32 coredump_mask; + __u32 coredump_signal; }; struct ping_table { @@ -45654,13 +46643,7 @@ struct pipe_inode_info { struct mutex mutex; wait_queue_head_t rd_wait; wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; + union pipe_index; unsigned int max_usage; unsigned int ring_size; unsigned int nr_accounted; @@ -46335,10 +47318,9 @@ struct property { int length; void *value; struct property *next; + struct bin_attribute attr; }; -struct smc_hashinfo; - struct proto_accept_arg; struct sk_psock; @@ -46347,10 +47329,12 @@ struct timewait_sock_ops; struct raw_hashinfo; +struct smc_hashinfo; + struct proto { void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); + int (*pre_connect)(struct sock *, struct sockaddr_unsized *, int); + int (*connect)(struct sock *, struct sockaddr_unsized *, int); int (*disconnect)(struct sock *, int); struct sock * (*accept)(struct sock *, struct proto_accept_arg *); int (*ioctl)(struct sock *, int, int *); @@ -46363,8 +47347,8 @@ struct proto { int (*sendmsg)(struct sock *, struct msghdr *, size_t); int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*bind)(struct sock *, struct sockaddr_unsized *, int); + int (*bind_add)(struct sock *, struct sockaddr_unsized *, int); int (*backlog_rcv)(struct sock *, struct sk_buff *); bool (*bpf_bypass_getsockopt)(int, int); void (*release_cb)(struct sock *); @@ -46424,8 +47408,8 @@ struct proto_ops { int family; struct module *owner; int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*bind)(struct socket *, struct sockaddr_unsized *, int); + int (*connect)(struct socket *, struct sockaddr_unsized *, int, int); int (*socketpair)(struct socket *, struct socket *); int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); int (*getname)(struct socket *, struct sockaddr *, int); @@ -46495,6 +47479,7 @@ struct pseudo_fs_context { const struct xattr_handler * const *xattr; const struct dentry_operations *dops; long unsigned int magic; + unsigned int s_d_flags; }; struct pt_regs_offset { @@ -46664,7 +47649,7 @@ struct queue_limits { unsigned int max_sectors; unsigned int max_user_sectors; unsigned int max_segment_size; - unsigned int min_segment_size; + unsigned int max_fast_segment_size; unsigned int physical_block_size; unsigned int logical_block_size; unsigned int alignment_offset; @@ -47102,7 +48087,7 @@ struct renamedata { struct dentry *old_dentry; struct dentry *new_parent; struct dentry *new_dentry; - struct inode **delegated_inode; + struct delegated_inode *delegated_inode; unsigned int flags; }; @@ -47131,6 +48116,7 @@ struct request { short unsigned int stats_sectors; short unsigned int nr_phys_segments; short unsigned int nr_integrity_segments; + unsigned char phys_gap_bit; enum mq_rq_state state; atomic_t ref; long unsigned int deadline; @@ -47171,7 +48157,7 @@ struct request_queue { unsigned int queue_depth; refcount_t refs; unsigned int nr_hw_queues; - struct xarray hctx_table; + struct blk_mq_hw_ctx **queue_hw_ctx; struct percpu_ref q_usage_counter; struct lock_class_key io_lock_cls_key; struct lockdep_map io_lockdep_map; @@ -47229,7 +48215,6 @@ struct request_sock_ops { void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); }; struct res_proc_context { @@ -47293,7 +48278,7 @@ struct restart_block { u32 val; u32 flags; u32 bitset; - u64 time; + ktime_t time; u32 *uaddr2; } futex; struct { @@ -47303,7 +48288,7 @@ struct restart_block { struct __kernel_timespec *rmtp; struct old_timespec32 *compat_rmtp; }; - u64 expires; + ktime_t expires; } nanosleep; struct { struct pollfd *ufds; @@ -47546,7 +48531,7 @@ struct rt_rq { struct sched_dl_entity; -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *, struct rq_flags *); struct sched_dl_entity { struct rb_node rb_node; @@ -47567,6 +48552,7 @@ struct sched_dl_entity { unsigned int dl_defer: 1; unsigned int dl_defer_armed: 1; unsigned int dl_defer_running: 1; + unsigned int dl_defer_idle: 1; struct hrtimer dl_timer; struct hrtimer inactive_timer; struct rq *rq; @@ -47575,6 +48561,7 @@ struct sched_dl_entity { struct rq { raw_spinlock_t __lock; + unsigned int queue_mask; unsigned int nr_running; unsigned int ttwu_pending; u64 nr_switches; @@ -47583,7 +48570,6 @@ struct rq { long: 64; long: 64; long: 64; - long: 64; struct cfs_rq cfs; struct rt_rq rt; struct dl_rq dl; @@ -47659,15 +48645,7 @@ struct rs_msg { __u8 opt[0]; }; -struct rseq { - __u32 cpu_id_start; - __u32 cpu_id; - __u64 rseq_cs; - __u32 flags; - __u32 node_id; - __u32 mm_cid; - char end[0]; -}; +struct rseq_data {}; struct rss_nl_dump_ctx { long unsigned int ifindex; @@ -48098,6 +49076,8 @@ struct rusage { __kernel_long_t ru_nivcsw; }; +typedef struct rw_semaphore *class_rwsem_read_t; + struct rwsem_waiter { struct list_head list; struct task_struct *task; @@ -48106,6 +49086,12 @@ struct rwsem_waiter { bool handoff_set; }; +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + struct s_data { struct sched_domain **sd; struct root_domain *rd; @@ -48211,15 +49197,28 @@ struct sched_attr { __u32 sched_util_max; }; +struct sched_change_ctx; + +typedef struct sched_change_ctx *class_sched_change_t; + +struct sched_change_ctx { + u64 prio; + struct task_struct *p; + int flags; + bool queued; + bool running; +}; + struct sched_class { + unsigned int queue_mask; void (*enqueue_task)(struct rq *, struct task_struct *, int); bool (*dequeue_task)(struct rq *, struct task_struct *, int); void (*yield_task)(struct rq *); bool (*yield_to_task)(struct rq *, struct task_struct *); void (*wakeup_preempt)(struct rq *, struct task_struct *, int); int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + struct task_struct * (*pick_task)(struct rq *, struct rq_flags *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *, struct rq_flags *); void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); void (*set_next_task)(struct rq *, struct task_struct *, bool); int (*select_task_rq)(struct task_struct *, int, int); @@ -48232,11 +49231,13 @@ struct sched_class { void (*task_tick)(struct rq *, struct task_struct *, int); void (*task_fork)(struct task_struct *); void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); + void (*switching_from)(struct rq *, struct task_struct *); void (*switched_from)(struct rq *, struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); void (*switched_to)(struct rq *, struct task_struct *); + u64 (*get_prio)(struct rq *, struct task_struct *); + void (*prio_changed)(struct rq *, struct task_struct *, u64); void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); void (*update_curr)(struct rq *); }; @@ -48261,6 +49262,9 @@ struct sched_domain { long unsigned int last_balance; unsigned int balance_interval; unsigned int nr_balance_failed; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; u64 max_newidle_lb_cost; long unsigned int last_decay_max_lb_cost; char *name; @@ -48361,6 +49365,8 @@ struct sched_group_capacity { struct sched_info {}; +struct sched_mm_cid {}; + struct sched_param { int sched_priority; }; @@ -48485,6 +49491,214 @@ struct seccomp_data { __u64 args[6]; }; +struct timezone; + +struct xattr; + +struct sembuf; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, const struct qstr *, const struct cred *, struct cred *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, u64); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); + void *lsm_func_addr; +}; + +struct security_hook_list { + struct lsm_static_call *scalls; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + struct seg6_pernet_data { struct mutex lock; struct in6_addr *tun_src; @@ -48782,11 +49996,6 @@ struct simple_xattr { char value[0]; }; -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - struct sit_net { struct ip_tunnel *tunnels_r_l[16]; struct ip_tunnel *tunnels_r[16]; @@ -48952,19 +50161,7 @@ struct slab { void *flush_freelist; }; }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - }; + struct freelist_counters; }; struct callback_head callback_head; }; @@ -48976,7 +50173,10 @@ struct slab_sheaf { union { struct callback_head callback_head; struct list_head barn_list; - unsigned int capacity; + struct { + unsigned int capacity; + bool pfmemalloc; + }; }; struct kmem_cache *cache; unsigned int size; @@ -48997,6 +50197,11 @@ struct slub_percpu_sheaves { struct slab_sheaf *rcu_free; }; +struct smc_hashinfo { + rwlock_t lock; + struct hlist_head ht; +}; + struct smp_hotplug_thread { struct task_struct **store; struct list_head list; @@ -49140,6 +50345,11 @@ struct sockaddr_un { char sun_path[108]; }; +struct sockaddr_unsized { + __kernel_sa_family_t sa_family; + char sa_data[0]; +}; + struct socket_wq { wait_queue_head_t wait; struct fasync_struct *fasync_list; @@ -49244,6 +50454,13 @@ struct sr6_tlv { __u8 data[0]; }; +struct ss_tmp { + enum ss_state state; + long unsigned int data; + spinlock_t *lock; + spinlock_t *lock_irqsave; +}; + struct stack_entry { struct trace_entry ent; int size; @@ -49508,6 +50725,8 @@ struct subsys_private { struct lock_class_key lock_key; }; +typedef struct super_block *class_super_write_t; + struct mtd_info; struct super_block { @@ -49528,6 +50747,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_t s_active; + void *s_security; const struct xattr_handler * const *s_xattr; struct hlist_bl_head s_roots; struct mount *s_mounts; @@ -49569,6 +50789,7 @@ struct super_block { struct list_head s_inodes; spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; + long int s_min_writeback_pages; }; struct super_operations { @@ -49648,7 +50869,7 @@ struct swap_info_struct { struct work_struct discard_work; struct work_struct reclaim_work; struct list_head discard_clusters; - struct plist_node avail_lists[0]; + struct plist_node avail_list; }; struct swap_sequential_cluster { @@ -49691,11 +50912,6 @@ struct symsearch { enum mod_license license; }; -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - struct sys_off_data { int mode; void *cb_data; @@ -49713,6 +50929,12 @@ struct sys_off_handler { struct device *dev; }; +struct syscall_args { + char *ptr_array[3]; + int read[3]; + int uargs; +}; + struct syscall_info { __u64 sp; struct seccomp_data data; @@ -49721,7 +50943,10 @@ struct syscall_info { struct syscall_metadata { const char *name; int syscall_nr; - int nb_args; + u8 nb_args: 7; + u8 user_arg_is_str: 1; + s8 user_arg_size; + short int user_mask; const char **types; const char **args; struct list_head enter_fields; @@ -49753,6 +50978,19 @@ struct syscall_trace_exit { long int ret; }; +struct trace_user_buf; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + size_t size; + int ref; +}; + +struct syscall_user_buffer { + struct trace_user_buf_info buf; + struct callback_head rcu; +}; + struct syscall_user_dispatch { char *selector; long unsigned int offset; @@ -49760,11 +50998,18 @@ struct syscall_user_dispatch { bool on_dispatch; }; -struct syscore_ops { +struct syscore_ops; + +struct syscore { struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); + const struct syscore_ops *ops; + void *data; +}; + +struct syscore_ops { + int (*suspend)(void *); + void (*resume)(void *); + void (*shutdown)(void *); }; struct sysfs_ops { @@ -49814,7 +51059,6 @@ struct system_time_snapshot { struct taint_flag { char c_true; char c_false; - bool module; const char *desc; }; @@ -50010,6 +51254,8 @@ struct task_struct { struct mutex perf_event_mutex; struct list_head perf_event_list; struct perf_ctx_data *perf_ctx_data; + struct rseq_data rseq; + struct sched_mm_cid mm_cid; struct tlbflush_unmap_batch tlb_ubc; struct pipe_inode_info *splice_pipe; struct page_frag task_frag; @@ -50033,13 +51279,13 @@ struct task_struct { int pagefault_disabled; struct task_struct *oom_reaper_list; struct timer_list oom_reaper_timer; + void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; struct bpf_net_context *bpf_net_context; struct llist_head kretprobe_instances; struct llist_head rethooks; long: 64; - long: 64; struct thread_struct thread; long: 64; long: 64; @@ -50111,9 +51357,6 @@ struct tc_skb_cb { u32 drop_reason; u16 zone; u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; }; struct tcf_chain; @@ -50365,9 +51608,6 @@ struct tcp_sock { struct rb_root out_of_order_queue; __u8 __cacheline_group_end__tcp_sock_read_rx[0]; long: 64; - long: 64; - long: 64; - long: 64; __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; u32 segs_out; u32 data_segs_out; @@ -50518,13 +51758,6 @@ struct tcp_sock { struct tcp6_sock { struct tcp_sock tcp; struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; }; union tcp_ao_addr { @@ -51196,6 +52429,7 @@ struct tls_context { u8 rx_conf: 3; u8 zerocopy_sendfile: 1; u8 rx_no_pad: 1; + u16 tx_max_payload_len; int (*push_pending_record)(struct sock *, int); void (*sk_write_space)(struct sock *); void *priv_ctx_tx; @@ -51324,6 +52558,8 @@ struct trace_module_delta; struct trace_pid_list; +struct tracer_flags; + struct trace_options; struct trace_func_repeats; @@ -51346,8 +52582,8 @@ struct trace_array { arch_spinlock_t max_lock; int sys_refcount_enter; int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[470]; - struct trace_event_file *exit_syscall_files[470]; + struct trace_event_file *enter_syscall_files[471]; + struct trace_event_file *exit_syscall_files[471]; int stop_count; int clock_id; int nr_topts; @@ -51355,8 +52591,9 @@ struct trace_array { int buffer_percent; unsigned int n_err_log_entries; struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; + struct tracer_flags *current_trace_flags; + u64 trace_flags; + unsigned char trace_flags_index[64]; unsigned int flags; raw_spinlock_t start_lock; const char *system_names; @@ -51369,6 +52606,7 @@ struct trace_array { struct list_head systems; struct list_head events; struct list_head marker_list; + struct list_head tracers; struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; cpumask_var_t pipe_cpumask; @@ -51384,6 +52622,7 @@ struct trace_array { struct list_head mod_notrace; int function_enabled; int no_filter_buffering_ref; + unsigned int syscall_buf_sz; struct list_head hist_vars; struct trace_func_repeats *last_func_repeats; bool ring_buffer_expanded; @@ -52586,6 +53825,9 @@ struct trace_event_raw_dma_map { struct trace_event_raw_dma_map_sg { struct trace_entry ent; u32 __data_loc_device; + int full_nents; + int full_ents; + bool truncated; u32 __data_loc_phys_addrs; u32 __data_loc_dma_addrs; u32 __data_loc_lengths; @@ -53506,6 +54748,7 @@ struct trace_event_raw_net_dev_rx_verbose_template { unsigned char nr_frags; u16 gso_size; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -53528,6 +54771,7 @@ struct trace_event_raw_net_dev_start_xmit { u16 gso_size; u16 gso_segs; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -53536,6 +54780,7 @@ struct trace_event_raw_net_dev_template { void *skbaddr; unsigned int len; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -53545,6 +54790,7 @@ struct trace_event_raw_net_dev_xmit { unsigned int len; int rc; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -53553,6 +54799,7 @@ struct trace_event_raw_net_dev_xmit_timeout { u32 __data_loc_name; u32 __data_loc_driver; int queue_index; + u64 net_cookie; char __data[0]; }; @@ -54612,8 +55859,6 @@ struct trace_module_delta { struct tracer_opt; -struct tracer_flags; - struct trace_option_dentry { struct tracer_opt *opt; struct tracer_flags *flags; @@ -54629,6 +55874,7 @@ struct trace_options { union upper_chunk; struct trace_pid_list { + seqcount_raw_spinlock_t seqcount; raw_spinlock_t lock; struct irq_work refill_irqwork; union upper_chunk *upper[256]; @@ -54697,11 +55943,6 @@ struct trace_user_buf { char *buf; }; -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - struct tracefs_dir_ops { int (*mkdir)(const char *); int (*rmdir)(const char *); @@ -54778,9 +56019,10 @@ struct tracer { void (*print_header)(struct seq_file *); enum print_line_t (*print_line)(struct trace_iterator *); int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); + int (*flag_changed)(struct trace_array *, u64, int); struct tracer *next; struct tracer_flags *flags; + struct tracer_flags *default_flags; int enabled; bool print_max; bool allow_instances; @@ -54810,6 +56052,12 @@ struct tracer_stat { int (*stat_headers)(struct seq_file *); }; +struct tracers { + struct list_head list; + struct tracer *tracer; + struct tracer_flags *flags; +}; + struct tracing_log_err { struct list_head list; struct err_info info; @@ -55357,6 +56605,11 @@ struct unlink_vma_file_batch { struct vm_area_struct *vmas[8]; }; +struct unwind_stacktrace { + unsigned int nr; + long unsigned int *entries; +}; + struct unwind_state { char type; struct stack_info stack_info; @@ -55371,6 +56624,16 @@ struct unwind_state { long unsigned int ra; }; +struct unwind_work; + +typedef void (*unwind_callback_t)(struct unwind_work *, struct unwind_stacktrace *, u64); + +struct unwind_work { + struct list_head list; + unwind_callback_t func; + int bit; +}; + union upper_chunk { union upper_chunk *next; union lower_chunk *data[256]; @@ -55642,10 +56905,14 @@ struct vm_area_desc { long unsigned int end; long unsigned int pgoff; struct file *vm_file; - vm_flags_t vm_flags; + union { + vm_flags_t vm_flags; + vma_flags_t vma_flags; + }; pgprot_t page_prot; const struct vm_operations_struct *vm_ops; void *private_data; + struct mmap_action action; }; struct vm_userfaultfd_ctx {}; @@ -55662,7 +56929,7 @@ struct vm_area_struct { pgprot_t vm_page_prot; union { const vm_flags_t vm_flags; - vm_flags_t __vm_flags; + vma_flags_t flags; }; struct list_head anon_vma_chain; struct anon_vma *anon_vma; @@ -55677,6 +56944,11 @@ struct vm_area_struct { struct vm_userfaultfd_ctx vm_userfaultfd_ctx; }; +struct vm_area_struct__safe_trusted_or_null { + struct mm_struct *vm_mm; + struct file *vm_file; +}; + struct vm_fault { const struct { struct vm_area_struct *vma; @@ -55716,7 +56988,10 @@ struct vm_operations_struct { }; struct vm_struct { - struct vm_struct *next; + union { + struct vm_struct *next; + struct llist_node llnode; + }; void *addr; long unsigned int size; long unsigned int flags; @@ -55760,6 +57035,7 @@ struct vma_merge_struct { struct vm_userfaultfd_ctx uffd_ctx; struct anon_vma_name *anon_name; enum vma_merge_state state; + struct vm_area_struct *copied_from; bool just_expand: 1; bool give_up_on_oom: 1; bool skip_vma_uprobe: 1; @@ -55936,6 +57212,8 @@ struct warn_args { struct wb_completion { atomic_t cnt; wait_queue_head_t *waitq; + long unsigned int progress_stamp; + long unsigned int wait_start; }; struct wb_domain { @@ -56044,6 +57322,8 @@ struct workqueue_attrs { struct wq_flusher; +struct wq_device; + struct wq_node_nr_active; struct workqueue_struct { @@ -56065,12 +57345,12 @@ struct workqueue_struct { int saved_min_active; struct workqueue_attrs *unbound_attrs; struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; char name[32]; struct callback_head rcu; long: 64; long: 64; long: 64; - long: 64; unsigned int flags; struct pool_workqueue **cpu_pwq; struct wq_node_nr_active *node_nr_active[0]; @@ -56088,6 +57368,11 @@ struct wq_barrier { struct task_struct *task; }; +struct wq_device { + struct workqueue_struct *wq; + struct device dev; +}; + struct wq_drain_dead_softirq_work { struct work_struct work; struct worker_pool *pool; @@ -56197,6 +57482,12 @@ struct xa_state { struct list_lru *xa_lru; }; +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + struct xattr_args { __u64 value; __u32 size; @@ -56685,7 +57976,8 @@ struct xsk_buff_pool { bool unaligned; bool tx_sw_csum; void *addrs; - spinlock_t cq_lock; + spinlock_t cq_prod_lock; + spinlock_t cq_cached_prod_lock; struct xdp_buff_xsk *free_heads[0]; }; @@ -56751,6 +58043,8 @@ typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_r typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); @@ -56767,13 +58061,13 @@ typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); typedef u64 (*btf_bpf_d_path)(const struct path *, char *, u32); -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u64, u64, struct bpf_dynptr_kern *); -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); +typedef u64 (*btf_bpf_dynptr_read)(void *, u64, const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u64, void *, u64, u64); typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); @@ -56783,6 +58077,8 @@ typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); @@ -56873,6 +58169,14 @@ typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + typedef u64 (*btf_bpf_jiffies64)(void); typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); @@ -57109,6 +58413,10 @@ typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, stru typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); +typedef u64 (*btf_bpf_sock_create_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_create_setsockopt)(struct sock *, int, int, char *, int); + typedef u64 (*btf_bpf_sock_from_file)(struct file *); typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); @@ -57957,8 +59265,6 @@ typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const typedef initcall_t initcall_entry_t; -struct xattr; - typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); @@ -57999,6 +59305,8 @@ typedef void perf_iterate_f(struct perf_event *, void *); typedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int); +typedef int (*platform_irq_probe_t)(struct platform_device *, struct device_node *); + typedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int); typedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *); @@ -58007,7 +59315,7 @@ typedef int (*proc_visitor)(struct task_struct *, void *); typedef int (*pte_fn_t)(pte_t *, long unsigned int, void *); -typedef int (*reloc_rela_handler)(struct module *, u32 *, Elf64_Addr, s64 *, size_t *, unsigned int); +typedef int (*reloc_rela_handler)(struct module *, u32 *, Elf64_Addr, long int *, size_t *, unsigned int); typedef int (*reservedmem_of_init_fn)(struct reserved_mem *); @@ -58039,6 +59347,8 @@ typedef int (*task_call_f)(struct task_struct *, void *); typedef void (*task_work_func_t)(struct callback_head *); +typedef int (*trace_user_buf_copy)(char *, const char *, size_t, void *); + typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); typedef int (*uprobe_write_verify_t)(struct page *, long unsigned int, uprobe_opcode_t *, int, void *); @@ -58049,6 +59359,10 @@ struct iomap_ops; struct task_group; +typedef void *class_user_read_access_t; + +typedef void *class_user_write_access_t; + struct __aio_sigset; struct audit_buffer; @@ -58083,6 +59397,8 @@ struct nvmem_cell; struct robust_list_head; +struct rseq; + struct shmid_ds; struct swap_iocb; @@ -58095,12 +59411,12 @@ extern void __attribute__((address_space(1))) *bpf_arena_alloc_pages(void *p__ma extern void bpf_arena_free_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern int bpf_arena_reserve_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; -extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, struct task_struct *tsk, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; extern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; @@ -58127,20 +59443,25 @@ extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) _ extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; -extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym; +extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u64 start, u64 end) __weak __ksym; extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; -extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u32 dst_off, struct bpf_dynptr *src_ptr, u32 src_off, u32 size) __weak __ksym; +extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u64 dst_off, struct bpf_dynptr *src_ptr, u64 src_off, u64 size) __weak __ksym; +extern int bpf_dynptr_file_discard(struct bpf_dynptr *dynptr) __weak __ksym; +extern int bpf_dynptr_from_file(struct file *file, u32 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb_meta(struct __sk_buff *skb_, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym; extern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym; -extern int bpf_dynptr_memset(struct bpf_dynptr *p, u32 offset, u32 size, u8 val) __weak __ksym; -extern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; -extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; -extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; +extern int bpf_dynptr_memset(struct bpf_dynptr *p, u64 offset, u64 size, u8 val) __weak __ksym; +extern u64 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; +extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; +extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; extern int bpf_fentry_test1(int a) __weak __ksym; +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; extern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; extern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym; extern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym; @@ -58172,14 +59493,16 @@ extern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, c extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; extern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; +extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __weak __ksym; extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; extern void bpf_preempt_disable(void) __weak __ksym; extern void bpf_preempt_enable(void) __weak __ksym; -extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; extern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_left(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym; @@ -58190,6 +59513,7 @@ extern void bpf_rcu_read_lock(void) __weak __ksym; extern void bpf_rcu_read_unlock(void) __weak __ksym; extern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_remove_dentry_xattr(struct dentry *dentry, const char *name__str) __weak __ksym; extern int bpf_res_spin_lock(struct bpf_res_spin_lock *lock) __weak __ksym; extern int bpf_res_spin_lock_irqsave(struct bpf_res_spin_lock *lock, long unsigned int *flags__irq_flag) __weak __ksym; extern void bpf_res_spin_unlock(struct bpf_res_spin_lock *lock) __weak __ksym; @@ -58197,17 +59521,20 @@ extern void bpf_res_spin_unlock_irqrestore(struct bpf_res_spin_lock *lock, long extern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym; extern __u64 *bpf_session_cookie(void) __weak __ksym; extern bool bpf_session_is_return(void) __weak __ksym; +extern int bpf_set_dentry_xattr(struct dentry *dentry, const char *name__str, const struct bpf_dynptr *value_p, int flags) __weak __ksym; extern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym; extern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym; extern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym; extern int bpf_sock_ops_enable_tx_tstamp(struct bpf_sock_ops_kern *skops, u64 flags) __weak __ksym; extern int bpf_strcasecmp(const char *s1__ign, const char *s2__ign) __weak __ksym; +extern int bpf_strcasestr(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strchr(const char *s__ign, char c) __weak __ksym; extern int bpf_strchrnul(const char *s__ign, char c) __weak __ksym; extern int bpf_strcmp(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strcspn(const char *s__ign, const char *reject__ign) __weak __ksym; extern int bpf_stream_vprintk_impl(int stream_id, const char *fmt__str, const void *args, u32 len__sz, void *aux__prog) __weak __ksym; extern int bpf_strlen(const char *s__ign) __weak __ksym; +extern int bpf_strncasestr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; extern int bpf_strnchr(const char *s__ign, size_t count, char c) __weak __ksym; extern int bpf_strnlen(const char *s__ign, size_t count) __weak __ksym; extern int bpf_strnstr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; diff --git a/include/powerpc/vmlinux.h b/include/powerpc/vmlinux.h index be73697..9ed9bfb 120000 --- a/include/powerpc/vmlinux.h +++ b/include/powerpc/vmlinux.h @@ -1 +1 @@ -vmlinux_6.18.h \ No newline at end of file +vmlinux_6.19.h \ No newline at end of file diff --git a/include/powerpc/vmlinux_6.18.h b/include/powerpc/vmlinux_6.19.h similarity index 95% rename from include/powerpc/vmlinux_6.18.h rename to include/powerpc/vmlinux_6.19.h index b4c05fb..dbad9c3 100644 --- a/include/powerpc/vmlinux_6.18.h +++ b/include/powerpc/vmlinux_6.19.h @@ -102,6 +102,10 @@ enum { BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, }; +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + enum { BPF_F_GET_BRANCH_RECORDS_SIZE = 1, }; @@ -152,6 +156,7 @@ enum { BPF_F_TOKEN_FD = 65536, BPF_F_SEGV_ON_FAULT = 131072, BPF_F_NO_USER_CONV = 262144, + BPF_F_RB_OVERWRITE = 524288, }; enum { @@ -221,6 +226,7 @@ enum { BPF_RB_RING_SIZE = 1, BPF_RB_CONS_POS = 2, BPF_RB_PROD_POS = 3, + BPF_RB_OVERWRITE_POS = 4, }; enum { @@ -596,24 +602,6 @@ enum { KEEP_EXPLORING = 1, }; -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - enum { DUMP_PREFIX_NONE = 0, DUMP_PREFIX_ADDRESS = 1, @@ -1039,6 +1027,36 @@ enum { ETHTOOL_A_MODULE_MAX = 3, }; +enum { + ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE = 2, + ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS = 3, + ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS = 4, + __ETHTOOL_A_MSE_CAPABILITIES_CNT = 5, + ETHTOOL_A_MSE_CAPABILITIES_MAX = 4, +}; + +enum { + ETHTOOL_A_MSE_HEADER = 1, + ETHTOOL_A_MSE_CAPABILITIES = 2, + ETHTOOL_A_MSE_CHANNEL_A = 3, + ETHTOOL_A_MSE_CHANNEL_B = 4, + ETHTOOL_A_MSE_CHANNEL_C = 5, + ETHTOOL_A_MSE_CHANNEL_D = 6, + ETHTOOL_A_MSE_WORST_CHANNEL = 7, + ETHTOOL_A_MSE_LINK = 8, + __ETHTOOL_A_MSE_CNT = 9, + ETHTOOL_A_MSE_MAX = 8, +}; + +enum { + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE = 2, + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE = 3, + __ETHTOOL_A_MSE_SNAPSHOT_CNT = 4, + ETHTOOL_A_MSE_SNAPSHOT_MAX = 3, +}; + enum { ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, ETHTOOL_A_PAUSE_STAT_PAD = 1, @@ -1447,8 +1465,9 @@ enum { ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, ETHTOOL_MSG_RSS_CREATE_NTF = 52, ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, + ETHTOOL_MSG_MSE_GET_REPLY = 54, + __ETHTOOL_MSG_KERNEL_CNT = 55, + ETHTOOL_MSG_KERNEL_MAX = 54, }; enum { @@ -1503,8 +1522,9 @@ enum { ETHTOOL_MSG_RSS_SET = 48, ETHTOOL_MSG_RSS_CREATE_ACT = 49, ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, + ETHTOOL_MSG_MSE_GET = 51, + __ETHTOOL_MSG_USER_CNT = 52, + ETHTOOL_MSG_USER_MAX = 51, }; enum { @@ -1567,6 +1587,7 @@ enum { enum { EVENT_TRIGGER_FL_PROBE = 1, + EVENT_TRIGGER_FL_COUNT = 2, }; enum { @@ -1713,6 +1734,7 @@ enum { FTRACE_OPS_FL_DIRECT = 131072, FTRACE_OPS_FL_SUBOP = 262144, FTRACE_OPS_FL_GRAPH = 524288, + FTRACE_OPS_FL_JMP = 1048576, }; enum { @@ -1789,6 +1811,15 @@ enum { __ICMP6_MIB_MAX = 7, }; +enum { + ICMP_ERR_EXT_IIO_IIF = 0, + ICMP_ERR_EXT_COUNT = 1, +}; + +enum { + ICMP_EXT_CTYPE_IIO_ROLE_IIF = 0, +}; + enum { ICMP_MIB_NUM = 0, ICMP_MIB_INMSGS = 1, @@ -2959,6 +2990,12 @@ enum { __MDBA_SET_ENTRY_MAX = 3, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + enum { MEMREMAP_WB = 1, MEMREMAP_WT = 2, @@ -2995,6 +3032,7 @@ enum { NAPIF_STATE_THREADED = 256, NAPIF_STATE_SCHED_THREADED = 512, NAPIF_STATE_HAS_NOTIFIER = 1024, + NAPIF_STATE_THREADED_BUSY_POLL = 2048, }; enum { @@ -3014,6 +3052,7 @@ enum { NAPI_STATE_THREADED = 8, NAPI_STATE_SCHED_THREADED = 9, NAPI_STATE_HAS_NOTIFIER = 10, + NAPI_STATE_THREADED_BUSY_POLL = 11, }; enum { @@ -4240,6 +4279,7 @@ enum { TCP_BPF_SYN_MAC = 1007, TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, SK_BPF_CB_FLAGS = 1009, + SK_BPF_BYPASS_PROT_MEM = 1010, }; enum { @@ -4497,6 +4537,7 @@ enum { TRACE_ARRAY_FL_LAST_BOOT = 4, TRACE_ARRAY_FL_MOD_INIT = 8, TRACE_ARRAY_FL_MEMMAP = 16, + TRACE_ARRAY_FL_VMALLOC = 32, }; enum { @@ -4546,9 +4587,14 @@ enum { TRACE_INTERNAL_IRQ_BIT = 7, TRACE_INTERNAL_SIRQ_BIT = 8, TRACE_INTERNAL_TRANSITION_BIT = 9, - TRACE_BRANCH_BIT = 10, - TRACE_IRQ_BIT = 11, - TRACE_RECORD_RECURSION_BIT = 12, + TRACE_INTERNAL_EVENT_BIT = 10, + TRACE_INTERNAL_EVENT_NMI_BIT = 11, + TRACE_INTERNAL_EVENT_IRQ_BIT = 12, + TRACE_INTERNAL_EVENT_SIRQ_BIT = 13, + TRACE_INTERNAL_EVENT_TRANSITION_BIT = 14, + TRACE_BRANCH_BIT = 15, + TRACE_IRQ_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 17, }; enum { @@ -4638,6 +4684,66 @@ enum { ADDR_LIMIT_3GB = 134217728, }; +enum { + VMA_READ_BIT = 0, + VMA_WRITE_BIT = 1, + VMA_EXEC_BIT = 2, + VMA_SHARED_BIT = 3, + VMA_MAYREAD_BIT = 4, + VMA_MAYWRITE_BIT = 5, + VMA_MAYEXEC_BIT = 6, + VMA_MAYSHARE_BIT = 7, + VMA_GROWSDOWN_BIT = 8, + VMA_UFFD_MISSING_BIT = 9, + VMA_PFNMAP_BIT = 10, + VMA_MAYBE_GUARD_BIT = 11, + VMA_UFFD_WP_BIT = 12, + VMA_LOCKED_BIT = 13, + VMA_IO_BIT = 14, + VMA_SEQ_READ_BIT = 15, + VMA_RAND_READ_BIT = 16, + VMA_DONTCOPY_BIT = 17, + VMA_DONTEXPAND_BIT = 18, + VMA_LOCKONFAULT_BIT = 19, + VMA_ACCOUNT_BIT = 20, + VMA_NORESERVE_BIT = 21, + VMA_HUGETLB_BIT = 22, + VMA_SYNC_BIT = 23, + VMA_ARCH_1_BIT = 24, + VMA_WIPEONFORK_BIT = 25, + VMA_DONTDUMP_BIT = 26, + VMA_SOFTDIRTY_BIT = 27, + VMA_MIXEDMAP_BIT = 28, + VMA_HUGEPAGE_BIT = 29, + VMA_NOHUGEPAGE_BIT = 30, + VMA_MERGEABLE_BIT = 31, + VMA_HIGH_ARCH_0_BIT = 32, + VMA_HIGH_ARCH_1_BIT = 33, + VMA_HIGH_ARCH_2_BIT = 34, + VMA_HIGH_ARCH_3_BIT = 35, + VMA_HIGH_ARCH_4_BIT = 36, + VMA_HIGH_ARCH_5_BIT = 37, + VMA_HIGH_ARCH_6_BIT = 38, + VMA_ALLOW_ANY_UNCACHED_BIT = 39, + VMA_DROPPABLE_BIT = 24, + VMA_UFFD_MINOR_BIT = 41, + VMA_SEALED_BIT = 42, + VMA_PKEY_BIT0_BIT = 32, + VMA_PKEY_BIT1_BIT = 33, + VMA_PKEY_BIT2_BIT = 34, + VMA_PKEY_BIT3_BIT = 35, + VMA_PKEY_BIT4_BIT = 36, + VMA_SAO_BIT = 24, + VMA_GROWSUP_BIT = 24, + VMA_SPARC_ADI_BIT = 24, + VMA_ARM64_BTI_BIT = 24, + VMA_ARCH_CLEAR_BIT = 24, + VMA_MAPPED_COPY_BIT = 24, + VMA_MTE_BIT = 36, + VMA_MTE_ALLOWED_BIT = 37, + VMA_STACK_BIT = 8, +}; + enum { WALK_TRAILING = 1, WALK_MORE = 2, @@ -4781,7 +4887,8 @@ enum { __SCHED_FEAT_WA_BIAS = 22, __SCHED_FEAT_UTIL_EST = 23, __SCHED_FEAT_LATENCY_WARN = 24, - __SCHED_FEAT_NR = 25, + __SCHED_FEAT_NI_RANDOM = 25, + __SCHED_FEAT_NR = 26, }; enum { @@ -4827,7 +4934,8 @@ enum { ___GFP_THISNODE_BIT = 21, ___GFP_ACCOUNT_BIT = 22, ___GFP_ZEROTAGS_BIT = 23, - ___GFP_LAST_BIT = 24, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, }; enum { @@ -4853,8 +4961,9 @@ enum { __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 19, __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 20, __ctx_convertBPF_PROG_TYPE_EXT = 21, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 22, - __ctx_convert_unused = 23, + __ctx_convertBPF_PROG_TYPE_LSM = 22, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 23, + __ctx_convert_unused = 24, }; enum { @@ -4868,6 +4977,10 @@ enum { true = 1, }; +enum { + sysctl_hung_task_timeout_secs = 0, +}; + typedef enum { PAGE_KEEP = 0, PAGE_ACTIVATE = 1, @@ -4982,6 +5095,12 @@ enum audit_ntp_type { AUDIT_NTP_NVALS = 6, }; +enum base64_variant { + BASE64_STD = 0, + BASE64_URLSAFE = 1, + BASE64_IMAP = 2, +}; + enum batadv_packettype { BATADV_IV_OGM = 0, BATADV_BCAST = 1, @@ -5095,7 +5214,7 @@ enum bpf_arg_type { ARG_PTR_TO_BTF_ID_OR_NULL = 269, ARG_PTR_TO_UNINIT_MEM = 67141636, ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 268435455, + __BPF_ARG_TYPE_LIMIT = 536870911, }; enum bpf_async_type { @@ -5265,6 +5384,7 @@ enum bpf_dynptr_type { BPF_DYNPTR_TYPE_SKB = 3, BPF_DYNPTR_TYPE_XDP = 4, BPF_DYNPTR_TYPE_SKB_META = 5, + BPF_DYNPTR_TYPE_FILE = 6, }; enum bpf_features { @@ -5582,7 +5702,8 @@ enum bpf_map_type { BPF_MAP_TYPE_USER_RINGBUF = 31, BPF_MAP_TYPE_CGRP_STORAGE = 32, BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, + BPF_MAP_TYPE_INSN_ARRAY = 34, + __MAX_BPF_MAP_TYPE = 35, }; enum bpf_netdev_command { @@ -5662,14 +5783,15 @@ enum bpf_reg_type { PTR_TO_ARENA = 18, PTR_TO_BUF = 19, PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, + PTR_TO_INSN = 21, + CONST_PTR_TO_DYNPTR = 22, + __BPF_REG_TYPE_MAX = 23, PTR_TO_MAP_VALUE_OR_NULL = 260, PTR_TO_SOCKET_OR_NULL = 267, PTR_TO_SOCK_COMMON_OR_NULL = 268, PTR_TO_TCP_SOCK_OR_NULL = 269, PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 268435455, + __BPF_REG_TYPE_LIMIT = 536870911, }; enum bpf_ret_code { @@ -5699,7 +5821,7 @@ enum bpf_return_type { RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, RET_PTR_TO_BTF_ID_OR_NULL = 264, RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 268435455, + __BPF_RET_TYPE_LIMIT = 536870911, }; enum bpf_stack_build_id_status { @@ -5766,8 +5888,9 @@ enum bpf_task_work_state { }; enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, + BPF_MOD_NOP = 0, + BPF_MOD_CALL = 1, + BPF_MOD_JUMP = 2, }; enum bpf_tramp_prog_type { @@ -5806,8 +5929,9 @@ enum bpf_type_flag { MEM_ALIGNED = 33554432, MEM_WRITE = 67108864, DYNPTR_TYPE_SKB_META = 134217728, - __BPF_TYPE_FLAG_MAX = 134217729, - __BPF_TYPE_LAST_FLAG = 134217728, + DYNPTR_TYPE_FILE = 268435456, + __BPF_TYPE_FLAG_MAX = 268435457, + __BPF_TYPE_LAST_FLAG = 268435456, }; enum bpf_xdp_mode { @@ -5981,6 +6105,7 @@ enum cons_flags { CON_EXTENDED = 64, CON_SUSPENDED = 128, CON_NBCON = 256, + CON_NBCON_ATOMIC_UNSAFE = 512, }; enum cpu_attack_vectors { @@ -6244,7 +6369,6 @@ enum dentry_flags { DCACHE_REFERENCED = 64, DCACHE_DONTCACHE = 128, DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, DCACHE_SHRINK_LIST = 1024, DCACHE_OP_WEAK_REVALIDATE = 2048, DCACHE_NFSFS_RENAMED = 4096, @@ -6267,6 +6391,7 @@ enum dentry_flags { DCACHE_PAR_LOOKUP = 16777216, DCACHE_DENTRY_CURSOR = 33554432, DCACHE_NORCU = 67108864, + DCACHE_PERSISTENT = 134217728, }; enum dev_dma_attr { @@ -6758,7 +6883,11 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, + ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121, + ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122, + ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123, + ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124, + __ETHTOOL_LINK_MODE_MASK_NBITS = 125, }; enum ethtool_mac_stats_src { @@ -6963,6 +7092,10 @@ enum fault_flag { FAULT_FLAG_VMA_LOCK = 4096, }; +enum fault_flags { + FAULT_NOWARN = 1, +}; + enum fbq_type { regular = 0, remote = 1, @@ -7406,6 +7539,33 @@ enum handle_to_path_flags { HANDLE_CHECK_SUBTREE = 2, }; +enum hash_algo { + HASH_ALGO_MD4 = 0, + HASH_ALGO_MD5 = 1, + HASH_ALGO_SHA1 = 2, + HASH_ALGO_RIPE_MD_160 = 3, + HASH_ALGO_SHA256 = 4, + HASH_ALGO_SHA384 = 5, + HASH_ALGO_SHA512 = 6, + HASH_ALGO_SHA224 = 7, + HASH_ALGO_RIPE_MD_128 = 8, + HASH_ALGO_RIPE_MD_256 = 9, + HASH_ALGO_RIPE_MD_320 = 10, + HASH_ALGO_WP_256 = 11, + HASH_ALGO_WP_384 = 12, + HASH_ALGO_WP_512 = 13, + HASH_ALGO_TGR_128 = 14, + HASH_ALGO_TGR_160 = 15, + HASH_ALGO_TGR_192 = 16, + HASH_ALGO_SM3_256 = 17, + HASH_ALGO_STREEBOG_256 = 18, + HASH_ALGO_STREEBOG_512 = 19, + HASH_ALGO_SHA3_256 = 20, + HASH_ALGO_SHA3_384 = 21, + HASH_ALGO_SHA3_512 = 22, + HASH_ALGO__LAST = 23, +}; + enum hash_pointers_policy { HASH_PTR_AUTO = 0, HASH_PTR_ALWAYS = 1, @@ -7539,6 +7699,18 @@ enum inet_csk_ack_state_t { ICSK_ACK_NOMEM = 32, }; +enum init_ns_id { + IPC_NS_INIT_ID = 1, + UTS_NS_INIT_ID = 2, + USER_NS_INIT_ID = 3, + PID_NS_INIT_ID = 4, + CGROUP_NS_INIT_ID = 5, + TIME_NS_INIT_ID = 6, + NET_NS_INIT_ID = 7, + MNT_NS_INIT_ID = 8, + NS_LAST_INIT_ID = 8, +}; + enum init_ns_ino { IPC_NS_INIT_INO = 4026531839, UTS_NS_INIT_INO = 4026531838, @@ -7566,7 +7738,7 @@ enum inode_state_bits { __I_LRU_ISOLATING = 2, }; -enum inode_state_flags_t { +enum inode_state_flags_enum { I_NEW = 1, I_SYNC = 2, I_LRU_ISOLATING = 4, @@ -7679,7 +7851,9 @@ enum io_uring_op { IORING_OP_READV_FIXED = 60, IORING_OP_WRITEV_FIXED = 61, IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, + IORING_OP_NOP128 = 63, + IORING_OP_URING_CMD128 = 64, + IORING_OP_LAST = 65, }; enum io_uring_register_op { @@ -7719,7 +7893,8 @@ enum io_uring_register_op { IORING_REGISTER_RESIZE_RINGS = 33, IORING_REGISTER_MEM_REGION = 34, IORING_REGISTER_QUERY = 35, - IORING_REGISTER_LAST = 36, + IORING_REGISTER_ZCRX_CTRL = 36, + IORING_REGISTER_LAST = 37, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, }; @@ -7840,7 +8015,8 @@ enum kernel_load_data_id { LOADING_KEXEC_INITRAMFS = 4, LOADING_POLICY = 5, LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, + LOADING_MODULE_COMPRESSED = 7, + LOADING_MAX_ID = 8, }; enum kernel_read_file_id { @@ -7851,7 +8027,36 @@ enum kernel_read_file_id { READING_KEXEC_INITRAMFS = 4, READING_POLICY = 5, READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, + READING_MODULE_COMPRESSED = 7, + READING_MAX_ID = 8, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, }; enum kfunc_ptr_arg_type { @@ -8000,6 +8205,23 @@ enum lruvec_flags { LRUVEC_NODE_CONGESTED = 1, }; +enum lsm_event { + LSM_POLICY_CHANGE = 0, + LSM_STARTED_ALL = 1, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + enum lw_bits { LW_URGENT = 0, }; @@ -8075,6 +8297,7 @@ enum mapping_flags { AS_INACCESSIBLE = 8, AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, AS_KERNEL_FILE = 10, + AS_NO_DATA_INTEGRITY = 11, AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 16, AS_FOLIO_ORDER_MAX = 21, @@ -8101,7 +8324,8 @@ enum memcg_memory_event { MEMCG_SWAP_HIGH = 6, MEMCG_SWAP_MAX = 7, MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, + MEMCG_SOCK_THROTTLED = 9, + MEMCG_NR_MEMORY_EVENTS = 10, }; enum memcg_stat_item { @@ -8120,6 +8344,15 @@ enum meminit_context { MEMINIT_HOTPLUG = 1, }; +enum memory_block_state { + MEM_ONLINE = 0, + MEM_GOING_OFFLINE = 1, + MEM_OFFLINE = 2, + MEM_GOING_ONLINE = 3, + MEM_CANCEL_ONLINE = 4, + MEM_CANCEL_OFFLINE = 5, +}; + enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_COHERENT = 2, @@ -8172,6 +8405,12 @@ enum migration_type { migrate_misfit = 3, }; +enum mmap_action_type { + MMAP_NOTHING = 0, + MMAP_REMAP_PFN = 1, + MMAP_IO_REMAP_PFN = 2, +}; + enum mminit_level { MMINIT_WARNING = 0, MMINIT_VERIFY = 1, @@ -8302,12 +8541,12 @@ enum net_device_path_type { DEV_PATH_PPPOE = 3, DEV_PATH_DSA = 4, DEV_PATH_MTK_WDMA = 5, + DEV_PATH_TUN = 6, }; enum net_iov_type { NET_IOV_DMABUF = 0, NET_IOV_IOURING = 1, - NET_IOV_MAX = 4294967295, }; enum netdev_cmd { @@ -8361,6 +8600,7 @@ enum netdev_ml_priv_type { enum netdev_napi_threaded { NETDEV_NAPI_THREADED_DISABLED = 0, NETDEV_NAPI_THREADED_ENABLED = 1, + NETDEV_NAPI_THREADED_BUSY_POLL = 2, }; enum netdev_offload_xstats_type { @@ -8654,6 +8894,17 @@ enum node_states { NR_NODE_STATES = 6, }; +enum ns_type { + TIME_NS = 128, + MNT_NS = 131072, + CGROUP_NS = 33554432, + UTS_NS = 67108864, + IPC_NS = 134217728, + USER_NS = 268435456, + PID_NS = 536870912, + NET_NS = 1073741824, +}; + enum offload_act_command { FLOW_ACT_REPLACE = 0, FLOW_ACT_DESTROY = 1, @@ -8831,6 +9082,7 @@ enum perf_callchain_context { PERF_CONTEXT_HV = 18446744073709551584ULL, PERF_CONTEXT_KERNEL = 18446744073709551488ULL, PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_USER_DEFERRED = 18446744073709550976ULL, PERF_CONTEXT_GUEST = 18446744073709549568ULL, PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, @@ -8982,7 +9234,8 @@ enum perf_event_type { PERF_RECORD_CGROUP = 19, PERF_RECORD_TEXT_POKE = 20, PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, + PERF_RECORD_CALLCHAIN_DEFERRED = 22, + PERF_RECORD_MAX = 23, }; enum perf_hw_cache_id { @@ -9079,9 +9332,8 @@ enum perf_type_id { }; enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, + PGDAT_WRITEBACK = 0, + PGDAT_RECLAIM_LOCKED = 1, }; enum pgt_entry { @@ -9099,6 +9351,15 @@ enum pgtable_level { PGTABLE_LEVEL_PGD = 4, }; +enum phy_mse_channel { + PHY_MSE_CHANNEL_A = 0, + PHY_MSE_CHANNEL_B = 1, + PHY_MSE_CHANNEL_C = 2, + PHY_MSE_CHANNEL_D = 3, + PHY_MSE_CHANNEL_WORST = 4, + PHY_MSE_CHANNEL_LINK = 5, +}; + enum phy_state { PHY_DOWN = 0, PHY_READY = 1, @@ -9131,6 +9392,11 @@ enum pid_type { PIDTYPE_MAX = 4, }; +enum pidfs_attr_mask_bits { + PIDFS_ATTR_BIT_EXIT = 0, + PIDFS_ATTR_BIT_COREDUMP = 1, +}; + enum pkt_hash_types { PKT_HASH_TYPE_NONE = 0, PKT_HASH_TYPE_L2 = 1, @@ -9186,6 +9452,13 @@ enum powerpc_regset { REGSET_FPR = 1, }; +enum preempt_wakeup_action { + PREEMPT_WAKEUP_NONE = 0, + PREEMPT_WAKEUP_SHORT = 1, + PREEMPT_WAKEUP_PICK = 2, + PREEMPT_WAKEUP_RESCHED = 3, +}; + enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, @@ -9226,13 +9499,10 @@ enum proc_cn_event { }; enum pt_flags { + PT_kernel = 2, PT_reserved = 13, }; -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, -}; - enum qdisc_state_t { __QDISC_STATE_SCHED = 0, __QDISC_STATE_DEACTIVATED = 1, @@ -9307,6 +9577,11 @@ enum resolve_mode { RESOLVE_STRUCT_OR_ARRAY = 2, }; +enum rht_lookup_freq { + RHT_LOOKUP_NORMAL = 0, + RHT_LOOKUP_LIKELY = 1, +}; + enum ring_buffer_flags { RB_FL_OVERWRITE = 1, }; @@ -9339,6 +9614,12 @@ enum rp_check { RP_CHECK_RET = 2, }; +enum rseq_cs_flags_bit { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, +}; + enum rt6_nud_state { RT6_NUD_FAIL_HARD = -3, RT6_NUD_FAIL_PROBE = -2, @@ -9649,69 +9930,70 @@ enum skb_drop_reason { SKB_DROP_REASON_TC_EGRESS = 62, SKB_DROP_REASON_SECURITY_HOOK = 63, SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_PSP_INPUT = 125, - SKB_DROP_REASON_PSP_OUTPUT = 126, - SKB_DROP_REASON_MAX = 127, + SKB_DROP_REASON_QDISC_BURST_DROP = 65, + SKB_DROP_REASON_QDISC_OVERLIMIT = 66, + SKB_DROP_REASON_QDISC_CONGESTED = 67, + SKB_DROP_REASON_CAKE_FLOOD = 68, + SKB_DROP_REASON_FQ_BAND_LIMIT = 69, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 70, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 71, + SKB_DROP_REASON_CPU_BACKLOG = 72, + SKB_DROP_REASON_XDP = 73, + SKB_DROP_REASON_TC_INGRESS = 74, + SKB_DROP_REASON_UNHANDLED_PROTO = 75, + SKB_DROP_REASON_SKB_CSUM = 76, + SKB_DROP_REASON_SKB_GSO_SEG = 77, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 78, + SKB_DROP_REASON_DEV_HDR = 79, + SKB_DROP_REASON_DEV_READY = 80, + SKB_DROP_REASON_FULL_RING = 81, + SKB_DROP_REASON_NOMEM = 82, + SKB_DROP_REASON_HDR_TRUNC = 83, + SKB_DROP_REASON_TAP_FILTER = 84, + SKB_DROP_REASON_TAP_TXFILTER = 85, + SKB_DROP_REASON_ICMP_CSUM = 86, + SKB_DROP_REASON_INVALID_PROTO = 87, + SKB_DROP_REASON_IP_INADDRERRORS = 88, + SKB_DROP_REASON_IP_INNOROUTES = 89, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 90, + SKB_DROP_REASON_IP_INVALID_SOURCE = 91, + SKB_DROP_REASON_IP_LOCALNET = 92, + SKB_DROP_REASON_IP_INVALID_DEST = 93, + SKB_DROP_REASON_PKT_TOO_BIG = 94, + SKB_DROP_REASON_DUP_FRAG = 95, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 96, + SKB_DROP_REASON_FRAG_TOO_FAR = 97, + SKB_DROP_REASON_TCP_MINTTL = 98, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 99, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 100, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 102, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 103, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 104, + SKB_DROP_REASON_QUEUE_PURGE = 105, + SKB_DROP_REASON_TC_COOKIE_ERROR = 106, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 107, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 108, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 109, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 110, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 111, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 112, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 113, + SKB_DROP_REASON_NO_TX_TARGET = 114, + SKB_DROP_REASON_IP_TUNNEL_ECN = 115, + SKB_DROP_REASON_TUNNEL_TXINFO = 116, + SKB_DROP_REASON_LOCAL_MAC = 117, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 118, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 119, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 120, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 123, + SKB_DROP_REASON_PFMEMALLOC = 124, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 125, + SKB_DROP_REASON_PSP_INPUT = 126, + SKB_DROP_REASON_PSP_OUTPUT = 127, + SKB_DROP_REASON_MAX = 128, SKB_DROP_REASON_SUBSYS_MASK = 4294901760, }; @@ -9814,6 +10096,19 @@ enum socket_flags { SOCK_CUSTOM_SOCKOPT = 4, }; +enum softleaf_type { + SOFTLEAF_NONE = 0, + SOFTLEAF_SWAP = 1, + SOFTLEAF_MIGRATION_READ = 2, + SOFTLEAF_MIGRATION_READ_EXCLUSIVE = 3, + SOFTLEAF_MIGRATION_WRITE = 4, + SOFTLEAF_DEVICE_PRIVATE_READ = 5, + SOFTLEAF_DEVICE_PRIVATE_WRITE = 6, + SOFTLEAF_DEVICE_EXCLUSIVE = 7, + SOFTLEAF_HWPOISON = 8, + SOFTLEAF_MARKER = 9, +}; + enum special_kfunc_type { KF_bpf_obj_new_impl = 0, KF_bpf_obj_drop_impl = 1, @@ -9861,9 +10156,18 @@ enum special_kfunc_type { KF_bpf_res_spin_unlock = 43, KF_bpf_res_spin_lock_irqsave = 44, KF_bpf_res_spin_unlock_irqrestore = 45, - KF___bpf_trap = 46, - KF_bpf_task_work_schedule_signal_impl = 47, - KF_bpf_task_work_schedule_resume_impl = 48, + KF_bpf_dynptr_from_file = 46, + KF_bpf_dynptr_file_discard = 47, + KF___bpf_trap = 48, + KF_bpf_task_work_schedule_signal_impl = 49, + KF_bpf_task_work_schedule_resume_impl = 50, +}; + +enum ss_state { + ss_done = 0, + ss_lock = 1, + ss_lock_irqsave = 2, + ss_lockless = 3, }; enum stat_item { @@ -10167,6 +10471,7 @@ enum trace_iter_flags { TRACE_FILE_LAT_FMT = 1, TRACE_FILE_ANNOTATE = 2, TRACE_FILE_TIME_IN_NS = 4, + TRACE_FILE_PAUSE = 8, }; enum trace_iterator_bits { @@ -10204,40 +10509,6 @@ enum trace_iterator_bits { TRACE_ITER_LAST_BIT = 31, }; -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_FUNCTION = 134217728, - TRACE_ITER_FUNC_FORK = 268435456, - TRACE_ITER_DISPLAY_GRAPH = 536870912, - TRACE_ITER_STACKTRACE = 1073741824, -}; - enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, @@ -10274,6 +10545,11 @@ enum trace_type { __TRACE_LAST_TYPE = 21, }; +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + enum tsq_enum { TSQ_THROTTLED = 0, TSQ_QUEUED = 1, @@ -10419,12 +10695,6 @@ enum uprobe_task_state { UTASK_SSTEP_TRAPPED = 3, }; -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - enum uts_proc { UTS_PROC_ARCH = 0, UTS_PROC_OSTYPE = 1, @@ -10539,6 +10809,14 @@ enum vm_fault_reason { VM_FAULT_HINDEX_MASK = 983040, }; +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + enum vma_merge_state { VMA_MERGE_START = 0, VMA_MERGE_ERROR_NOMEM = 1, @@ -10862,6 +11140,8 @@ typedef int __kernel_clockid_t; typedef int __kernel_daddr_t; +typedef int __kernel_key_t; + typedef int __kernel_pid_t; typedef int __kernel_ptrdiff_t; @@ -10890,6 +11170,8 @@ typedef int fpi_t; typedef s32 int32_t; +typedef __kernel_key_t key_t; + typedef s32 old_time32_t; typedef int pci_power_t; @@ -10904,6 +11186,8 @@ typedef __kernel_rwf_t rwf_t; typedef __kernel_ssize_t ssize_t; +typedef int vma_flag_t; + typedef long int __kernel_long_t; typedef __kernel_long_t __kernel_clock_t; @@ -10950,6 +11234,8 @@ typedef __u64 __addrpair; typedef __u64 __be64; +typedef long long unsigned int __kernel_uoff_t; + typedef __u64 __le64; typedef __u64 u64; @@ -10960,6 +11246,8 @@ typedef u64 blkcnt_t; typedef __be64 fdt64_t; +typedef u64 freelist_full_t; + typedef u64 io_req_flags_t; typedef u64 netdev_features_t; @@ -10972,6 +11260,8 @@ typedef __u64 timeu64_t; typedef u64 uint64_t; +typedef __kernel_uoff_t uoff_t; + typedef long unsigned int __kernel_ulong_t; typedef __kernel_ulong_t __kernel_ino_t; @@ -11227,12 +11517,28 @@ typedef struct { unsigned int timeout; } cisco_proto; +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +struct task_struct; + +struct rq; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class___task_rq_lock_t; + typedef struct { void *lock; } class_cpus_read_lock_t; -struct rq; - typedef struct { struct rq *lock; struct rq *lock2; @@ -11271,6 +11577,14 @@ typedef struct { void *lock; } class_namespace_shared_t; +typedef struct { + void *lock; +} class_ns_tree_locked_reader_t; + +typedef struct { + void *lock; +} class_ns_tree_writer_t; + typedef struct { void *lock; } class_pagefault_t; @@ -11308,13 +11622,14 @@ typedef struct { void *lock; } class_rcu_tasks_trace_t; -struct pin_cookie {}; +typedef struct { + arch_rwlock_t raw_lock; +} rwlock_t; -struct rq_flags { +typedef struct { + rwlock_t *lock; long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; -}; +} class_read_lock_irqsave_t; typedef struct { struct rq *lock; @@ -11355,18 +11670,12 @@ typedef struct { int idx; } class_srcu_t; -struct task_struct; - typedef struct { struct task_struct *lock; struct rq *rq; struct rq_flags rf; } class_task_rq_lock_t; -typedef struct { - arch_rwlock_t raw_lock; -} rwlock_t; - typedef struct { rwlock_t *lock; } class_write_lock_irq_t; @@ -11585,15 +11894,17 @@ typedef struct { wait_queue_head_t wq; } socket_lock_t; +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef swp_entry_t softleaf_t; + typedef struct { char *from; char *to; } substring_t; -typedef struct { - long unsigned int val; -} swp_entry_t; - typedef struct { unsigned int clock_rate; unsigned int clock_type; @@ -11623,6 +11934,10 @@ typedef struct { uid_t val; } vfsuid_t; +typedef struct { + long unsigned int __vma_flags[1]; +} vma_flags_t; + typedef struct { short unsigned int dce; unsigned int modulo; @@ -11704,6 +12019,12 @@ struct gnet_stats_queue { __u32 overlimits; }; +struct llist_node; + +struct llist_head { + struct llist_node *first; +}; + struct callback_head { struct callback_head *next; void (*func)(struct callback_head *); @@ -11735,24 +12056,27 @@ struct Qdisc { struct gnet_stats_queue *cpu_qstats; int pad; refcount_t refcnt; + __u8 __cacheline_group_begin__Qdisc_read_mostly[0]; struct sk_buff_head gso_skb; - struct qdisc_skb_head q; - long: 32; + struct Qdisc *next_sched; + struct sk_buff_head skb_bad_txq; + __u8 __cacheline_group_end__Qdisc_read_mostly[0]; long: 32; + __u8 __cacheline_group_begin__Qdisc_write[0]; + struct qdisc_skb_head q; + long unsigned int state; struct gnet_stats_basic_sync bstats; + bool running; struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; - struct Qdisc *next_sched; - struct sk_buff_head skb_bad_txq; - spinlock_t busylock; + struct sk_buff *to_free; + __u8 __cacheline_group_end__Qdisc_write[0]; + atomic_long_t defer_count; + struct llist_head defer_list; spinlock_t seqlock; struct callback_head rcu; netdevice_tracker dev_tracker; struct lock_class_key root_lock_key; long: 32; - long: 32; long int privdata[0]; }; @@ -12155,6 +12479,21 @@ struct __uprobe_key { loff_t offset; }; +struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +}; + +typedef struct __user_cap_data_struct *cap_user_data_t; + +struct __user_cap_header_struct { + __u32 version; + int pid; +}; + +typedef struct __user_cap_header_struct *cap_user_header_t; + struct __va_list_tag { unsigned char gpr; unsigned char fpr; @@ -12781,13 +13120,7 @@ struct arphdr { struct sockaddr { sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; + char sa_data[14]; }; struct arpreq { @@ -12865,10 +13198,16 @@ struct bin_attribute; struct attribute_group { const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); + union { + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_visible_const)(struct kobject *, const struct attribute *, int); + }; umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; + union { + struct attribute **attrs; + const struct attribute * const *attrs_const; + }; const struct bin_attribute * const *bin_attrs; }; @@ -12998,8 +13337,10 @@ struct file { u64 f_pipe; }; loff_t f_pos; + void *f_security; errseq_t f_wb_err; errseq_t f_sb_err; + long: 32; union { struct callback_head f_task_work; struct llist_node f_llist; @@ -13131,6 +13472,7 @@ struct bio { enum rw_hint bi_write_hint; u8 bi_write_stream; blk_status_t bi_status; + u8 bi_bvec_gap_bit; atomic_t __bi_remaining; struct bvec_iter bi_iter; union { @@ -13199,7 +13541,7 @@ struct blacklist_entry { char *buf; }; -struct blake2s_state { +struct blake2s_ctx { u32 h[8]; u32 t[2]; u32 f[2]; @@ -13242,19 +13584,6 @@ struct blk_integrity { struct blk_plug {}; -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - struct disk_stats; struct gendisk; @@ -13285,12 +13614,14 @@ struct block_device { struct mutex bd_fsfreeze_mutex; struct partition_meta_info *bd_meta_info; int bd_writers; + void *bd_security; + long: 32; struct device bd_device; }; struct hd_geometry; -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct blk_report_zones_args; struct pr_ops; @@ -13309,7 +13640,7 @@ struct block_device_operations { int (*set_read_only)(struct block_device *, bool); void (*free_disk)(struct gendisk *); void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, struct blk_report_zones_args *); char * (*devnode)(struct gendisk *, umode_t *); int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); struct module *owner; @@ -13348,10 +13679,12 @@ struct bpf_map { u8 sha[32]; const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; + void *security; enum bpf_map_type map_type; u32 key_size; u32 value_size; u32 max_entries; + long: 32; u64 map_extra; u32 map_flags; u32 id; @@ -14475,6 +14808,8 @@ struct bpf_ctx_convert { void *BPF_PROG_TYPE_STRUCT_OPS_kern; void *BPF_PROG_TYPE_EXT_prog; void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; void *BPF_PROG_TYPE_SYSCALL_prog; void *BPF_PROG_TYPE_SYSCALL_kern; long: 32; @@ -14504,6 +14839,8 @@ struct bpf_ksym { struct list_head lnode; struct latch_tree_node tnode; bool prog; + u32 fp_start; + u32 fp_end; }; struct static_call_key; @@ -14566,6 +14903,35 @@ struct bpf_dynptr { __u64 __opaque[2]; }; +struct freader { + void *buf; + u32 buf_sz; + int err; + long: 32; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + long: 32; + loff_t folio_off; + bool may_fault; + long: 32; + }; + struct { + const char *data; + long: 32; + u64 data_sz; + }; + }; +}; + +struct bpf_dynptr_file_impl { + struct freader freader; + u64 offset; + u64 size; +}; + struct bpf_dynptr_kern { void *data; u32 size; @@ -14876,6 +15242,11 @@ struct bpf_htab { long: 32; }; +struct bpf_iarray { + int cnt; + u32 items[0]; +}; + struct bpf_id_pair { u32 old; u32 cur; @@ -14914,6 +15285,23 @@ struct bpf_insn_access_aux { bool is_retval; }; +struct bpf_insn_array_value { + __u32 orig_off; + __u32 xlated_off; + __u32 jitted_off; + long: 32; +}; + +struct bpf_insn_array { + struct bpf_map map; + atomic_t used; + long int *ips; + struct { + struct {} __empty_values; + struct bpf_insn_array_value values[0]; + }; +}; + struct bpf_map_ptr_state { struct bpf_map *map_ptr; bool poison; @@ -14955,8 +15343,8 @@ struct bpf_insn_aux_data { u64 obj_new_size; u64 insert_off; }; + struct bpf_iarray *jt; struct btf_struct_meta *kptr_struct_meta; - long: 32; u64 map_key_state; int ctx_field_size; u32 seen; @@ -14964,7 +15352,7 @@ struct bpf_insn_aux_data { bool nospec_result; bool zext_dst; bool needs_zext; - bool storage_get_func_atomic; + bool non_sleepable; bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; @@ -15746,6 +16134,7 @@ struct bpf_local_storage { void *owner; struct callback_head rcu; raw_spinlock_t lock; + bool use_kmalloc_nolock; }; struct bpf_local_storage_cache { @@ -15785,9 +16174,7 @@ struct bpf_local_storage_map { u32 bucket_log; u16 elem_size; u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; + bool use_kmalloc_nolock; }; struct bpf_local_storage_map_bucket { @@ -15911,10 +16298,6 @@ struct bpf_map_owner { enum bpf_attach_type expected_attach_type; }; -struct llist_head { - struct llist_node *first; -}; - struct rcuwait { struct task_struct *task; }; @@ -16191,6 +16574,7 @@ struct bpf_prog_aux { u32 ctx_arg_info_size; u32 max_rdonly_access; u32 max_rdwr_access; + u32 subprog_start; struct btf *attach_btf; struct bpf_ctx_arg_aux *ctx_arg_info; void *priv_stack_ptr; @@ -16215,7 +16599,6 @@ struct bpf_prog_aux { bool changes_pkt_data; bool might_sleep; bool kprobe_write_ctx; - long: 32; u64 prog_array_member_cnt; struct mutex ext_mutex; struct bpf_arena *arena; @@ -16243,6 +16626,7 @@ struct bpf_prog_aux { struct bpf_map *cgroup_storage[2]; char name[16]; u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; struct bpf_token *token; struct bpf_prog_offload *offload; struct btf *btf; @@ -16261,6 +16645,7 @@ struct bpf_prog_aux { struct callback_head rcu; }; struct bpf_stream stream[2]; + long: 32; }; struct bpf_prog_dummy { @@ -16454,6 +16839,7 @@ struct bpf_ringbuf { u64 mask; struct page **pages; int nr_pages; + bool overwrite_mode; rqspinlock_t spinlock; atomic_t busy; long: 32; @@ -17467,7 +17853,6 @@ struct bpf_ringbuf { long: 32; long: 32; long: 32; - long: 32; long unsigned int consumer_pos; long: 32; long: 32; @@ -18494,7 +18879,7 @@ struct bpf_ringbuf { long: 32; long unsigned int producer_pos; long unsigned int pending_pos; - long: 32; + long unsigned int overwrite_pos; long: 32; long: 32; long: 32; @@ -19549,7 +19934,7 @@ struct bpf_verifier_state { u32 active_irq_id; u32 active_lock_id; void *active_lock_ptr; - bool active_rcu_lock; + u32 active_rcu_locks; bool speculative; bool in_sleepable; bool cleaned; @@ -19626,12 +20011,14 @@ struct bpf_sk_storage_diag { }; struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; + unsigned int pkt_len; + u16 pkt_segs; + u16 tc_classid; unsigned char data[20]; + u16 slave_dev_queue_mapping; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; }; struct bpf_skb_data_end { @@ -19673,9 +20060,11 @@ struct bpf_sock_addr { }; }; +struct sockaddr_unsized; + struct bpf_sock_addr_kern { struct sock *sk; - struct sockaddr *uaddr; + struct sockaddr_unsized *uaddr; u64 tmp_reg; void *t_ctx; u32 uaddrlen; @@ -19731,6 +20120,10 @@ struct bpf_stack_state { u8 slot_type[8]; }; +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + struct bpf_stream_elem { struct llist_node node; int total_len; @@ -19738,12 +20131,6 @@ struct bpf_stream_elem { char str[0]; }; -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - struct bpf_stream_stage { struct llist_head log; int len; @@ -19860,6 +20247,7 @@ struct bpf_subprog_info { u32 start; u32 linfo_idx; u32 postorder_start; + u32 exit_idx; u16 stack_depth; u16 stack_extra; s16 fastcall_stack_off; @@ -19873,8 +20261,8 @@ struct bpf_subprog_info { bool keep_fastcall_stack: 1; bool changes_pkt_data: 1; bool might_sleep: 1; + u8 arg_cnt: 3; enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -19981,6 +20369,8 @@ struct bpf_token { u64 allowed_maps; u64 allowed_progs; u64 allowed_attachs; + void *security; + long: 32; }; struct bpf_token_info { @@ -20247,8 +20637,10 @@ struct bpf_verifier_env { struct list_head free_list; struct bpf_map *used_maps[64]; struct btf_mod_pair used_btfs[64]; + struct bpf_map *insn_array_maps[64]; u32 used_map_cnt; u32 used_btf_cnt; + u32 insn_array_map_cnt; u32 id_gen; u32 hidden_subprog_cnt; int exception_callback_subprog; @@ -20262,7 +20654,6 @@ struct bpf_verifier_env { bool seen_exception; struct bpf_insn_aux_data *insn_aux_data; const struct bpf_line_info *prev_linfo; - long: 32; struct bpf_verifier_log log; struct bpf_subprog_info subprog_info[258]; union { @@ -20306,6 +20697,8 @@ struct bpf_verifier_env { struct bpf_liveness *liveness; struct bpf_scc_info **scc_info; u32 scc_cnt; + struct bpf_iarray *succ; + struct bpf_iarray *gotox_tmp_buf; long: 32; }; @@ -20954,7 +21347,7 @@ struct cfs_rq { unsigned int h_nr_idle; s64 avg_vruntime; u64 avg_load; - u64 min_vruntime; + u64 zero_vruntime; struct rb_root_cached tasks_timeline; struct sched_entity *curr; struct sched_entity *next; @@ -20983,6 +21376,26 @@ struct cgroup__safe_rcu { struct kernfs_node *kn; }; +struct ns_tree_node { + struct rb_node ns_node; + struct list_head ns_list_entry; +}; + +struct ns_tree_root { + struct rb_root ns_rb; + struct list_head ns_list_head; +}; + +struct ns_tree { + u64 ns_id; + atomic_t __ns_ref_active; + struct ns_tree_node ns_unified_node; + struct ns_tree_node ns_tree_node; + struct ns_tree_node ns_owner_node; + struct ns_tree_root ns_owner_root; + long: 32; +}; + struct proc_ns_operations; struct ns_common { @@ -20993,12 +21406,7 @@ struct ns_common { refcount_t __ns_ref; long: 32; union { - struct { - u64 ns_id; - struct rb_node ns_tree_node; - struct list_head ns_list_node; - long: 32; - }; + struct ns_tree; struct callback_head ns_rcu; }; }; @@ -21970,6 +22378,7 @@ struct cred { kernel_cap_t cap_effective; kernel_cap_t cap_bset; kernel_cap_t cap_ambient; + void *security; struct user_struct *user; struct user_namespace *user_ns; struct ucounts *ucounts; @@ -21978,6 +22387,7 @@ struct cred { int non_rcu; struct callback_head rcu; }; + long: 32; }; struct crng { @@ -22178,6 +22588,14 @@ struct delayed_uprobe { struct mm_struct *mm; }; +struct delegated_inode {}; + +struct delegation { + __u32 d_flags; + __u16 d_type; + __u16 __pad; +}; + struct hlist_bl_node { struct hlist_bl_node *next; struct hlist_bl_node **pprev; @@ -22297,7 +22715,6 @@ struct vmem_altmap { long unsigned int free; long unsigned int align; long unsigned int alloc; - bool inaccessible; }; struct range { @@ -22317,6 +22734,7 @@ struct dev_pagemap { const struct dev_pagemap_ops *ops; void *owner; int nr_range; + long: 32; union { struct range range; struct { @@ -22329,9 +22747,10 @@ struct dev_pagemap { struct vm_fault; struct dev_pagemap_ops { - void (*page_free)(struct page *); + void (*folio_free)(struct folio *); vm_fault_t (*migrate_to_ram)(struct vm_fault *); int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); + void (*folio_split)(struct folio *, struct folio *); }; struct dev_pm_ops { @@ -22450,6 +22869,9 @@ struct device_driver { const struct dev_pm_ops *pm; void (*coredump)(struct device *); struct driver_private *p; + struct { + void (*post_unbind_rust)(struct device *); + } p_cb; }; struct device_link { @@ -22490,6 +22912,7 @@ struct device_node { struct device_node *parent; struct device_node *child; struct device_node *sibling; + struct kobject kobj; long unsigned int _flags; void *data; }; @@ -22748,7 +23171,7 @@ struct dir_context { long: 32; loff_t pos; int count; - long: 32; + unsigned int dt_flags_mask; }; struct dirty_throttle_control { @@ -22827,12 +23250,10 @@ struct dma_map_ops { void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_phys)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_phys)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); @@ -22880,6 +23301,28 @@ struct dmabuf_token { __u32 token_count; }; +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; +}; + struct kqid { union { kuid_t uid; @@ -23267,6 +23710,8 @@ struct em_perf_table; struct em_perf_domain { struct em_perf_table *em_table; + struct list_head node; + int id; int nr_perf_states; int min_perf_state; int max_perf_state; @@ -24422,7 +24867,7 @@ struct ethtool_wolinfo { struct event_trigger_data; -struct event_trigger_ops; +struct ring_buffer_event; struct event_command { struct list_head list; @@ -24434,7 +24879,11 @@ struct event_command { void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); void (*unreg_all)(struct trace_event_file *); int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + bool (*count_func)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); }; struct event_file_link { @@ -24487,7 +24936,6 @@ struct event_trigger_data { long unsigned int count; int ref; int flags; - const struct event_trigger_ops *ops; struct event_command *cmd_ops; struct event_filter *filter; char *filter_str; @@ -24498,15 +24946,7 @@ struct event_trigger_data { char *name; struct list_head named_list; struct event_trigger_data *named_data; -}; - -struct ring_buffer_event; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); + struct llist_node llist; }; struct eventfs_attr { @@ -24634,6 +25074,8 @@ struct fasync_struct { struct callback_head fa_rcu; }; +struct fault_attr {}; + struct faux_device { struct device dev; }; @@ -24668,6 +25110,14 @@ typedef struct fd class_fd_raw_t; typedef struct fd class_fd_t; +struct fd_prepare { + s32 err; + s32 __fd; + struct file *__file; +}; + +typedef struct fd_prepare class_fd_prepare_t; + struct fd_range { unsigned int from; unsigned int to; @@ -24799,7 +25249,7 @@ struct fgraph_cpu_data { struct ftrace_graph_ent { long unsigned int func; - int depth; + long int depth; }; struct ftrace_graph_ent_entry { @@ -24813,6 +25263,11 @@ struct fgraph_ent_args { long unsigned int args[6]; }; +struct fgraph_retaddr_ent_args { + struct ftrace_graph_ent_entry ent; + long unsigned int args[6]; +}; + struct ftrace_graph_ret { long unsigned int func; int depth; @@ -24830,7 +25285,7 @@ struct fgraph_data { struct fgraph_cpu_data *cpu_data; union { struct fgraph_ent_args ent; - struct ftrace_graph_ent_entry rent; + struct fgraph_retaddr_ent_args rent; }; struct ftrace_graph_ret_entry ret; int failed; @@ -26433,8 +26888,13 @@ struct fprobe_addr_list { long unsigned int *addrs; }; +struct rhlist_head { + struct rhash_head rhead; + struct rhlist_head *next; +}; + struct fprobe_hlist_node { - struct hlist_node hlist; + struct rhlist_head hlist; long unsigned int addr; struct fprobe *fp; }; @@ -26556,32 +27016,35 @@ struct frag_queue { u8 ecn; }; -struct freader { - void *buf; - u32 buf_sz; - int err; - long: 32; +struct free_area { + struct list_head free_list[4]; + long unsigned int nr_free; +}; + +struct freelist_counters { union { struct { - struct file *file; - struct folio *folio; - void *addr; - long: 32; - loff_t folio_off; - bool may_fault; - long: 32; - }; - struct { - const char *data; - long: 32; - u64 data_sz; + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; }; }; }; -struct free_area { - struct list_head free_list[4]; - long unsigned int nr_free; +struct freelist_tid { + union { + struct { + void *freelist; + long unsigned int tid; + }; + freelist_full_t freelist_tid; + }; }; struct p_log { @@ -27316,8 +27779,8 @@ struct irq_affinity_notify { struct napi_config; struct napi_struct { - struct list_head poll_list; long unsigned int state; + struct list_head poll_list; int weight; u32 defer_hard_irqs_count; int (*poll)(struct napi_struct *, int); @@ -27573,11 +28036,6 @@ struct hw_perf_event_extra { long: 32; }; -struct rhlist_head { - struct rhash_head rhead; - struct rhlist_head *next; -}; - struct hw_perf_event { union { struct { @@ -27713,6 +28171,12 @@ struct icmp6_err { int fatal; }; +struct icmp6_ext_iio_addr6_subobj { + __be16 afi; + __be16 reserved; + struct in6_addr addr6; +}; + struct icmp6_filter { __u32 data[8]; }; @@ -27856,6 +28320,17 @@ struct icmp_ext_hdr { __sum16 checksum; }; +struct icmp_ext_iio_addr4_subobj { + __be16 afi; + __be16 reserved; + __be32 addr4; +}; + +struct icmp_ext_iio_name_subobj { + u8 len; + char name[16]; +}; + struct icmp_filter { __u32 data; }; @@ -28543,6 +29018,7 @@ struct sock_common { unsigned char skc_reuseport: 1; unsigned char skc_ipv6only: 1; unsigned char skc_net_refcnt: 1; + unsigned char skc_bypass_prot_mem: 1; int skc_bound_dev_if; union { struct hlist_node skc_bind_node; @@ -28653,15 +29129,20 @@ struct sock { struct rb_root tcp_rtx_queue; }; struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; struct page_frag sk_frag; - struct timer_list sk_timer; + union { + struct timer_list sk_timer; + struct timer_list tcp_retransmit_timer; + struct timer_list mptcp_retransmit_timer; + }; long unsigned int sk_pacing_rate; atomic_t sk_zckey; atomic_t sk_tskey; + long unsigned int sk_tx_queue_mapping_jiffies; __u8 __cacheline_group_end__sock_write_tx[0]; __u8 __cacheline_group_begin__sock_read_tx[0]; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; long unsigned int sk_max_pacing_rate; long int sk_sndtimeo; u32 sk_priority; @@ -28670,7 +29151,6 @@ struct sock { u16 sk_protocol; u16 sk_type; struct dst_entry *sk_dst_cache; - long: 32; netdev_features_t sk_route_caps; u16 sk_gso_type; u16 sk_gso_max_segs; @@ -28716,6 +29196,7 @@ struct sock { u8 sk_txtime_unused: 6; u8 sk_bpf_cb_flags; void *sk_user_data; + void *sk_security; struct sock_cgroup_data sk_cgrp_data; void (*sk_state_change)(struct sock *); void (*sk_write_space)(struct sock *); @@ -28728,6 +29209,7 @@ struct sock { struct callback_head sk_rcu; netns_tracker ns_tracker; struct xarray sk_user_frags; + long: 32; }; struct inet_cork { @@ -28755,11 +29237,14 @@ struct inet_cork_full { struct ipv6_pinfo; +struct ipv6_fl_socklist; + struct ip_mc_socklist; struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; + struct ipv6_fl_socklist *ipv6_fl_list; long unsigned int inet_flags; __be32 inet_saddr; __s16 uc_ttl; @@ -28777,7 +29262,6 @@ struct inet_sock { __be32 mc_addr; u32 local_port_range; struct ip_mc_socklist *mc_list; - long: 32; struct inet_cork_full cork; }; @@ -28801,8 +29285,11 @@ struct inet_connection_sock { struct request_sock_queue icsk_accept_queue; struct inet_bind_bucket *icsk_bind_hash; struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; struct timer_list icsk_delack_timer; + union { + struct timer_list icsk_keepalive_timer; + struct timer_list mptcp_tout_timer; + }; __u32 icsk_rto; __u32 icsk_rto_min; u32 icsk_rto_max; @@ -29140,23 +29627,29 @@ struct inet_timewait_sock { long: 32; }; +struct inode_state_flags { + enum inode_state_flags_enum __state; +}; + struct inode_operations; struct inode { umode_t i_mode; short unsigned int i_opflags; + unsigned int i_flags; kuid_t i_uid; kgid_t i_gid; - unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping; + void *i_security; long unsigned int i_ino; union { const unsigned int i_nlink; unsigned int __i_nlink; }; dev_t i_rdev; + long: 32; loff_t i_size; time64_t i_atime_sec; time64_t i_mtime_sec; @@ -29171,7 +29664,7 @@ struct inode { enum rw_hint i_write_hint; long: 32; blkcnt_t i_blocks; - enum inode_state_flags_t i_state; + struct inode_state_flags i_state; struct rw_semaphore i_rwsem; long unsigned int dirtied_when; long unsigned int dirtied_time_when; @@ -29921,7 +30414,7 @@ struct ipv6_ac_socklist { struct udp_table; struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + int (*inet6_bind)(struct sock *, struct sockaddr_unsized *, int, u32); struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); @@ -30000,7 +30493,6 @@ struct ipv6_pinfo { struct inet6_cork cork; struct ipv6_mc_socklist *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; }; struct ipv6_rpl_sr_hdr { @@ -30259,7 +30751,6 @@ struct irq_desc { int threads_handled_last; raw_spinlock_t lock; struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; long unsigned int threads_oneshot; atomic_t threads_active; wait_queue_head_t wait_for_threads; @@ -30362,12 +30853,20 @@ struct irq_fwspec { u32 param[16]; }; +struct irq_fwspec_info { + long unsigned int flags; + const struct cpumask *affinity; +}; + typedef irqreturn_t (*irq_handler_t)(int, void *); struct irqaction { irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; + union { + void *dev_id; + void *percpu_dev_id; + }; + const struct cpumask *affinity; struct irqaction *next; irq_handler_t thread_fn; struct task_struct *thread; @@ -30436,6 +30935,23 @@ struct kallsyms_data { size_t found; }; +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; +}; + struct kernel_clone_args { u64 flags; int *pidfd; @@ -30560,10 +31076,10 @@ struct kernel_xattr_ctx { unsigned int flags; }; -struct kernfs_open_node; - struct kernfs_ops; +struct kernfs_open_node; + struct kernfs_elem_attr { const struct kernfs_ops *ops; struct kernfs_open_node *open; @@ -30585,7 +31101,33 @@ struct kernfs_elem_symlink { struct kernfs_node *target_kn; }; -struct kernfs_iattrs; +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[2]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; + long: 32; +}; struct kernfs_node { atomic_t count; @@ -30626,6 +31168,15 @@ struct kernfs_open_file { const struct vm_operations_struct *vm_ops; }; +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + struct kernfs_ops { int (*open)(struct kernfs_open_file *); void (*release)(struct kernfs_open_file *); @@ -30642,6 +31193,40 @@ struct kernfs_ops { loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); }; +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + struct key_vector { t_key key; unsigned char pos; @@ -30667,10 +31252,7 @@ struct kiocb { int ki_flags; u16 ki_ioprio; u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; + struct wait_page_queue *ki_waitq; long: 32; }; @@ -30693,6 +31275,17 @@ struct klistmount { long: 32; }; +struct klistns { + u64 *uns_ids; + u32 nr_ns_ids; + u64 last_ns_id; + u64 user_ns_id; + u32 ns_type; + struct user_namespace *user_ns; + bool userns_capable; + struct ns_common *first_ns; +}; + struct kmalloc_info_struct { const char *name[1]; unsigned int size; @@ -30717,11 +31310,15 @@ struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct slub_percpu_sheaves; struct kmem_cache_node; struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + struct lock_class_key lock_key; struct slub_percpu_sheaves *cpu_sheaves; slab_flags_t flags; long unsigned int min_partial; @@ -30740,6 +31337,7 @@ struct kmem_cache { unsigned int red_left_pad; const char *name; struct list_head list; + struct kobject kobj; struct kmem_cache_node *node[1]; }; @@ -30753,6 +31351,12 @@ struct kmem_cache_args { unsigned int sheaf_capacity; }; +struct kmem_cache_cpu { + struct freelist_tid; + struct slab *slab; + local_trylock_t lock; +}; + union kmem_cache_iter_priv { struct bpf_iter_kmem_cache it; struct bpf_iter_kmem_cache_kern kit; @@ -31169,6 +31773,7 @@ struct lease_manager_operations { int (*lm_change)(struct file_lease *, int, struct list_head *); void (*lm_setup)(struct file_lease *, void **); bool (*lm_breaker_owns_lease)(struct file_lease *); + int (*lm_open_conflict)(struct file *, int); }; struct legacy_fs_context { @@ -31417,12 +32022,285 @@ struct lruvec { struct zswap_lruvec_state zswap_lruvec_state; }; +struct lsm_blob_sizes { + unsigned int lbs_cred; + unsigned int lbs_file; + unsigned int lbs_ib; + unsigned int lbs_inode; + unsigned int lbs_sock; + unsigned int lbs_superblock; + unsigned int lbs_ipc; + unsigned int lbs_key; + unsigned int lbs_msg_msg; + unsigned int lbs_perf_event; + unsigned int lbs_task; + unsigned int lbs_xattr_count; + unsigned int lbs_tun_dev; + unsigned int lbs_bdev; + unsigned int lbs_bpf_map; + unsigned int lbs_bpf_prog; + unsigned int lbs_bpf_token; +}; + struct lsm_context { char *context; u32 len; int id; }; +struct lsm_ctx { + __u64 id; + __u64 flags; + __u64 len; + __u64 ctx_len; + __u8 ctx[0]; +}; + +struct lsm_id { + const char *name; + long: 32; + u64 id; +}; + +struct lsm_info { + const struct lsm_id *id; + enum lsm_order order; + long unsigned int flags; + struct lsm_blob_sizes *blobs; + int *enabled; + int (*init)(void); + int (*initcall_pure)(void); + int (*initcall_early)(void); + int (*initcall_core)(void); + int (*initcall_subsys)(void); + int (*initcall_fs)(void); + int (*initcall_device)(void); + int (*initcall_late)(void); +}; + +struct lsm_prop_selinux {}; + +struct lsm_prop_smack {}; + +struct lsm_prop_apparmor {}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct security_hook_list; + +struct static_key_false; + +struct lsm_static_call { + struct static_call_key *key; + void *trampoline; + struct security_hook_list *hl; + struct static_key_false *active; +}; + +struct lsm_static_calls_table { + struct lsm_static_call binder_set_context_mgr[2]; + struct lsm_static_call binder_transaction[2]; + struct lsm_static_call binder_transfer_binder[2]; + struct lsm_static_call binder_transfer_file[2]; + struct lsm_static_call ptrace_access_check[2]; + struct lsm_static_call ptrace_traceme[2]; + struct lsm_static_call capget[2]; + struct lsm_static_call capset[2]; + struct lsm_static_call capable[2]; + struct lsm_static_call quotactl[2]; + struct lsm_static_call quota_on[2]; + struct lsm_static_call syslog[2]; + struct lsm_static_call settime[2]; + struct lsm_static_call vm_enough_memory[2]; + struct lsm_static_call bprm_creds_for_exec[2]; + struct lsm_static_call bprm_creds_from_file[2]; + struct lsm_static_call bprm_check_security[2]; + struct lsm_static_call bprm_committing_creds[2]; + struct lsm_static_call bprm_committed_creds[2]; + struct lsm_static_call fs_context_submount[2]; + struct lsm_static_call fs_context_dup[2]; + struct lsm_static_call fs_context_parse_param[2]; + struct lsm_static_call sb_alloc_security[2]; + struct lsm_static_call sb_delete[2]; + struct lsm_static_call sb_free_security[2]; + struct lsm_static_call sb_free_mnt_opts[2]; + struct lsm_static_call sb_eat_lsm_opts[2]; + struct lsm_static_call sb_mnt_opts_compat[2]; + struct lsm_static_call sb_remount[2]; + struct lsm_static_call sb_kern_mount[2]; + struct lsm_static_call sb_show_options[2]; + struct lsm_static_call sb_statfs[2]; + struct lsm_static_call sb_mount[2]; + struct lsm_static_call sb_umount[2]; + struct lsm_static_call sb_pivotroot[2]; + struct lsm_static_call sb_set_mnt_opts[2]; + struct lsm_static_call sb_clone_mnt_opts[2]; + struct lsm_static_call move_mount[2]; + struct lsm_static_call dentry_init_security[2]; + struct lsm_static_call dentry_create_files_as[2]; + struct lsm_static_call path_notify[2]; + struct lsm_static_call inode_alloc_security[2]; + struct lsm_static_call inode_free_security[2]; + struct lsm_static_call inode_free_security_rcu[2]; + struct lsm_static_call inode_init_security[2]; + struct lsm_static_call inode_init_security_anon[2]; + struct lsm_static_call inode_create[2]; + struct lsm_static_call inode_post_create_tmpfile[2]; + struct lsm_static_call inode_link[2]; + struct lsm_static_call inode_unlink[2]; + struct lsm_static_call inode_symlink[2]; + struct lsm_static_call inode_mkdir[2]; + struct lsm_static_call inode_rmdir[2]; + struct lsm_static_call inode_mknod[2]; + struct lsm_static_call inode_rename[2]; + struct lsm_static_call inode_readlink[2]; + struct lsm_static_call inode_follow_link[2]; + struct lsm_static_call inode_permission[2]; + struct lsm_static_call inode_setattr[2]; + struct lsm_static_call inode_post_setattr[2]; + struct lsm_static_call inode_getattr[2]; + struct lsm_static_call inode_xattr_skipcap[2]; + struct lsm_static_call inode_setxattr[2]; + struct lsm_static_call inode_post_setxattr[2]; + struct lsm_static_call inode_getxattr[2]; + struct lsm_static_call inode_listxattr[2]; + struct lsm_static_call inode_removexattr[2]; + struct lsm_static_call inode_post_removexattr[2]; + struct lsm_static_call inode_file_setattr[2]; + struct lsm_static_call inode_file_getattr[2]; + struct lsm_static_call inode_set_acl[2]; + struct lsm_static_call inode_post_set_acl[2]; + struct lsm_static_call inode_get_acl[2]; + struct lsm_static_call inode_remove_acl[2]; + struct lsm_static_call inode_post_remove_acl[2]; + struct lsm_static_call inode_need_killpriv[2]; + struct lsm_static_call inode_killpriv[2]; + struct lsm_static_call inode_getsecurity[2]; + struct lsm_static_call inode_setsecurity[2]; + struct lsm_static_call inode_listsecurity[2]; + struct lsm_static_call inode_getlsmprop[2]; + struct lsm_static_call inode_copy_up[2]; + struct lsm_static_call inode_copy_up_xattr[2]; + struct lsm_static_call inode_setintegrity[2]; + struct lsm_static_call kernfs_init_security[2]; + struct lsm_static_call file_permission[2]; + struct lsm_static_call file_alloc_security[2]; + struct lsm_static_call file_release[2]; + struct lsm_static_call file_free_security[2]; + struct lsm_static_call file_ioctl[2]; + struct lsm_static_call file_ioctl_compat[2]; + struct lsm_static_call mmap_addr[2]; + struct lsm_static_call mmap_file[2]; + struct lsm_static_call file_mprotect[2]; + struct lsm_static_call file_lock[2]; + struct lsm_static_call file_fcntl[2]; + struct lsm_static_call file_set_fowner[2]; + struct lsm_static_call file_send_sigiotask[2]; + struct lsm_static_call file_receive[2]; + struct lsm_static_call file_open[2]; + struct lsm_static_call file_post_open[2]; + struct lsm_static_call file_truncate[2]; + struct lsm_static_call task_alloc[2]; + struct lsm_static_call task_free[2]; + struct lsm_static_call cred_alloc_blank[2]; + struct lsm_static_call cred_free[2]; + struct lsm_static_call cred_prepare[2]; + struct lsm_static_call cred_transfer[2]; + struct lsm_static_call cred_getsecid[2]; + struct lsm_static_call cred_getlsmprop[2]; + struct lsm_static_call kernel_act_as[2]; + struct lsm_static_call kernel_create_files_as[2]; + struct lsm_static_call kernel_module_request[2]; + struct lsm_static_call kernel_load_data[2]; + struct lsm_static_call kernel_post_load_data[2]; + struct lsm_static_call kernel_read_file[2]; + struct lsm_static_call kernel_post_read_file[2]; + struct lsm_static_call task_fix_setuid[2]; + struct lsm_static_call task_fix_setgid[2]; + struct lsm_static_call task_fix_setgroups[2]; + struct lsm_static_call task_setpgid[2]; + struct lsm_static_call task_getpgid[2]; + struct lsm_static_call task_getsid[2]; + struct lsm_static_call current_getlsmprop_subj[2]; + struct lsm_static_call task_getlsmprop_obj[2]; + struct lsm_static_call task_setnice[2]; + struct lsm_static_call task_setioprio[2]; + struct lsm_static_call task_getioprio[2]; + struct lsm_static_call task_prlimit[2]; + struct lsm_static_call task_setrlimit[2]; + struct lsm_static_call task_setscheduler[2]; + struct lsm_static_call task_getscheduler[2]; + struct lsm_static_call task_movememory[2]; + struct lsm_static_call task_kill[2]; + struct lsm_static_call task_prctl[2]; + struct lsm_static_call task_to_inode[2]; + struct lsm_static_call userns_create[2]; + struct lsm_static_call ipc_permission[2]; + struct lsm_static_call ipc_getlsmprop[2]; + struct lsm_static_call msg_msg_alloc_security[2]; + struct lsm_static_call msg_msg_free_security[2]; + struct lsm_static_call msg_queue_alloc_security[2]; + struct lsm_static_call msg_queue_free_security[2]; + struct lsm_static_call msg_queue_associate[2]; + struct lsm_static_call msg_queue_msgctl[2]; + struct lsm_static_call msg_queue_msgsnd[2]; + struct lsm_static_call msg_queue_msgrcv[2]; + struct lsm_static_call shm_alloc_security[2]; + struct lsm_static_call shm_free_security[2]; + struct lsm_static_call shm_associate[2]; + struct lsm_static_call shm_shmctl[2]; + struct lsm_static_call shm_shmat[2]; + struct lsm_static_call sem_alloc_security[2]; + struct lsm_static_call sem_free_security[2]; + struct lsm_static_call sem_associate[2]; + struct lsm_static_call sem_semctl[2]; + struct lsm_static_call sem_semop[2]; + struct lsm_static_call netlink_send[2]; + struct lsm_static_call d_instantiate[2]; + struct lsm_static_call getselfattr[2]; + struct lsm_static_call setselfattr[2]; + struct lsm_static_call getprocattr[2]; + struct lsm_static_call setprocattr[2]; + struct lsm_static_call ismaclabel[2]; + struct lsm_static_call secid_to_secctx[2]; + struct lsm_static_call lsmprop_to_secctx[2]; + struct lsm_static_call secctx_to_secid[2]; + struct lsm_static_call release_secctx[2]; + struct lsm_static_call inode_invalidate_secctx[2]; + struct lsm_static_call inode_notifysecctx[2]; + struct lsm_static_call inode_setsecctx[2]; + struct lsm_static_call inode_getsecctx[2]; + struct lsm_static_call bpf[2]; + struct lsm_static_call bpf_map[2]; + struct lsm_static_call bpf_prog[2]; + struct lsm_static_call bpf_map_create[2]; + struct lsm_static_call bpf_map_free[2]; + struct lsm_static_call bpf_prog_load[2]; + struct lsm_static_call bpf_prog_free[2]; + struct lsm_static_call bpf_token_create[2]; + struct lsm_static_call bpf_token_free[2]; + struct lsm_static_call bpf_token_cmd[2]; + struct lsm_static_call bpf_token_capable[2]; + struct lsm_static_call locked_down[2]; + struct lsm_static_call perf_event_open[2]; + struct lsm_static_call perf_event_alloc[2]; + struct lsm_static_call perf_event_read[2]; + struct lsm_static_call perf_event_write[2]; + struct lsm_static_call initramfs_populated[2]; + struct lsm_static_call bdev_alloc_security[2]; + struct lsm_static_call bdev_free_security[2]; + struct lsm_static_call bdev_setintegrity[2]; +}; + struct lwq { spinlock_t lock; struct llist_node *ready; @@ -31840,7 +32718,8 @@ struct mii_bus { struct mii_timestamper { bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_set)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_get)(struct mii_timestamper *, struct kernel_hwtstamp_config *); void (*link_state)(struct mii_timestamper *, struct phy_device *); int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; @@ -31931,6 +32810,8 @@ struct mlock_fbatch { struct folio_batch fbatch; }; +struct mm_mm_cid {}; + struct mm_reply_data { struct ethnl_reply_data base; struct ethtool_mm_state state; @@ -31955,6 +32836,7 @@ struct mm_struct { long unsigned int task_size; pgd_t *pgd; atomic_t mm_users; + struct mm_mm_cid mm_cid; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; @@ -31993,7 +32875,7 @@ struct mm_struct { struct uprobes_state uprobes_state; struct work_struct async_put_work; }; - long unsigned int cpu_bitmap[0]; + char flexible_array[0]; }; struct mm_struct__safe_rcu_or_null { @@ -32027,6 +32909,21 @@ struct mm_walk_ops { enum page_walk_lock walk_lock; }; +struct mmap_action { + union { + struct { + long unsigned int start; + long unsigned int start_pfn; + long unsigned int size; + pgprot_t pgprot; + } remap; + }; + enum mmap_action_type type; + int (*success_hook)(const struct vm_area_struct *); + int (*error_hook)(int); + bool hide_from_rmap_until_complete: 1; +}; + struct vma_munmap_struct { struct vma_iterator *vmi; struct vm_area_struct *vma; @@ -32066,7 +32963,9 @@ struct mmap_state { struct vma_munmap_struct vms; struct ma_state mas_detach; struct maple_tree mt_detach; - bool check_ksm_early; + bool check_ksm_early: 1; + bool hold_file_rmap_lock: 1; + bool file_doesnt_need_get: 1; }; struct mmap_unlock_irq_work { @@ -32121,6 +33020,8 @@ struct mmu_gather { unsigned int vma_exec: 1; unsigned int vma_huge: 1; unsigned int vma_pfn: 1; + unsigned int unshared_tables: 1; + unsigned int fully_unshared_tables: 1; unsigned int batch_count; struct mmu_gather_batch *active; struct mmu_gather_batch local; @@ -32190,7 +33091,7 @@ struct mnt_namespace { unsigned int nr_mounts; unsigned int pending_mounts; refcount_t passive; - long: 32; + bool is_anon; }; struct mnt_ns_info { @@ -32250,14 +33151,14 @@ struct module_memory { struct mod_tree_node mtn; }; -struct module_sect_attrs; - -struct module_notes_attrs; - typedef struct tracepoint * const tracepoint_ptr_t; struct module_attribute; +struct module_sect_attrs; + +struct module_notes_attrs; + struct trace_event_call; struct trace_eval_map; @@ -32276,6 +33177,7 @@ struct module { const struct kernel_symbol *syms; const u32 *crcs; unsigned int num_syms; + struct mutex param_lock; struct kernel_param *kp; unsigned int num_kp; unsigned int num_gpl_syms; @@ -32287,6 +33189,11 @@ struct module { struct exception_table_entry *extable; int (*init)(void); long: 32; + long: 32; + long: 32; + long: 32; + long: 32; + long: 32; struct module_memory mem[7]; struct mod_arch_specific arch; long unsigned int taints; @@ -32335,6 +33242,11 @@ struct module_attribute { void (*free)(struct module *); }; +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct param_attribute { struct module_attribute mattr; const struct kernel_param *param; @@ -32351,12 +33263,23 @@ struct module_reply_data { struct ethtool_module_power_mode_params power; }; +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct module_string { struct list_head next; struct module *module; char *str; }; +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + struct vfsmount { struct dentry *mnt_root; struct super_block *mnt_sb; @@ -32445,6 +33368,47 @@ struct mq_sched { struct Qdisc **qdiscs; }; +struct phy_mse_capability { + u64 max_average_mse; + u64 max_peak_mse; + u64 refresh_rate_ps; + u64 num_symbols; + u32 supported_caps; + long: 32; +}; + +struct mse_snapshot_entry; + +struct mse_reply_data { + struct ethnl_reply_data base; + long: 32; + struct phy_mse_capability capability; + struct mse_snapshot_entry *snapshots; + unsigned int num_snapshots; +}; + +struct phy_mse_snapshot { + u64 average_mse; + u64 peak_mse; + u64 worst_peak_mse; +}; + +struct mse_snapshot_entry { + struct phy_mse_snapshot snapshot; + int channel; + long: 32; +}; + +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + struct ubuf_info; struct msghdr { @@ -32524,9 +33488,11 @@ struct msi_desc { struct device *dev; struct msi_msg msg; struct irq_affinity_desc *affinity; + struct device_attribute *sysfs_attrs; void (*write_msi_msg)(struct msi_desc *, void *); void *write_msi_msg_data; u16 msi_index; + long: 32; union { struct pci_msi_desc pci; struct msi_desc_data data; @@ -32603,7 +33569,7 @@ struct napi_alloc_cache { local_lock_t bh_lock; struct page_frag_cache page; unsigned int skb_count; - void *skb_cache[64]; + void *skb_cache[128]; }; struct napi_config { @@ -32852,7 +33818,7 @@ struct neigh_table { atomic_t gc_entries; struct list_head gc_list; struct list_head managed_list; - rwlock_t lock; + spinlock_t lock; long unsigned int last_rand; struct neigh_statistics *stats; struct neigh_hash_table *nht; @@ -32913,9 +33879,11 @@ struct raw_notifier_head { struct netns_core { struct ctl_table_header *sysctl_hdr; int sysctl_somaxconn; + int sysctl_txq_reselection; int sysctl_optmem_max; u8 sysctl_txrehash; u8 sysctl_tstamp_allow_data; + u8 sysctl_bypass_prot_mem; }; struct tcp_mib; @@ -32970,14 +33938,15 @@ struct netns_ipv4 { u8 sysctl_ip_fwd_use_pmtu; __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_tcp_moderate_rcvbuf; u8 sysctl_ip_early_demux; u8 sysctl_tcp_early_demux; u8 sysctl_tcp_l3mdev_accept; int sysctl_tcp_reordering; int sysctl_tcp_rmem[3]; + int sysctl_tcp_rcvbuf_low_rtt; __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; struct inet_timewait_death_row tcp_death_row; struct udp_table *udp_table; @@ -33001,6 +33970,7 @@ struct netns_ipv4 { u8 sysctl_icmp_echo_ignore_broadcasts; u8 sysctl_icmp_ignore_bogus_error_responses; u8 sysctl_icmp_errors_use_inbound_ifaddr; + u8 sysctl_icmp_errors_extension_mask; int sysctl_icmp_ratelimit; int sysctl_icmp_ratemask; int sysctl_icmp_msgs_per_sec; @@ -33074,6 +34044,7 @@ struct netns_ipv4 { int sysctl_tcp_pacing_ss_ratio; int sysctl_tcp_pacing_ca_ratio; unsigned int sysctl_tcp_child_ehash_entries; + int sysctl_tcp_comp_sack_rtt_percent; long unsigned int sysctl_tcp_comp_sack_delay_ns; long unsigned int sysctl_tcp_comp_sack_slack_ns; int sysctl_max_syn_backlog; @@ -33150,6 +34121,7 @@ struct netns_sysctl_ipv6 { u8 skip_notify_on_dev_down; u8 fib_notify_on_flag_change; u8 icmpv6_error_anycast_as_unicast; + u8 icmpv6_errors_extension_mask; long: 32; }; @@ -33244,6 +34216,7 @@ struct net { struct netns_mib mib; struct netns_packet packet; struct netns_nexthop nexthop; + long: 32; struct netns_ipv4 ipv4; struct netns_ipv6 ipv6; struct net_generic *gen; @@ -33514,6 +34487,7 @@ struct net_device { struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; unsigned int promiscuity; unsigned int allmulti; bool uc_promisc; @@ -33546,6 +34520,7 @@ struct net_device { void *ml_priv; enum netdev_ml_priv_type ml_priv_type; enum netdev_stat_type pcpu_stat_type: 8; + long: 32; struct device dev; const struct attribute_group *sysfs_groups[5]; const struct attribute_group *sysfs_rx_queue_group; @@ -33593,8 +34568,6 @@ struct net_device { struct hlist_head neighbours[2]; struct hwtstamp_provider *hwprov; long: 32; - long: 32; - long: 32; u8 priv[0]; }; @@ -33714,6 +34687,17 @@ struct net_device_path { __be16 proto; u8 h_dest[6]; } encap; + struct { + union { + struct in_addr src_v4; + struct in6_addr src_v6; + }; + union { + struct in_addr dst_v4; + struct in6_addr dst_v6; + }; + u8 l3_proto; + } tun; struct { enum { DEV_PATH_BR_VLAN_KEEP = 0, @@ -33850,6 +34834,7 @@ struct net_hotdata { int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; + int qdisc_max_burst; int dev_tx_weight; int dev_rx_weight; int sysctl_max_skb_frags; @@ -34080,9 +35065,12 @@ struct netdev_queue { netdevice_tracker dev_tracker; struct Qdisc *qdisc; struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; long unsigned int tx_maxrate; atomic_long_t trans_timeout; struct net_device *sb_dev; + struct dql dql; spinlock_t _xmit_lock; int xmit_lock_owner; long unsigned int trans_start; @@ -34090,6 +35078,12 @@ struct netdev_queue { struct napi_struct *napi; }; +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + struct netdev_queue_mgmt_ops { size_t ndo_queue_mem_size; int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); @@ -34674,11 +35668,15 @@ struct ns_get_path_task_args { struct task_struct *task; }; -struct ns_tree { - struct rb_root ns_tree; - struct list_head ns_list; - seqlock_t ns_tree_lock; - int type; +struct ns_id_req { + __u32 size; + __u32 spare; + __u64 ns_id; + struct { + __u32 ns_type; + __u32 spare2; + __u64 user_ns_id; + }; }; struct nsfs_file_handle { @@ -34979,6 +35977,12 @@ struct osnoise_entry { long: 32; }; +struct p2pdma_provider { + struct device *owner; + long: 32; + u64 bus_offset; +}; + struct packet_type { __be16 type; bool ignore_outgoing; @@ -35357,6 +36361,7 @@ struct pci_dev { unsigned int pasid_enabled: 1; unsigned int pri_enabled: 1; unsigned int tph_enabled: 1; + unsigned int fm_enabled: 1; unsigned int is_managed: 1; unsigned int is_msi_managed: 1; unsigned int needs_freset: 1; @@ -35490,12 +36495,12 @@ struct pci_ops { void * (*map_bus)(struct pci_bus *, unsigned int, int); int (*read)(struct pci_bus *, unsigned int, int, int, u32 *); int (*write)(struct pci_bus *, unsigned int, int, int, u32); + int (*assert_perst)(struct pci_bus *, bool); }; struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; + struct p2pdma_provider *mem; enum pci_p2pdma_map_type map; - u64 bus_off; }; struct hotplug_slot; @@ -35769,6 +36774,19 @@ struct perf_buffer { void *data_pages[0]; }; +struct unwind_stacktrace; + +struct perf_callchain_deferred_event { + struct unwind_stacktrace *trace; + long: 32; + struct { + struct perf_event_header header; + u64 cookie; + u64 nr; + u64 ips[0]; + } event; +}; + struct perf_callchain_entry { u64 nr; u64 ip[0]; @@ -35928,7 +36946,9 @@ struct perf_event_attr { __u64 inherit_thread: 1; __u64 remove_on_exec: 1; __u64 sigtrap: 1; - __u64 __reserved_1: 26; + __u64 defer_callchain: 1; + __u64 defer_output: 1; + __u64 __reserved_1: 24; union { __u32 wakeup_events; __u32 wakeup_watermark; @@ -35966,6 +36986,7 @@ struct perf_event_attr { }; __u64 sig_data; __u64 config3; + __u64 config4; }; typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); @@ -36048,9 +37069,11 @@ struct perf_event { struct trace_event_call *tp_event; struct event_filter *filter; struct ftrace_ops ftrace_ops; + void *security; struct list_head sb_list; struct list_head pmu_list; u32 orig_type; + long: 32; }; struct perf_event_min_heap { @@ -36347,6 +37370,12 @@ struct phylink; struct pse_control; +struct phy_oatc14_sqi_capability { + bool updated; + int sqi_max; + u8 sqiplus_bits; +}; + struct phy_driver; struct phy_device { @@ -36373,6 +37402,8 @@ struct phy_device { unsigned int autoneg: 1; unsigned int link: 1; unsigned int autoneg_complete: 1; + bool pause: 1; + bool asym_pause: 1; unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; @@ -36385,8 +37416,6 @@ struct phy_device { int speed; int duplex; int port; - int pause; - int asym_pause; u8 master_slave_get; u8 master_slave_set; u8 master_slave_state; @@ -36421,6 +37450,8 @@ struct phy_device { unsigned int link_down_events; void (*phy_link_change)(struct phy_device *, bool); void (*adjust_link)(struct net_device *); + struct phy_oatc14_sqi_capability oatc14_sqi_capability; + long: 32; }; struct phy_device_node { @@ -36480,6 +37511,8 @@ struct phy_driver { int (*set_loopback)(struct phy_device *, bool, int); int (*get_sqi)(struct phy_device *); int (*get_sqi_max)(struct phy_device *); + int (*get_mse_capability)(struct phy_device *, struct phy_mse_capability *); + int (*get_mse_snapshot)(struct phy_device *, enum phy_mse_channel, struct phy_mse_snapshot *); int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); @@ -36587,24 +37620,23 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; + struct { + __u32 coredump_mask; + __u32 coredump_signal; + }; + __u64 supported_mask; }; -struct simple_xattrs; - struct pidfs_attr { + long unsigned int attr_mask; struct simple_xattrs *xattrs; - long: 32; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; - long: 32; + struct { + __u64 cgroupid; + __s32 exit_code; + long: 32; + }; + __u32 coredump_mask; + __u32 coredump_signal; }; struct ping_table { @@ -36664,13 +37696,7 @@ struct pipe_inode_info { struct mutex mutex; wait_queue_head_t rd_wait; wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; + union pipe_index; unsigned int max_usage; unsigned int ring_size; unsigned int nr_accounted; @@ -37225,6 +38251,7 @@ struct property { int length; void *value; struct property *next; + struct bin_attribute attr; }; struct property_entry { @@ -37244,8 +38271,6 @@ struct property_entry { }; }; -struct smc_hashinfo; - struct proto_accept_arg; struct sk_psock; @@ -37254,10 +38279,12 @@ struct timewait_sock_ops; struct raw_hashinfo; +struct smc_hashinfo; + struct proto { void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); + int (*pre_connect)(struct sock *, struct sockaddr_unsized *, int); + int (*connect)(struct sock *, struct sockaddr_unsized *, int); int (*disconnect)(struct sock *, int); struct sock * (*accept)(struct sock *, struct proto_accept_arg *); int (*ioctl)(struct sock *, int, int *); @@ -37270,8 +38297,8 @@ struct proto { int (*sendmsg)(struct sock *, struct msghdr *, size_t); int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*bind)(struct sock *, struct sockaddr_unsized *, int); + int (*bind_add)(struct sock *, struct sockaddr_unsized *, int); int (*backlog_rcv)(struct sock *, struct sk_buff *); bool (*bpf_bypass_getsockopt)(int, int); void (*release_cb)(struct sock *); @@ -37331,8 +38358,8 @@ struct proto_ops { int family; struct module *owner; int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*bind)(struct socket *, struct sockaddr_unsized *, int); + int (*connect)(struct socket *, struct sockaddr_unsized *, int, int); int (*socketpair)(struct socket *, struct socket *); int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); int (*getname)(struct socket *, struct sockaddr *, int); @@ -37393,6 +38420,7 @@ struct pseudo_fs_context { const struct xattr_handler * const *xattr; const struct dentry_operations *dops; long unsigned int magic; + unsigned int s_d_flags; }; struct pt_regs_offset { @@ -37560,7 +38588,7 @@ struct queue_limits { unsigned int max_sectors; unsigned int max_user_sectors; unsigned int max_segment_size; - unsigned int min_segment_size; + unsigned int max_fast_segment_size; unsigned int physical_block_size; unsigned int logical_block_size; unsigned int alignment_offset; @@ -37713,7 +38741,6 @@ struct raw6_sock { __u32 ip6mr_table; struct numa_drop_counters drop_counters; struct ipv6_pinfo inet6; - long: 32; }; struct raw_data_entry { @@ -38005,7 +39032,7 @@ struct renamedata { struct dentry *old_dentry; struct dentry *new_parent; struct dentry *new_dentry; - struct inode **delegated_inode; + struct delegated_inode *delegated_inode; unsigned int flags; }; @@ -38015,6 +39042,8 @@ struct blk_mq_ops; struct blk_mq_ctx; +struct blk_mq_hw_ctx; + struct blk_queue_stats; struct rq_qos; @@ -38035,7 +39064,7 @@ struct request_queue { unsigned int queue_depth; refcount_t refs; unsigned int nr_hw_queues; - struct xarray hctx_table; + struct blk_mq_hw_ctx **queue_hw_ctx; struct percpu_ref q_usage_counter; struct lock_class_key io_lock_cls_key; struct lockdep_map io_lockdep_map; @@ -38093,7 +39122,6 @@ struct request_sock_ops { void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); }; struct reserve_mem_table { @@ -38144,7 +39172,7 @@ struct restart_block { u32 val; u32 flags; u32 bitset; - u64 time; + ktime_t time; u32 *uaddr2; long: 32; } futex; @@ -38156,7 +39184,7 @@ struct restart_block { struct old_timespec32 *compat_rmtp; }; long: 32; - u64 expires; + ktime_t expires; } nanosleep; struct { struct pollfd *ufds; @@ -38410,7 +39438,7 @@ struct rt_rq { struct sched_dl_entity; -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *, struct rq_flags *); struct sched_dl_entity { struct rb_node rb_node; @@ -38432,6 +39460,7 @@ struct sched_dl_entity { unsigned int dl_defer: 1; unsigned int dl_defer_armed: 1; unsigned int dl_defer_running: 1; + unsigned int dl_defer_idle: 1; struct hrtimer dl_timer; struct hrtimer inactive_timer; struct rq *rq; @@ -38440,11 +39469,11 @@ struct sched_dl_entity { struct rq { raw_spinlock_t __lock; + unsigned int queue_mask; unsigned int nr_running; unsigned int ttwu_pending; - u64 nr_switches; - long: 32; long: 32; + u64 nr_switches; long: 32; long: 32; struct cfs_rq cfs; @@ -38535,6 +39564,8 @@ struct rs_msg { __u8 opt[0]; }; +struct rseq_data {}; + struct rss_nl_dump_ctx { long unsigned int ifindex; long unsigned int ctx_idx; @@ -38980,6 +40011,8 @@ struct rusage { __kernel_long_t ru_nivcsw; }; +typedef struct rw_semaphore *class_rwsem_read_t; + struct rwsem_waiter { struct list_head list; struct task_struct *task; @@ -38988,6 +40021,12 @@ struct rwsem_waiter { bool handoff_set; }; +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + struct s_data { struct sched_domain **sd; struct root_domain *rd; @@ -39083,15 +40122,29 @@ struct sched_attr { __u32 sched_util_max; }; +struct sched_change_ctx; + +typedef struct sched_change_ctx *class_sched_change_t; + +struct sched_change_ctx { + u64 prio; + struct task_struct *p; + int flags; + bool queued; + bool running; + long: 32; +}; + struct sched_class { + unsigned int queue_mask; void (*enqueue_task)(struct rq *, struct task_struct *, int); bool (*dequeue_task)(struct rq *, struct task_struct *, int); void (*yield_task)(struct rq *); bool (*yield_to_task)(struct rq *, struct task_struct *); void (*wakeup_preempt)(struct rq *, struct task_struct *, int); int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + struct task_struct * (*pick_task)(struct rq *, struct rq_flags *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *, struct rq_flags *); void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); void (*set_next_task)(struct rq *, struct task_struct *, bool); int (*select_task_rq)(struct task_struct *, int, int); @@ -39104,11 +40157,13 @@ struct sched_class { void (*task_tick)(struct rq *, struct task_struct *, int); void (*task_fork)(struct task_struct *); void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); + void (*switching_from)(struct rq *, struct task_struct *); void (*switched_from)(struct rq *, struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); void (*switched_to)(struct rq *, struct task_struct *); + u64 (*get_prio)(struct rq *, struct task_struct *); + void (*prio_changed)(struct rq *, struct task_struct *, u64); void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); void (*update_curr)(struct rq *); }; @@ -39133,7 +40188,9 @@ struct sched_domain { long unsigned int last_balance; unsigned int balance_interval; unsigned int nr_balance_failed; - long: 32; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; u64 max_newidle_lb_cost; long unsigned int last_decay_max_lb_cost; char *name; @@ -39232,6 +40289,8 @@ struct sched_group_capacity { struct sched_info {}; +struct sched_mm_cid {}; + struct sched_param { int sched_priority; }; @@ -39343,6 +40402,214 @@ struct sec_path { struct seccomp {}; +struct timezone; + +struct xattr; + +struct sembuf; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, const struct qstr *, const struct cred *, struct cred *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, u64); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); + void *lsm_func_addr; +}; + +struct security_hook_list { + struct lsm_static_call *scalls; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + struct seg6_pernet_data { struct mutex lock; struct in6_addr *tun_src; @@ -39377,6 +40644,12 @@ struct semaphore_waiter { bool up; }; +struct sembuf { + short unsigned int sem_num; + short int sem_op; + short int sem_flg; +}; + struct send_signal_irq_work { struct irq_work irq_work; struct task_struct *task; @@ -39655,11 +40928,6 @@ struct simple_xattr { char value[0]; }; -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - struct sit_net { struct ip_tunnel *tunnels_r_l[16]; struct ip_tunnel *tunnels_r[16]; @@ -39827,19 +41095,7 @@ struct slab { void *flush_freelist; }; }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - }; + struct freelist_counters; }; struct callback_head callback_head; }; @@ -39851,7 +41107,10 @@ struct slab_sheaf { union { struct callback_head callback_head; struct list_head barn_list; - unsigned int capacity; + struct { + unsigned int capacity; + bool pfmemalloc; + }; }; struct kmem_cache *cache; unsigned int size; @@ -39872,6 +41131,11 @@ struct slub_percpu_sheaves { struct slab_sheaf *rcu_free; }; +struct smc_hashinfo { + rwlock_t lock; + struct hlist_head ht; +}; + struct smp_hotplug_thread { struct task_struct **store; struct list_head list; @@ -40015,6 +41279,11 @@ struct sockaddr_un { char sun_path[108]; }; +struct sockaddr_unsized { + __kernel_sa_family_t sa_family; + char sa_data[0]; +}; + struct socket_wq { wait_queue_head_t wait; struct fasync_struct *fasync_list; @@ -40079,8 +41348,10 @@ struct software_node { }; struct software_node_ref_args { - const struct software_node *node; + const struct software_node *swnode; + struct fwnode_handle *fwnode; unsigned int nargs; + long: 32; u64 args[16]; }; @@ -40137,6 +41408,13 @@ struct srcu_notifier_head { struct notifier_block *head; }; +struct ss_tmp { + enum ss_state state; + long unsigned int data; + spinlock_t *lock; + spinlock_t *lock_irqsave; +}; + struct stack_entry { struct trace_entry ent; int size; @@ -40423,6 +41701,8 @@ struct subsys_private { struct lock_class_key lock_key; }; +typedef struct super_block *class_super_write_t; + struct mtd_info; struct super_block { @@ -40444,6 +41724,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_t s_active; + void *s_security; const struct xattr_handler * const *s_xattr; struct hlist_bl_head s_roots; struct mount *s_mounts; @@ -40453,7 +41734,6 @@ struct super_block { struct mtd_info *s_mtd; struct hlist_node s_instances; unsigned int s_quota_types; - long: 32; struct quota_info s_dquot; struct sb_writers s_writers; void *s_fs_info; @@ -40487,6 +41767,8 @@ struct super_block { struct list_head s_inodes; spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; + long int s_min_writeback_pages; + long: 32; }; struct super_operations { @@ -40566,7 +41848,7 @@ struct swap_info_struct { struct work_struct discard_work; struct work_struct reclaim_work; struct list_head discard_clusters; - struct plist_node avail_lists[0]; + struct plist_node avail_list; }; struct swap_sequential_cluster { @@ -40609,11 +41891,6 @@ struct symsearch { enum mod_license license; }; -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - struct sys_off_data { int mode; void *cb_data; @@ -40631,10 +41908,19 @@ struct sys_off_handler { struct device *dev; }; +struct syscall_args { + char *ptr_array[3]; + int read[3]; + int uargs; +}; + struct syscall_metadata { const char *name; int syscall_nr; - int nb_args; + u8 nb_args: 7; + u8 user_arg_is_str: 1; + s8 user_arg_size; + short int user_mask; const char **types; const char **args; struct list_head enter_fields; @@ -40667,13 +41953,33 @@ struct syscall_trace_exit { long int ret; }; +struct trace_user_buf; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + size_t size; + int ref; +}; + +struct syscall_user_buffer { + struct trace_user_buf_info buf; + struct callback_head rcu; +}; + struct syscall_user_dispatch {}; -struct syscore_ops { +struct syscore_ops; + +struct syscore { struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); + const struct syscore_ops *ops; + void *data; +}; + +struct syscore_ops { + int (*suspend)(void *); + void (*resume)(void *); + void (*shutdown)(void *); }; struct sysfs_ops { @@ -40724,7 +42030,6 @@ struct system_time_snapshot { struct taint_flag { char c_true; char c_false; - bool module; const char *desc; }; @@ -40939,6 +42244,8 @@ struct task_struct { struct mutex perf_event_mutex; struct list_head perf_event_list; struct perf_ctx_data *perf_ctx_data; + struct rseq_data rseq; + struct sched_mm_cid mm_cid; struct tlbflush_unmap_batch tlb_ubc; struct pipe_inode_info *splice_pipe; struct page_frag task_frag; @@ -40965,13 +42272,13 @@ struct task_struct { struct task_struct *oom_reaper_list; struct timer_list oom_reaper_timer; refcount_t stack_refcount; + void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; struct bpf_net_context *bpf_net_context; struct llist_head kretprobe_instances; struct llist_head rethooks; long: 32; - long: 32; struct thread_struct thread; }; @@ -41039,9 +42346,6 @@ struct tc_skb_cb { u32 drop_reason; u16 zone; u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; }; struct tcf_chain; @@ -41256,8 +42560,6 @@ struct tcp_sock { long: 32; long: 32; long: 32; - long: 32; - long: 32; __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; u32 segs_out; u32 data_segs_out; @@ -41413,6 +42715,7 @@ struct tcp6_sock { long: 32; long: 32; long: 32; + long: 32; }; union tcp_ao_addr { @@ -42059,6 +43362,7 @@ struct tls_context { u8 rx_conf: 3; u8 zerocopy_sendfile: 1; u8 rx_no_pad: 1; + u16 tx_max_payload_len; int (*push_pending_record)(struct sock *, int); void (*sk_write_space)(struct sock *); void *priv_ctx_tx; @@ -42187,6 +43491,8 @@ struct trace_module_delta; struct trace_pid_list; +struct tracer_flags; + struct trace_options; struct trace_func_repeats; @@ -42210,8 +43516,8 @@ struct trace_array { arch_spinlock_t max_lock; int sys_refcount_enter; int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[470]; - struct trace_event_file *exit_syscall_files[470]; + struct trace_event_file *enter_syscall_files[471]; + struct trace_event_file *exit_syscall_files[471]; int stop_count; int clock_id; int nr_topts; @@ -42219,8 +43525,10 @@ struct trace_array { int buffer_percent; unsigned int n_err_log_entries; struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; + struct tracer_flags *current_trace_flags; + long: 32; + u64 trace_flags; + unsigned char trace_flags_index[64]; unsigned int flags; raw_spinlock_t start_lock; const char *system_names; @@ -42233,6 +43541,7 @@ struct trace_array { struct list_head systems; struct list_head events; struct list_head marker_list; + struct list_head tracers; struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; cpumask_var_t pipe_cpumask; @@ -42248,6 +43557,7 @@ struct trace_array { struct list_head mod_notrace; int function_enabled; int no_filter_buffering_ref; + unsigned int syscall_buf_sz; struct list_head hist_vars; struct trace_func_repeats *last_func_repeats; bool ring_buffer_expanded; @@ -43353,6 +44663,9 @@ struct trace_event_raw_dma_map { struct trace_event_raw_dma_map_sg { struct trace_entry ent; u32 __data_loc_device; + int full_nents; + int full_ents; + bool truncated; u32 __data_loc_phys_addrs; u32 __data_loc_dma_addrs; u32 __data_loc_lengths; @@ -44235,6 +45548,7 @@ struct trace_event_raw_net_dev_rx_verbose_template { unsigned char nr_frags; u16 gso_size; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -44257,6 +45571,8 @@ struct trace_event_raw_net_dev_start_xmit { u16 gso_size; u16 gso_segs; u16 gso_type; + long: 32; + u64 net_cookie; char __data[0]; }; @@ -44265,6 +45581,8 @@ struct trace_event_raw_net_dev_template { void *skbaddr; unsigned int len; u32 __data_loc_name; + long: 32; + u64 net_cookie; char __data[0]; }; @@ -44274,6 +45592,7 @@ struct trace_event_raw_net_dev_xmit { unsigned int len; int rc; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -44282,6 +45601,8 @@ struct trace_event_raw_net_dev_xmit_timeout { u32 __data_loc_name; u32 __data_loc_driver; int queue_index; + long: 32; + u64 net_cookie; char __data[0]; }; @@ -45365,8 +46686,6 @@ struct trace_module_delta { struct tracer_opt; -struct tracer_flags; - struct trace_option_dentry { struct tracer_opt *opt; struct tracer_flags *flags; @@ -45382,6 +46701,7 @@ struct trace_options { union upper_chunk; struct trace_pid_list { + seqcount_raw_spinlock_t seqcount; raw_spinlock_t lock; struct irq_work refill_irqwork; union upper_chunk *upper[256]; @@ -45458,11 +46778,6 @@ struct trace_user_buf { char *buf; }; -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - struct tracefs_dir_ops { int (*mkdir)(const char *); int (*rmdir)(const char *); @@ -45539,9 +46854,10 @@ struct tracer { void (*print_header)(struct seq_file *); enum print_line_t (*print_line)(struct trace_iterator *); int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); + int (*flag_changed)(struct trace_array *, u64, int); struct tracer *next; struct tracer_flags *flags; + struct tracer_flags *default_flags; int enabled; bool print_max; bool allow_instances; @@ -45559,6 +46875,12 @@ struct tracer_opt { u32 bit; }; +struct tracers { + struct list_head list; + struct tracer *tracer; + struct tracer_flags *flags; +}; + struct tracing_log_err { struct list_head list; struct err_info info; @@ -45965,6 +47287,7 @@ struct udp_sock { struct udp6_sock { struct udp_sock udp; struct ipv6_pinfo inet6; + long: 32; }; struct udp_dev_scratch { @@ -46101,6 +47424,21 @@ struct unlink_vma_file_batch { struct vm_area_struct *vmas[8]; }; +struct unwind_stacktrace { + unsigned int nr; + long unsigned int *entries; +}; + +struct unwind_work; + +typedef void (*unwind_callback_t)(struct unwind_work *, struct unwind_stacktrace *, u64); + +struct unwind_work { + struct list_head list; + unwind_callback_t func; + int bit; +}; + union upper_chunk { union upper_chunk *next; union lower_chunk *data[256]; @@ -46365,10 +47703,14 @@ struct vm_area_desc { long unsigned int end; long unsigned int pgoff; struct file *vm_file; - vm_flags_t vm_flags; + union { + vm_flags_t vm_flags; + vma_flags_t vma_flags; + }; pgprot_t page_prot; const struct vm_operations_struct *vm_ops; void *private_data; + struct mmap_action action; }; struct vm_userfaultfd_ctx {}; @@ -46385,7 +47727,7 @@ struct vm_area_struct { pgprot_t vm_page_prot; union { const vm_flags_t vm_flags; - vm_flags_t __vm_flags; + vma_flags_t flags; }; struct list_head anon_vma_chain; struct anon_vma *anon_vma; @@ -46400,6 +47742,11 @@ struct vm_area_struct { struct vm_userfaultfd_ctx vm_userfaultfd_ctx; }; +struct vm_area_struct__safe_trusted_or_null { + struct mm_struct *vm_mm; + struct file *vm_file; +}; + struct vm_fault { const struct { struct vm_area_struct *vma; @@ -46447,7 +47794,10 @@ struct vm_special_mapping { }; struct vm_struct { - struct vm_struct *next; + union { + struct vm_struct *next; + struct llist_node llnode; + }; void *addr; long unsigned int size; long unsigned int flags; @@ -46485,6 +47835,7 @@ struct vma_merge_struct { struct vm_userfaultfd_ctx uffd_ctx; struct anon_vma_name *anon_name; enum vma_merge_state state; + struct vm_area_struct *copied_from; bool just_expand: 1; bool give_up_on_oom: 1; bool skip_vma_uprobe: 1; @@ -46636,6 +47987,8 @@ struct warn_args { struct wb_completion { atomic_t cnt; wait_queue_head_t *waitq; + long unsigned int progress_stamp; + long unsigned int wait_start; }; struct wb_domain { @@ -46746,6 +48099,8 @@ struct workqueue_attrs { struct wq_flusher; +struct wq_device; + struct wq_node_nr_active; struct workqueue_struct { @@ -46767,13 +48122,13 @@ struct workqueue_struct { int saved_min_active; struct workqueue_attrs *unbound_attrs; struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; char name[32]; struct callback_head rcu; long: 32; long: 32; long: 32; long: 32; - long: 32; unsigned int flags; struct pool_workqueue **cpu_pwq; struct wq_node_nr_active *node_nr_active[0]; @@ -46791,6 +48146,12 @@ struct wq_barrier { struct task_struct *task; }; +struct wq_device { + struct workqueue_struct *wq; + long: 32; + struct device dev; +}; + struct wq_drain_dead_softirq_work { struct work_struct work; struct worker_pool *pool; @@ -46902,6 +48263,12 @@ struct xa_state { struct list_lru *xa_lru; }; +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + struct xattr_args { __u64 value; __u32 size; @@ -47395,7 +48762,8 @@ struct xsk_buff_pool { bool unaligned; bool tx_sw_csum; void *addrs; - spinlock_t cq_lock; + spinlock_t cq_prod_lock; + spinlock_t cq_cached_prod_lock; struct xdp_buff_xsk *free_heads[0]; long: 32; }; @@ -47436,6 +48804,8 @@ typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_r typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); @@ -47452,13 +48822,13 @@ typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); typedef u64 (*btf_bpf_d_path)(const struct path *, char *, u32); -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u64, u64, struct bpf_dynptr_kern *); -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); +typedef u64 (*btf_bpf_dynptr_read)(void *, u64, const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u64, void *, u64, u64); typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); @@ -47468,6 +48838,8 @@ typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); @@ -47558,6 +48930,14 @@ typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + typedef u64 (*btf_bpf_jiffies64)(void); typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); @@ -47794,6 +49174,10 @@ typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, stru typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); +typedef u64 (*btf_bpf_sock_create_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_create_setsockopt)(struct sock *, int, int, char *, int); + typedef u64 (*btf_bpf_sock_from_file)(struct file *); typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); @@ -48582,8 +49966,6 @@ typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const typedef initcall_t initcall_entry_t; -struct xattr; - typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); @@ -48616,6 +49998,8 @@ typedef void (*perf_irq_t)(struct pt_regs *); typedef void perf_iterate_f(struct perf_event *, void *); +typedef int (*platform_irq_probe_t)(struct platform_device *, struct device_node *); + typedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int); typedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *); @@ -48654,6 +50038,8 @@ typedef int (*task_call_f)(struct task_struct *, void *); typedef void (*task_work_func_t)(struct callback_head *); +typedef int (*trace_user_buf_copy)(char *, const char *, size_t, void *); + typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); typedef int (*uprobe_write_verify_t)(struct page *, long unsigned int, uprobe_opcode_t *, int, void *); @@ -48666,6 +50052,10 @@ struct task_group; typedef void *acpi_handle; +typedef void *class_user_read_access_t; + +typedef void *class_user_write_access_t; + struct acpi_device; struct audit_buffer; @@ -48689,12 +50079,12 @@ struct swap_iocb; #ifndef BPF_NO_KFUNC_PROTOTYPES extern void __bpf_trap(void) __weak __ksym; extern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; -extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, struct task_struct *tsk, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; extern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; @@ -48721,20 +50111,25 @@ extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) _ extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; -extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym; +extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u64 start, u64 end) __weak __ksym; extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; -extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u32 dst_off, struct bpf_dynptr *src_ptr, u32 src_off, u32 size) __weak __ksym; +extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u64 dst_off, struct bpf_dynptr *src_ptr, u64 src_off, u64 size) __weak __ksym; +extern int bpf_dynptr_file_discard(struct bpf_dynptr *dynptr) __weak __ksym; +extern int bpf_dynptr_from_file(struct file *file, u32 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb_meta(struct __sk_buff *skb_, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym; extern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym; -extern int bpf_dynptr_memset(struct bpf_dynptr *p, u32 offset, u32 size, u8 val) __weak __ksym; -extern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; -extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; -extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; +extern int bpf_dynptr_memset(struct bpf_dynptr *p, u64 offset, u64 size, u8 val) __weak __ksym; +extern u64 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; +extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; +extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; extern int bpf_fentry_test1(int a) __weak __ksym; +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; extern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; extern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym; extern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym; @@ -48766,14 +50161,16 @@ extern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, c extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; extern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; +extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __weak __ksym; extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; extern void bpf_preempt_disable(void) __weak __ksym; extern void bpf_preempt_enable(void) __weak __ksym; -extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; extern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_left(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym; @@ -48784,6 +50181,7 @@ extern void bpf_rcu_read_lock(void) __weak __ksym; extern void bpf_rcu_read_unlock(void) __weak __ksym; extern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_remove_dentry_xattr(struct dentry *dentry, const char *name__str) __weak __ksym; extern int bpf_res_spin_lock(struct bpf_res_spin_lock *lock) __weak __ksym; extern int bpf_res_spin_lock_irqsave(struct bpf_res_spin_lock *lock, long unsigned int *flags__irq_flag) __weak __ksym; extern void bpf_res_spin_unlock(struct bpf_res_spin_lock *lock) __weak __ksym; @@ -48791,17 +50189,20 @@ extern void bpf_res_spin_unlock_irqrestore(struct bpf_res_spin_lock *lock, long extern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym; extern __u64 *bpf_session_cookie(void) __weak __ksym; extern bool bpf_session_is_return(void) __weak __ksym; +extern int bpf_set_dentry_xattr(struct dentry *dentry, const char *name__str, const struct bpf_dynptr *value_p, int flags) __weak __ksym; extern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym; extern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym; extern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym; extern int bpf_sock_ops_enable_tx_tstamp(struct bpf_sock_ops_kern *skops, u64 flags) __weak __ksym; extern int bpf_strcasecmp(const char *s1__ign, const char *s2__ign) __weak __ksym; +extern int bpf_strcasestr(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strchr(const char *s__ign, char c) __weak __ksym; extern int bpf_strchrnul(const char *s__ign, char c) __weak __ksym; extern int bpf_strcmp(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strcspn(const char *s__ign, const char *reject__ign) __weak __ksym; extern int bpf_stream_vprintk_impl(int stream_id, const char *fmt__str, const void *args, u32 len__sz, void *aux__prog) __weak __ksym; extern int bpf_strlen(const char *s__ign) __weak __ksym; +extern int bpf_strncasestr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; extern int bpf_strnchr(const char *s__ign, size_t count, char c) __weak __ksym; extern int bpf_strnlen(const char *s__ign, size_t count) __weak __ksym; extern int bpf_strnstr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; diff --git a/include/riscv64/vmlinux.h b/include/riscv64/vmlinux.h index be73697..9ed9bfb 120000 --- a/include/riscv64/vmlinux.h +++ b/include/riscv64/vmlinux.h @@ -1 +1 @@ -vmlinux_6.18.h \ No newline at end of file +vmlinux_6.19.h \ No newline at end of file diff --git a/include/riscv64/vmlinux_6.18.h b/include/riscv64/vmlinux_6.19.h similarity index 95% rename from include/riscv64/vmlinux_6.18.h rename to include/riscv64/vmlinux_6.19.h index 968aa49..d77d755 100644 --- a/include/riscv64/vmlinux_6.18.h +++ b/include/riscv64/vmlinux_6.19.h @@ -102,6 +102,10 @@ enum { BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, }; +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + enum { BPF_F_GET_BRANCH_RECORDS_SIZE = 1, }; @@ -148,6 +152,7 @@ enum { BPF_F_TOKEN_FD = 65536, BPF_F_SEGV_ON_FAULT = 131072, BPF_F_NO_USER_CONV = 262144, + BPF_F_RB_OVERWRITE = 524288, }; enum { @@ -217,6 +222,7 @@ enum { BPF_RB_RING_SIZE = 1, BPF_RB_CONS_POS = 2, BPF_RB_PROD_POS = 3, + BPF_RB_OVERWRITE_POS = 4, }; enum { @@ -579,24 +585,6 @@ enum { KEEP_EXPLORING = 1, }; -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - enum { DUMP_PREFIX_NONE = 0, DUMP_PREFIX_ADDRESS = 1, @@ -1022,6 +1010,36 @@ enum { ETHTOOL_A_MODULE_MAX = 3, }; +enum { + ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE = 2, + ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS = 3, + ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS = 4, + __ETHTOOL_A_MSE_CAPABILITIES_CNT = 5, + ETHTOOL_A_MSE_CAPABILITIES_MAX = 4, +}; + +enum { + ETHTOOL_A_MSE_HEADER = 1, + ETHTOOL_A_MSE_CAPABILITIES = 2, + ETHTOOL_A_MSE_CHANNEL_A = 3, + ETHTOOL_A_MSE_CHANNEL_B = 4, + ETHTOOL_A_MSE_CHANNEL_C = 5, + ETHTOOL_A_MSE_CHANNEL_D = 6, + ETHTOOL_A_MSE_WORST_CHANNEL = 7, + ETHTOOL_A_MSE_LINK = 8, + __ETHTOOL_A_MSE_CNT = 9, + ETHTOOL_A_MSE_MAX = 8, +}; + +enum { + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE = 2, + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE = 3, + __ETHTOOL_A_MSE_SNAPSHOT_CNT = 4, + ETHTOOL_A_MSE_SNAPSHOT_MAX = 3, +}; + enum { ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, ETHTOOL_A_PAUSE_STAT_PAD = 1, @@ -1430,8 +1448,9 @@ enum { ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, ETHTOOL_MSG_RSS_CREATE_NTF = 52, ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, + ETHTOOL_MSG_MSE_GET_REPLY = 54, + __ETHTOOL_MSG_KERNEL_CNT = 55, + ETHTOOL_MSG_KERNEL_MAX = 54, }; enum { @@ -1486,8 +1505,9 @@ enum { ETHTOOL_MSG_RSS_SET = 48, ETHTOOL_MSG_RSS_CREATE_ACT = 49, ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, + ETHTOOL_MSG_MSE_GET = 51, + __ETHTOOL_MSG_USER_CNT = 52, + ETHTOOL_MSG_USER_MAX = 51, }; enum { @@ -1550,6 +1570,7 @@ enum { enum { EVENT_TRIGGER_FL_PROBE = 1, + EVENT_TRIGGER_FL_COUNT = 2, }; enum { @@ -1670,6 +1691,15 @@ enum { __ICMP6_MIB_MAX = 7, }; +enum { + ICMP_ERR_EXT_IIO_IIF = 0, + ICMP_ERR_EXT_COUNT = 1, +}; + +enum { + ICMP_EXT_CTYPE_IIO_ROLE_IIF = 0, +}; + enum { ICMP_MIB_NUM = 0, ICMP_MIB_INMSGS = 1, @@ -2840,6 +2870,12 @@ enum { __MDBA_SET_ENTRY_MAX = 3, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + enum { MEMREMAP_WB = 1, MEMREMAP_WT = 2, @@ -2900,6 +2936,7 @@ enum { NAPIF_STATE_THREADED = 256, NAPIF_STATE_SCHED_THREADED = 512, NAPIF_STATE_HAS_NOTIFIER = 1024, + NAPIF_STATE_THREADED_BUSY_POLL = 2048, }; enum { @@ -2919,6 +2956,7 @@ enum { NAPI_STATE_THREADED = 8, NAPI_STATE_SCHED_THREADED = 9, NAPI_STATE_HAS_NOTIFIER = 10, + NAPI_STATE_THREADED_BUSY_POLL = 11, }; enum { @@ -4174,6 +4212,7 @@ enum { TCP_BPF_SYN_MAC = 1007, TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, SK_BPF_CB_FLAGS = 1009, + SK_BPF_BYPASS_PROT_MEM = 1010, }; enum { @@ -4431,6 +4470,15 @@ enum { TRACE_ARRAY_FL_LAST_BOOT = 4, TRACE_ARRAY_FL_MOD_INIT = 8, TRACE_ARRAY_FL_MEMMAP = 16, + TRACE_ARRAY_FL_VMALLOC = 32, +}; + +enum { + TRACE_CTX_NMI = 0, + TRACE_CTX_IRQ = 1, + TRACE_CTX_SOFTIRQ = 2, + TRACE_CTX_NORMAL = 3, + TRACE_CTX_TRANSITION = 4, }; enum { @@ -4461,6 +4509,27 @@ enum { TRACE_EVENT_FL_TEST_STR_BIT = 10, }; +enum { + TRACE_FTRACE_BIT = 0, + TRACE_FTRACE_NMI_BIT = 1, + TRACE_FTRACE_IRQ_BIT = 2, + TRACE_FTRACE_SIRQ_BIT = 3, + TRACE_FTRACE_TRANSITION_BIT = 4, + TRACE_INTERNAL_BIT = 5, + TRACE_INTERNAL_NMI_BIT = 6, + TRACE_INTERNAL_IRQ_BIT = 7, + TRACE_INTERNAL_SIRQ_BIT = 8, + TRACE_INTERNAL_TRANSITION_BIT = 9, + TRACE_INTERNAL_EVENT_BIT = 10, + TRACE_INTERNAL_EVENT_NMI_BIT = 11, + TRACE_INTERNAL_EVENT_IRQ_BIT = 12, + TRACE_INTERNAL_EVENT_SIRQ_BIT = 13, + TRACE_INTERNAL_EVENT_TRANSITION_BIT = 14, + TRACE_BRANCH_BIT = 15, + TRACE_IRQ_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 17, +}; + enum { TRACE_NOP_OPT_ACCEPT = 1, TRACE_NOP_OPT_REFUSE = 2, @@ -4533,6 +4602,66 @@ enum { ADDR_LIMIT_3GB = 134217728, }; +enum { + VMA_READ_BIT = 0, + VMA_WRITE_BIT = 1, + VMA_EXEC_BIT = 2, + VMA_SHARED_BIT = 3, + VMA_MAYREAD_BIT = 4, + VMA_MAYWRITE_BIT = 5, + VMA_MAYEXEC_BIT = 6, + VMA_MAYSHARE_BIT = 7, + VMA_GROWSDOWN_BIT = 8, + VMA_UFFD_MISSING_BIT = 9, + VMA_PFNMAP_BIT = 10, + VMA_MAYBE_GUARD_BIT = 11, + VMA_UFFD_WP_BIT = 12, + VMA_LOCKED_BIT = 13, + VMA_IO_BIT = 14, + VMA_SEQ_READ_BIT = 15, + VMA_RAND_READ_BIT = 16, + VMA_DONTCOPY_BIT = 17, + VMA_DONTEXPAND_BIT = 18, + VMA_LOCKONFAULT_BIT = 19, + VMA_ACCOUNT_BIT = 20, + VMA_NORESERVE_BIT = 21, + VMA_HUGETLB_BIT = 22, + VMA_SYNC_BIT = 23, + VMA_ARCH_1_BIT = 24, + VMA_WIPEONFORK_BIT = 25, + VMA_DONTDUMP_BIT = 26, + VMA_SOFTDIRTY_BIT = 27, + VMA_MIXEDMAP_BIT = 28, + VMA_HUGEPAGE_BIT = 29, + VMA_NOHUGEPAGE_BIT = 30, + VMA_MERGEABLE_BIT = 31, + VMA_HIGH_ARCH_0_BIT = 32, + VMA_HIGH_ARCH_1_BIT = 33, + VMA_HIGH_ARCH_2_BIT = 34, + VMA_HIGH_ARCH_3_BIT = 35, + VMA_HIGH_ARCH_4_BIT = 36, + VMA_HIGH_ARCH_5_BIT = 37, + VMA_HIGH_ARCH_6_BIT = 38, + VMA_ALLOW_ANY_UNCACHED_BIT = 39, + VMA_DROPPABLE_BIT = 40, + VMA_UFFD_MINOR_BIT = 41, + VMA_SEALED_BIT = 42, + VMA_PKEY_BIT0_BIT = 32, + VMA_PKEY_BIT1_BIT = 33, + VMA_PKEY_BIT2_BIT = 34, + VMA_PKEY_BIT3_BIT = 35, + VMA_PKEY_BIT4_BIT = 36, + VMA_SAO_BIT = 24, + VMA_GROWSUP_BIT = 24, + VMA_SPARC_ADI_BIT = 24, + VMA_ARM64_BTI_BIT = 24, + VMA_ARCH_CLEAR_BIT = 24, + VMA_MAPPED_COPY_BIT = 24, + VMA_MTE_BIT = 36, + VMA_MTE_ALLOWED_BIT = 37, + VMA_STACK_BIT = 8, +}; + enum { WALK_TRAILING = 1, WALK_MORE = 2, @@ -4676,7 +4805,8 @@ enum { __SCHED_FEAT_WA_BIAS = 22, __SCHED_FEAT_UTIL_EST = 23, __SCHED_FEAT_LATENCY_WARN = 24, - __SCHED_FEAT_NR = 25, + __SCHED_FEAT_NI_RANDOM = 25, + __SCHED_FEAT_NR = 26, }; enum { @@ -4722,7 +4852,8 @@ enum { ___GFP_THISNODE_BIT = 21, ___GFP_ACCOUNT_BIT = 22, ___GFP_ZEROTAGS_BIT = 23, - ___GFP_LAST_BIT = 24, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, }; enum { @@ -4748,8 +4879,9 @@ enum { __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 19, __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 20, __ctx_convertBPF_PROG_TYPE_EXT = 21, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 22, - __ctx_convert_unused = 23, + __ctx_convertBPF_PROG_TYPE_LSM = 22, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 23, + __ctx_convert_unused = 24, }; enum { @@ -4763,6 +4895,10 @@ enum { true = 1, }; +enum { + sysctl_hung_task_timeout_secs = 0, +}; + typedef enum { EfiPciIoWidthUint8 = 0, EfiPciIoWidthUint16 = 1, @@ -4899,6 +5035,12 @@ enum audit_ntp_type { AUDIT_NTP_NVALS = 6, }; +enum base64_variant { + BASE64_STD = 0, + BASE64_URLSAFE = 1, + BASE64_IMAP = 2, +}; + enum batadv_packettype { BATADV_IV_OGM = 0, BATADV_BCAST = 1, @@ -5006,7 +5148,7 @@ enum bpf_arg_type { ARG_PTR_TO_BTF_ID_OR_NULL = 269, ARG_PTR_TO_UNINIT_MEM = 67141636, ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 268435455, + __BPF_ARG_TYPE_LIMIT = 536870911, }; enum bpf_async_type { @@ -5176,6 +5318,7 @@ enum bpf_dynptr_type { BPF_DYNPTR_TYPE_SKB = 3, BPF_DYNPTR_TYPE_XDP = 4, BPF_DYNPTR_TYPE_SKB_META = 5, + BPF_DYNPTR_TYPE_FILE = 6, }; enum bpf_features { @@ -5493,7 +5636,8 @@ enum bpf_map_type { BPF_MAP_TYPE_USER_RINGBUF = 31, BPF_MAP_TYPE_CGRP_STORAGE = 32, BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, + BPF_MAP_TYPE_INSN_ARRAY = 34, + __MAX_BPF_MAP_TYPE = 35, }; enum bpf_netdev_command { @@ -5573,14 +5717,15 @@ enum bpf_reg_type { PTR_TO_ARENA = 18, PTR_TO_BUF = 19, PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, + PTR_TO_INSN = 21, + CONST_PTR_TO_DYNPTR = 22, + __BPF_REG_TYPE_MAX = 23, PTR_TO_MAP_VALUE_OR_NULL = 260, PTR_TO_SOCKET_OR_NULL = 267, PTR_TO_SOCK_COMMON_OR_NULL = 268, PTR_TO_TCP_SOCK_OR_NULL = 269, PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 268435455, + __BPF_REG_TYPE_LIMIT = 536870911, }; enum bpf_ret_code { @@ -5610,7 +5755,7 @@ enum bpf_return_type { RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, RET_PTR_TO_BTF_ID_OR_NULL = 264, RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 268435455, + __BPF_RET_TYPE_LIMIT = 536870911, }; enum bpf_stack_build_id_status { @@ -5677,8 +5822,9 @@ enum bpf_task_work_state { }; enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, + BPF_MOD_NOP = 0, + BPF_MOD_CALL = 1, + BPF_MOD_JUMP = 2, }; enum bpf_tramp_prog_type { @@ -5717,8 +5863,9 @@ enum bpf_type_flag { MEM_ALIGNED = 33554432, MEM_WRITE = 67108864, DYNPTR_TYPE_SKB_META = 134217728, - __BPF_TYPE_FLAG_MAX = 134217729, - __BPF_TYPE_LAST_FLAG = 134217728, + DYNPTR_TYPE_FILE = 268435456, + __BPF_TYPE_FLAG_MAX = 268435457, + __BPF_TYPE_LAST_FLAG = 268435456, }; enum bpf_xdp_mode { @@ -5897,6 +6044,7 @@ enum cons_flags { CON_EXTENDED = 64, CON_SUSPENDED = 128, CON_NBCON = 256, + CON_NBCON_ATOMIC_UNSAFE = 512, }; enum cpu_attack_vectors { @@ -6160,7 +6308,6 @@ enum dentry_flags { DCACHE_REFERENCED = 64, DCACHE_DONTCACHE = 128, DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, DCACHE_SHRINK_LIST = 1024, DCACHE_OP_WEAK_REVALIDATE = 2048, DCACHE_NFSFS_RENAMED = 4096, @@ -6183,6 +6330,7 @@ enum dentry_flags { DCACHE_PAR_LOOKUP = 16777216, DCACHE_DENTRY_CURSOR = 33554432, DCACHE_NORCU = 67108864, + DCACHE_PERSISTENT = 134217728, }; enum dev_dma_attr { @@ -6698,7 +6846,11 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, + ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121, + ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122, + ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123, + ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124, + __ETHTOOL_LINK_MODE_MASK_NBITS = 125, }; enum ethtool_mac_stats_src { @@ -6889,6 +7041,10 @@ enum fault_flag { FAULT_FLAG_VMA_LOCK = 4096, }; +enum fault_flags { + FAULT_NOWARN = 1, +}; + enum fbq_type { regular = 0, remote = 1, @@ -7484,6 +7640,18 @@ enum inet_csk_ack_state_t { ICSK_ACK_NOMEM = 32, }; +enum init_ns_id { + IPC_NS_INIT_ID = 1, + UTS_NS_INIT_ID = 2, + USER_NS_INIT_ID = 3, + PID_NS_INIT_ID = 4, + CGROUP_NS_INIT_ID = 5, + TIME_NS_INIT_ID = 6, + NET_NS_INIT_ID = 7, + MNT_NS_INIT_ID = 8, + NS_LAST_INIT_ID = 8, +}; + enum init_ns_ino { IPC_NS_INIT_INO = 4026531839, UTS_NS_INIT_INO = 4026531838, @@ -7511,7 +7679,7 @@ enum inode_state_bits { __I_LRU_ISOLATING = 2, }; -enum inode_state_flags_t { +enum inode_state_flags_enum { I_NEW = 1, I_SYNC = 2, I_LRU_ISOLATING = 4, @@ -7596,7 +7764,9 @@ enum io_uring_op { IORING_OP_READV_FIXED = 60, IORING_OP_WRITEV_FIXED = 61, IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, + IORING_OP_NOP128 = 63, + IORING_OP_URING_CMD128 = 64, + IORING_OP_LAST = 65, }; enum io_uring_register_op { @@ -7636,7 +7806,8 @@ enum io_uring_register_op { IORING_REGISTER_RESIZE_RINGS = 33, IORING_REGISTER_MEM_REGION = 34, IORING_REGISTER_QUERY = 35, - IORING_REGISTER_LAST = 36, + IORING_REGISTER_ZCRX_CTRL = 36, + IORING_REGISTER_LAST = 37, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, }; @@ -7757,7 +7928,8 @@ enum kernel_load_data_id { LOADING_KEXEC_INITRAMFS = 4, LOADING_POLICY = 5, LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, + LOADING_MODULE_COMPRESSED = 7, + LOADING_MAX_ID = 8, }; enum kernel_read_file_id { @@ -7768,7 +7940,36 @@ enum kernel_read_file_id { READING_KEXEC_INITRAMFS = 4, READING_POLICY = 5, READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, + READING_MODULE_COMPRESSED = 7, + READING_MAX_ID = 8, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, }; enum kfunc_ptr_arg_type { @@ -7917,6 +8118,23 @@ enum lruvec_flags { LRUVEC_NODE_CONGESTED = 1, }; +enum lsm_event { + LSM_POLICY_CHANGE = 0, + LSM_STARTED_ALL = 1, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + enum lw_bits { LW_URGENT = 0, }; @@ -7992,6 +8210,7 @@ enum mapping_flags { AS_INACCESSIBLE = 8, AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, AS_KERNEL_FILE = 10, + AS_NO_DATA_INTEGRITY = 11, AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 16, AS_FOLIO_ORDER_MAX = 21, @@ -8018,7 +8237,8 @@ enum memcg_memory_event { MEMCG_SWAP_HIGH = 6, MEMCG_SWAP_MAX = 7, MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, + MEMCG_SOCK_THROTTLED = 9, + MEMCG_NR_MEMORY_EVENTS = 10, }; enum memcg_stat_item { @@ -8037,6 +8257,15 @@ enum meminit_context { MEMINIT_HOTPLUG = 1, }; +enum memory_block_state { + MEM_ONLINE = 0, + MEM_GOING_OFFLINE = 1, + MEM_OFFLINE = 2, + MEM_GOING_ONLINE = 3, + MEM_CANCEL_ONLINE = 4, + MEM_CANCEL_OFFLINE = 5, +}; + enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_COHERENT = 2, @@ -8100,6 +8329,12 @@ enum mitigation_state { VULNERABLE = 2, }; +enum mmap_action_type { + MMAP_NOTHING = 0, + MMAP_REMAP_PFN = 1, + MMAP_IO_REMAP_PFN = 2, +}; + enum mminit_level { MMINIT_WARNING = 0, MMINIT_VERIFY = 1, @@ -8241,12 +8476,12 @@ enum net_device_path_type { DEV_PATH_PPPOE = 3, DEV_PATH_DSA = 4, DEV_PATH_MTK_WDMA = 5, + DEV_PATH_TUN = 6, }; enum net_iov_type { - NET_IOV_DMABUF = 0ULL, - NET_IOV_IOURING = 1ULL, - NET_IOV_MAX = 18446744073709551615ULL, + NET_IOV_DMABUF = 0, + NET_IOV_IOURING = 1, }; enum netdev_cmd { @@ -8300,6 +8535,7 @@ enum netdev_ml_priv_type { enum netdev_napi_threaded { NETDEV_NAPI_THREADED_DISABLED = 0, NETDEV_NAPI_THREADED_ENABLED = 1, + NETDEV_NAPI_THREADED_BUSY_POLL = 2, }; enum netdev_offload_xstats_type { @@ -8593,6 +8829,17 @@ enum node_states { NR_NODE_STATES = 6, }; +enum ns_type { + TIME_NS = 128, + MNT_NS = 131072, + CGROUP_NS = 33554432, + UTS_NS = 67108864, + IPC_NS = 134217728, + USER_NS = 268435456, + PID_NS = 536870912, + NET_NS = 1073741824, +}; + enum offload_act_command { FLOW_ACT_REPLACE = 0, FLOW_ACT_DESTROY = 1, @@ -8770,6 +9017,7 @@ enum perf_callchain_context { PERF_CONTEXT_HV = 18446744073709551584ULL, PERF_CONTEXT_KERNEL = 18446744073709551488ULL, PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_USER_DEFERRED = 18446744073709550976ULL, PERF_CONTEXT_GUEST = 18446744073709549568ULL, PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, @@ -8893,7 +9141,8 @@ enum perf_event_type { PERF_RECORD_CGROUP = 19, PERF_RECORD_TEXT_POKE = 20, PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, + PERF_RECORD_CALLCHAIN_DEFERRED = 22, + PERF_RECORD_MAX = 23, }; enum perf_hw_cache_id { @@ -8990,9 +9239,8 @@ enum perf_type_id { }; enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, + PGDAT_WRITEBACK = 0, + PGDAT_RECLAIM_LOCKED = 1, }; enum pgt_entry { @@ -9010,6 +9258,15 @@ enum pgtable_level { PGTABLE_LEVEL_PGD = 4, }; +enum phy_mse_channel { + PHY_MSE_CHANNEL_A = 0, + PHY_MSE_CHANNEL_B = 1, + PHY_MSE_CHANNEL_C = 2, + PHY_MSE_CHANNEL_D = 3, + PHY_MSE_CHANNEL_WORST = 4, + PHY_MSE_CHANNEL_LINK = 5, +}; + enum phy_state { PHY_DOWN = 0, PHY_READY = 1, @@ -9042,6 +9299,11 @@ enum pid_type { PIDTYPE_MAX = 4, }; +enum pidfs_attr_mask_bits { + PIDFS_ATTR_BIT_EXIT = 0, + PIDFS_ATTR_BIT_COREDUMP = 1, +}; + enum pkt_hash_types { PKT_HASH_TYPE_NONE = 0, PKT_HASH_TYPE_L2 = 1, @@ -9085,6 +9347,13 @@ enum positive_aop_returns { AOP_TRUNCATED_PAGE = 524289, }; +enum preempt_wakeup_action { + PREEMPT_WAKEUP_NONE = 0, + PREEMPT_WAKEUP_SHORT = 1, + PREEMPT_WAKEUP_PICK = 2, + PREEMPT_WAKEUP_RESCHED = 3, +}; + enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, @@ -9130,8 +9399,9 @@ enum proc_cn_event { PROC_EVENT_EXIT = 2147483648, }; -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, +enum pt_flags { + PT_kernel = 2, + PT_reserved = 13, }; enum qdisc_state_t { @@ -9208,6 +9478,11 @@ enum resolve_mode { RESOLVE_STRUCT_OR_ARRAY = 2, }; +enum rht_lookup_freq { + RHT_LOOKUP_NORMAL = 0, + RHT_LOOKUP_LIKELY = 1, +}; + enum ring_buffer_flags { RB_FL_OVERWRITE = 1, }; @@ -9429,6 +9704,7 @@ enum sbi_ext_id { SBI_EXT_NACL = 1312899916, SBI_EXT_FWFT = 1180124756, SBI_EXT_MPXY = 1297111129, + SBI_EXT_DBTR = 1145197650, SBI_EXT_EXPERIMENTAL_START = 134217728, SBI_EXT_EXPERIMENTAL_END = 150994943, SBI_EXT_VENDOR_START = 150994944, @@ -9705,69 +9981,70 @@ enum skb_drop_reason { SKB_DROP_REASON_TC_EGRESS = 62, SKB_DROP_REASON_SECURITY_HOOK = 63, SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_PSP_INPUT = 125, - SKB_DROP_REASON_PSP_OUTPUT = 126, - SKB_DROP_REASON_MAX = 127, + SKB_DROP_REASON_QDISC_BURST_DROP = 65, + SKB_DROP_REASON_QDISC_OVERLIMIT = 66, + SKB_DROP_REASON_QDISC_CONGESTED = 67, + SKB_DROP_REASON_CAKE_FLOOD = 68, + SKB_DROP_REASON_FQ_BAND_LIMIT = 69, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 70, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 71, + SKB_DROP_REASON_CPU_BACKLOG = 72, + SKB_DROP_REASON_XDP = 73, + SKB_DROP_REASON_TC_INGRESS = 74, + SKB_DROP_REASON_UNHANDLED_PROTO = 75, + SKB_DROP_REASON_SKB_CSUM = 76, + SKB_DROP_REASON_SKB_GSO_SEG = 77, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 78, + SKB_DROP_REASON_DEV_HDR = 79, + SKB_DROP_REASON_DEV_READY = 80, + SKB_DROP_REASON_FULL_RING = 81, + SKB_DROP_REASON_NOMEM = 82, + SKB_DROP_REASON_HDR_TRUNC = 83, + SKB_DROP_REASON_TAP_FILTER = 84, + SKB_DROP_REASON_TAP_TXFILTER = 85, + SKB_DROP_REASON_ICMP_CSUM = 86, + SKB_DROP_REASON_INVALID_PROTO = 87, + SKB_DROP_REASON_IP_INADDRERRORS = 88, + SKB_DROP_REASON_IP_INNOROUTES = 89, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 90, + SKB_DROP_REASON_IP_INVALID_SOURCE = 91, + SKB_DROP_REASON_IP_LOCALNET = 92, + SKB_DROP_REASON_IP_INVALID_DEST = 93, + SKB_DROP_REASON_PKT_TOO_BIG = 94, + SKB_DROP_REASON_DUP_FRAG = 95, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 96, + SKB_DROP_REASON_FRAG_TOO_FAR = 97, + SKB_DROP_REASON_TCP_MINTTL = 98, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 99, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 100, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 102, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 103, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 104, + SKB_DROP_REASON_QUEUE_PURGE = 105, + SKB_DROP_REASON_TC_COOKIE_ERROR = 106, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 107, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 108, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 109, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 110, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 111, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 112, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 113, + SKB_DROP_REASON_NO_TX_TARGET = 114, + SKB_DROP_REASON_IP_TUNNEL_ECN = 115, + SKB_DROP_REASON_TUNNEL_TXINFO = 116, + SKB_DROP_REASON_LOCAL_MAC = 117, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 118, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 119, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 120, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 123, + SKB_DROP_REASON_PFMEMALLOC = 124, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 125, + SKB_DROP_REASON_PSP_INPUT = 126, + SKB_DROP_REASON_PSP_OUTPUT = 127, + SKB_DROP_REASON_MAX = 128, SKB_DROP_REASON_SUBSYS_MASK = 4294901760, }; @@ -9870,6 +10147,19 @@ enum socket_flags { SOCK_CUSTOM_SOCKOPT = 4, }; +enum softleaf_type { + SOFTLEAF_NONE = 0, + SOFTLEAF_SWAP = 1, + SOFTLEAF_MIGRATION_READ = 2, + SOFTLEAF_MIGRATION_READ_EXCLUSIVE = 3, + SOFTLEAF_MIGRATION_WRITE = 4, + SOFTLEAF_DEVICE_PRIVATE_READ = 5, + SOFTLEAF_DEVICE_PRIVATE_WRITE = 6, + SOFTLEAF_DEVICE_EXCLUSIVE = 7, + SOFTLEAF_HWPOISON = 8, + SOFTLEAF_MARKER = 9, +}; + enum special_kfunc_type { KF_bpf_obj_new_impl = 0, KF_bpf_obj_drop_impl = 1, @@ -9917,9 +10207,18 @@ enum special_kfunc_type { KF_bpf_res_spin_unlock = 43, KF_bpf_res_spin_lock_irqsave = 44, KF_bpf_res_spin_unlock_irqrestore = 45, - KF___bpf_trap = 46, - KF_bpf_task_work_schedule_signal_impl = 47, - KF_bpf_task_work_schedule_resume_impl = 48, + KF_bpf_dynptr_from_file = 46, + KF_bpf_dynptr_file_discard = 47, + KF___bpf_trap = 48, + KF_bpf_task_work_schedule_signal_impl = 49, + KF_bpf_task_work_schedule_resume_impl = 50, +}; + +enum ss_state { + ss_done = 0, + ss_lock = 1, + ss_lock_irqsave = 2, + ss_lockless = 3, }; enum stat_item { @@ -10263,6 +10562,7 @@ enum trace_iter_flags { TRACE_FILE_LAT_FMT = 1, TRACE_FILE_ANNOTATE = 2, TRACE_FILE_TIME_IN_NS = 4, + TRACE_FILE_PAUSE = 8, }; enum trace_iterator_bits { @@ -10297,37 +10597,6 @@ enum trace_iterator_bits { TRACE_ITER_LAST_BIT = 28, }; -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_STACKTRACE = 134217728, -}; - enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, @@ -10364,6 +10633,11 @@ enum trace_type { __TRACE_LAST_TYPE = 21, }; +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + enum tsq_enum { TSQ_THROTTLED = 0, TSQ_QUEUED = 1, @@ -10509,12 +10783,6 @@ enum uprobe_task_state { UTASK_SSTEP_TRAPPED = 3, }; -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - enum uts_proc { UTS_PROC_ARCH = 0, UTS_PROC_OSTYPE = 1, @@ -10632,6 +10900,14 @@ enum vm_fault_reason { VM_FAULT_HINDEX_MASK = 983040, }; +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + enum vma_merge_state { VMA_MERGE_START = 0, VMA_MERGE_ERROR_NOMEM = 1, @@ -10946,12 +11222,16 @@ typedef __int128 unsigned __u128; typedef __u128 u128; +typedef u128 freelist_full_t; + typedef const char (* const ethnl_string_array_t)[32]; typedef int __kernel_clockid_t; typedef int __kernel_daddr_t; +typedef int __kernel_key_t; + typedef int __kernel_pid_t; typedef int __kernel_rwf_t; @@ -10978,6 +11258,8 @@ typedef int fpi_t; typedef s32 int32_t; +typedef __kernel_key_t key_t; + typedef int mm_id_mapcount_t; typedef s32 old_time32_t; @@ -10990,6 +11272,8 @@ typedef int rmap_t; typedef __kernel_rwf_t rwf_t; +typedef int vma_flag_t; + typedef long int __kernel_long_t; typedef __kernel_long_t __kernel_clock_t; @@ -11046,6 +11330,8 @@ typedef __u64 __addrpair; typedef __u64 __be64; +typedef long long unsigned int __kernel_uoff_t; + typedef __u64 __le64; typedef __u64 u64; @@ -11076,6 +11362,8 @@ typedef __u64 timeu64_t; typedef u64 uint64_t; +typedef __kernel_uoff_t uoff_t; + typedef long unsigned int __kernel_ulong_t; typedef __kernel_ulong_t __kernel_size_t; @@ -11325,12 +11613,28 @@ typedef struct { unsigned int timeout; } cisco_proto; +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +struct task_struct; + +struct rq; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class___task_rq_lock_t; + typedef struct { void *lock; } class_cpus_read_lock_t; -struct rq; - typedef struct { struct rq *lock; struct rq *lock2; @@ -11375,6 +11679,14 @@ typedef struct { void *lock; } class_namespace_shared_t; +typedef struct { + void *lock; +} class_ns_tree_locked_reader_t; + +typedef struct { + void *lock; +} class_ns_tree_writer_t; + typedef struct { void *lock; } class_pagefault_t; @@ -11412,13 +11724,14 @@ typedef struct { void *lock; } class_rcu_tasks_trace_t; -struct pin_cookie {}; +typedef struct { + arch_rwlock_t raw_lock; +} rwlock_t; -struct rq_flags { +typedef struct { + rwlock_t *lock; long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; -}; +} class_read_lock_irqsave_t; typedef struct { struct rq *lock; @@ -11459,18 +11772,12 @@ typedef struct { int idx; } class_srcu_t; -struct task_struct; - typedef struct { struct task_struct *lock; struct rq *rq; struct rq_flags rf; } class_task_rq_lock_t; -typedef struct { - arch_rwlock_t raw_lock; -} rwlock_t; - typedef struct { rwlock_t *lock; } class_write_lock_irq_t; @@ -12000,15 +12307,17 @@ typedef struct { wait_queue_head_t wq; } socket_lock_t; +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef swp_entry_t softleaf_t; + typedef struct { char *from; char *to; } substring_t; -typedef struct { - long unsigned int val; -} swp_entry_t; - typedef struct { unsigned int clock_rate; unsigned int clock_type; @@ -12038,6 +12347,10 @@ typedef struct { uid_t val; } vfsuid_t; +typedef struct { + long unsigned int __vma_flags[1]; +} vma_flags_t; + typedef struct { short unsigned int dce; unsigned int modulo; @@ -12114,6 +12427,12 @@ struct gnet_stats_queue { __u32 overlimits; }; +struct llist_node; + +struct llist_head { + struct llist_node *first; +}; + struct callback_head { struct callback_head *next; void (*func)(struct callback_head *); @@ -12145,28 +12464,31 @@ struct Qdisc { struct gnet_stats_queue *cpu_qstats; int pad; refcount_t refcnt; + long: 64; + long: 64; + long: 64; + __u8 __cacheline_group_begin__Qdisc_read_mostly[0]; struct sk_buff_head gso_skb; - struct qdisc_skb_head q; + struct Qdisc *next_sched; + struct sk_buff_head skb_bad_txq; + __u8 __cacheline_group_end__Qdisc_read_mostly[0]; long: 64; + __u8 __cacheline_group_begin__Qdisc_write[0]; + struct qdisc_skb_head q; + long unsigned int state; struct gnet_stats_basic_sync bstats; + bool running; struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; - struct Qdisc *next_sched; - struct sk_buff_head skb_bad_txq; - spinlock_t busylock; + struct sk_buff *to_free; + __u8 __cacheline_group_end__Qdisc_write[0]; + atomic_long_t defer_count; + struct llist_head defer_list; spinlock_t seqlock; struct callback_head rcu; netdevice_tracker dev_tracker; struct lock_class_key root_lock_key; long: 64; long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; long int privdata[0]; }; @@ -12470,6 +12792,10 @@ struct __riscv_v_ext_state { void *datap; }; +struct __sc_riscv_v_state { + struct __riscv_v_ext_state v_state; +}; + union sigval { int sival_int; void *sival_ptr; @@ -12584,6 +12910,21 @@ struct __uprobe_key { loff_t offset; }; +struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +}; + +typedef struct __user_cap_data_struct *cap_user_data_t; + +struct __user_cap_header_struct { + __u32 version; + int pid; +}; + +typedef struct __user_cap_header_struct *cap_user_header_t; + struct vm_special_mapping; struct __vdso_info { @@ -13207,6 +13548,11 @@ struct apply_wqattrs_ctx { struct pool_workqueue *pwq_tbl[0]; }; +struct arch_ext_priv { + __u32 magic; + long int (*save)(struct pt_regs *, void *); +}; + struct arch_io_reserve_memtype_wc_devres { resource_size_t start; resource_size_t size; @@ -13287,13 +13633,7 @@ struct arphdr { struct sockaddr { sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; + char sa_data[14]; }; struct arpreq { @@ -13368,10 +13708,16 @@ struct bin_attribute; struct attribute_group { const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); + union { + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_visible_const)(struct kobject *, const struct attribute *, int); + }; umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; + union { + struct attribute **attrs; + const struct attribute * const *attrs_const; + }; const struct bin_attribute * const *bin_attrs; }; @@ -13496,6 +13842,7 @@ struct file { u64 f_pipe; }; loff_t f_pos; + void *f_security; errseq_t f_wb_err; errseq_t f_sb_err; union { @@ -13622,6 +13969,7 @@ struct bio { enum rw_hint bi_write_hint; u8 bi_write_stream; blk_status_t bi_status; + u8 bi_bvec_gap_bit; atomic_t __bi_remaining; struct bvec_iter bi_iter; union { @@ -13690,7 +14038,7 @@ struct blacklist_entry { char *buf; }; -struct blake2s_state { +struct blake2s_ctx { u32 h[8]; u32 t[2]; u32 f[2]; @@ -13731,19 +14079,6 @@ struct blk_integrity { struct blk_plug {}; -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - struct disk_stats; struct gendisk; @@ -13774,12 +14109,13 @@ struct block_device { struct mutex bd_fsfreeze_mutex; struct partition_meta_info *bd_meta_info; int bd_writers; + void *bd_security; struct device bd_device; }; struct hd_geometry; -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct blk_report_zones_args; struct pr_ops; @@ -13798,7 +14134,7 @@ struct block_device_operations { int (*set_read_only)(struct block_device *, bool); void (*free_disk)(struct gendisk *); void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, struct blk_report_zones_args *); char * (*devnode)(struct gendisk *, umode_t *); int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); struct module *owner; @@ -13828,6 +14164,7 @@ struct bpf_map { u8 sha[32]; const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; + void *security; enum bpf_map_type map_type; u32 key_size; u32 value_size; @@ -14976,6 +15313,8 @@ struct bpf_ctx_convert { void *BPF_PROG_TYPE_STRUCT_OPS_kern; void *BPF_PROG_TYPE_EXT_prog; void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; void *BPF_PROG_TYPE_SYSCALL_prog; void *BPF_PROG_TYPE_SYSCALL_kern; }; @@ -15004,6 +15343,8 @@ struct bpf_ksym { struct list_head lnode; struct latch_tree_node tnode; bool prog; + u32 fp_start; + u32 fp_end; }; struct bpf_dispatcher { @@ -15061,6 +15402,31 @@ struct bpf_dynptr { __u64 __opaque[2]; }; +struct freader { + void *buf; + u32 buf_sz; + int err; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + loff_t folio_off; + bool may_fault; + }; + struct { + const char *data; + u64 data_sz; + }; + }; +}; + +struct bpf_dynptr_file_impl { + struct freader freader; + u64 offset; + u64 size; +}; + struct bpf_dynptr_kern { void *data; u32 size; @@ -15363,6 +15729,11 @@ struct bpf_htab { u32 hashrnd; }; +struct bpf_iarray { + int cnt; + u32 items[0]; +}; + struct bpf_id_pair { u32 old; u32 cur; @@ -15401,6 +15772,23 @@ struct bpf_insn_access_aux { bool is_retval; }; +struct bpf_insn_array_value { + __u32 orig_off; + __u32 xlated_off; + __u32 jitted_off; + long: 0; +}; + +struct bpf_insn_array { + struct bpf_map map; + atomic_t used; + long int *ips; + struct { + struct {} __empty_values; + struct bpf_insn_array_value values[0]; + }; +}; + struct bpf_map_ptr_state { struct bpf_map *map_ptr; bool poison; @@ -15441,6 +15829,7 @@ struct bpf_insn_aux_data { u64 obj_new_size; u64 insert_off; }; + struct bpf_iarray *jt; struct btf_struct_meta *kptr_struct_meta; u64 map_key_state; int ctx_field_size; @@ -15449,7 +15838,7 @@ struct bpf_insn_aux_data { bool nospec_result; bool zext_dst; bool needs_zext; - bool storage_get_func_atomic; + bool non_sleepable; bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; @@ -16170,6 +16559,7 @@ struct bpf_local_storage { void *owner; struct callback_head rcu; raw_spinlock_t lock; + bool use_kmalloc_nolock; }; struct bpf_local_storage_cache { @@ -16209,9 +16599,7 @@ struct bpf_local_storage_map { u32 bucket_log; u16 elem_size; u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; + bool use_kmalloc_nolock; }; struct bpf_local_storage_map_bucket { @@ -16334,10 +16722,6 @@ struct bpf_map_owner { enum bpf_attach_type expected_attach_type; }; -struct llist_head { - struct llist_node *first; -}; - struct rcuwait { struct task_struct *task; }; @@ -16606,6 +16990,7 @@ struct bpf_prog_aux { u32 ctx_arg_info_size; u32 max_rdonly_access; u32 max_rdwr_access; + u32 subprog_start; struct btf *attach_btf; struct bpf_ctx_arg_aux *ctx_arg_info; void *priv_stack_ptr; @@ -16657,6 +17042,7 @@ struct bpf_prog_aux { struct bpf_map *cgroup_storage[2]; char name[16]; u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; struct bpf_token *token; struct bpf_prog_offload *offload; struct btf *btf; @@ -16864,6 +17250,7 @@ struct bpf_ringbuf { u64 mask; struct page **pages; int nr_pages; + bool overwrite_mode; rqspinlock_t spinlock; atomic_t busy; long: 64; @@ -17882,7 +18269,7 @@ struct bpf_ringbuf { long: 64; long unsigned int producer_pos; long unsigned int pending_pos; - long: 64; + long unsigned int overwrite_pos; long: 64; long: 64; long: 64; @@ -18423,7 +18810,7 @@ struct bpf_verifier_state { u32 active_irq_id; u32 active_lock_id; void *active_lock_ptr; - bool active_rcu_lock; + u32 active_rcu_locks; bool speculative; bool in_sleepable; bool cleaned; @@ -18506,12 +18893,14 @@ struct bpf_sk_storage_diag { }; struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; + unsigned int pkt_len; + u16 pkt_segs; + u16 tc_classid; unsigned char data[20]; + u16 slave_dev_queue_mapping; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; }; struct bpf_skb_data_end { @@ -18552,9 +18941,11 @@ struct bpf_sock_addr { }; }; +struct sockaddr_unsized; + struct bpf_sock_addr_kern { struct sock *sk; - struct sockaddr *uaddr; + struct sockaddr_unsized *uaddr; u64 tmp_reg; void *t_ctx; u32 uaddrlen; @@ -18608,6 +18999,10 @@ struct bpf_stack_state { u8 slot_type[8]; }; +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + struct bpf_stream_elem { struct llist_node node; int total_len; @@ -18615,12 +19010,6 @@ struct bpf_stream_elem { char str[0]; }; -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - struct bpf_stream_stage { struct llist_head log; int len; @@ -18736,6 +19125,7 @@ struct bpf_subprog_info { u32 start; u32 linfo_idx; u32 postorder_start; + u32 exit_idx; u16 stack_depth; u16 stack_extra; s16 fastcall_stack_off; @@ -18749,8 +19139,8 @@ struct bpf_subprog_info { bool keep_fastcall_stack: 1; bool changes_pkt_data: 1; bool might_sleep: 1; + u8 arg_cnt: 3; enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -18853,6 +19243,7 @@ struct bpf_token { u64 allowed_maps; u64 allowed_progs; u64 allowed_attachs; + void *security; }; struct bpf_token_info { @@ -19109,8 +19500,10 @@ struct bpf_verifier_env { struct list_head free_list; struct bpf_map *used_maps[64]; struct btf_mod_pair used_btfs[64]; + struct bpf_map *insn_array_maps[64]; u32 used_map_cnt; u32 used_btf_cnt; + u32 insn_array_map_cnt; u32 id_gen; u32 hidden_subprog_cnt; int exception_callback_subprog; @@ -19166,6 +19559,8 @@ struct bpf_verifier_env { struct bpf_liveness *liveness; struct bpf_scc_info **scc_info; u32 scc_cnt; + struct bpf_iarray *succ; + struct bpf_iarray *gotox_tmp_buf; }; struct bpf_verifier_ops { @@ -19780,7 +20175,7 @@ struct cfs_rq { unsigned int h_nr_idle; s64 avg_vruntime; u64 avg_load; - u64 min_vruntime; + u64 zero_vruntime; struct rb_root_cached tasks_timeline; struct sched_entity *curr; struct sched_entity *next; @@ -19807,6 +20202,25 @@ struct cgroup__safe_rcu { struct kernfs_node *kn; }; +struct ns_tree_node { + struct rb_node ns_node; + struct list_head ns_list_entry; +}; + +struct ns_tree_root { + struct rb_root ns_rb; + struct list_head ns_list_head; +}; + +struct ns_tree { + u64 ns_id; + atomic_t __ns_ref_active; + struct ns_tree_node ns_unified_node; + struct ns_tree_node ns_tree_node; + struct ns_tree_node ns_owner_node; + struct ns_tree_root ns_owner_root; +}; + struct proc_ns_operations; struct ns_common { @@ -19816,11 +20230,7 @@ struct ns_common { unsigned int inum; refcount_t __ns_ref; union { - struct { - u64 ns_id; - struct rb_node ns_tree_node; - struct list_head ns_list_node; - }; + struct ns_tree; struct callback_head ns_rcu; }; }; @@ -20682,6 +21092,11 @@ struct cpu_map_ret { u32 skb_n; }; +struct cpu_smt_info { + unsigned int thread_num; + int core_id; +}; + typedef int (*cpu_stop_fn_t)(void *); struct cpu_stop_work { @@ -20959,6 +21374,7 @@ struct cred { kernel_cap_t cap_effective; kernel_cap_t cap_bset; kernel_cap_t cap_ambient; + void *security; struct user_struct *user; struct user_namespace *user_ns; struct ucounts *ucounts; @@ -21163,6 +21579,14 @@ struct delayed_uprobe { struct mm_struct *mm; }; +struct delegated_inode {}; + +struct delegation { + __u32 d_flags; + __u16 d_type; + __u16 __pad; +}; + struct hlist_bl_node { struct hlist_bl_node *next; struct hlist_bl_node **pprev; @@ -21280,7 +21704,6 @@ struct vmem_altmap { long unsigned int free; long unsigned int align; long unsigned int alloc; - bool inaccessible; }; struct range { @@ -21312,9 +21735,10 @@ struct dev_pagemap { struct vm_fault; struct dev_pagemap_ops { - void (*page_free)(struct page *); + void (*folio_free)(struct folio *); vm_fault_t (*migrate_to_ram)(struct vm_fault *); int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); + void (*folio_split)(struct folio *, struct folio *); }; struct dev_pm_ops { @@ -21433,6 +21857,9 @@ struct device_driver { const struct dev_pm_ops *pm; void (*coredump)(struct device *); struct driver_private *p; + struct { + void (*post_unbind_rust)(struct device *); + } p_cb; }; struct device_link { @@ -21472,6 +21899,7 @@ struct device_node { struct device_node *parent; struct device_node *child; struct device_node *sibling; + struct kobject kobj; long unsigned int _flags; void *data; }; @@ -21730,6 +22158,7 @@ struct dir_context { filldir_t actor; loff_t pos; int count; + unsigned int dt_flags_mask; }; struct dirty_throttle_control { @@ -21801,12 +22230,10 @@ struct dma_map_ops { void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_phys)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_phys)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); @@ -21854,6 +22281,28 @@ struct dmabuf_token { __u32 token_count; }; +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; +}; + struct kqid { union { kuid_t uid; @@ -22063,6 +22512,10 @@ struct dynevent_cmd { void *private_data; }; +struct edid_info { + unsigned char dummy[128]; +}; + struct eee_config { u32 tx_lpi_timer; bool tx_lpi_enabled; @@ -22290,6 +22743,32 @@ union efi_cc_protocol { } mixed_mode; }; +union efi_edid_active_protocol { + struct { + u32 size_of_edid; + u8 *edid; + }; + struct { + u32 size_of_edid; + u32 edid; + } mixed_mode; +}; + +typedef union efi_edid_active_protocol efi_edid_active_protocol_t; + +union efi_edid_discovered_protocol { + struct { + u32 size_of_edid; + u8 *edid; + }; + struct { + u32 size_of_edid; + u32 edid; + } mixed_mode; +}; + +typedef union efi_edid_discovered_protocol efi_edid_discovered_protocol_t; + struct efi_generic_dev_path { u8 type; u8 sub_type; @@ -22735,6 +23214,8 @@ struct em_perf_table; struct em_perf_domain { struct em_perf_table *em_table; + struct list_head node; + int id; int nr_perf_states; int min_perf_state; int max_perf_state; @@ -23847,7 +24328,7 @@ struct ethtool_wolinfo { struct event_trigger_data; -struct event_trigger_ops; +struct ring_buffer_event; struct event_command { struct list_head list; @@ -23859,7 +24340,11 @@ struct event_command { void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); void (*unreg_all)(struct trace_event_file *); int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + bool (*count_func)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); }; struct event_file_link { @@ -23905,7 +24390,6 @@ struct event_trigger_data { long unsigned int count; int ref; int flags; - const struct event_trigger_ops *ops; struct event_command *cmd_ops; struct event_filter *filter; char *filter_str; @@ -23916,15 +24400,7 @@ struct event_trigger_data { char *name; struct list_head named_list; struct event_trigger_data *named_data; -}; - -struct ring_buffer_event; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); + struct llist_node llist; }; struct eventfs_attr { @@ -24061,6 +24537,8 @@ struct fasync_struct { struct callback_head fa_rcu; }; +struct fault_attr {}; + struct faux_device { struct device dev; }; @@ -24095,6 +24573,14 @@ typedef struct fd class_fd_raw_t; typedef struct fd class_fd_t; +struct fd_prepare { + s32 err; + s32 __fd; + struct file *__file; +}; + +typedef struct fd_prepare class_fd_prepare_t; + struct fd_range { unsigned int from; unsigned int to; @@ -25812,28 +26298,35 @@ struct frag_queue { u8 ecn; }; -struct freader { - void *buf; - u32 buf_sz; - int err; +struct free_area { + struct list_head free_list[4]; + long unsigned int nr_free; +}; + +struct freelist_counters { union { struct { - struct file *file; - struct folio *folio; - void *addr; - loff_t folio_off; - bool may_fault; - }; - struct { - const char *data; - u64 data_sz; + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; }; }; }; -struct free_area { - struct list_head free_list[4]; - long unsigned int nr_free; +struct freelist_tid { + union { + struct { + void *freelist; + long unsigned int tid; + }; + freelist_full_t freelist_tid; + }; }; struct p_log { @@ -26420,8 +26913,8 @@ struct irq_affinity_notify { struct napi_config; struct napi_struct { - struct list_head poll_list; long unsigned int state; + struct list_head poll_list; int weight; u32 defer_hard_irqs_count; int (*poll)(struct napi_struct *, int); @@ -26790,6 +27283,12 @@ struct icmp6_err { int fatal; }; +struct icmp6_ext_iio_addr6_subobj { + __be16 afi; + __be16 reserved; + struct in6_addr addr6; +}; + struct icmp6_filter { __u32 data[8]; }; @@ -26934,6 +27433,17 @@ struct icmp_ext_hdr { __sum16 checksum; }; +struct icmp_ext_iio_addr4_subobj { + __be16 afi; + __be16 reserved; + __be32 addr4; +}; + +struct icmp_ext_iio_name_subobj { + u8 len; + char name[16]; +}; + struct icmp_filter { __u32 data; }; @@ -27665,6 +28175,7 @@ struct sock_common { unsigned char skc_reuseport: 1; unsigned char skc_ipv6only: 1; unsigned char skc_net_refcnt: 1; + unsigned char skc_bypass_prot_mem: 1; int skc_bound_dev_if; union { struct hlist_node skc_bind_node; @@ -27773,15 +28284,20 @@ struct sock { struct rb_root tcp_rtx_queue; }; struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; struct page_frag sk_frag; - struct timer_list sk_timer; + union { + struct timer_list sk_timer; + struct timer_list tcp_retransmit_timer; + struct timer_list mptcp_retransmit_timer; + }; long unsigned int sk_pacing_rate; atomic_t sk_zckey; atomic_t sk_tskey; + long unsigned int sk_tx_queue_mapping_jiffies; __u8 __cacheline_group_end__sock_write_tx[0]; __u8 __cacheline_group_begin__sock_read_tx[0]; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; long unsigned int sk_max_pacing_rate; long int sk_sndtimeo; u32 sk_priority; @@ -27834,6 +28350,7 @@ struct sock { u8 sk_txtime_unused: 6; u8 sk_bpf_cb_flags; void *sk_user_data; + void *sk_security; struct sock_cgroup_data sk_cgrp_data; void (*sk_state_change)(struct sock *); void (*sk_write_space)(struct sock *); @@ -27872,11 +28389,14 @@ struct inet_cork_full { struct ipv6_pinfo; +struct ipv6_fl_socklist; + struct ip_mc_socklist; struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; + struct ipv6_fl_socklist *ipv6_fl_list; long unsigned int inet_flags; __be32 inet_saddr; __s16 uc_ttl; @@ -27917,8 +28437,11 @@ struct inet_connection_sock { struct request_sock_queue icsk_accept_queue; struct inet_bind_bucket *icsk_bind_hash; struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; struct timer_list icsk_delack_timer; + union { + struct timer_list icsk_keepalive_timer; + struct timer_list mptcp_tout_timer; + }; __u32 icsk_rto; __u32 icsk_rto_min; u32 icsk_rto_max; @@ -28255,17 +28778,22 @@ struct inet_timewait_sock { struct inet_bind2_bucket *tw_tb2; }; +struct inode_state_flags { + enum inode_state_flags_enum __state; +}; + struct inode_operations; struct inode { umode_t i_mode; short unsigned int i_opflags; + unsigned int i_flags; kuid_t i_uid; kgid_t i_gid; - unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping; + void *i_security; long unsigned int i_ino; union { const unsigned int i_nlink; @@ -28285,7 +28813,7 @@ struct inode { u8 i_blkbits; enum rw_hint i_write_hint; blkcnt_t i_blocks; - enum inode_state_flags_t i_state; + struct inode_state_flags i_state; struct rw_semaphore i_rwsem; long unsigned int dirtied_when; long unsigned int dirtied_time_when; @@ -29042,7 +29570,7 @@ struct ipv6_ac_socklist { struct udp_table; struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + int (*inet6_bind)(struct sock *, struct sockaddr_unsized *, int, u32); struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); @@ -29121,7 +29649,6 @@ struct ipv6_pinfo { struct inet6_cork cork; struct ipv6_mc_socklist *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; }; struct ipv6_rpl_sr_hdr { @@ -29380,7 +29907,6 @@ struct irq_desc { int threads_handled_last; raw_spinlock_t lock; struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; long unsigned int threads_oneshot; atomic_t threads_active; wait_queue_head_t wait_for_threads; @@ -29475,6 +30001,8 @@ struct irq_domain_info { struct irq_fwspec; +struct irq_fwspec_info; + struct irq_domain_ops { int (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token); int (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token); @@ -29486,6 +30014,7 @@ struct irq_domain_ops { int (*activate)(struct irq_domain *, struct irq_data *, bool); void (*deactivate)(struct irq_domain *, struct irq_data *); int (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *); + int (*get_fwspec_info)(struct irq_fwspec *, struct irq_fwspec_info *); }; struct irq_fwspec { @@ -29494,6 +30023,11 @@ struct irq_fwspec { u32 param[16]; }; +struct irq_fwspec_info { + long unsigned int flags; + const struct cpumask *affinity; +}; + struct irq_matrix { unsigned int matrix_bits; unsigned int alloc_start; @@ -29513,8 +30047,11 @@ typedef irqreturn_t (*irq_handler_t)(int, void *); struct irqaction { irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; + union { + void *dev_id; + void *percpu_dev_id; + }; + const struct cpumask *affinity; struct irqaction *next; irq_handler_t thread_fn; struct task_struct *thread; @@ -29580,6 +30117,23 @@ struct kallsym_iter { int show_value; }; +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; +}; + struct kernel_clone_args { u64 flags; int *pidfd; @@ -29714,10 +30268,10 @@ struct kernel_xattr_ctx { unsigned int flags; }; -struct kernfs_open_node; - struct kernfs_ops; +struct kernfs_open_node; + struct kernfs_elem_attr { const struct kernfs_ops *ops; struct kernfs_open_node *open; @@ -29738,7 +30292,32 @@ struct kernfs_elem_symlink { struct kernfs_node *target_kn; }; -struct kernfs_iattrs; +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[2]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; +}; struct kernfs_node { atomic_t count; @@ -29779,6 +30358,15 @@ struct kernfs_open_file { const struct vm_operations_struct *vm_ops; }; +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + struct kernfs_ops { int (*open)(struct kernfs_open_file *); void (*release)(struct kernfs_open_file *); @@ -29795,6 +30383,40 @@ struct kernfs_ops { loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); }; +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + struct key_vector { t_key key; unsigned char pos; @@ -29819,10 +30441,7 @@ struct kiocb { int ki_flags; u16 ki_ioprio; u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; + struct wait_page_queue *ki_waitq; }; struct klist_waiter { @@ -29843,6 +30462,17 @@ struct klistmount { struct path root; }; +struct klistns { + u64 *uns_ids; + u32 nr_ns_ids; + u64 last_ns_id; + u64 user_ns_id; + u32 ns_type; + struct user_namespace *user_ns; + bool userns_capable; + struct ns_common *first_ns; +}; + struct kmalloc_info_struct { const char *name[1]; unsigned int size; @@ -29867,11 +30497,15 @@ struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct slub_percpu_sheaves; struct kmem_cache_node; struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + struct lock_class_key lock_key; struct slub_percpu_sheaves *cpu_sheaves; slab_flags_t flags; long unsigned int min_partial; @@ -29890,6 +30524,7 @@ struct kmem_cache { unsigned int red_left_pad; const char *name; struct list_head list; + struct kobject kobj; struct kmem_cache_node *node[1]; }; @@ -29903,6 +30538,12 @@ struct kmem_cache_args { unsigned int sheaf_capacity; }; +struct kmem_cache_cpu { + struct freelist_tid; + struct slab *slab; + local_trylock_t lock; +}; + union kmem_cache_iter_priv { struct bpf_iter_kmem_cache it; struct bpf_iter_kmem_cache_kern kit; @@ -30309,6 +30950,7 @@ struct lease_manager_operations { int (*lm_change)(struct file_lease *, int, struct list_head *); void (*lm_setup)(struct file_lease *, void **); bool (*lm_breaker_owns_lease)(struct file_lease *); + int (*lm_open_conflict)(struct file *, int); }; struct legacy_fs_context { @@ -30581,12 +31223,286 @@ struct lruvec { struct zswap_lruvec_state zswap_lruvec_state; }; +struct lsm_blob_sizes { + unsigned int lbs_cred; + unsigned int lbs_file; + unsigned int lbs_ib; + unsigned int lbs_inode; + unsigned int lbs_sock; + unsigned int lbs_superblock; + unsigned int lbs_ipc; + unsigned int lbs_key; + unsigned int lbs_msg_msg; + unsigned int lbs_perf_event; + unsigned int lbs_task; + unsigned int lbs_xattr_count; + unsigned int lbs_tun_dev; + unsigned int lbs_bdev; + unsigned int lbs_bpf_map; + unsigned int lbs_bpf_prog; + unsigned int lbs_bpf_token; +}; + struct lsm_context { char *context; u32 len; int id; }; +struct lsm_ctx { + __u64 id; + __u64 flags; + __u64 len; + __u64 ctx_len; + __u8 ctx[0]; +}; + +struct lsm_id { + const char *name; + u64 id; +}; + +struct lsm_info { + const struct lsm_id *id; + enum lsm_order order; + long unsigned int flags; + struct lsm_blob_sizes *blobs; + int *enabled; + int (*init)(void); + int (*initcall_pure)(void); + int (*initcall_early)(void); + int (*initcall_core)(void); + int (*initcall_subsys)(void); + int (*initcall_fs)(void); + int (*initcall_device)(void); + int (*initcall_late)(void); +}; + +struct lsm_prop_selinux {}; + +struct lsm_prop_smack {}; + +struct lsm_prop_apparmor {}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct static_call_key; + +struct security_hook_list; + +struct static_key_false; + +struct lsm_static_call { + struct static_call_key *key; + void *trampoline; + struct security_hook_list *hl; + struct static_key_false *active; +}; + +struct lsm_static_calls_table { + struct lsm_static_call binder_set_context_mgr[2]; + struct lsm_static_call binder_transaction[2]; + struct lsm_static_call binder_transfer_binder[2]; + struct lsm_static_call binder_transfer_file[2]; + struct lsm_static_call ptrace_access_check[2]; + struct lsm_static_call ptrace_traceme[2]; + struct lsm_static_call capget[2]; + struct lsm_static_call capset[2]; + struct lsm_static_call capable[2]; + struct lsm_static_call quotactl[2]; + struct lsm_static_call quota_on[2]; + struct lsm_static_call syslog[2]; + struct lsm_static_call settime[2]; + struct lsm_static_call vm_enough_memory[2]; + struct lsm_static_call bprm_creds_for_exec[2]; + struct lsm_static_call bprm_creds_from_file[2]; + struct lsm_static_call bprm_check_security[2]; + struct lsm_static_call bprm_committing_creds[2]; + struct lsm_static_call bprm_committed_creds[2]; + struct lsm_static_call fs_context_submount[2]; + struct lsm_static_call fs_context_dup[2]; + struct lsm_static_call fs_context_parse_param[2]; + struct lsm_static_call sb_alloc_security[2]; + struct lsm_static_call sb_delete[2]; + struct lsm_static_call sb_free_security[2]; + struct lsm_static_call sb_free_mnt_opts[2]; + struct lsm_static_call sb_eat_lsm_opts[2]; + struct lsm_static_call sb_mnt_opts_compat[2]; + struct lsm_static_call sb_remount[2]; + struct lsm_static_call sb_kern_mount[2]; + struct lsm_static_call sb_show_options[2]; + struct lsm_static_call sb_statfs[2]; + struct lsm_static_call sb_mount[2]; + struct lsm_static_call sb_umount[2]; + struct lsm_static_call sb_pivotroot[2]; + struct lsm_static_call sb_set_mnt_opts[2]; + struct lsm_static_call sb_clone_mnt_opts[2]; + struct lsm_static_call move_mount[2]; + struct lsm_static_call dentry_init_security[2]; + struct lsm_static_call dentry_create_files_as[2]; + struct lsm_static_call path_notify[2]; + struct lsm_static_call inode_alloc_security[2]; + struct lsm_static_call inode_free_security[2]; + struct lsm_static_call inode_free_security_rcu[2]; + struct lsm_static_call inode_init_security[2]; + struct lsm_static_call inode_init_security_anon[2]; + struct lsm_static_call inode_create[2]; + struct lsm_static_call inode_post_create_tmpfile[2]; + struct lsm_static_call inode_link[2]; + struct lsm_static_call inode_unlink[2]; + struct lsm_static_call inode_symlink[2]; + struct lsm_static_call inode_mkdir[2]; + struct lsm_static_call inode_rmdir[2]; + struct lsm_static_call inode_mknod[2]; + struct lsm_static_call inode_rename[2]; + struct lsm_static_call inode_readlink[2]; + struct lsm_static_call inode_follow_link[2]; + struct lsm_static_call inode_permission[2]; + struct lsm_static_call inode_setattr[2]; + struct lsm_static_call inode_post_setattr[2]; + struct lsm_static_call inode_getattr[2]; + struct lsm_static_call inode_xattr_skipcap[2]; + struct lsm_static_call inode_setxattr[2]; + struct lsm_static_call inode_post_setxattr[2]; + struct lsm_static_call inode_getxattr[2]; + struct lsm_static_call inode_listxattr[2]; + struct lsm_static_call inode_removexattr[2]; + struct lsm_static_call inode_post_removexattr[2]; + struct lsm_static_call inode_file_setattr[2]; + struct lsm_static_call inode_file_getattr[2]; + struct lsm_static_call inode_set_acl[2]; + struct lsm_static_call inode_post_set_acl[2]; + struct lsm_static_call inode_get_acl[2]; + struct lsm_static_call inode_remove_acl[2]; + struct lsm_static_call inode_post_remove_acl[2]; + struct lsm_static_call inode_need_killpriv[2]; + struct lsm_static_call inode_killpriv[2]; + struct lsm_static_call inode_getsecurity[2]; + struct lsm_static_call inode_setsecurity[2]; + struct lsm_static_call inode_listsecurity[2]; + struct lsm_static_call inode_getlsmprop[2]; + struct lsm_static_call inode_copy_up[2]; + struct lsm_static_call inode_copy_up_xattr[2]; + struct lsm_static_call inode_setintegrity[2]; + struct lsm_static_call kernfs_init_security[2]; + struct lsm_static_call file_permission[2]; + struct lsm_static_call file_alloc_security[2]; + struct lsm_static_call file_release[2]; + struct lsm_static_call file_free_security[2]; + struct lsm_static_call file_ioctl[2]; + struct lsm_static_call file_ioctl_compat[2]; + struct lsm_static_call mmap_addr[2]; + struct lsm_static_call mmap_file[2]; + struct lsm_static_call file_mprotect[2]; + struct lsm_static_call file_lock[2]; + struct lsm_static_call file_fcntl[2]; + struct lsm_static_call file_set_fowner[2]; + struct lsm_static_call file_send_sigiotask[2]; + struct lsm_static_call file_receive[2]; + struct lsm_static_call file_open[2]; + struct lsm_static_call file_post_open[2]; + struct lsm_static_call file_truncate[2]; + struct lsm_static_call task_alloc[2]; + struct lsm_static_call task_free[2]; + struct lsm_static_call cred_alloc_blank[2]; + struct lsm_static_call cred_free[2]; + struct lsm_static_call cred_prepare[2]; + struct lsm_static_call cred_transfer[2]; + struct lsm_static_call cred_getsecid[2]; + struct lsm_static_call cred_getlsmprop[2]; + struct lsm_static_call kernel_act_as[2]; + struct lsm_static_call kernel_create_files_as[2]; + struct lsm_static_call kernel_module_request[2]; + struct lsm_static_call kernel_load_data[2]; + struct lsm_static_call kernel_post_load_data[2]; + struct lsm_static_call kernel_read_file[2]; + struct lsm_static_call kernel_post_read_file[2]; + struct lsm_static_call task_fix_setuid[2]; + struct lsm_static_call task_fix_setgid[2]; + struct lsm_static_call task_fix_setgroups[2]; + struct lsm_static_call task_setpgid[2]; + struct lsm_static_call task_getpgid[2]; + struct lsm_static_call task_getsid[2]; + struct lsm_static_call current_getlsmprop_subj[2]; + struct lsm_static_call task_getlsmprop_obj[2]; + struct lsm_static_call task_setnice[2]; + struct lsm_static_call task_setioprio[2]; + struct lsm_static_call task_getioprio[2]; + struct lsm_static_call task_prlimit[2]; + struct lsm_static_call task_setrlimit[2]; + struct lsm_static_call task_setscheduler[2]; + struct lsm_static_call task_getscheduler[2]; + struct lsm_static_call task_movememory[2]; + struct lsm_static_call task_kill[2]; + struct lsm_static_call task_prctl[2]; + struct lsm_static_call task_to_inode[2]; + struct lsm_static_call userns_create[2]; + struct lsm_static_call ipc_permission[2]; + struct lsm_static_call ipc_getlsmprop[2]; + struct lsm_static_call msg_msg_alloc_security[2]; + struct lsm_static_call msg_msg_free_security[2]; + struct lsm_static_call msg_queue_alloc_security[2]; + struct lsm_static_call msg_queue_free_security[2]; + struct lsm_static_call msg_queue_associate[2]; + struct lsm_static_call msg_queue_msgctl[2]; + struct lsm_static_call msg_queue_msgsnd[2]; + struct lsm_static_call msg_queue_msgrcv[2]; + struct lsm_static_call shm_alloc_security[2]; + struct lsm_static_call shm_free_security[2]; + struct lsm_static_call shm_associate[2]; + struct lsm_static_call shm_shmctl[2]; + struct lsm_static_call shm_shmat[2]; + struct lsm_static_call sem_alloc_security[2]; + struct lsm_static_call sem_free_security[2]; + struct lsm_static_call sem_associate[2]; + struct lsm_static_call sem_semctl[2]; + struct lsm_static_call sem_semop[2]; + struct lsm_static_call netlink_send[2]; + struct lsm_static_call d_instantiate[2]; + struct lsm_static_call getselfattr[2]; + struct lsm_static_call setselfattr[2]; + struct lsm_static_call getprocattr[2]; + struct lsm_static_call setprocattr[2]; + struct lsm_static_call ismaclabel[2]; + struct lsm_static_call secid_to_secctx[2]; + struct lsm_static_call lsmprop_to_secctx[2]; + struct lsm_static_call secctx_to_secid[2]; + struct lsm_static_call release_secctx[2]; + struct lsm_static_call inode_invalidate_secctx[2]; + struct lsm_static_call inode_notifysecctx[2]; + struct lsm_static_call inode_setsecctx[2]; + struct lsm_static_call inode_getsecctx[2]; + struct lsm_static_call bpf[2]; + struct lsm_static_call bpf_map[2]; + struct lsm_static_call bpf_prog[2]; + struct lsm_static_call bpf_map_create[2]; + struct lsm_static_call bpf_map_free[2]; + struct lsm_static_call bpf_prog_load[2]; + struct lsm_static_call bpf_prog_free[2]; + struct lsm_static_call bpf_token_create[2]; + struct lsm_static_call bpf_token_free[2]; + struct lsm_static_call bpf_token_cmd[2]; + struct lsm_static_call bpf_token_capable[2]; + struct lsm_static_call locked_down[2]; + struct lsm_static_call perf_event_open[2]; + struct lsm_static_call perf_event_alloc[2]; + struct lsm_static_call perf_event_read[2]; + struct lsm_static_call perf_event_write[2]; + struct lsm_static_call initramfs_populated[2]; + struct lsm_static_call bdev_alloc_security[2]; + struct lsm_static_call bdev_free_security[2]; + struct lsm_static_call bdev_setintegrity[2]; +}; + struct lwq { spinlock_t lock; struct llist_node *ready; @@ -30925,7 +31841,8 @@ struct mii_bus { struct mii_timestamper { bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_set)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_get)(struct mii_timestamper *, struct kernel_hwtstamp_config *); void (*link_state)(struct mii_timestamper *, struct phy_device *); int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; @@ -31016,6 +31933,8 @@ struct mlock_fbatch { struct folio_batch fbatch; }; +struct mm_mm_cid {}; + struct mm_reply_data { struct ethnl_reply_data base; struct ethtool_mm_state state; @@ -31039,6 +31958,7 @@ struct mm_struct { long unsigned int task_size; pgd_t *pgd; atomic_t mm_users; + struct mm_mm_cid mm_cid; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; @@ -31078,7 +31998,7 @@ struct mm_struct { struct uprobes_state uprobes_state; struct work_struct async_put_work; }; - long unsigned int cpu_bitmap[0]; + char flexible_array[0]; }; struct mm_struct__safe_rcu_or_null { @@ -31112,6 +32032,21 @@ struct mm_walk_ops { enum page_walk_lock walk_lock; }; +struct mmap_action { + union { + struct { + long unsigned int start; + long unsigned int start_pfn; + long unsigned int size; + pgprot_t pgprot; + } remap; + }; + enum mmap_action_type type; + int (*success_hook)(const struct vm_area_struct *); + int (*error_hook)(int); + bool hide_from_rmap_until_complete: 1; +}; + struct vma_munmap_struct { struct vma_iterator *vmi; struct vm_area_struct *vma; @@ -31151,7 +32086,9 @@ struct mmap_state { struct vma_munmap_struct vms; struct ma_state mas_detach; struct maple_tree mt_detach; - bool check_ksm_early; + bool check_ksm_early: 1; + bool hold_file_rmap_lock: 1; + bool file_doesnt_need_get: 1; }; struct mmap_unlock_irq_work { @@ -31203,6 +32140,8 @@ struct mmu_gather { unsigned int vma_exec: 1; unsigned int vma_huge: 1; unsigned int vma_pfn: 1; + unsigned int unshared_tables: 1; + unsigned int fully_unshared_tables: 1; unsigned int batch_count; struct mmu_gather_batch *active; struct mmu_gather_batch local; @@ -31265,6 +32204,7 @@ struct mnt_namespace { unsigned int nr_mounts; unsigned int pending_mounts; refcount_t passive; + bool is_anon; }; struct mnt_ns_info { @@ -31317,14 +32257,14 @@ struct module_memory { struct mod_tree_node mtn; }; -struct module_sect_attrs; - -struct module_notes_attrs; - typedef struct tracepoint * const tracepoint_ptr_t; struct module_attribute; +struct module_sect_attrs; + +struct module_notes_attrs; + struct trace_event_call; struct trace_eval_map; @@ -31341,6 +32281,7 @@ struct module { const struct kernel_symbol *syms; const u32 *crcs; unsigned int num_syms; + struct mutex param_lock; struct kernel_param *kp; unsigned int num_kp; unsigned int num_gpl_syms; @@ -31352,9 +32293,6 @@ struct module { struct exception_table_entry *extable; int (*init)(void); long: 64; - long: 64; - long: 64; - long: 64; struct module_memory mem[7]; struct mod_arch_specific arch; long unsigned int taints; @@ -31400,6 +32338,11 @@ struct module_attribute { void (*free)(struct module *); }; +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct param_attribute { struct module_attribute mattr; const struct kernel_param *param; @@ -31416,12 +32359,23 @@ struct module_reply_data { struct ethtool_module_power_mode_params power; }; +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct module_string { struct list_head next; struct module *module; char *str; }; +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + struct vfsmount { struct dentry *mnt_root; struct super_block *mnt_sb; @@ -31509,6 +32463,44 @@ struct mq_sched { struct Qdisc **qdiscs; }; +struct phy_mse_capability { + u64 max_average_mse; + u64 max_peak_mse; + u64 refresh_rate_ps; + u64 num_symbols; + u32 supported_caps; +}; + +struct mse_snapshot_entry; + +struct mse_reply_data { + struct ethnl_reply_data base; + struct phy_mse_capability capability; + struct mse_snapshot_entry *snapshots; + unsigned int num_snapshots; +}; + +struct phy_mse_snapshot { + u64 average_mse; + u64 peak_mse; + u64 worst_peak_mse; +}; + +struct mse_snapshot_entry { + struct phy_mse_snapshot snapshot; + int channel; +}; + +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + struct ubuf_info; struct msghdr { @@ -31605,6 +32597,7 @@ struct msi_desc { struct device *dev; struct msi_msg msg; struct irq_affinity_desc *affinity; + struct device_attribute *sysfs_attrs; void (*write_msi_msg)(struct msi_desc *, void *); void *write_msi_msg_data; u16 msi_index; @@ -31743,7 +32736,7 @@ struct napi_alloc_cache { local_lock_t bh_lock; struct page_frag_cache page; unsigned int skb_count; - void *skb_cache[64]; + void *skb_cache[128]; }; struct napi_config { @@ -31991,7 +32984,7 @@ struct neigh_table { atomic_t gc_entries; struct list_head gc_list; struct list_head managed_list; - rwlock_t lock; + spinlock_t lock; long unsigned int last_rand; struct neigh_statistics *stats; struct neigh_hash_table *nht; @@ -32050,9 +33043,11 @@ struct raw_notifier_head { struct netns_core { struct ctl_table_header *sysctl_hdr; int sysctl_somaxconn; + int sysctl_txq_reselection; int sysctl_optmem_max; u8 sysctl_txrehash; u8 sysctl_tstamp_allow_data; + u8 sysctl_bypass_prot_mem; }; struct tcp_mib; @@ -32107,14 +33102,15 @@ struct netns_ipv4 { u8 sysctl_ip_fwd_use_pmtu; __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_tcp_moderate_rcvbuf; u8 sysctl_ip_early_demux; u8 sysctl_tcp_early_demux; u8 sysctl_tcp_l3mdev_accept; int sysctl_tcp_reordering; int sysctl_tcp_rmem[3]; + int sysctl_tcp_rcvbuf_low_rtt; __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; struct inet_timewait_death_row tcp_death_row; struct udp_table *udp_table; @@ -32138,6 +33134,7 @@ struct netns_ipv4 { u8 sysctl_icmp_echo_ignore_broadcasts; u8 sysctl_icmp_ignore_bogus_error_responses; u8 sysctl_icmp_errors_use_inbound_ifaddr; + u8 sysctl_icmp_errors_extension_mask; int sysctl_icmp_ratelimit; int sysctl_icmp_ratemask; int sysctl_icmp_msgs_per_sec; @@ -32211,6 +33208,7 @@ struct netns_ipv4 { int sysctl_tcp_pacing_ss_ratio; int sysctl_tcp_pacing_ca_ratio; unsigned int sysctl_tcp_child_ehash_entries; + int sysctl_tcp_comp_sack_rtt_percent; long unsigned int sysctl_tcp_comp_sack_delay_ns; long unsigned int sysctl_tcp_comp_sack_slack_ns; int sysctl_max_syn_backlog; @@ -32286,6 +33284,7 @@ struct netns_sysctl_ipv6 { u8 skip_notify_on_dev_down; u8 fib_notify_on_flag_change; u8 icmpv6_error_anycast_as_unicast; + u8 icmpv6_errors_extension_mask; }; struct rt6_statistics; @@ -32644,6 +33643,7 @@ struct net_device { struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; unsigned int promiscuity; unsigned int allmulti; bool uc_promisc; @@ -32721,7 +33721,6 @@ struct net_device { struct mutex lock; struct hlist_head neighbours[2]; struct hwtstamp_provider *hwprov; - long: 64; u8 priv[0]; }; @@ -32841,6 +33840,17 @@ struct net_device_path { __be16 proto; u8 h_dest[6]; } encap; + struct { + union { + struct in_addr src_v4; + struct in6_addr src_v6; + }; + union { + struct in_addr dst_v4; + struct in6_addr dst_v6; + }; + u8 l3_proto; + } tun; struct { enum { DEV_PATH_BR_VLAN_KEEP = 0, @@ -32977,6 +33987,7 @@ struct net_hotdata { int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; + int qdisc_max_burst; int dev_tx_weight; int dev_rx_weight; int sysctl_max_skb_frags; @@ -33206,9 +34217,12 @@ struct netdev_queue { netdevice_tracker dev_tracker; struct Qdisc *qdisc; struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; long unsigned int tx_maxrate; atomic_long_t trans_timeout; struct net_device *sb_dev; + struct dql dql; spinlock_t _xmit_lock; int xmit_lock_owner; long unsigned int trans_start; @@ -33216,6 +34230,12 @@ struct netdev_queue { struct napi_struct *napi; }; +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + struct netdev_queue_mgmt_ops { size_t ndo_queue_mem_size; int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); @@ -33798,11 +34818,15 @@ struct ns_get_path_task_args { struct task_struct *task; }; -struct ns_tree { - struct rb_root ns_tree; - struct list_head ns_list; - seqlock_t ns_tree_lock; - int type; +struct ns_id_req { + __u32 size; + __u32 spare; + __u64 ns_id; + struct { + __u32 ns_type; + __u32 spare2; + __u64 user_ns_id; + }; }; struct nsfs_file_handle { @@ -34050,6 +35074,11 @@ struct osnoise_entry { unsigned int thread_count; }; +struct p2pdma_provider { + struct device *owner; + u64 bus_offset; +}; + struct packet_type { __be16 type; bool ignore_outgoing; @@ -34384,6 +35413,7 @@ struct pci_dev { unsigned int pasid_enabled: 1; unsigned int pri_enabled: 1; unsigned int tph_enabled: 1; + unsigned int fm_enabled: 1; unsigned int is_managed: 1; unsigned int is_msi_managed: 1; unsigned int needs_freset: 1; @@ -34483,12 +35513,12 @@ struct pci_ops { void * (*map_bus)(struct pci_bus *, unsigned int, int); int (*read)(struct pci_bus *, unsigned int, int, int, u32 *); int (*write)(struct pci_bus *, unsigned int, int, int, u32); + int (*assert_perst)(struct pci_bus *, bool); }; struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; + struct p2pdma_provider *mem; enum pci_p2pdma_map_type map; - u64 bus_off; }; struct hotplug_slot; @@ -34767,6 +35797,18 @@ struct perf_buffer { void *data_pages[0]; }; +struct unwind_stacktrace; + +struct perf_callchain_deferred_event { + struct unwind_stacktrace *trace; + struct { + struct perf_event_header header; + u64 cookie; + u64 nr; + u64 ips[0]; + } event; +}; + struct perf_callchain_entry { u64 nr; u64 ip[0]; @@ -34921,7 +35963,9 @@ struct perf_event_attr { __u64 inherit_thread: 1; __u64 remove_on_exec: 1; __u64 sigtrap: 1; - __u64 __reserved_1: 26; + __u64 defer_callchain: 1; + __u64 defer_output: 1; + __u64 __reserved_1: 24; union { __u32 wakeup_events; __u32 wakeup_watermark; @@ -34959,6 +36003,7 @@ struct perf_event_attr { }; __u64 sig_data; __u64 config3; + __u64 config4; }; typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); @@ -35036,6 +36081,7 @@ struct perf_event { u64 bpf_cookie; struct trace_event_call *tp_event; struct event_filter *filter; + void *security; struct list_head sb_list; struct list_head pmu_list; u32 orig_type; @@ -35331,6 +36377,12 @@ struct phylink; struct pse_control; +struct phy_oatc14_sqi_capability { + bool updated; + int sqi_max; + u8 sqiplus_bits; +}; + struct phy_driver; struct phy_device { @@ -35357,6 +36409,8 @@ struct phy_device { unsigned int autoneg: 1; unsigned int link: 1; unsigned int autoneg_complete: 1; + bool pause: 1; + bool asym_pause: 1; unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; @@ -35369,8 +36423,6 @@ struct phy_device { int speed; int duplex; int port; - int pause; - int asym_pause; u8 master_slave_get; u8 master_slave_set; u8 master_slave_state; @@ -35405,6 +36457,7 @@ struct phy_device { unsigned int link_down_events; void (*phy_link_change)(struct phy_device *, bool); void (*adjust_link)(struct net_device *); + struct phy_oatc14_sqi_capability oatc14_sqi_capability; }; struct phy_device_node { @@ -35464,6 +36517,8 @@ struct phy_driver { int (*set_loopback)(struct phy_device *, bool, int); int (*get_sqi)(struct phy_device *); int (*get_sqi_max)(struct phy_device *); + int (*get_mse_capability)(struct phy_device *, struct phy_mse_capability *); + int (*get_mse_snapshot)(struct phy_device *, enum phy_mse_channel, struct phy_mse_snapshot *); int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); @@ -35568,22 +36623,22 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; + struct { + __u32 coredump_mask; + __u32 coredump_signal; + }; + __u64 supported_mask; }; -struct simple_xattrs; - struct pidfs_attr { + long unsigned int attr_mask; struct simple_xattrs *xattrs; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; + struct { + __u64 cgroupid; + __s32 exit_code; + }; + __u32 coredump_mask; + __u32 coredump_signal; }; struct ping_table { @@ -35643,13 +36698,7 @@ struct pipe_inode_info { struct mutex mutex; wait_queue_head_t rd_wait; wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; + union pipe_index; unsigned int max_usage; unsigned int ring_size; unsigned int nr_accounted; @@ -36179,6 +37228,7 @@ struct property { int length; void *value; struct property *next; + struct bin_attribute attr; }; struct property_entry { @@ -36198,8 +37248,6 @@ struct property_entry { }; }; -struct smc_hashinfo; - struct proto_accept_arg; struct sk_psock; @@ -36208,10 +37256,12 @@ struct timewait_sock_ops; struct raw_hashinfo; +struct smc_hashinfo; + struct proto { void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); + int (*pre_connect)(struct sock *, struct sockaddr_unsized *, int); + int (*connect)(struct sock *, struct sockaddr_unsized *, int); int (*disconnect)(struct sock *, int); struct sock * (*accept)(struct sock *, struct proto_accept_arg *); int (*ioctl)(struct sock *, int, int *); @@ -36224,8 +37274,8 @@ struct proto { int (*sendmsg)(struct sock *, struct msghdr *, size_t); int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*bind)(struct sock *, struct sockaddr_unsized *, int); + int (*bind_add)(struct sock *, struct sockaddr_unsized *, int); int (*backlog_rcv)(struct sock *, struct sk_buff *); bool (*bpf_bypass_getsockopt)(int, int); void (*release_cb)(struct sock *); @@ -36285,8 +37335,8 @@ struct proto_ops { int family; struct module *owner; int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*bind)(struct socket *, struct sockaddr_unsized *, int); + int (*connect)(struct socket *, struct sockaddr_unsized *, int, int); int (*socketpair)(struct socket *, struct socket *); int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); int (*getname)(struct socket *, struct sockaddr *, int); @@ -36346,6 +37396,7 @@ struct pseudo_fs_context { const struct xattr_handler * const *xattr; const struct dentry_operations *dops; long unsigned int magic; + unsigned int s_d_flags; }; struct pt_alloc_ops { @@ -36526,7 +37577,7 @@ struct queue_limits { unsigned int max_sectors; unsigned int max_user_sectors; unsigned int max_segment_size; - unsigned int min_segment_size; + unsigned int max_fast_segment_size; unsigned int physical_block_size; unsigned int logical_block_size; unsigned int alignment_offset; @@ -36987,7 +38038,7 @@ struct renamedata { struct dentry *old_dentry; struct dentry *new_parent; struct dentry *new_dentry; - struct inode **delegated_inode; + struct delegated_inode *delegated_inode; unsigned int flags; }; @@ -36997,6 +38048,8 @@ struct blk_mq_ops; struct blk_mq_ctx; +struct blk_mq_hw_ctx; + struct blk_queue_stats; struct rq_qos; @@ -37017,7 +38070,7 @@ struct request_queue { unsigned int queue_depth; refcount_t refs; unsigned int nr_hw_queues; - struct xarray hctx_table; + struct blk_mq_hw_ctx **queue_hw_ctx; struct percpu_ref q_usage_counter; struct lock_class_key io_lock_cls_key; struct lockdep_map io_lockdep_map; @@ -37075,7 +38128,6 @@ struct request_sock_ops { void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); }; struct reserve_mem_table { @@ -37126,7 +38178,7 @@ struct restart_block { u32 val; u32 flags; u32 bitset; - u64 time; + ktime_t time; u32 *uaddr2; } futex; struct { @@ -37136,7 +38188,7 @@ struct restart_block { struct __kernel_timespec *rmtp; struct old_timespec32 *compat_rmtp; }; - u64 expires; + ktime_t expires; } nanosleep; struct { struct pollfd *ufds; @@ -37469,7 +38521,7 @@ struct rt_rq { struct sched_dl_entity; -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *, struct rq_flags *); struct sched_dl_entity { struct rb_node rb_node; @@ -37490,6 +38542,7 @@ struct sched_dl_entity { unsigned int dl_defer: 1; unsigned int dl_defer_armed: 1; unsigned int dl_defer_running: 1; + unsigned int dl_defer_idle: 1; struct hrtimer dl_timer; struct hrtimer inactive_timer; struct rq *rq; @@ -37498,6 +38551,7 @@ struct sched_dl_entity { struct rq { raw_spinlock_t __lock; + unsigned int queue_mask; unsigned int nr_running; unsigned int ttwu_pending; u64 nr_switches; @@ -37506,7 +38560,6 @@ struct rq { long: 64; long: 64; long: 64; - long: 64; struct cfs_rq cfs; struct rt_rq rt; struct dl_rq dl; @@ -37582,6 +38635,8 @@ struct rs_msg { __u8 opt[0]; }; +struct rseq_data {}; + struct rss_nl_dump_ctx { long unsigned int ifindex; long unsigned int ctx_idx; @@ -38037,6 +39092,8 @@ struct rv_jit_data { struct rv_jit_context ctx; }; +typedef struct rw_semaphore *class_rwsem_read_t; + struct rwsem_waiter { struct list_head list; struct task_struct *task; @@ -38045,6 +39102,12 @@ struct rwsem_waiter { bool handoff_set; }; +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + struct s_data { struct sched_domain **sd; struct root_domain *rd; @@ -38170,15 +39233,28 @@ struct sched_attr { __u32 sched_util_max; }; +struct sched_change_ctx; + +typedef struct sched_change_ctx *class_sched_change_t; + +struct sched_change_ctx { + u64 prio; + struct task_struct *p; + int flags; + bool queued; + bool running; +}; + struct sched_class { + unsigned int queue_mask; void (*enqueue_task)(struct rq *, struct task_struct *, int); bool (*dequeue_task)(struct rq *, struct task_struct *, int); void (*yield_task)(struct rq *); bool (*yield_to_task)(struct rq *, struct task_struct *); void (*wakeup_preempt)(struct rq *, struct task_struct *, int); int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + struct task_struct * (*pick_task)(struct rq *, struct rq_flags *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *, struct rq_flags *); void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); void (*set_next_task)(struct rq *, struct task_struct *, bool); int (*select_task_rq)(struct task_struct *, int, int); @@ -38191,11 +39267,13 @@ struct sched_class { void (*task_tick)(struct rq *, struct task_struct *, int); void (*task_fork)(struct task_struct *); void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); + void (*switching_from)(struct rq *, struct task_struct *); void (*switched_from)(struct rq *, struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); void (*switched_to)(struct rq *, struct task_struct *); + u64 (*get_prio)(struct rq *, struct task_struct *); + void (*prio_changed)(struct rq *, struct task_struct *, u64); void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); void (*update_curr)(struct rq *); }; @@ -38220,6 +39298,9 @@ struct sched_domain { long unsigned int last_balance; unsigned int balance_interval; unsigned int nr_balance_failed; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; u64 max_newidle_lb_cost; long unsigned int last_decay_max_lb_cost; char *name; @@ -38320,6 +39401,8 @@ struct sched_group_capacity { struct sched_info {}; +struct sched_mm_cid {}; + struct sched_param { int sched_priority; }; @@ -38470,6 +39553,214 @@ struct sec_path { struct seccomp {}; +struct timezone; + +struct xattr; + +struct sembuf; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, const struct qstr *, const struct cred *, struct cred *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, u64); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); + void *lsm_func_addr; +}; + +struct security_hook_list { + struct lsm_static_call *scalls; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + struct seg6_pernet_data { struct mutex lock; struct in6_addr *tun_src; @@ -38496,6 +39787,12 @@ struct semaphore_waiter { bool up; }; +struct sembuf { + short unsigned int sem_num; + short int sem_op; + short int sem_flg; +}; + struct send_signal_irq_work { struct irq_work irq_work; struct task_struct *task; @@ -38747,11 +40044,6 @@ struct simple_xattr { char value[0]; }; -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - struct sit_net { struct ip_tunnel *tunnels_r_l[16]; struct ip_tunnel *tunnels_r[16]; @@ -38917,19 +40209,7 @@ struct slab { void *flush_freelist; }; }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - }; + struct freelist_counters; }; struct callback_head callback_head; }; @@ -38941,7 +40221,10 @@ struct slab_sheaf { union { struct callback_head callback_head; struct list_head barn_list; - unsigned int capacity; + struct { + unsigned int capacity; + bool pfmemalloc; + }; }; struct kmem_cache *cache; unsigned int size; @@ -38962,6 +40245,11 @@ struct slub_percpu_sheaves { struct slab_sheaf *rcu_free; }; +struct smc_hashinfo { + rwlock_t lock; + struct hlist_head ht; +}; + struct smp_hotplug_thread { struct task_struct **store; struct list_head list; @@ -39105,6 +40393,11 @@ struct sockaddr_un { char sun_path[108]; }; +struct sockaddr_unsized { + __kernel_sa_family_t sa_family; + char sa_data[0]; +}; + struct socket_wq { wait_queue_head_t wait; struct fasync_struct *fasync_list; @@ -39169,7 +40462,8 @@ struct software_node { }; struct software_node_ref_args { - const struct software_node *node; + const struct software_node *swnode; + struct fwnode_handle *fwnode; unsigned int nargs; u64 args[16]; }; @@ -39215,6 +40509,13 @@ struct sr6_tlv { __u8 data[0]; }; +struct ss_tmp { + enum ss_state state; + long unsigned int data; + spinlock_t *lock; + spinlock_t *lock_irqsave; +}; + struct stack_entry { struct trace_entry ent; int size; @@ -39457,6 +40758,8 @@ struct subsys_private { struct lock_class_key lock_key; }; +typedef struct super_block *class_super_write_t; + struct mtd_info; struct super_block { @@ -39477,6 +40780,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_t s_active; + void *s_security; const struct xattr_handler * const *s_xattr; struct hlist_bl_head s_roots; struct mount *s_mounts; @@ -39518,6 +40822,7 @@ struct super_block { struct list_head s_inodes; spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; + long int s_min_writeback_pages; }; struct super_operations { @@ -39597,7 +40902,7 @@ struct swap_info_struct { struct work_struct discard_work; struct work_struct reclaim_work; struct list_head discard_clusters; - struct plist_node avail_lists[0]; + struct plist_node avail_list; }; struct swap_sequential_cluster { @@ -39640,11 +40945,6 @@ struct symsearch { enum mod_license license; }; -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - struct sys_off_data { int mode; void *cb_data; @@ -39662,10 +40962,19 @@ struct sys_off_handler { struct device *dev; }; +struct syscall_args { + char *ptr_array[3]; + int read[3]; + int uargs; +}; + struct syscall_metadata { const char *name; int syscall_nr; - int nb_args; + u8 nb_args: 7; + u8 user_arg_is_str: 1; + s8 user_arg_size; + short int user_mask; const char **types; const char **args; struct list_head enter_fields; @@ -39697,6 +41006,19 @@ struct syscall_trace_exit { long int ret; }; +struct trace_user_buf; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + size_t size; + int ref; +}; + +struct syscall_user_buffer { + struct trace_user_buf_info buf; + struct callback_head rcu; +}; + struct syscall_user_dispatch { char *selector; long unsigned int offset; @@ -39704,11 +41026,18 @@ struct syscall_user_dispatch { bool on_dispatch; }; -struct syscore_ops { +struct syscore_ops; + +struct syscore { struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); + const struct syscore_ops *ops; + void *data; +}; + +struct syscore_ops { + int (*suspend)(void *); + void (*resume)(void *); + void (*shutdown)(void *); }; struct sysfs_ops { @@ -39758,7 +41087,6 @@ struct system_time_snapshot { struct taint_flag { char c_true; char c_false; - bool module; const char *desc; }; @@ -39953,6 +41281,8 @@ struct task_struct { struct mutex perf_event_mutex; struct list_head perf_event_list; struct perf_ctx_data *perf_ctx_data; + struct rseq_data rseq; + struct sched_mm_cid mm_cid; struct tlbflush_unmap_batch tlb_ubc; struct pipe_inode_info *splice_pipe; struct page_frag task_frag; @@ -39970,6 +41300,7 @@ struct task_struct { struct task_struct *oom_reaper_list; struct timer_list oom_reaper_timer; refcount_t stack_refcount; + void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; struct bpf_net_context *bpf_net_context; @@ -39979,7 +41310,6 @@ struct task_struct { long: 64; long: 64; long: 64; - long: 64; }; struct task_struct__safe_rcu { @@ -40046,9 +41376,6 @@ struct tc_skb_cb { u32 drop_reason; u16 zone; u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; }; struct tcf_chain; @@ -40300,9 +41627,6 @@ struct tcp_sock { struct rb_root out_of_order_queue; __u8 __cacheline_group_end__tcp_sock_read_rx[0]; long: 64; - long: 64; - long: 64; - long: 64; __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; u32 segs_out; u32 data_segs_out; @@ -40453,13 +41777,6 @@ struct tcp_sock { struct tcp6_sock { struct tcp_sock tcp; struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; }; union tcp_ao_addr { @@ -41102,6 +42419,7 @@ struct tls_context { u8 rx_conf: 3; u8 zerocopy_sendfile: 1; u8 rx_no_pad: 1; + u16 tx_max_payload_len; int (*push_pending_record)(struct sock *, int); void (*sk_write_space)(struct sock *); void *priv_ctx_tx; @@ -41230,6 +42548,8 @@ struct trace_module_delta; struct trace_pid_list; +struct tracer_flags; + struct trace_options; struct trace_func_repeats; @@ -41252,8 +42572,8 @@ struct trace_array { arch_spinlock_t max_lock; int sys_refcount_enter; int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[470]; - struct trace_event_file *exit_syscall_files[470]; + struct trace_event_file *enter_syscall_files[471]; + struct trace_event_file *exit_syscall_files[471]; int stop_count; int clock_id; int nr_topts; @@ -41261,8 +42581,9 @@ struct trace_array { int buffer_percent; unsigned int n_err_log_entries; struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; + struct tracer_flags *current_trace_flags; + u64 trace_flags; + unsigned char trace_flags_index[64]; unsigned int flags; raw_spinlock_t start_lock; const char *system_names; @@ -41275,6 +42596,7 @@ struct trace_array { struct list_head systems; struct list_head events; struct list_head marker_list; + struct list_head tracers; struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; cpumask_var_t pipe_cpumask; @@ -41282,6 +42604,7 @@ struct trace_array { int trace_ref; struct list_head mod_events; int no_filter_buffering_ref; + unsigned int syscall_buf_sz; struct list_head hist_vars; struct trace_func_repeats *last_func_repeats; bool ring_buffer_expanded; @@ -42487,6 +43810,9 @@ struct trace_event_raw_dma_map { struct trace_event_raw_dma_map_sg { struct trace_entry ent; u32 __data_loc_device; + int full_nents; + int full_ents; + bool truncated; u32 __data_loc_phys_addrs; u32 __data_loc_dma_addrs; u32 __data_loc_lengths; @@ -43406,6 +44732,7 @@ struct trace_event_raw_net_dev_rx_verbose_template { unsigned char nr_frags; u16 gso_size; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -43428,6 +44755,7 @@ struct trace_event_raw_net_dev_start_xmit { u16 gso_size; u16 gso_segs; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -43436,6 +44764,7 @@ struct trace_event_raw_net_dev_template { void *skbaddr; unsigned int len; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -43445,6 +44774,7 @@ struct trace_event_raw_net_dev_xmit { unsigned int len; int rc; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -43453,6 +44783,7 @@ struct trace_event_raw_net_dev_xmit_timeout { u32 __data_loc_name; u32 __data_loc_driver; int queue_index; + u64 net_cookie; char __data[0]; }; @@ -44515,8 +45846,6 @@ struct trace_module_delta { struct tracer_opt; -struct tracer_flags; - struct trace_option_dentry { struct tracer_opt *opt; struct tracer_flags *flags; @@ -44540,6 +45869,7 @@ struct trace_parser { union upper_chunk; struct trace_pid_list { + seqcount_raw_spinlock_t seqcount; raw_spinlock_t lock; struct irq_work refill_irqwork; union upper_chunk *upper[256]; @@ -44608,11 +45938,6 @@ struct trace_user_buf { char *buf; }; -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - struct tracefs_dir_ops { int (*mkdir)(const char *); int (*rmdir)(const char *); @@ -44682,9 +46007,10 @@ struct tracer { void (*print_header)(struct seq_file *); enum print_line_t (*print_line)(struct trace_iterator *); int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); + int (*flag_changed)(struct trace_array *, u64, int); struct tracer *next; struct tracer_flags *flags; + struct tracer_flags *default_flags; int enabled; bool print_max; bool allow_instances; @@ -44702,6 +46028,12 @@ struct tracer_opt { u32 bit; }; +struct tracers { + struct list_head list; + struct tracer *tracer; + struct tracer_flags *flags; +}; + struct tracing_log_err { struct list_head list; struct err_info info; @@ -45249,6 +46581,21 @@ struct unlink_vma_file_batch { struct vm_area_struct *vmas[8]; }; +struct unwind_stacktrace { + unsigned int nr; + long unsigned int *entries; +}; + +struct unwind_work; + +typedef void (*unwind_callback_t)(struct unwind_work *, struct unwind_stacktrace *, u64); + +struct unwind_work { + struct list_head list; + unwind_callback_t func; + int bit; +}; + union upper_chunk { union upper_chunk *next; union lower_chunk *data[256]; @@ -45416,7 +46763,7 @@ struct va_format { }; struct vdso_arch_data { - __u64 all_cpu_hwprobe_values[15]; + __u64 all_cpu_hwprobe_values[16]; __u8 homogeneous_cpus; __u8 ready; }; @@ -45510,10 +46857,14 @@ struct vm_area_desc { long unsigned int end; long unsigned int pgoff; struct file *vm_file; - vm_flags_t vm_flags; + union { + vm_flags_t vm_flags; + vma_flags_t vma_flags; + }; pgprot_t page_prot; const struct vm_operations_struct *vm_ops; void *private_data; + struct mmap_action action; }; struct vm_userfaultfd_ctx {}; @@ -45530,7 +46881,7 @@ struct vm_area_struct { pgprot_t vm_page_prot; union { const vm_flags_t vm_flags; - vm_flags_t __vm_flags; + vma_flags_t flags; }; struct list_head anon_vma_chain; struct anon_vma *anon_vma; @@ -45545,6 +46896,11 @@ struct vm_area_struct { struct vm_userfaultfd_ctx vm_userfaultfd_ctx; }; +struct vm_area_struct__safe_trusted_or_null { + struct mm_struct *vm_mm; + struct file *vm_file; +}; + struct vm_fault { const struct { struct vm_area_struct *vma; @@ -45592,7 +46948,10 @@ struct vm_special_mapping { }; struct vm_struct { - struct vm_struct *next; + union { + struct vm_struct *next; + struct llist_node llnode; + }; void *addr; long unsigned int size; long unsigned int flags; @@ -45637,6 +46996,7 @@ struct vma_merge_struct { struct vm_userfaultfd_ctx uffd_ctx; struct anon_vma_name *anon_name; enum vma_merge_state state; + struct vm_area_struct *copied_from; bool just_expand: 1; bool give_up_on_oom: 1; bool skip_vma_uprobe: 1; @@ -45788,6 +47148,8 @@ struct warn_args { struct wb_completion { atomic_t cnt; wait_queue_head_t *waitq; + long unsigned int progress_stamp; + long unsigned int wait_start; }; struct wb_domain { @@ -45896,6 +47258,8 @@ struct workqueue_attrs { struct wq_flusher; +struct wq_device; + struct wq_node_nr_active; struct workqueue_struct { @@ -45917,12 +47281,12 @@ struct workqueue_struct { int saved_min_active; struct workqueue_attrs *unbound_attrs; struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; char name[32]; struct callback_head rcu; long: 64; long: 64; long: 64; - long: 64; unsigned int flags; struct pool_workqueue **cpu_pwq; struct wq_node_nr_active *node_nr_active[0]; @@ -45940,6 +47304,11 @@ struct wq_barrier { struct task_struct *task; }; +struct wq_device { + struct workqueue_struct *wq; + struct device dev; +}; + struct wq_drain_dead_softirq_work { struct work_struct work; struct worker_pool *pool; @@ -46051,6 +47420,12 @@ struct xa_state { struct list_lru *xa_lru; }; +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + struct xattr_args { __u64 value; __u32 size; @@ -46539,7 +47914,8 @@ struct xsk_buff_pool { bool unaligned; bool tx_sw_csum; void *addrs; - spinlock_t cq_lock; + spinlock_t cq_prod_lock; + spinlock_t cq_cached_prod_lock; struct xdp_buff_xsk *free_heads[0]; }; @@ -46579,6 +47955,8 @@ typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_r typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); @@ -46595,13 +47973,13 @@ typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); typedef u64 (*btf_bpf_d_path)(const struct path *, char *, u32); -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u64, u64, struct bpf_dynptr_kern *); -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); +typedef u64 (*btf_bpf_dynptr_read)(void *, u64, const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u64, void *, u64, u64); typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); @@ -46611,6 +47989,8 @@ typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); @@ -46701,6 +48081,14 @@ typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + typedef u64 (*btf_bpf_jiffies64)(void); typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); @@ -46937,6 +48325,10 @@ typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, stru typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); +typedef u64 (*btf_bpf_sock_create_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_create_setsockopt)(struct sock *, int, int, char *, int); + typedef u64 (*btf_bpf_sock_from_file)(struct file *); typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); @@ -47791,8 +49183,6 @@ typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const typedef initcall_t initcall_entry_t; -struct xattr; - typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); @@ -47835,6 +49225,8 @@ typedef void perf_iterate_f(struct perf_event *, void *); typedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int); +typedef int (*platform_irq_probe_t)(struct platform_device *, struct device_node *); + typedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int); typedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *); @@ -47873,6 +49265,8 @@ typedef int (*task_call_f)(struct task_struct *, void *); typedef void (*task_work_func_t)(struct callback_head *); +typedef int (*trace_user_buf_copy)(char *, const char *, size_t, void *); + typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); typedef int (*uprobe_write_verify_t)(struct page *, long unsigned int, uprobe_opcode_t *, int, void *); @@ -47883,6 +49277,10 @@ struct iomap_ops; typedef void *acpi_handle; +typedef void *class_user_read_access_t; + +typedef void *class_user_write_access_t; + struct acpi_device; struct audit_buffer; @@ -47911,12 +49309,12 @@ extern void __attribute__((address_space(1))) *bpf_arena_alloc_pages(void *p__ma extern void bpf_arena_free_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern int bpf_arena_reserve_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; -extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, struct task_struct *tsk, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; extern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; @@ -47943,20 +49341,25 @@ extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) _ extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; -extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym; +extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u64 start, u64 end) __weak __ksym; extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; -extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u32 dst_off, struct bpf_dynptr *src_ptr, u32 src_off, u32 size) __weak __ksym; +extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u64 dst_off, struct bpf_dynptr *src_ptr, u64 src_off, u64 size) __weak __ksym; +extern int bpf_dynptr_file_discard(struct bpf_dynptr *dynptr) __weak __ksym; +extern int bpf_dynptr_from_file(struct file *file, u32 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb_meta(struct __sk_buff *skb_, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym; extern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym; -extern int bpf_dynptr_memset(struct bpf_dynptr *p, u32 offset, u32 size, u8 val) __weak __ksym; -extern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; -extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; -extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; +extern int bpf_dynptr_memset(struct bpf_dynptr *p, u64 offset, u64 size, u8 val) __weak __ksym; +extern u64 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; +extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; +extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; extern int bpf_fentry_test1(int a) __weak __ksym; +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; extern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; extern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym; extern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym; @@ -47988,14 +49391,16 @@ extern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, c extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; extern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; +extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __weak __ksym; extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; extern void bpf_preempt_disable(void) __weak __ksym; extern void bpf_preempt_enable(void) __weak __ksym; -extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; extern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_left(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym; @@ -48006,6 +49411,7 @@ extern void bpf_rcu_read_lock(void) __weak __ksym; extern void bpf_rcu_read_unlock(void) __weak __ksym; extern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_remove_dentry_xattr(struct dentry *dentry, const char *name__str) __weak __ksym; extern int bpf_res_spin_lock(struct bpf_res_spin_lock *lock) __weak __ksym; extern int bpf_res_spin_lock_irqsave(struct bpf_res_spin_lock *lock, long unsigned int *flags__irq_flag) __weak __ksym; extern void bpf_res_spin_unlock(struct bpf_res_spin_lock *lock) __weak __ksym; @@ -48013,17 +49419,20 @@ extern void bpf_res_spin_unlock_irqrestore(struct bpf_res_spin_lock *lock, long extern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym; extern __u64 *bpf_session_cookie(void) __weak __ksym; extern bool bpf_session_is_return(void) __weak __ksym; +extern int bpf_set_dentry_xattr(struct dentry *dentry, const char *name__str, const struct bpf_dynptr *value_p, int flags) __weak __ksym; extern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym; extern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym; extern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym; extern int bpf_sock_ops_enable_tx_tstamp(struct bpf_sock_ops_kern *skops, u64 flags) __weak __ksym; extern int bpf_strcasecmp(const char *s1__ign, const char *s2__ign) __weak __ksym; +extern int bpf_strcasestr(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strchr(const char *s__ign, char c) __weak __ksym; extern int bpf_strchrnul(const char *s__ign, char c) __weak __ksym; extern int bpf_strcmp(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strcspn(const char *s__ign, const char *reject__ign) __weak __ksym; extern int bpf_stream_vprintk_impl(int stream_id, const char *fmt__str, const void *args, u32 len__sz, void *aux__prog) __weak __ksym; extern int bpf_strlen(const char *s__ign) __weak __ksym; +extern int bpf_strncasestr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; extern int bpf_strnchr(const char *s__ign, size_t count, char c) __weak __ksym; extern int bpf_strnlen(const char *s__ign, size_t count) __weak __ksym; extern int bpf_strnstr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; diff --git a/include/s390x/vmlinux.h b/include/s390x/vmlinux.h index be73697..9ed9bfb 120000 --- a/include/s390x/vmlinux.h +++ b/include/s390x/vmlinux.h @@ -1 +1 @@ -vmlinux_6.18.h \ No newline at end of file +vmlinux_6.19.h \ No newline at end of file diff --git a/include/s390x/vmlinux_6.18.h b/include/s390x/vmlinux_6.19.h similarity index 95% rename from include/s390x/vmlinux_6.18.h rename to include/s390x/vmlinux_6.19.h index 7c9cbd5..d8aeefe 100644 --- a/include/s390x/vmlinux_6.18.h +++ b/include/s390x/vmlinux_6.19.h @@ -97,6 +97,10 @@ enum { BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, }; +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + enum { BPF_F_GET_BRANCH_RECORDS_SIZE = 1, }; @@ -147,6 +151,7 @@ enum { BPF_F_TOKEN_FD = 65536, BPF_F_SEGV_ON_FAULT = 131072, BPF_F_NO_USER_CONV = 262144, + BPF_F_RB_OVERWRITE = 524288, }; enum { @@ -216,6 +221,7 @@ enum { BPF_RB_RING_SIZE = 1, BPF_RB_CONS_POS = 2, BPF_RB_PROD_POS = 3, + BPF_RB_OVERWRITE_POS = 4, }; enum { @@ -614,24 +620,6 @@ enum { KEEP_EXPLORING = 1, }; -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - enum { DUMP_PREFIX_NONE = 0, DUMP_PREFIX_ADDRESS = 1, @@ -1063,6 +1051,36 @@ enum { ETHTOOL_A_MODULE_MAX = 3, }; +enum { + ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE = 2, + ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS = 3, + ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS = 4, + __ETHTOOL_A_MSE_CAPABILITIES_CNT = 5, + ETHTOOL_A_MSE_CAPABILITIES_MAX = 4, +}; + +enum { + ETHTOOL_A_MSE_HEADER = 1, + ETHTOOL_A_MSE_CAPABILITIES = 2, + ETHTOOL_A_MSE_CHANNEL_A = 3, + ETHTOOL_A_MSE_CHANNEL_B = 4, + ETHTOOL_A_MSE_CHANNEL_C = 5, + ETHTOOL_A_MSE_CHANNEL_D = 6, + ETHTOOL_A_MSE_WORST_CHANNEL = 7, + ETHTOOL_A_MSE_LINK = 8, + __ETHTOOL_A_MSE_CNT = 9, + ETHTOOL_A_MSE_MAX = 8, +}; + +enum { + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE = 2, + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE = 3, + __ETHTOOL_A_MSE_SNAPSHOT_CNT = 4, + ETHTOOL_A_MSE_SNAPSHOT_MAX = 3, +}; + enum { ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, ETHTOOL_A_PAUSE_STAT_PAD = 1, @@ -1471,8 +1489,9 @@ enum { ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, ETHTOOL_MSG_RSS_CREATE_NTF = 52, ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, + ETHTOOL_MSG_MSE_GET_REPLY = 54, + __ETHTOOL_MSG_KERNEL_CNT = 55, + ETHTOOL_MSG_KERNEL_MAX = 54, }; enum { @@ -1527,8 +1546,9 @@ enum { ETHTOOL_MSG_RSS_SET = 48, ETHTOOL_MSG_RSS_CREATE_ACT = 49, ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, + ETHTOOL_MSG_MSE_GET = 51, + __ETHTOOL_MSG_USER_CNT = 52, + ETHTOOL_MSG_USER_MAX = 51, }; enum { @@ -1591,6 +1611,7 @@ enum { enum { EVENT_TRIGGER_FL_PROBE = 1, + EVENT_TRIGGER_FL_COUNT = 2, }; enum { @@ -1744,6 +1765,7 @@ enum { FTRACE_OPS_FL_DIRECT = 131072, FTRACE_OPS_FL_SUBOP = 262144, FTRACE_OPS_FL_GRAPH = 524288, + FTRACE_OPS_FL_JMP = 1048576, }; enum { @@ -1833,6 +1855,15 @@ enum { __ICMP6_MIB_MAX = 7, }; +enum { + ICMP_ERR_EXT_IIO_IIF = 0, + ICMP_ERR_EXT_COUNT = 1, +}; + +enum { + ICMP_EXT_CTYPE_IIO_ROLE_IIF = 0, +}; + enum { ICMP_MIB_NUM = 0, ICMP_MIB_INMSGS = 1, @@ -3246,6 +3277,12 @@ enum { __MDBA_SET_ENTRY_MAX = 3, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + enum { MIX_INFLIGHT = 2147483648, }; @@ -3270,6 +3307,7 @@ enum { NAPIF_STATE_THREADED = 256, NAPIF_STATE_SCHED_THREADED = 512, NAPIF_STATE_HAS_NOTIFIER = 1024, + NAPIF_STATE_THREADED_BUSY_POLL = 2048, }; enum { @@ -3289,6 +3327,7 @@ enum { NAPI_STATE_THREADED = 8, NAPI_STATE_SCHED_THREADED = 9, NAPI_STATE_HAS_NOTIFIER = 10, + NAPI_STATE_THREADED_BUSY_POLL = 11, }; enum { @@ -3798,6 +3837,17 @@ enum { Opt_mode = 2, }; +enum { + PAIE1_CB_SZ = 512, + PAIE1_CTRBLOCK_SZ = 1024, +}; + +enum { + PAI_PMU_CRYPTO = 0, + PAI_PMU_EXT = 1, + PAI_PMU_MAX = 2, +}; + enum { PCI_STD_RESOURCES = 0, PCI_STD_RESOURCE_END = 5, @@ -4537,6 +4587,7 @@ enum { TCP_BPF_SYN_MAC = 1007, TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, SK_BPF_CB_FLAGS = 1009, + SK_BPF_BYPASS_PROT_MEM = 1010, }; enum { @@ -4800,6 +4851,7 @@ enum { TRACE_ARRAY_FL_LAST_BOOT = 4, TRACE_ARRAY_FL_MOD_INIT = 8, TRACE_ARRAY_FL_MEMMAP = 16, + TRACE_ARRAY_FL_VMALLOC = 32, }; enum { @@ -4849,9 +4901,14 @@ enum { TRACE_INTERNAL_IRQ_BIT = 7, TRACE_INTERNAL_SIRQ_BIT = 8, TRACE_INTERNAL_TRANSITION_BIT = 9, - TRACE_BRANCH_BIT = 10, - TRACE_IRQ_BIT = 11, - TRACE_RECORD_RECURSION_BIT = 12, + TRACE_INTERNAL_EVENT_BIT = 10, + TRACE_INTERNAL_EVENT_NMI_BIT = 11, + TRACE_INTERNAL_EVENT_IRQ_BIT = 12, + TRACE_INTERNAL_EVENT_SIRQ_BIT = 13, + TRACE_INTERNAL_EVENT_TRANSITION_BIT = 14, + TRACE_BRANCH_BIT = 15, + TRACE_IRQ_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 17, }; enum { @@ -5010,6 +5067,66 @@ enum { X_12 = 59, }; +enum { + VMA_READ_BIT = 0, + VMA_WRITE_BIT = 1, + VMA_EXEC_BIT = 2, + VMA_SHARED_BIT = 3, + VMA_MAYREAD_BIT = 4, + VMA_MAYWRITE_BIT = 5, + VMA_MAYEXEC_BIT = 6, + VMA_MAYSHARE_BIT = 7, + VMA_GROWSDOWN_BIT = 8, + VMA_UFFD_MISSING_BIT = 9, + VMA_PFNMAP_BIT = 10, + VMA_MAYBE_GUARD_BIT = 11, + VMA_UFFD_WP_BIT = 12, + VMA_LOCKED_BIT = 13, + VMA_IO_BIT = 14, + VMA_SEQ_READ_BIT = 15, + VMA_RAND_READ_BIT = 16, + VMA_DONTCOPY_BIT = 17, + VMA_DONTEXPAND_BIT = 18, + VMA_LOCKONFAULT_BIT = 19, + VMA_ACCOUNT_BIT = 20, + VMA_NORESERVE_BIT = 21, + VMA_HUGETLB_BIT = 22, + VMA_SYNC_BIT = 23, + VMA_ARCH_1_BIT = 24, + VMA_WIPEONFORK_BIT = 25, + VMA_DONTDUMP_BIT = 26, + VMA_SOFTDIRTY_BIT = 27, + VMA_MIXEDMAP_BIT = 28, + VMA_HUGEPAGE_BIT = 29, + VMA_NOHUGEPAGE_BIT = 30, + VMA_MERGEABLE_BIT = 31, + VMA_HIGH_ARCH_0_BIT = 32, + VMA_HIGH_ARCH_1_BIT = 33, + VMA_HIGH_ARCH_2_BIT = 34, + VMA_HIGH_ARCH_3_BIT = 35, + VMA_HIGH_ARCH_4_BIT = 36, + VMA_HIGH_ARCH_5_BIT = 37, + VMA_HIGH_ARCH_6_BIT = 38, + VMA_ALLOW_ANY_UNCACHED_BIT = 39, + VMA_DROPPABLE_BIT = 40, + VMA_UFFD_MINOR_BIT = 41, + VMA_SEALED_BIT = 42, + VMA_PKEY_BIT0_BIT = 32, + VMA_PKEY_BIT1_BIT = 33, + VMA_PKEY_BIT2_BIT = 34, + VMA_PKEY_BIT3_BIT = 35, + VMA_PKEY_BIT4_BIT = 36, + VMA_SAO_BIT = 24, + VMA_GROWSUP_BIT = 24, + VMA_SPARC_ADI_BIT = 24, + VMA_ARM64_BTI_BIT = 24, + VMA_ARCH_CLEAR_BIT = 24, + VMA_MAPPED_COPY_BIT = 24, + VMA_MTE_BIT = 36, + VMA_MTE_ALLOWED_BIT = 37, + VMA_STACK_BIT = 8, +}; + enum { WALK_TRAILING = 1, WALK_MORE = 2, @@ -5164,7 +5281,8 @@ enum { __SCHED_FEAT_WA_BIAS = 23, __SCHED_FEAT_UTIL_EST = 24, __SCHED_FEAT_LATENCY_WARN = 25, - __SCHED_FEAT_NR = 26, + __SCHED_FEAT_NI_RANDOM = 26, + __SCHED_FEAT_NR = 27, }; enum { @@ -5210,7 +5328,8 @@ enum { ___GFP_THISNODE_BIT = 21, ___GFP_ACCOUNT_BIT = 22, ___GFP_ZEROTAGS_BIT = 23, - ___GFP_LAST_BIT = 24, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, }; enum { @@ -5236,8 +5355,9 @@ enum { __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 19, __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 20, __ctx_convertBPF_PROG_TYPE_EXT = 21, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 22, - __ctx_convert_unused = 23, + __ctx_convertBPF_PROG_TYPE_LSM = 22, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 23, + __ctx_convert_unused = 24, }; enum { @@ -5265,6 +5385,10 @@ enum { sclp_init_state_initialized = 2, }; +enum { + sysctl_hung_task_timeout_secs = 0, +}; + typedef enum { PAGE_KEEP = 0, PAGE_ACTIVATE = 1, @@ -5384,6 +5508,12 @@ enum audit_ntp_type { AUDIT_NTP_NVALS = 6, }; +enum base64_variant { + BASE64_STD = 0, + BASE64_URLSAFE = 1, + BASE64_IMAP = 2, +}; + enum batadv_packettype { BATADV_IV_OGM = 0, BATADV_BCAST = 1, @@ -5491,7 +5621,7 @@ enum bpf_arg_type { ARG_PTR_TO_BTF_ID_OR_NULL = 269, ARG_PTR_TO_UNINIT_MEM = 67141636, ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 268435455, + __BPF_ARG_TYPE_LIMIT = 536870911, }; enum bpf_async_type { @@ -5661,6 +5791,7 @@ enum bpf_dynptr_type { BPF_DYNPTR_TYPE_SKB = 3, BPF_DYNPTR_TYPE_XDP = 4, BPF_DYNPTR_TYPE_SKB_META = 5, + BPF_DYNPTR_TYPE_FILE = 6, }; enum bpf_features { @@ -5978,7 +6109,8 @@ enum bpf_map_type { BPF_MAP_TYPE_USER_RINGBUF = 31, BPF_MAP_TYPE_CGRP_STORAGE = 32, BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, + BPF_MAP_TYPE_INSN_ARRAY = 34, + __MAX_BPF_MAP_TYPE = 35, }; enum bpf_netdev_command { @@ -6058,14 +6190,15 @@ enum bpf_reg_type { PTR_TO_ARENA = 18, PTR_TO_BUF = 19, PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, + PTR_TO_INSN = 21, + CONST_PTR_TO_DYNPTR = 22, + __BPF_REG_TYPE_MAX = 23, PTR_TO_MAP_VALUE_OR_NULL = 260, PTR_TO_SOCKET_OR_NULL = 267, PTR_TO_SOCK_COMMON_OR_NULL = 268, PTR_TO_TCP_SOCK_OR_NULL = 269, PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 268435455, + __BPF_REG_TYPE_LIMIT = 536870911, }; enum bpf_ret_code { @@ -6095,7 +6228,7 @@ enum bpf_return_type { RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, RET_PTR_TO_BTF_ID_OR_NULL = 264, RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 268435455, + __BPF_RET_TYPE_LIMIT = 536870911, }; enum bpf_stack_build_id_status { @@ -6162,8 +6295,9 @@ enum bpf_task_work_state { }; enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, + BPF_MOD_NOP = 0, + BPF_MOD_CALL = 1, + BPF_MOD_JUMP = 2, }; enum bpf_tramp_prog_type { @@ -6202,8 +6336,9 @@ enum bpf_type_flag { MEM_ALIGNED = 33554432, MEM_WRITE = 67108864, DYNPTR_TYPE_SKB_META = 134217728, - __BPF_TYPE_FLAG_MAX = 134217729, - __BPF_TYPE_LAST_FLAG = 134217728, + DYNPTR_TYPE_FILE = 268435456, + __BPF_TYPE_FLAG_MAX = 268435457, + __BPF_TYPE_LAST_FLAG = 268435456, }; enum bpf_xdp_mode { @@ -6427,6 +6562,7 @@ enum cons_flags { CON_EXTENDED = 64, CON_SUSPENDED = 128, CON_NBCON = 256, + CON_NBCON_ATOMIC_UNSAFE = 512, }; enum cpio_fields { @@ -6739,7 +6875,6 @@ enum dentry_flags { DCACHE_REFERENCED = 64, DCACHE_DONTCACHE = 128, DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, DCACHE_SHRINK_LIST = 1024, DCACHE_OP_WEAK_REVALIDATE = 2048, DCACHE_NFSFS_RENAMED = 4096, @@ -6762,6 +6897,7 @@ enum dentry_flags { DCACHE_PAR_LOOKUP = 16777216, DCACHE_DENTRY_CURSOR = 33554432, DCACHE_NORCU = 67108864, + DCACHE_PERSISTENT = 134217728, }; enum dev_dma_attr { @@ -7366,7 +7502,11 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, + ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121, + ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122, + ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123, + ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124, + __ETHTOOL_LINK_MODE_MASK_NBITS = 125, }; enum ethtool_mac_stats_src { @@ -7571,6 +7711,10 @@ enum fault_flag { FAULT_FLAG_VMA_LOCK = 4096, }; +enum fault_flags { + FAULT_NOWARN = 1, +}; + enum fbq_type { regular = 0, remote = 1, @@ -8004,6 +8148,33 @@ enum handle_to_path_flags { HANDLE_CHECK_SUBTREE = 2, }; +enum hash_algo { + HASH_ALGO_MD4 = 0, + HASH_ALGO_MD5 = 1, + HASH_ALGO_SHA1 = 2, + HASH_ALGO_RIPE_MD_160 = 3, + HASH_ALGO_SHA256 = 4, + HASH_ALGO_SHA384 = 5, + HASH_ALGO_SHA512 = 6, + HASH_ALGO_SHA224 = 7, + HASH_ALGO_RIPE_MD_128 = 8, + HASH_ALGO_RIPE_MD_256 = 9, + HASH_ALGO_RIPE_MD_320 = 10, + HASH_ALGO_WP_256 = 11, + HASH_ALGO_WP_384 = 12, + HASH_ALGO_WP_512 = 13, + HASH_ALGO_TGR_128 = 14, + HASH_ALGO_TGR_160 = 15, + HASH_ALGO_TGR_192 = 16, + HASH_ALGO_SM3_256 = 17, + HASH_ALGO_STREEBOG_256 = 18, + HASH_ALGO_STREEBOG_512 = 19, + HASH_ALGO_SHA3_256 = 20, + HASH_ALGO_SHA3_384 = 21, + HASH_ALGO_SHA3_512 = 22, + HASH_ALGO__LAST = 23, +}; + enum hash_pointers_policy { HASH_PTR_AUTO = 0, HASH_PTR_ALWAYS = 1, @@ -8139,6 +8310,18 @@ enum inet_csk_ack_state_t { ICSK_ACK_NOMEM = 32, }; +enum init_ns_id { + IPC_NS_INIT_ID = 1, + UTS_NS_INIT_ID = 2, + USER_NS_INIT_ID = 3, + PID_NS_INIT_ID = 4, + CGROUP_NS_INIT_ID = 5, + TIME_NS_INIT_ID = 6, + NET_NS_INIT_ID = 7, + MNT_NS_INIT_ID = 8, + NS_LAST_INIT_ID = 8, +}; + enum init_ns_ino { IPC_NS_INIT_INO = 4026531839, UTS_NS_INIT_INO = 4026531838, @@ -8166,7 +8349,7 @@ enum inode_state_bits { __I_LRU_ISOLATING = 2, }; -enum inode_state_flags_t { +enum inode_state_flags_enum { I_NEW = 1, I_SYNC = 2, I_LRU_ISOLATING = 4, @@ -8311,7 +8494,9 @@ enum io_uring_op { IORING_OP_READV_FIXED = 60, IORING_OP_WRITEV_FIXED = 61, IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, + IORING_OP_NOP128 = 63, + IORING_OP_URING_CMD128 = 64, + IORING_OP_LAST = 65, }; enum io_uring_register_op { @@ -8351,7 +8536,8 @@ enum io_uring_register_op { IORING_REGISTER_RESIZE_RINGS = 33, IORING_REGISTER_MEM_REGION = 34, IORING_REGISTER_QUERY = 35, - IORING_REGISTER_LAST = 36, + IORING_REGISTER_ZCRX_CTRL = 36, + IORING_REGISTER_LAST = 37, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, }; @@ -8522,7 +8708,8 @@ enum kernel_load_data_id { LOADING_KEXEC_INITRAMFS = 4, LOADING_POLICY = 5, LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, + LOADING_MODULE_COMPRESSED = 7, + LOADING_MAX_ID = 8, }; enum kernel_read_file_id { @@ -8533,7 +8720,36 @@ enum kernel_read_file_id { READING_KEXEC_INITRAMFS = 4, READING_POLICY = 5, READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, + READING_MODULE_COMPRESSED = 7, + READING_MAX_ID = 8, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, }; enum kfunc_ptr_arg_type { @@ -8691,6 +8907,23 @@ enum lruvec_flags { LRUVEC_NODE_CONGESTED = 1, }; +enum lsm_event { + LSM_POLICY_CHANGE = 0, + LSM_STARTED_ALL = 1, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + enum lw_bits { LW_URGENT = 0, }; @@ -8772,6 +9005,7 @@ enum mapping_flags { AS_INACCESSIBLE = 8, AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, AS_KERNEL_FILE = 10, + AS_NO_DATA_INTEGRITY = 11, AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 16, AS_FOLIO_ORDER_MAX = 21, @@ -8798,7 +9032,8 @@ enum memcg_memory_event { MEMCG_SWAP_HIGH = 6, MEMCG_SWAP_MAX = 7, MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, + MEMCG_SOCK_THROTTLED = 9, + MEMCG_NR_MEMORY_EVENTS = 10, }; enum memcg_stat_item { @@ -8817,6 +9052,15 @@ enum meminit_context { MEMINIT_HOTPLUG = 1, }; +enum memory_block_state { + MEM_ONLINE = 0, + MEM_GOING_OFFLINE = 1, + MEM_OFFLINE = 2, + MEM_GOING_ONLINE = 3, + MEM_CANCEL_ONLINE = 4, + MEM_CANCEL_OFFLINE = 5, +}; + enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_COHERENT = 2, @@ -8869,6 +9113,12 @@ enum migration_type { migrate_misfit = 3, }; +enum mmap_action_type { + MMAP_NOTHING = 0, + MMAP_REMAP_PFN = 1, + MMAP_IO_REMAP_PFN = 2, +}; + enum mminit_level { MMINIT_WARNING = 0, MMINIT_VERIFY = 1, @@ -9007,12 +9257,12 @@ enum net_device_path_type { DEV_PATH_PPPOE = 3, DEV_PATH_DSA = 4, DEV_PATH_MTK_WDMA = 5, + DEV_PATH_TUN = 6, }; enum net_iov_type { - NET_IOV_DMABUF = 0ULL, - NET_IOV_IOURING = 1ULL, - NET_IOV_MAX = 18446744073709551615ULL, + NET_IOV_DMABUF = 0, + NET_IOV_IOURING = 1, }; enum netdev_cmd { @@ -9066,6 +9316,7 @@ enum netdev_ml_priv_type { enum netdev_napi_threaded { NETDEV_NAPI_THREADED_DISABLED = 0, NETDEV_NAPI_THREADED_ENABLED = 1, + NETDEV_NAPI_THREADED_BUSY_POLL = 2, }; enum netdev_offload_xstats_type { @@ -9359,6 +9610,17 @@ enum node_states { NR_NODE_STATES = 6, }; +enum ns_type { + TIME_NS = 128, + MNT_NS = 131072, + CGROUP_NS = 33554432, + UTS_NS = 67108864, + IPC_NS = 134217728, + USER_NS = 268435456, + PID_NS = 536870912, + NET_NS = 1073741824, +}; + enum offload_act_command { FLOW_ACT_REPLACE = 0, FLOW_ACT_DESTROY = 1, @@ -9548,6 +9810,7 @@ enum perf_callchain_context { PERF_CONTEXT_HV = 18446744073709551584ULL, PERF_CONTEXT_KERNEL = 18446744073709551488ULL, PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_USER_DEFERRED = 18446744073709550976ULL, PERF_CONTEXT_GUEST = 18446744073709549568ULL, PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, @@ -9673,7 +9936,8 @@ enum perf_event_type { PERF_RECORD_CGROUP = 19, PERF_RECORD_TEXT_POKE = 20, PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, + PERF_RECORD_CALLCHAIN_DEFERRED = 22, + PERF_RECORD_MAX = 23, }; enum perf_hw_id { @@ -9746,9 +10010,8 @@ enum perf_type_id { }; enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, + PGDAT_WRITEBACK = 0, + PGDAT_RECLAIM_LOCKED = 1, }; enum pgt_entry { @@ -9766,6 +10029,15 @@ enum pgtable_level { PGTABLE_LEVEL_PGD = 4, }; +enum phy_mse_channel { + PHY_MSE_CHANNEL_A = 0, + PHY_MSE_CHANNEL_B = 1, + PHY_MSE_CHANNEL_C = 2, + PHY_MSE_CHANNEL_D = 3, + PHY_MSE_CHANNEL_WORST = 4, + PHY_MSE_CHANNEL_LINK = 5, +}; + enum phy_state { PHY_DOWN = 0, PHY_READY = 1, @@ -9798,6 +10070,11 @@ enum pid_type { PIDTYPE_MAX = 4, }; +enum pidfs_attr_mask_bits { + PIDFS_ATTR_BIT_EXIT = 0, + PIDFS_ATTR_BIT_COREDUMP = 1, +}; + enum pkt_hash_types { PKT_HASH_TYPE_NONE = 0, PKT_HASH_TYPE_L2 = 1, @@ -9841,6 +10118,13 @@ enum positive_aop_returns { AOP_TRUNCATED_PAGE = 524289, }; +enum preempt_wakeup_action { + PREEMPT_WAKEUP_NONE = 0, + PREEMPT_WAKEUP_SHORT = 1, + PREEMPT_WAKEUP_PICK = 2, + PREEMPT_WAKEUP_RESCHED = 3, +}; + enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, @@ -9880,8 +10164,9 @@ enum proc_cn_event { PROC_EVENT_EXIT = 2147483648, }; -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, +enum pt_flags { + PT_kernel = 2, + PT_reserved = 13, }; enum qdisc_state_t { @@ -9977,6 +10262,11 @@ enum retcode { DIAG324_RET_READING_UNAVAILABLE = 261, }; +enum rht_lookup_freq { + RHT_LOOKUP_NORMAL = 0, + RHT_LOOKUP_LIKELY = 1, +}; + enum ring_buffer_flags { RB_FL_OVERWRITE = 1, }; @@ -10348,69 +10638,70 @@ enum skb_drop_reason { SKB_DROP_REASON_TC_EGRESS = 62, SKB_DROP_REASON_SECURITY_HOOK = 63, SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_PSP_INPUT = 125, - SKB_DROP_REASON_PSP_OUTPUT = 126, - SKB_DROP_REASON_MAX = 127, + SKB_DROP_REASON_QDISC_BURST_DROP = 65, + SKB_DROP_REASON_QDISC_OVERLIMIT = 66, + SKB_DROP_REASON_QDISC_CONGESTED = 67, + SKB_DROP_REASON_CAKE_FLOOD = 68, + SKB_DROP_REASON_FQ_BAND_LIMIT = 69, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 70, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 71, + SKB_DROP_REASON_CPU_BACKLOG = 72, + SKB_DROP_REASON_XDP = 73, + SKB_DROP_REASON_TC_INGRESS = 74, + SKB_DROP_REASON_UNHANDLED_PROTO = 75, + SKB_DROP_REASON_SKB_CSUM = 76, + SKB_DROP_REASON_SKB_GSO_SEG = 77, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 78, + SKB_DROP_REASON_DEV_HDR = 79, + SKB_DROP_REASON_DEV_READY = 80, + SKB_DROP_REASON_FULL_RING = 81, + SKB_DROP_REASON_NOMEM = 82, + SKB_DROP_REASON_HDR_TRUNC = 83, + SKB_DROP_REASON_TAP_FILTER = 84, + SKB_DROP_REASON_TAP_TXFILTER = 85, + SKB_DROP_REASON_ICMP_CSUM = 86, + SKB_DROP_REASON_INVALID_PROTO = 87, + SKB_DROP_REASON_IP_INADDRERRORS = 88, + SKB_DROP_REASON_IP_INNOROUTES = 89, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 90, + SKB_DROP_REASON_IP_INVALID_SOURCE = 91, + SKB_DROP_REASON_IP_LOCALNET = 92, + SKB_DROP_REASON_IP_INVALID_DEST = 93, + SKB_DROP_REASON_PKT_TOO_BIG = 94, + SKB_DROP_REASON_DUP_FRAG = 95, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 96, + SKB_DROP_REASON_FRAG_TOO_FAR = 97, + SKB_DROP_REASON_TCP_MINTTL = 98, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 99, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 100, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 102, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 103, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 104, + SKB_DROP_REASON_QUEUE_PURGE = 105, + SKB_DROP_REASON_TC_COOKIE_ERROR = 106, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 107, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 108, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 109, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 110, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 111, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 112, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 113, + SKB_DROP_REASON_NO_TX_TARGET = 114, + SKB_DROP_REASON_IP_TUNNEL_ECN = 115, + SKB_DROP_REASON_TUNNEL_TXINFO = 116, + SKB_DROP_REASON_LOCAL_MAC = 117, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 118, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 119, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 120, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 123, + SKB_DROP_REASON_PFMEMALLOC = 124, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 125, + SKB_DROP_REASON_PSP_INPUT = 126, + SKB_DROP_REASON_PSP_OUTPUT = 127, + SKB_DROP_REASON_MAX = 128, SKB_DROP_REASON_SUBSYS_MASK = 4294901760, }; @@ -10513,6 +10804,19 @@ enum socket_flags { SOCK_CUSTOM_SOCKOPT = 4, }; +enum softleaf_type { + SOFTLEAF_NONE = 0, + SOFTLEAF_SWAP = 1, + SOFTLEAF_MIGRATION_READ = 2, + SOFTLEAF_MIGRATION_READ_EXCLUSIVE = 3, + SOFTLEAF_MIGRATION_WRITE = 4, + SOFTLEAF_DEVICE_PRIVATE_READ = 5, + SOFTLEAF_DEVICE_PRIVATE_WRITE = 6, + SOFTLEAF_DEVICE_EXCLUSIVE = 7, + SOFTLEAF_HWPOISON = 8, + SOFTLEAF_MARKER = 9, +}; + enum special_kfunc_type { KF_bpf_obj_new_impl = 0, KF_bpf_obj_drop_impl = 1, @@ -10560,9 +10864,18 @@ enum special_kfunc_type { KF_bpf_res_spin_unlock = 43, KF_bpf_res_spin_lock_irqsave = 44, KF_bpf_res_spin_unlock_irqrestore = 45, - KF___bpf_trap = 46, - KF_bpf_task_work_schedule_signal_impl = 47, - KF_bpf_task_work_schedule_resume_impl = 48, + KF_bpf_dynptr_from_file = 46, + KF_bpf_dynptr_file_discard = 47, + KF___bpf_trap = 48, + KF_bpf_task_work_schedule_signal_impl = 49, + KF_bpf_task_work_schedule_resume_impl = 50, +}; + +enum ss_state { + ss_done = 0, + ss_lock = 1, + ss_lock_irqsave = 2, + ss_lockless = 3, }; enum stack_type { @@ -10900,6 +11213,7 @@ enum trace_iter_flags { TRACE_FILE_LAT_FMT = 1, TRACE_FILE_ANNOTATE = 2, TRACE_FILE_TIME_IN_NS = 4, + TRACE_FILE_PAUSE = 8, }; enum trace_iterator_bits { @@ -10937,40 +11251,6 @@ enum trace_iterator_bits { TRACE_ITER_LAST_BIT = 31, }; -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_FUNCTION = 134217728, - TRACE_ITER_FUNC_FORK = 268435456, - TRACE_ITER_DISPLAY_GRAPH = 536870912, - TRACE_ITER_STACKTRACE = 1073741824, -}; - enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, @@ -11007,6 +11287,11 @@ enum trace_type { __TRACE_LAST_TYPE = 21, }; +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + enum tsq_enum { TSQ_THROTTLED = 0, TSQ_QUEUED = 1, @@ -11195,12 +11480,6 @@ enum uprobe_task_state { UTASK_SSTEP_TRAPPED = 3, }; -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - enum uts_proc { UTS_PROC_ARCH = 0, UTS_PROC_OSTYPE = 1, @@ -11352,6 +11631,14 @@ enum vm_fault_reason { VM_FAULT_HINDEX_MASK = 983040, }; +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + enum vma_merge_state { VMA_MERGE_START = 0, VMA_MERGE_ERROR_NOMEM = 1, @@ -11674,12 +11961,16 @@ typedef __u128 u128; typedef u128 freelist_full_t; +typedef freelist_full_t pcp_op_T__; + typedef const char (* const ethnl_string_array_t)[32]; typedef int __kernel_clockid_t; typedef int __kernel_daddr_t; +typedef int __kernel_key_t; + typedef int __kernel_pid_t; typedef int __kernel_rwf_t; @@ -11704,13 +11995,15 @@ typedef int fpb_t; typedef int fpi_t; +typedef __kernel_key_t key_t; + typedef int mm_id_mapcount_t; typedef s32 old_time32_t; -typedef int pcp_op_T__; +typedef int pcp_op_T_____2; -typedef s32 pcp_op_T_____2; +typedef s32 pcp_op_T_____3; typedef __kernel_pid_t pid_t; @@ -11718,6 +12011,8 @@ typedef int rmap_t; typedef __kernel_rwf_t rwf_t; +typedef int vma_flag_t; + typedef long int __kernel_long_t; typedef __kernel_long_t __kernel_clock_t; @@ -11736,7 +12031,7 @@ typedef __kernel_clock_t clock_t; typedef __kernel_off_t off_t; -typedef long int pcp_op_T_____3; +typedef long int pcp_op_T_____4; typedef __kernel_ptrdiff_t ptrdiff_t; @@ -11760,7 +12055,7 @@ typedef s64 ktime_t; typedef __kernel_loff_t loff_t; -typedef s64 pcp_op_T_____4; +typedef s64 pcp_op_T_____5; typedef long long int qsize_t; @@ -11778,6 +12073,8 @@ typedef __u64 __addrpair; typedef __u64 __be64; +typedef long long unsigned int __kernel_uoff_t; + typedef __u64 __le64; typedef __u64 u64; @@ -11794,7 +12091,7 @@ typedef u64 io_req_flags_t; typedef u64 netdev_features_t; -typedef u64 pcp_op_T_____5; +typedef u64 pcp_op_T_____6; typedef u64 phys_addr_t; @@ -11810,6 +12107,8 @@ typedef __u64 timeu64_t; typedef u64 uint64_t; +typedef __kernel_uoff_t uoff_t; + typedef long unsigned int __kernel_size_t; typedef long unsigned int __kernel_ulong_t; @@ -11830,7 +12129,7 @@ typedef long unsigned int old_sigset_t; typedef long unsigned int p4d_t; -typedef long unsigned int pcp_op_T_____6; +typedef long unsigned int pcp_op_T_____7; typedef long unsigned int perf_trace_t[1024]; @@ -11898,7 +12197,7 @@ typedef signed char __s8; typedef __s8 s8; -typedef s8 pcp_op_T_____7; +typedef s8 pcp_op_T_____8; typedef unsigned char __u8; @@ -11992,9 +12291,9 @@ typedef unsigned int pci_ers_result_t; typedef unsigned int pcie_reset_state_t; -typedef unsigned int pcp_op_T_____8; +typedef unsigned int pcp_op_T_____9; -typedef __u32 pcp_op_T_____9; +typedef __u32 pcp_op_T_____10; typedef unsigned int pgtbl_mod_mask; @@ -12127,12 +12426,28 @@ typedef struct { unsigned int timeout; } cisco_proto; +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +struct task_struct; + +struct rq; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class___task_rq_lock_t; + typedef struct { void *lock; } class_cpus_read_lock_t; -struct rq; - typedef struct { struct rq *lock; struct rq *lock2; @@ -12171,6 +12486,14 @@ typedef struct { void *lock; } class_namespace_shared_t; +typedef struct { + void *lock; +} class_ns_tree_locked_reader_t; + +typedef struct { + void *lock; +} class_ns_tree_writer_t; + typedef struct { void *lock; } class_pagefault_t; @@ -12208,13 +12531,14 @@ typedef struct { void *lock; } class_rcu_tasks_trace_t; -struct pin_cookie {}; +typedef struct { + arch_rwlock_t raw_lock; +} rwlock_t; -struct rq_flags { +typedef struct { + rwlock_t *lock; long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; -}; +} class_read_lock_irqsave_t; typedef struct { struct rq *lock; @@ -12255,8 +12579,6 @@ typedef struct { int idx; } class_srcu_t; -struct task_struct; - typedef struct { struct task_struct *lock; struct rq *rq; @@ -12269,10 +12591,6 @@ typedef struct { struct tty_struct *lock; } class_tty_port_tty_t; -typedef struct { - arch_rwlock_t raw_lock; -} rwlock_t; - typedef struct { rwlock_t *lock; } class_write_lock_irq_t; @@ -12281,6 +12599,10 @@ typedef struct { unsigned char bytes[16]; } cpacf_mask_t; +typedef struct { + unsigned char bytes[256]; +} cpacf_qai_t; + typedef struct { char *string; long int args[0]; @@ -12320,14 +12642,6 @@ typedef struct { char master[16]; } fr_proto_pvc_info; -typedef union { - struct { - void *freelist; - long unsigned int counter; - }; - freelist_full_t full; -} freelist_aba_t; - typedef struct { long unsigned int v; } freeptr_t; @@ -12507,15 +12821,17 @@ typedef struct { wait_queue_head_t wq; } socket_lock_t; +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef swp_entry_t softleaf_t; + typedef struct { char *from; char *to; } substring_t; -typedef struct { - long unsigned int val; -} swp_entry_t; - typedef struct { unsigned int clock_rate; unsigned int clock_type; @@ -12545,6 +12861,10 @@ typedef struct { uid_t val; } vfsuid_t; +typedef struct { + long unsigned int __vma_flags[1]; +} vma_flags_t; + typedef struct { short unsigned int dce; unsigned int modulo; @@ -12621,6 +12941,12 @@ struct gnet_stats_queue { __u32 overlimits; }; +struct llist_node; + +struct llist_head { + struct llist_node *first; +}; + struct callback_head { struct callback_head *next; void (*func)(struct callback_head *); @@ -12671,15 +12997,51 @@ struct Qdisc { long: 64; long: 64; long: 64; + __u8 __cacheline_group_begin__Qdisc_read_mostly[0]; struct sk_buff_head gso_skb; + struct Qdisc *next_sched; + struct sk_buff_head skb_bad_txq; + __u8 __cacheline_group_end__Qdisc_read_mostly[0]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + __u8 __cacheline_group_begin__Qdisc_write[0]; struct qdisc_skb_head q; + long unsigned int state; struct gnet_stats_basic_sync bstats; + bool running; struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; - struct Qdisc *next_sched; - struct sk_buff_head skb_bad_txq; + struct sk_buff *to_free; + __u8 __cacheline_group_end__Qdisc_write[0]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; long: 64; long: 64; long: 64; @@ -12695,7 +13057,8 @@ struct Qdisc { long: 64; long: 64; long: 64; - spinlock_t busylock; + atomic_long_t defer_count; + struct llist_head defer_list; spinlock_t seqlock; struct callback_head rcu; netdevice_tracker dev_tracker; @@ -12727,8 +13090,6 @@ struct Qdisc { long: 64; long: 64; long: 64; - long: 64; - long: 64; long int privdata[0]; }; @@ -13111,6 +13472,21 @@ struct __uprobe_key { loff_t offset; }; +struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +}; + +typedef struct __user_cap_data_struct *cap_user_data_t; + +struct __user_cap_header_struct { + __u32 version; + int pid; +}; + +typedef struct __user_cap_header_struct *cap_user_header_t; + struct __va_list_tag { long int __gpr; long int __fpr; @@ -13587,13 +13963,7 @@ struct arphdr { struct sockaddr { sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; + char sa_data[14]; }; struct arpreq { @@ -13670,10 +14040,16 @@ struct bin_attribute; struct attribute_group { const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); + union { + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_visible_const)(struct kobject *, const struct attribute *, int); + }; umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; + union { + struct attribute **attrs; + const struct attribute * const *attrs_const; + }; const struct bin_attribute * const *bin_attrs; }; @@ -13824,6 +14200,7 @@ struct file { u64 f_pipe; }; loff_t f_pos; + void *f_security; errseq_t f_wb_err; errseq_t f_sb_err; union { @@ -13950,6 +14327,7 @@ struct bio { enum rw_hint bi_write_hint; u8 bi_write_stream; blk_status_t bi_status; + u8 bi_bvec_gap_bit; atomic_t __bi_remaining; struct bvec_iter bi_iter; union { @@ -14018,7 +14396,7 @@ struct blacklist_entry { char *buf; }; -struct blake2s_state { +struct blake2s_ctx { u32 h[8]; u32 t[2]; u32 f[2]; @@ -14080,19 +14458,6 @@ struct blk_integrity { struct blk_plug {}; -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - struct disk_stats; struct dev_links_info { @@ -14235,12 +14600,13 @@ struct block_device { struct mutex bd_fsfreeze_mutex; struct partition_meta_info *bd_meta_info; int bd_writers; + void *bd_security; struct device bd_device; }; struct hd_geometry; -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct blk_report_zones_args; struct pr_ops; @@ -14259,7 +14625,7 @@ struct block_device_operations { int (*set_read_only)(struct block_device *, bool); void (*free_disk)(struct gendisk *); void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, struct blk_report_zones_args *); char * (*devnode)(struct gendisk *, umode_t *); int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); struct module *owner; @@ -14289,6 +14655,7 @@ struct bpf_map { u8 sha[32]; const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; + void *security; enum bpf_map_type map_type; u32 key_size; u32 value_size; @@ -15481,6 +15848,8 @@ struct bpf_ctx_convert { void *BPF_PROG_TYPE_STRUCT_OPS_kern; void *BPF_PROG_TYPE_EXT_prog; void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; void *BPF_PROG_TYPE_SYSCALL_prog; void *BPF_PROG_TYPE_SYSCALL_kern; }; @@ -15509,6 +15878,8 @@ struct bpf_ksym { struct list_head lnode; struct latch_tree_node tnode; bool prog; + u32 fp_start; + u32 fp_end; }; struct bpf_dispatcher { @@ -15566,6 +15937,31 @@ struct bpf_dynptr { __u64 __opaque[2]; }; +struct freader { + void *buf; + u32 buf_sz; + int err; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + loff_t folio_off; + bool may_fault; + }; + struct { + const char *data; + u64 data_sz; + }; + }; +}; + +struct bpf_dynptr_file_impl { + struct freader freader; + u64 offset; + u64 size; +}; + struct bpf_dynptr_kern { void *data; u32 size; @@ -15894,7 +16290,6 @@ struct bpf_htab { long: 64; long: 64; long: 64; - long: 64; union { struct pcpu_freelist freelist; struct bpf_lru lru; @@ -15931,6 +16326,11 @@ struct bpf_htab { long: 64; }; +struct bpf_iarray { + int cnt; + u32 items[0]; +}; + struct bpf_id_pair { u32 old; u32 cur; @@ -15969,6 +16369,23 @@ struct bpf_insn_access_aux { bool is_retval; }; +struct bpf_insn_array_value { + __u32 orig_off; + __u32 xlated_off; + __u32 jitted_off; + long: 0; +}; + +struct bpf_insn_array { + struct bpf_map map; + atomic_t used; + long int *ips; + struct { + struct {} __empty_values; + struct bpf_insn_array_value values[0]; + }; +}; + struct bpf_map_ptr_state { struct bpf_map *map_ptr; bool poison; @@ -16009,6 +16426,7 @@ struct bpf_insn_aux_data { u64 obj_new_size; u64 insert_off; }; + struct bpf_iarray *jt; struct btf_struct_meta *kptr_struct_meta; u64 map_key_state; int ctx_field_size; @@ -16017,7 +16435,7 @@ struct bpf_insn_aux_data { bool nospec_result; bool zext_dst; bool needs_zext; - bool storage_get_func_atomic; + bool non_sleepable; bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; @@ -16809,6 +17227,7 @@ struct bpf_local_storage { void *owner; struct callback_head rcu; raw_spinlock_t lock; + bool use_kmalloc_nolock; }; struct bpf_local_storage_cache { @@ -16896,9 +17315,7 @@ struct bpf_local_storage_map { u32 bucket_log; u16 elem_size; u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; + bool use_kmalloc_nolock; }; struct bpf_local_storage_map_bucket { @@ -17021,10 +17438,6 @@ struct bpf_map_owner { enum bpf_attach_type expected_attach_type; }; -struct llist_head { - struct llist_node *first; -}; - struct rcuwait { struct task_struct *task; }; @@ -17299,6 +17712,7 @@ struct bpf_prog_aux { u32 ctx_arg_info_size; u32 max_rdonly_access; u32 max_rdwr_access; + u32 subprog_start; struct btf *attach_btf; struct bpf_ctx_arg_aux *ctx_arg_info; void *priv_stack_ptr; @@ -17350,6 +17764,7 @@ struct bpf_prog_aux { struct bpf_map *cgroup_storage[2]; char name[16]; u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; struct bpf_token *token; struct bpf_prog_offload *offload; struct btf *btf; @@ -17555,6 +17970,7 @@ struct bpf_ringbuf { u64 mask; struct page **pages; int nr_pages; + bool overwrite_mode; long: 64; long: 64; long: 64; @@ -18571,7 +18987,7 @@ struct bpf_ringbuf { long: 64; long unsigned int producer_pos; long unsigned int pending_pos; - long: 64; + long unsigned int overwrite_pos; long: 64; long: 64; long: 64; @@ -19112,7 +19528,7 @@ struct bpf_verifier_state { u32 active_irq_id; u32 active_lock_id; void *active_lock_ptr; - bool active_rcu_lock; + u32 active_rcu_locks; bool speculative; bool in_sleepable; bool cleaned; @@ -19189,12 +19605,14 @@ struct bpf_sk_storage_diag { }; struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; + unsigned int pkt_len; + u16 pkt_segs; + u16 tc_classid; unsigned char data[20]; + u16 slave_dev_queue_mapping; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; }; struct bpf_skb_data_end { @@ -19235,9 +19653,11 @@ struct bpf_sock_addr { }; }; +struct sockaddr_unsized; + struct bpf_sock_addr_kern { struct sock *sk; - struct sockaddr *uaddr; + struct sockaddr_unsized *uaddr; u64 tmp_reg; void *t_ctx; u32 uaddrlen; @@ -19291,6 +19711,10 @@ struct bpf_stack_state { u8 slot_type[8]; }; +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + struct bpf_stream_elem { struct llist_node node; int total_len; @@ -19298,12 +19722,6 @@ struct bpf_stream_elem { char str[0]; }; -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - struct bpf_stream_stage { struct llist_head log; int len; @@ -19476,7 +19894,6 @@ struct bpf_struct_ops_map { long: 64; long: 64; long: 64; - long: 64; struct bpf_struct_ops_value kvalue; }; @@ -19566,6 +19983,7 @@ struct bpf_subprog_info { u32 start; u32 linfo_idx; u32 postorder_start; + u32 exit_idx; u16 stack_depth; u16 stack_extra; s16 fastcall_stack_off; @@ -19579,8 +19997,8 @@ struct bpf_subprog_info { bool keep_fastcall_stack: 1; bool changes_pkt_data: 1; bool might_sleep: 1; + u8 arg_cnt: 3; enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -19683,6 +20101,7 @@ struct bpf_token { u64 allowed_maps; u64 allowed_progs; u64 allowed_attachs; + void *security; }; struct bpf_token_info { @@ -19957,8 +20376,10 @@ struct bpf_verifier_env { struct list_head free_list; struct bpf_map *used_maps[64]; struct btf_mod_pair used_btfs[64]; + struct bpf_map *insn_array_maps[64]; u32 used_map_cnt; u32 used_btf_cnt; + u32 insn_array_map_cnt; u32 id_gen; u32 hidden_subprog_cnt; int exception_callback_subprog; @@ -20014,6 +20435,8 @@ struct bpf_verifier_env { struct bpf_liveness *liveness; struct bpf_scc_info **scc_info; u32 scc_cnt; + struct bpf_iarray *succ; + struct bpf_iarray *gotox_tmp_buf; }; struct bpf_verifier_ops { @@ -20973,6 +21396,9 @@ struct device_driver { const struct dev_pm_ops *pm; void (*coredump)(struct device *); struct driver_private *p; + struct { + void (*post_unbind_rust)(struct device *); + } p_cb; }; struct ccw_driver { @@ -21092,7 +21518,7 @@ struct cfs_rq { unsigned int h_nr_idle; s64 avg_vruntime; u64 avg_load; - u64 min_vruntime; + u64 zero_vruntime; struct rb_root_cached tasks_timeline; struct sched_entity *curr; struct sched_entity *next; @@ -21174,6 +21600,25 @@ struct cgroup__safe_rcu { struct kernfs_node *kn; }; +struct ns_tree_node { + struct rb_node ns_node; + struct list_head ns_list_entry; +}; + +struct ns_tree_root { + struct rb_root ns_rb; + struct list_head ns_list_head; +}; + +struct ns_tree { + u64 ns_id; + atomic_t __ns_ref_active; + struct ns_tree_node ns_unified_node; + struct ns_tree_node ns_tree_node; + struct ns_tree_node ns_owner_node; + struct ns_tree_root ns_owner_root; +}; + struct proc_ns_operations; struct ns_common { @@ -21183,11 +21628,7 @@ struct ns_common { unsigned int inum; refcount_t __ns_ref; union { - struct { - u64 ns_id; - struct rb_node ns_tree_node; - struct list_head ns_list_node; - }; + struct ns_tree; struct callback_head ns_rcu; }; }; @@ -24859,6 +25300,16 @@ struct cpu_map_ret { u32 skb_n; }; +struct cpu_rmap { + struct kref refcount; + u16 size; + void **obj; + struct { + u16 index; + u16 dist; + } near[0]; +}; + struct cpu_stop_done { atomic_t nr_todo; int ret; @@ -25156,6 +25607,7 @@ struct cred { kernel_cap_t cap_effective; kernel_cap_t cap_bset; kernel_cap_t cap_ambient; + void *security; struct user_struct *user; struct user_namespace *user_ns; struct ucounts *ucounts; @@ -25591,6 +26043,14 @@ struct delayed_uprobe { struct mm_struct *mm; }; +struct delegated_inode {}; + +struct delegation { + __u32 d_flags; + __u16 d_type; + __u16 __pad; +}; + struct hlist_bl_node { struct hlist_bl_node *next; struct hlist_bl_node **pprev; @@ -25725,7 +26185,6 @@ struct vmem_altmap { long unsigned int free; long unsigned int align; long unsigned int alloc; - bool inaccessible; }; struct range { @@ -25757,9 +26216,10 @@ struct dev_pagemap { struct vm_fault; struct dev_pagemap_ops { - void (*page_free)(struct page *); + void (*folio_free)(struct folio *); vm_fault_t (*migrate_to_ram)(struct vm_fault *); int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); + void (*folio_split)(struct folio *, struct folio *); }; struct dev_pm_ops { @@ -26343,6 +26803,7 @@ struct dir_context { filldir_t actor; loff_t pos; int count; + unsigned int dt_flags_mask; }; struct dirty_throttle_control { @@ -26404,12 +26865,10 @@ struct dma_map_ops { void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_phys)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_phys)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); @@ -26457,6 +26916,77 @@ struct dmabuf_token { __u32 token_count; }; +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + struct kqid { union { kuid_t uid; @@ -26889,6 +27419,8 @@ struct em_perf_table; struct em_perf_domain { struct em_perf_table *em_table; + struct list_head node; + int id; int nr_perf_states; int min_perf_state; int max_perf_state; @@ -28035,7 +28567,7 @@ struct ethtool_wolinfo { struct event_trigger_data; -struct event_trigger_ops; +struct ring_buffer_event; struct event_command { struct list_head list; @@ -28047,7 +28579,11 @@ struct event_command { void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); void (*unreg_all)(struct trace_event_file *); int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + bool (*count_func)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); }; struct event_file_link { @@ -28100,7 +28636,6 @@ struct event_trigger_data { long unsigned int count; int ref; int flags; - const struct event_trigger_ops *ops; struct event_command *cmd_ops; struct event_filter *filter; char *filter_str; @@ -28111,15 +28646,7 @@ struct event_trigger_data { char *name; struct list_head named_list; struct event_trigger_data *named_data; -}; - -struct ring_buffer_event; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); + struct llist_node llist; }; struct eventfs_attr { @@ -28249,6 +28776,7 @@ struct stack_frame { long unsigned int sie_flags; long unsigned int sie_control_block_phys; long unsigned int sie_guest_asce; + long unsigned int sie_irq; }; }; long unsigned int gprs[10]; @@ -28289,6 +28817,8 @@ struct fasync_struct { struct callback_head fa_rcu; }; +struct fault_attr {}; + struct faux_device { struct device dev; }; @@ -28323,6 +28853,14 @@ typedef struct fd class_fd_raw_t; typedef struct fd class_fd_t; +struct fd_prepare { + s32 err; + s32 __fd; + struct file *__file; +}; + +typedef struct fd_prepare class_fd_prepare_t; + struct fd_range { unsigned int from; unsigned int to; @@ -28415,8 +28953,8 @@ struct fgraph_cpu_data { struct ftrace_graph_ent { long unsigned int func; - int depth; -} __attribute__((packed)); + long int depth; +}; struct ftrace_graph_ent_entry { struct trace_entry ent; @@ -28429,6 +28967,11 @@ struct fgraph_ent_args { long unsigned int args[6]; }; +struct fgraph_retaddr_ent_args { + struct ftrace_graph_ent_entry ent; + long unsigned int args[6]; +}; + struct ftrace_graph_ret { long unsigned int func; int depth; @@ -28446,7 +28989,7 @@ struct fgraph_data { struct fgraph_cpu_data *cpu_data; union { struct fgraph_ent_args ent; - struct ftrace_graph_ent_entry rent; + struct fgraph_retaddr_ent_args rent; }; struct ftrace_graph_ret_entry ret; int failed; @@ -30081,8 +30624,13 @@ struct fprobe_addr_list { long unsigned int *addrs; }; +struct rhlist_head { + struct rhash_head rhead; + struct rhlist_head *next; +}; + struct fprobe_hlist_node { - struct hlist_node hlist; + struct rhlist_head hlist; long unsigned int addr; struct fprobe *fp; }; @@ -30275,28 +30823,36 @@ struct frag_queue { u8 ecn; }; -struct freader { - void *buf; - u32 buf_sz; - int err; +struct free_area { + struct list_head free_list[4]; + long unsigned int nr_free; +}; + +struct freelist_counters { union { struct { - struct file *file; - struct folio *folio; - void *addr; - loff_t folio_off; - bool may_fault; - }; - struct { - const char *data; - u64 data_sz; + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; }; + freelist_full_t freelist_counters; }; }; -struct free_area { - struct list_head free_list[4]; - long unsigned int nr_free; +struct freelist_tid { + union { + struct { + void *freelist; + long unsigned int tid; + }; + freelist_full_t freelist_tid; + }; }; struct p_log { @@ -31150,8 +31706,8 @@ struct irq_affinity_notify { struct napi_config; struct napi_struct { - struct list_head poll_list; long unsigned int state; + struct list_head poll_list; int weight; u32 defer_hard_irqs_count; int (*poll)(struct napi_struct *, int); @@ -31785,6 +32341,12 @@ struct icmp6_err { int fatal; }; +struct icmp6_ext_iio_addr6_subobj { + __be16 afi; + __be16 reserved; + struct in6_addr addr6; +}; + struct icmp6_filter { __u32 data[8]; }; @@ -31928,6 +32490,17 @@ struct icmp_ext_hdr { __sum16 checksum; }; +struct icmp_ext_iio_addr4_subobj { + __be16 afi; + __be16 reserved; + __be32 addr4; +}; + +struct icmp_ext_iio_name_subobj { + u8 len; + char name[16]; +}; + struct icmp_filter { __u32 data; }; @@ -32619,6 +33192,7 @@ struct sock_common { unsigned char skc_reuseport: 1; unsigned char skc_ipv6only: 1; unsigned char skc_net_refcnt: 1; + unsigned char skc_bypass_prot_mem: 1; int skc_bound_dev_if; union { struct hlist_node skc_bind_node; @@ -32728,15 +33302,20 @@ struct sock { struct rb_root tcp_rtx_queue; }; struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; struct page_frag sk_frag; - struct timer_list sk_timer; + union { + struct timer_list sk_timer; + struct timer_list tcp_retransmit_timer; + struct timer_list mptcp_retransmit_timer; + }; long unsigned int sk_pacing_rate; atomic_t sk_zckey; atomic_t sk_tskey; + long unsigned int sk_tx_queue_mapping_jiffies; __u8 __cacheline_group_end__sock_write_tx[0]; __u8 __cacheline_group_begin__sock_read_tx[0]; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; long unsigned int sk_max_pacing_rate; long int sk_sndtimeo; u32 sk_priority; @@ -32789,6 +33368,7 @@ struct sock { u8 sk_txtime_unused: 6; u8 sk_bpf_cb_flags; void *sk_user_data; + void *sk_security; struct sock_cgroup_data sk_cgrp_data; void (*sk_state_change)(struct sock *); void (*sk_write_space)(struct sock *); @@ -32827,11 +33407,14 @@ struct inet_cork_full { struct ipv6_pinfo; +struct ipv6_fl_socklist; + struct ip_mc_socklist; struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; + struct ipv6_fl_socklist *ipv6_fl_list; long unsigned int inet_flags; __be32 inet_saddr; __s16 uc_ttl; @@ -32872,8 +33455,11 @@ struct inet_connection_sock { struct request_sock_queue icsk_accept_queue; struct inet_bind_bucket *icsk_bind_hash; struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; struct timer_list icsk_delack_timer; + union { + struct timer_list icsk_keepalive_timer; + struct timer_list mptcp_tout_timer; + }; __u32 icsk_rto; __u32 icsk_rto_min; u32 icsk_rto_max; @@ -33300,17 +33886,22 @@ struct init_sccb { u8 masks[4084]; }; +struct inode_state_flags { + enum inode_state_flags_enum __state; +}; + struct inode_operations; struct inode { umode_t i_mode; short unsigned int i_opflags; + unsigned int i_flags; kuid_t i_uid; kgid_t i_gid; - unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping; + void *i_security; long unsigned int i_ino; union { const unsigned int i_nlink; @@ -33330,7 +33921,7 @@ struct inode { u8 i_blkbits; enum rw_hint i_write_hint; blkcnt_t i_blocks; - enum inode_state_flags_t i_state; + struct inode_state_flags i_state; struct rw_semaphore i_rwsem; long unsigned int dirtied_when; long unsigned int dirtied_time_when; @@ -34296,7 +34887,7 @@ struct ipv6_ac_socklist { struct udp_table; struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + int (*inet6_bind)(struct sock *, struct sockaddr_unsized *, int, u32); struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); @@ -34375,7 +34966,6 @@ struct ipv6_pinfo { struct inet6_cork cork; struct ipv6_mc_socklist *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; }; struct ipv6_rpl_sr_hdr { @@ -34641,7 +35231,6 @@ struct irq_desc { int threads_handled_last; raw_spinlock_t lock; struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; const struct cpumask *affinity_hint; struct irq_affinity_notify *affinity_notify; long unsigned int threads_oneshot; @@ -34672,6 +35261,7 @@ struct irq_desc { long: 64; long: 64; long: 64; + long: 64; }; struct irq_desc_devres { @@ -34735,6 +35325,12 @@ struct irq_fwspec { u32 param[16]; }; +struct irq_glue { + struct irq_affinity_notify notify; + struct cpu_rmap *rmap; + u16 index; +}; + struct irq_stat { unsigned int irqs[33]; }; @@ -34743,8 +35339,11 @@ typedef irqreturn_t (*irq_handler_t)(int, void *); struct irqaction { irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; + union { + void *dev_id; + void *percpu_dev_id; + }; + const struct cpumask *affinity; struct irqaction *next; irq_handler_t thread_fn; struct task_struct *thread; @@ -35152,6 +35751,44 @@ struct kbsentry { struct kcsan_scoped_access {}; +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + struct kernel_clone_args { u64 flags; int *pidfd; @@ -35296,10 +35933,10 @@ struct kernel_xattr_ctx { unsigned int flags; }; -struct kernfs_open_node; - struct kernfs_ops; +struct kernfs_open_node; + struct kernfs_elem_attr { const struct kernfs_ops *ops; struct kernfs_open_node *open; @@ -35320,7 +35957,32 @@ struct kernfs_elem_symlink { struct kernfs_node *target_kn; }; -struct kernfs_iattrs; +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[1024]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; +}; struct kernfs_node { atomic_t count; @@ -35361,6 +36023,15 @@ struct kernfs_open_file { const struct vm_operations_struct *vm_ops; }; +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + struct kernfs_ops { int (*open)(struct kernfs_open_file *); void (*release)(struct kernfs_open_file *); @@ -35377,6 +36048,40 @@ struct kernfs_ops { loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); }; +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + struct key_vector { t_key key; unsigned char pos; @@ -35401,10 +36106,7 @@ struct kiocb { int ki_flags; u16 ki_ioprio; u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; + struct wait_page_queue *ki_waitq; }; struct klist_waiter { @@ -35425,6 +36127,17 @@ struct klistmount { struct path root; }; +struct klistns { + u64 *uns_ids; + u32 nr_ns_ids; + u64 last_ns_id; + u64 user_ns_id; + u32 ns_type; + struct user_namespace *user_ns; + bool userns_capable; + struct ns_common *first_ns; +}; + struct kmalloc_info_struct { const char *name[2]; unsigned int size; @@ -35449,11 +36162,15 @@ struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct slub_percpu_sheaves; struct kmem_cache_node; struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + struct lock_class_key lock_key; struct slub_percpu_sheaves *cpu_sheaves; slab_flags_t flags; long unsigned int min_partial; @@ -35472,6 +36189,7 @@ struct kmem_cache { unsigned int red_left_pad; const char *name; struct list_head list; + struct kobject kobj; struct kmem_cache_node *node[1]; }; @@ -35485,6 +36203,12 @@ struct kmem_cache_args { unsigned int sheaf_capacity; }; +struct kmem_cache_cpu { + struct freelist_tid; + struct slab *slab; + local_trylock_t lock; +}; + union kmem_cache_iter_priv { struct bpf_iter_kmem_cache it; struct bpf_iter_kmem_cache_kern kit; @@ -36022,6 +36746,7 @@ struct lease_manager_operations { int (*lm_change)(struct file_lease *, int, struct list_head *); void (*lm_setup)(struct file_lease *, void **); bool (*lm_breaker_owns_lease)(struct file_lease *); + int (*lm_open_conflict)(struct file *, int); }; struct legacy_fs_context { @@ -36379,7 +37104,8 @@ struct lowcore { psw_t mcck_new_psw; psw_t io_new_psw; __u64 save_area[8]; - __u8 pad_0x0240[64]; + __u64 stack_canary; + __u8 pad_0x0248[56]; __u64 save_area_restart[1]; __u64 pcpu; psw_t return_psw; @@ -36498,12 +37224,286 @@ struct lruvec { struct zswap_lruvec_state zswap_lruvec_state; }; +struct lsm_blob_sizes { + unsigned int lbs_cred; + unsigned int lbs_file; + unsigned int lbs_ib; + unsigned int lbs_inode; + unsigned int lbs_sock; + unsigned int lbs_superblock; + unsigned int lbs_ipc; + unsigned int lbs_key; + unsigned int lbs_msg_msg; + unsigned int lbs_perf_event; + unsigned int lbs_task; + unsigned int lbs_xattr_count; + unsigned int lbs_tun_dev; + unsigned int lbs_bdev; + unsigned int lbs_bpf_map; + unsigned int lbs_bpf_prog; + unsigned int lbs_bpf_token; +}; + struct lsm_context { char *context; u32 len; int id; }; +struct lsm_ctx { + __u64 id; + __u64 flags; + __u64 len; + __u64 ctx_len; + __u8 ctx[0]; +}; + +struct lsm_id { + const char *name; + u64 id; +}; + +struct lsm_info { + const struct lsm_id *id; + enum lsm_order order; + long unsigned int flags; + struct lsm_blob_sizes *blobs; + int *enabled; + int (*init)(void); + int (*initcall_pure)(void); + int (*initcall_early)(void); + int (*initcall_core)(void); + int (*initcall_subsys)(void); + int (*initcall_fs)(void); + int (*initcall_device)(void); + int (*initcall_late)(void); +}; + +struct lsm_prop_selinux {}; + +struct lsm_prop_smack {}; + +struct lsm_prop_apparmor {}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct static_call_key; + +struct security_hook_list; + +struct static_key_false; + +struct lsm_static_call { + struct static_call_key *key; + void *trampoline; + struct security_hook_list *hl; + struct static_key_false *active; +}; + +struct lsm_static_calls_table { + struct lsm_static_call binder_set_context_mgr[2]; + struct lsm_static_call binder_transaction[2]; + struct lsm_static_call binder_transfer_binder[2]; + struct lsm_static_call binder_transfer_file[2]; + struct lsm_static_call ptrace_access_check[2]; + struct lsm_static_call ptrace_traceme[2]; + struct lsm_static_call capget[2]; + struct lsm_static_call capset[2]; + struct lsm_static_call capable[2]; + struct lsm_static_call quotactl[2]; + struct lsm_static_call quota_on[2]; + struct lsm_static_call syslog[2]; + struct lsm_static_call settime[2]; + struct lsm_static_call vm_enough_memory[2]; + struct lsm_static_call bprm_creds_for_exec[2]; + struct lsm_static_call bprm_creds_from_file[2]; + struct lsm_static_call bprm_check_security[2]; + struct lsm_static_call bprm_committing_creds[2]; + struct lsm_static_call bprm_committed_creds[2]; + struct lsm_static_call fs_context_submount[2]; + struct lsm_static_call fs_context_dup[2]; + struct lsm_static_call fs_context_parse_param[2]; + struct lsm_static_call sb_alloc_security[2]; + struct lsm_static_call sb_delete[2]; + struct lsm_static_call sb_free_security[2]; + struct lsm_static_call sb_free_mnt_opts[2]; + struct lsm_static_call sb_eat_lsm_opts[2]; + struct lsm_static_call sb_mnt_opts_compat[2]; + struct lsm_static_call sb_remount[2]; + struct lsm_static_call sb_kern_mount[2]; + struct lsm_static_call sb_show_options[2]; + struct lsm_static_call sb_statfs[2]; + struct lsm_static_call sb_mount[2]; + struct lsm_static_call sb_umount[2]; + struct lsm_static_call sb_pivotroot[2]; + struct lsm_static_call sb_set_mnt_opts[2]; + struct lsm_static_call sb_clone_mnt_opts[2]; + struct lsm_static_call move_mount[2]; + struct lsm_static_call dentry_init_security[2]; + struct lsm_static_call dentry_create_files_as[2]; + struct lsm_static_call path_notify[2]; + struct lsm_static_call inode_alloc_security[2]; + struct lsm_static_call inode_free_security[2]; + struct lsm_static_call inode_free_security_rcu[2]; + struct lsm_static_call inode_init_security[2]; + struct lsm_static_call inode_init_security_anon[2]; + struct lsm_static_call inode_create[2]; + struct lsm_static_call inode_post_create_tmpfile[2]; + struct lsm_static_call inode_link[2]; + struct lsm_static_call inode_unlink[2]; + struct lsm_static_call inode_symlink[2]; + struct lsm_static_call inode_mkdir[2]; + struct lsm_static_call inode_rmdir[2]; + struct lsm_static_call inode_mknod[2]; + struct lsm_static_call inode_rename[2]; + struct lsm_static_call inode_readlink[2]; + struct lsm_static_call inode_follow_link[2]; + struct lsm_static_call inode_permission[2]; + struct lsm_static_call inode_setattr[2]; + struct lsm_static_call inode_post_setattr[2]; + struct lsm_static_call inode_getattr[2]; + struct lsm_static_call inode_xattr_skipcap[2]; + struct lsm_static_call inode_setxattr[2]; + struct lsm_static_call inode_post_setxattr[2]; + struct lsm_static_call inode_getxattr[2]; + struct lsm_static_call inode_listxattr[2]; + struct lsm_static_call inode_removexattr[2]; + struct lsm_static_call inode_post_removexattr[2]; + struct lsm_static_call inode_file_setattr[2]; + struct lsm_static_call inode_file_getattr[2]; + struct lsm_static_call inode_set_acl[2]; + struct lsm_static_call inode_post_set_acl[2]; + struct lsm_static_call inode_get_acl[2]; + struct lsm_static_call inode_remove_acl[2]; + struct lsm_static_call inode_post_remove_acl[2]; + struct lsm_static_call inode_need_killpriv[2]; + struct lsm_static_call inode_killpriv[2]; + struct lsm_static_call inode_getsecurity[2]; + struct lsm_static_call inode_setsecurity[2]; + struct lsm_static_call inode_listsecurity[2]; + struct lsm_static_call inode_getlsmprop[2]; + struct lsm_static_call inode_copy_up[2]; + struct lsm_static_call inode_copy_up_xattr[2]; + struct lsm_static_call inode_setintegrity[2]; + struct lsm_static_call kernfs_init_security[2]; + struct lsm_static_call file_permission[2]; + struct lsm_static_call file_alloc_security[2]; + struct lsm_static_call file_release[2]; + struct lsm_static_call file_free_security[2]; + struct lsm_static_call file_ioctl[2]; + struct lsm_static_call file_ioctl_compat[2]; + struct lsm_static_call mmap_addr[2]; + struct lsm_static_call mmap_file[2]; + struct lsm_static_call file_mprotect[2]; + struct lsm_static_call file_lock[2]; + struct lsm_static_call file_fcntl[2]; + struct lsm_static_call file_set_fowner[2]; + struct lsm_static_call file_send_sigiotask[2]; + struct lsm_static_call file_receive[2]; + struct lsm_static_call file_open[2]; + struct lsm_static_call file_post_open[2]; + struct lsm_static_call file_truncate[2]; + struct lsm_static_call task_alloc[2]; + struct lsm_static_call task_free[2]; + struct lsm_static_call cred_alloc_blank[2]; + struct lsm_static_call cred_free[2]; + struct lsm_static_call cred_prepare[2]; + struct lsm_static_call cred_transfer[2]; + struct lsm_static_call cred_getsecid[2]; + struct lsm_static_call cred_getlsmprop[2]; + struct lsm_static_call kernel_act_as[2]; + struct lsm_static_call kernel_create_files_as[2]; + struct lsm_static_call kernel_module_request[2]; + struct lsm_static_call kernel_load_data[2]; + struct lsm_static_call kernel_post_load_data[2]; + struct lsm_static_call kernel_read_file[2]; + struct lsm_static_call kernel_post_read_file[2]; + struct lsm_static_call task_fix_setuid[2]; + struct lsm_static_call task_fix_setgid[2]; + struct lsm_static_call task_fix_setgroups[2]; + struct lsm_static_call task_setpgid[2]; + struct lsm_static_call task_getpgid[2]; + struct lsm_static_call task_getsid[2]; + struct lsm_static_call current_getlsmprop_subj[2]; + struct lsm_static_call task_getlsmprop_obj[2]; + struct lsm_static_call task_setnice[2]; + struct lsm_static_call task_setioprio[2]; + struct lsm_static_call task_getioprio[2]; + struct lsm_static_call task_prlimit[2]; + struct lsm_static_call task_setrlimit[2]; + struct lsm_static_call task_setscheduler[2]; + struct lsm_static_call task_getscheduler[2]; + struct lsm_static_call task_movememory[2]; + struct lsm_static_call task_kill[2]; + struct lsm_static_call task_prctl[2]; + struct lsm_static_call task_to_inode[2]; + struct lsm_static_call userns_create[2]; + struct lsm_static_call ipc_permission[2]; + struct lsm_static_call ipc_getlsmprop[2]; + struct lsm_static_call msg_msg_alloc_security[2]; + struct lsm_static_call msg_msg_free_security[2]; + struct lsm_static_call msg_queue_alloc_security[2]; + struct lsm_static_call msg_queue_free_security[2]; + struct lsm_static_call msg_queue_associate[2]; + struct lsm_static_call msg_queue_msgctl[2]; + struct lsm_static_call msg_queue_msgsnd[2]; + struct lsm_static_call msg_queue_msgrcv[2]; + struct lsm_static_call shm_alloc_security[2]; + struct lsm_static_call shm_free_security[2]; + struct lsm_static_call shm_associate[2]; + struct lsm_static_call shm_shmctl[2]; + struct lsm_static_call shm_shmat[2]; + struct lsm_static_call sem_alloc_security[2]; + struct lsm_static_call sem_free_security[2]; + struct lsm_static_call sem_associate[2]; + struct lsm_static_call sem_semctl[2]; + struct lsm_static_call sem_semop[2]; + struct lsm_static_call netlink_send[2]; + struct lsm_static_call d_instantiate[2]; + struct lsm_static_call getselfattr[2]; + struct lsm_static_call setselfattr[2]; + struct lsm_static_call getprocattr[2]; + struct lsm_static_call setprocattr[2]; + struct lsm_static_call ismaclabel[2]; + struct lsm_static_call secid_to_secctx[2]; + struct lsm_static_call lsmprop_to_secctx[2]; + struct lsm_static_call secctx_to_secid[2]; + struct lsm_static_call release_secctx[2]; + struct lsm_static_call inode_invalidate_secctx[2]; + struct lsm_static_call inode_notifysecctx[2]; + struct lsm_static_call inode_setsecctx[2]; + struct lsm_static_call inode_getsecctx[2]; + struct lsm_static_call bpf[2]; + struct lsm_static_call bpf_map[2]; + struct lsm_static_call bpf_prog[2]; + struct lsm_static_call bpf_map_create[2]; + struct lsm_static_call bpf_map_free[2]; + struct lsm_static_call bpf_prog_load[2]; + struct lsm_static_call bpf_prog_free[2]; + struct lsm_static_call bpf_token_create[2]; + struct lsm_static_call bpf_token_free[2]; + struct lsm_static_call bpf_token_cmd[2]; + struct lsm_static_call bpf_token_capable[2]; + struct lsm_static_call locked_down[2]; + struct lsm_static_call perf_event_open[2]; + struct lsm_static_call perf_event_alloc[2]; + struct lsm_static_call perf_event_read[2]; + struct lsm_static_call perf_event_write[2]; + struct lsm_static_call initramfs_populated[2]; + struct lsm_static_call bdev_alloc_security[2]; + struct lsm_static_call bdev_free_security[2]; + struct lsm_static_call bdev_setintegrity[2]; +}; + struct lwq { spinlock_t lock; struct llist_node *ready; @@ -36959,7 +37959,8 @@ struct mii_bus { struct mii_timestamper { bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_set)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_get)(struct mii_timestamper *, struct kernel_hwtstamp_config *); void (*link_state)(struct mii_timestamper *, struct phy_device *); int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; @@ -37050,6 +38051,8 @@ struct mlock_fbatch { struct folio_batch fbatch; }; +struct mm_mm_cid {}; + struct mm_reply_data { struct ethnl_reply_data base; struct ethtool_mm_state state; @@ -37104,6 +38107,7 @@ struct mm_struct { long unsigned int task_size; pgd_t *pgd; atomic_t mm_users; + struct mm_mm_cid mm_cid; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; @@ -37145,7 +38149,7 @@ struct mm_struct { struct work_struct async_put_work; long: 64; }; - long unsigned int cpu_bitmap[0]; + char flexible_array[0]; }; struct mm_struct__safe_rcu_or_null { @@ -37179,6 +38183,21 @@ struct mm_walk_ops { enum page_walk_lock walk_lock; }; +struct mmap_action { + union { + struct { + long unsigned int start; + long unsigned int start_pfn; + long unsigned int size; + pgprot_t pgprot; + } remap; + }; + enum mmap_action_type type; + int (*success_hook)(const struct vm_area_struct *); + int (*error_hook)(int); + bool hide_from_rmap_until_complete: 1; +}; + struct mmap_arg_struct { long unsigned int addr; long unsigned int len; @@ -37227,7 +38246,9 @@ struct mmap_state { struct vma_munmap_struct vms; struct ma_state mas_detach; struct maple_tree mt_detach; - bool check_ksm_early; + bool check_ksm_early: 1; + bool hold_file_rmap_lock: 1; + bool file_doesnt_need_get: 1; }; struct mmap_unlock_irq_work { @@ -37273,6 +38294,8 @@ struct mmu_gather { unsigned int vma_exec: 1; unsigned int vma_huge: 1; unsigned int vma_pfn: 1; + unsigned int unshared_tables: 1; + unsigned int fully_unshared_tables: 1; unsigned int batch_count; }; @@ -37338,6 +38361,7 @@ struct mnt_namespace { unsigned int nr_mounts; unsigned int pending_mounts; refcount_t passive; + bool is_anon; }; struct mnt_ns_info { @@ -37414,14 +38438,14 @@ struct module_memory { struct mod_tree_node mtn; }; -struct module_sect_attrs; - -struct module_notes_attrs; - typedef struct tracepoint * const tracepoint_ptr_t; struct module_attribute; +struct module_sect_attrs; + +struct module_notes_attrs; + struct trace_event_call; struct trace_eval_map; @@ -37438,6 +38462,7 @@ struct module { const struct kernel_symbol *syms; const u32 *crcs; unsigned int num_syms; + struct mutex param_lock; struct kernel_param *kp; unsigned int num_kp; unsigned int num_gpl_syms; @@ -37472,10 +38497,6 @@ struct module { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; - long: 64; struct module_memory mem[7]; struct mod_arch_specific arch; long unsigned int taints; @@ -37545,6 +38566,11 @@ struct module_attribute { void (*free)(struct module *); }; +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct param_attribute { struct module_attribute mattr; const struct kernel_param *param; @@ -37561,12 +38587,23 @@ struct module_reply_data { struct ethtool_module_power_mode_params power; }; +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct module_string { struct list_head next; struct module *module; char *str; }; +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + struct modules_array { struct module **mods; int mods_cnt; @@ -37659,11 +38696,49 @@ struct mq_sched { struct Qdisc **qdiscs; }; +struct phy_mse_capability { + u64 max_average_mse; + u64 max_peak_mse; + u64 refresh_rate_ps; + u64 num_symbols; + u32 supported_caps; +}; + +struct mse_snapshot_entry; + +struct mse_reply_data { + struct ethnl_reply_data base; + struct phy_mse_capability capability; + struct mse_snapshot_entry *snapshots; + unsigned int num_snapshots; +}; + +struct phy_mse_snapshot { + u64 average_mse; + u64 peak_mse; + u64 worst_peak_mse; +}; + +struct mse_snapshot_entry { + struct phy_mse_snapshot snapshot; + int channel; +}; + struct msg_buf { struct evbuf_header header; struct mdb mdb; }; +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + struct ubuf_info; struct msghdr { @@ -37741,6 +38816,7 @@ struct msi_desc { struct device *dev; struct msi_msg msg; struct irq_affinity_desc *affinity; + struct device_attribute *sysfs_attrs; void (*write_msi_msg)(struct msi_desc *, void *); void *write_msi_msg_data; u16 msi_index; @@ -37858,7 +38934,7 @@ struct napi_alloc_cache { local_lock_t bh_lock; struct page_frag_cache page; unsigned int skb_count; - void *skb_cache[64]; + void *skb_cache[128]; }; struct napi_config { @@ -38106,7 +39182,7 @@ struct neigh_table { atomic_t gc_entries; struct list_head gc_list; struct list_head managed_list; - rwlock_t lock; + spinlock_t lock; long unsigned int last_rand; struct neigh_statistics *stats; struct neigh_hash_table *nht; @@ -38166,9 +39242,11 @@ struct raw_notifier_head { struct netns_core { struct ctl_table_header *sysctl_hdr; int sysctl_somaxconn; + int sysctl_txq_reselection; int sysctl_optmem_max; u8 sysctl_txrehash; u8 sysctl_tstamp_allow_data; + u8 sysctl_bypass_prot_mem; }; struct tcp_mib; @@ -38223,14 +39301,15 @@ struct netns_ipv4 { u8 sysctl_ip_fwd_use_pmtu; __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_tcp_moderate_rcvbuf; u8 sysctl_ip_early_demux; u8 sysctl_tcp_early_demux; u8 sysctl_tcp_l3mdev_accept; int sysctl_tcp_reordering; int sysctl_tcp_rmem[3]; + int sysctl_tcp_rcvbuf_low_rtt; __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; long: 64; long: 64; @@ -38256,7 +39335,6 @@ struct netns_ipv4 { long: 64; long: 64; long: 64; - long: 64; struct inet_timewait_death_row tcp_death_row; struct udp_table *udp_table; struct ipv4_devconf *devconf_all; @@ -38279,6 +39357,7 @@ struct netns_ipv4 { u8 sysctl_icmp_echo_ignore_broadcasts; u8 sysctl_icmp_ignore_bogus_error_responses; u8 sysctl_icmp_errors_use_inbound_ifaddr; + u8 sysctl_icmp_errors_extension_mask; int sysctl_icmp_ratelimit; int sysctl_icmp_ratemask; int sysctl_icmp_msgs_per_sec; @@ -38352,6 +39431,7 @@ struct netns_ipv4 { int sysctl_tcp_pacing_ss_ratio; int sysctl_tcp_pacing_ca_ratio; unsigned int sysctl_tcp_child_ehash_entries; + int sysctl_tcp_comp_sack_rtt_percent; long unsigned int sysctl_tcp_comp_sack_delay_ns; long unsigned int sysctl_tcp_comp_sack_slack_ns; int sysctl_max_syn_backlog; @@ -38451,6 +39531,7 @@ struct netns_sysctl_ipv6 { u8 skip_notify_on_dev_down; u8 fib_notify_on_flag_change; u8 icmpv6_error_anycast_as_unicast; + u8 icmpv6_errors_extension_mask; }; struct rt6_statistics; @@ -38552,20 +39633,6 @@ struct net { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; struct netns_ipv4 ipv4; struct netns_ipv6 ipv6; struct net_generic *gen; @@ -38948,6 +40015,7 @@ struct net_device { struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; unsigned int promiscuity; unsigned int allmulti; bool uc_promisc; @@ -38958,6 +40026,7 @@ struct net_device { unsigned int xdp_zc_max_segs; struct netdev_queue *ingress_queue; unsigned char broadcast[32]; + struct cpu_rmap *rx_cpu_rmap; struct hlist_node index_hlist; unsigned int num_tx_queues; struct Qdisc *qdisc; @@ -39029,8 +40098,6 @@ struct net_device { long: 64; long: 64; long: 64; - long: 64; - long: 64; u8 priv[0]; }; @@ -39098,6 +40165,7 @@ struct net_device_ops { int (*ndo_set_vf_guid)(struct net_device *, int, u64, int); int (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool); int (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *); + int (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32); int (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *); int (*ndo_del_slave)(struct net_device *, struct net_device *); struct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool); @@ -39150,6 +40218,17 @@ struct net_device_path { __be16 proto; u8 h_dest[6]; } encap; + struct { + union { + struct in_addr src_v4; + struct in6_addr src_v6; + }; + union { + struct in_addr dst_v4; + struct in6_addr dst_v6; + }; + u8 l3_proto; + } tun; struct { enum { DEV_PATH_BR_VLAN_KEEP = 0, @@ -39261,6 +40340,8 @@ struct net_protocol { u32 secret; }; +struct rps_sock_flow_table; + struct skb_defer_node; struct net_hotdata { @@ -39278,12 +40359,15 @@ struct net_hotdata { struct kmem_cache *skbuff_cache; struct kmem_cache *skbuff_fclone_cache; struct kmem_cache *skb_small_head_cache; + struct rps_sock_flow_table *rps_sock_flow_table; + u32 rps_cpu_mask; struct skb_defer_node *skb_defer_nodes; int gro_normal_batch; int netdev_budget; int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; + int qdisc_max_burst; int dev_tx_weight; int dev_rx_weight; int sysctl_max_skb_frags; @@ -39513,6 +40597,8 @@ struct netdev_queue { netdevice_tracker dev_tracker; struct Qdisc *qdisc; struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; long unsigned int tx_maxrate; atomic_long_t trans_timeout; struct net_device *sb_dev; @@ -39533,15 +40619,7 @@ struct netdev_queue { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; + struct dql dql; spinlock_t _xmit_lock; int xmit_lock_owner; long unsigned int trans_start; @@ -39577,6 +40655,12 @@ struct netdev_queue { long: 64; }; +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + struct netdev_queue_mgmt_ops { size_t ndo_queue_mem_size; int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); @@ -39665,8 +40749,14 @@ struct pp_memory_provider_params { const struct memory_provider_ops *mp_ops; }; +struct rps_map; + +struct rps_dev_flow_table; + struct netdev_rx_queue { struct xdp_rxq_info xdp_rxq; + struct rps_map *rps_map; + struct rps_dev_flow_table *rps_flow_table; struct kobject kobj; const struct attribute_group **groups; struct net_device *dev; @@ -39690,8 +40780,6 @@ struct netdev_rx_queue { long: 64; long: 64; long: 64; - long: 64; - long: 64; }; struct netdev_stat_ops { @@ -40207,11 +41295,15 @@ struct ns_get_path_task_args { struct task_struct *task; }; -struct ns_tree { - struct rb_root ns_tree; - struct list_head ns_list; - seqlock_t ns_tree_lock; - int type; +struct ns_id_req { + __u32 size; + __u32 spare; + __u64 ns_id; + struct { + __u32 ns_type; + __u32 spare2; + __u64 user_ns_id; + }; }; struct nsfs_file_handle { @@ -40506,6 +41598,11 @@ struct osnoise_entry { unsigned int thread_count; }; +struct p2pdma_provider { + struct device *owner; + u64 bus_offset; +}; + struct packet_type { __be16 type; bool ignore_outgoing; @@ -40820,53 +41917,55 @@ struct pagetable_move_control { bool for_stack; }; -struct pai_userdata { - u16 num; - u64 value; -} __attribute__((packed)); +struct pai_userdata; + +struct paiext_cb; -struct paicrypt_map { - long unsigned int *page; +struct pai_map { + long unsigned int *area; struct pai_userdata *save; unsigned int active_events; refcount_t refcnt; struct perf_event *event; struct list_head syswide_list; + struct paiext_cb *paiext_cb; + bool fullpage; +}; + +struct pai_mapptr { + struct pai_map *mapptr; }; -struct paicrypt_mapptr { - struct paicrypt_map *mapptr; +struct pai_pmu { + const char *pmuname; + const int facility_nr; + unsigned int num_avail; + unsigned int num_named; + long unsigned int base; + long unsigned int kernel_offset; + long unsigned int area_size; + const char * const *names; + struct pmu *pmu; + int (*init)(struct pai_pmu *); + void (*exit)(struct pai_pmu *); + struct attribute_group *event_group; }; -struct paicrypt_root { +struct pai_root { refcount_t refcnt; - struct paicrypt_mapptr *mapptr; + struct pai_mapptr *mapptr; }; +struct pai_userdata { + u16 num; + u64 value; +} __attribute__((packed)); + struct paiext_cb { u64 header; u64 reserved1; u64 acc; - u8 reserved2[488]; -}; - -struct paiext_map { - long unsigned int *area; - struct pai_userdata *save; - unsigned int active_events; - refcount_t refcnt; - struct perf_event *event; - struct paiext_cb *paiext_cb; - struct list_head syswide_list; -}; - -struct paiext_mapptr { - struct paiext_map *mapptr; -}; - -struct paiext_root { - refcount_t refcnt; - struct paiext_mapptr *mapptr; + u8 reserved2[1000]; }; struct par_sctn { @@ -40919,9 +42018,8 @@ struct pause_req_info { }; struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; + struct p2pdma_provider *mem; enum pci_p2pdma_map_type map; - u64 bus_off; }; struct pcpu { @@ -41268,6 +42366,18 @@ struct perf_buffer { void *data_pages[0]; }; +struct unwind_stacktrace; + +struct perf_callchain_deferred_event { + struct unwind_stacktrace *trace; + struct { + struct perf_event_header header; + u64 cookie; + u64 nr; + u64 ips[0]; + } event; +}; + struct perf_callchain_entry { u64 nr; u64 ip[0]; @@ -41422,7 +42532,9 @@ struct perf_event_attr { __u64 inherit_thread: 1; __u64 remove_on_exec: 1; __u64 sigtrap: 1; - __u64 __reserved_1: 26; + __u64 defer_callchain: 1; + __u64 defer_output: 1; + __u64 __reserved_1: 24; union { __u32 wakeup_events; __u32 wakeup_watermark; @@ -41460,6 +42572,7 @@ struct perf_event_attr { }; __u64 sig_data; __u64 config3; + __u64 config4; }; typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); @@ -41538,6 +42651,7 @@ struct perf_event { struct trace_event_call *tp_event; struct event_filter *filter; struct ftrace_ops ftrace_ops; + void *security; struct list_head sb_list; struct list_head pmu_list; u32 orig_type; @@ -41970,6 +43084,12 @@ struct phylink; struct pse_control; +struct phy_oatc14_sqi_capability { + bool updated; + int sqi_max; + u8 sqiplus_bits; +}; + struct phy_driver; struct phy_device { @@ -41996,6 +43116,8 @@ struct phy_device { unsigned int autoneg: 1; unsigned int link: 1; unsigned int autoneg_complete: 1; + bool pause: 1; + bool asym_pause: 1; unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; @@ -42008,8 +43130,6 @@ struct phy_device { int speed; int duplex; int port; - int pause; - int asym_pause; u8 master_slave_get; u8 master_slave_set; u8 master_slave_state; @@ -42044,6 +43164,7 @@ struct phy_device { unsigned int link_down_events; void (*phy_link_change)(struct phy_device *, bool); void (*adjust_link)(struct net_device *); + struct phy_oatc14_sqi_capability oatc14_sqi_capability; }; struct phy_device_node { @@ -42103,6 +43224,8 @@ struct phy_driver { int (*set_loopback)(struct phy_device *, bool, int); int (*get_sqi)(struct phy_device *); int (*get_sqi_max)(struct phy_device *); + int (*get_mse_capability)(struct phy_device *, struct phy_mse_capability *); + int (*get_mse_snapshot)(struct phy_device *, enum phy_mse_channel, struct phy_mse_snapshot *); int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); @@ -42246,22 +43369,22 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; + struct { + __u32 coredump_mask; + __u32 coredump_signal; + }; + __u64 supported_mask; }; -struct simple_xattrs; - struct pidfs_attr { + long unsigned int attr_mask; struct simple_xattrs *xattrs; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; + struct { + __u64 cgroupid; + __s32 exit_code; + }; + __u32 coredump_mask; + __u32 coredump_signal; }; struct ping_table { @@ -42321,13 +43444,7 @@ struct pipe_inode_info { struct mutex mutex; wait_queue_head_t rd_wait; wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; + union pipe_index; unsigned int max_usage; unsigned int ring_size; unsigned int nr_accounted; @@ -42880,8 +43997,6 @@ struct property_entry { }; }; -struct smc_hashinfo; - struct proto_accept_arg; struct sk_psock; @@ -42890,10 +44005,12 @@ struct timewait_sock_ops; struct raw_hashinfo; +struct smc_hashinfo; + struct proto { void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); + int (*pre_connect)(struct sock *, struct sockaddr_unsized *, int); + int (*connect)(struct sock *, struct sockaddr_unsized *, int); int (*disconnect)(struct sock *, int); struct sock * (*accept)(struct sock *, struct proto_accept_arg *); int (*ioctl)(struct sock *, int, int *); @@ -42906,8 +44023,8 @@ struct proto { int (*sendmsg)(struct sock *, struct msghdr *, size_t); int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*bind)(struct sock *, struct sockaddr_unsized *, int); + int (*bind_add)(struct sock *, struct sockaddr_unsized *, int); int (*backlog_rcv)(struct sock *, struct sk_buff *); bool (*bpf_bypass_getsockopt)(int, int); void (*release_cb)(struct sock *); @@ -42967,8 +44084,8 @@ struct proto_ops { int family; struct module *owner; int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*bind)(struct socket *, struct sockaddr_unsized *, int); + int (*connect)(struct socket *, struct sockaddr_unsized *, int, int); int (*socketpair)(struct socket *, struct socket *); int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); int (*getname)(struct socket *, struct sockaddr *, int); @@ -43028,6 +44145,7 @@ struct pseudo_fs_context { const struct xattr_handler * const *xattr; const struct dentry_operations *dops; long unsigned int magic; + unsigned int s_d_flags; }; struct psw_bits { @@ -43263,7 +44381,7 @@ struct queue_limits { unsigned int max_sectors; unsigned int max_user_sectors; unsigned int max_segment_size; - unsigned int min_segment_size; + unsigned int max_fast_segment_size; unsigned int physical_block_size; unsigned int logical_block_size; unsigned int alignment_offset; @@ -43420,9 +44538,7 @@ struct raw6_sock { __u32 offset; struct icmp6_filter filter; __u32 ip6mr_table; - long: 64; - long: 64; - long: 64; + long: 0; struct numa_drop_counters drop_counters; struct ipv6_pinfo inet6; long: 64; @@ -43440,6 +44556,7 @@ struct raw6_sock { long: 64; long: 64; long: 64; + long: 64; }; struct raw_data_entry { @@ -43502,9 +44619,6 @@ struct raw_sock { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; struct numa_drop_counters drop_counters; }; @@ -44641,7 +45755,7 @@ struct renamedata { struct dentry *old_dentry; struct dentry *new_parent; struct dentry *new_dentry; - struct inode **delegated_inode; + struct delegated_inode *delegated_inode; unsigned int flags; }; @@ -44651,6 +45765,8 @@ struct blk_mq_ops; struct blk_mq_ctx; +struct blk_mq_hw_ctx; + struct blk_queue_stats; struct rq_qos; @@ -44671,7 +45787,7 @@ struct request_queue { unsigned int queue_depth; refcount_t refs; unsigned int nr_hw_queues; - struct xarray hctx_table; + struct blk_mq_hw_ctx **queue_hw_ctx; struct percpu_ref q_usage_counter; struct lock_class_key io_lock_cls_key; struct lockdep_map io_lockdep_map; @@ -44729,7 +45845,6 @@ struct request_sock_ops { void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); }; struct reserve_mem_table { @@ -44775,7 +45890,7 @@ struct restart_block { u32 val; u32 flags; u32 bitset; - u64 time; + ktime_t time; u32 *uaddr2; } futex; struct { @@ -44785,7 +45900,7 @@ struct restart_block { struct __kernel_timespec *rmtp; struct old_timespec32 *compat_rmtp; }; - u64 expires; + ktime_t expires; } nanosleep; struct { struct pollfd *ufds; @@ -44859,8 +45974,6 @@ struct rhashtable_walker { struct bucket_table *tbl; }; -struct rhlist_head; - struct rhashtable_iter { struct rhashtable *ht; struct rhash_head *p; @@ -44871,11 +45984,6 @@ struct rhashtable_iter { bool end_of_table; }; -struct rhlist_head { - struct rhash_head rhead; - struct rhlist_head *next; -}; - struct rhltable { struct rhashtable ht; }; @@ -45031,6 +46139,60 @@ struct root_domain { struct perf_domain *pd; }; +struct rps_dev_flow { + u16 cpu; + u16 filter; + unsigned int last_qtail; + u32 hash; +}; + +struct rps_dev_flow_table { + u8 log; + struct callback_head rcu; + struct rps_dev_flow flows[0]; +}; + +struct rps_map { + unsigned int len; + struct callback_head rcu; + u16 cpus[0]; +}; + +struct rps_sock_flow_table { + struct callback_head rcu; + u32 mask; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u32 ents[0]; +}; + struct rt_prio_array { long unsigned int bitmap[2]; struct list_head queue[100]; @@ -45051,7 +46213,7 @@ struct rt_rq { struct sched_dl_entity; -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *, struct rq_flags *); struct sched_dl_entity { struct rb_node rb_node; @@ -45072,6 +46234,7 @@ struct sched_dl_entity { unsigned int dl_defer: 1; unsigned int dl_defer_armed: 1; unsigned int dl_defer_running: 1; + unsigned int dl_defer_idle: 1; struct hrtimer dl_timer; struct hrtimer inactive_timer; struct rq *rq; @@ -45080,6 +46243,7 @@ struct sched_dl_entity { struct rq { raw_spinlock_t __lock; + unsigned int queue_mask; unsigned int nr_running; unsigned int ttwu_pending; u64 nr_switches; @@ -45235,6 +46399,8 @@ struct rs_msg { __u8 opt[0]; }; +struct rseq_data {}; + struct rss_nl_dump_ctx { long unsigned int ifindex; long unsigned int ctx_idx; @@ -45474,6 +46640,7 @@ struct srcu_usage; struct srcu_struct { struct srcu_ctr *srcu_ctrp; struct srcu_data *sda; + u8 srcu_reader_flavor; struct lockdep_map dep_map; struct srcu_usage *srcu_sup; }; @@ -45722,6 +46889,10 @@ struct rusage { __kernel_long_t ru_nivcsw; }; +typedef struct rw_semaphore *class_rwsem_read_t; + +typedef struct rw_semaphore *class_rwsem_write_t; + struct rwsem_waiter { struct list_head list; struct task_struct *task; @@ -45730,6 +46901,12 @@ struct rwsem_waiter { bool handoff_set; }; +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + struct s390_cpu_feature { unsigned int type: 4; unsigned int num: 28; @@ -45895,15 +47072,28 @@ struct sched_attr { __u32 sched_util_max; }; +struct sched_change_ctx; + +typedef struct sched_change_ctx *class_sched_change_t; + +struct sched_change_ctx { + u64 prio; + struct task_struct *p; + int flags; + bool queued; + bool running; +}; + struct sched_class { + unsigned int queue_mask; void (*enqueue_task)(struct rq *, struct task_struct *, int); bool (*dequeue_task)(struct rq *, struct task_struct *, int); void (*yield_task)(struct rq *); bool (*yield_to_task)(struct rq *, struct task_struct *); void (*wakeup_preempt)(struct rq *, struct task_struct *, int); int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + struct task_struct * (*pick_task)(struct rq *, struct rq_flags *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *, struct rq_flags *); void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); void (*set_next_task)(struct rq *, struct task_struct *, bool); int (*select_task_rq)(struct task_struct *, int, int); @@ -45916,11 +47106,13 @@ struct sched_class { void (*task_tick)(struct rq *, struct task_struct *, int); void (*task_fork)(struct task_struct *); void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); + void (*switching_from)(struct rq *, struct task_struct *); void (*switched_from)(struct rq *, struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); void (*switched_to)(struct rq *, struct task_struct *); + u64 (*get_prio)(struct rq *, struct task_struct *); + void (*prio_changed)(struct rq *, struct task_struct *, u64); void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); void (*update_curr)(struct rq *); }; @@ -45945,6 +47137,9 @@ struct sched_domain { long unsigned int last_balance; unsigned int balance_interval; unsigned int nr_balance_failed; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; u64 max_newidle_lb_cost; long unsigned int last_decay_max_lb_cost; char *name; @@ -46053,6 +47248,8 @@ struct sched_group_capacity { struct sched_info {}; +struct sched_mm_cid {}; + struct sched_param { int sched_priority; }; @@ -46826,6 +48023,15 @@ struct sd_flag_debug { char *name; }; +struct sd_flow_limit { + struct callback_head rcu; + unsigned int count; + u8 log_buckets; + unsigned int history_head; + u16 history[128]; + u8 buckets[0]; +}; + struct sg_lb_stats { long unsigned int avg_load; long unsigned int group_load; @@ -46884,6 +48090,214 @@ struct seccomp_data { __u64 args[6]; }; +struct timezone; + +struct xattr; + +struct sembuf; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, const struct qstr *, const struct cred *, struct cred *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, u64); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); + void *lsm_func_addr; +}; + +struct security_hook_list { + struct lsm_static_call *scalls; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + struct seg6_pernet_data { struct mutex lock; struct in6_addr *tun_src; @@ -46910,6 +48324,12 @@ struct semaphore_waiter { bool up; }; +struct sembuf { + short unsigned int sem_num; + short int sem_op; + short int sem_flg; +}; + struct send_signal_irq_work { struct irq_work irq_work; struct task_struct *task; @@ -47205,11 +48625,6 @@ struct simple_xattr { char value[0]; }; -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - struct sit_net { struct ip_tunnel *tunnels_r_l[16]; struct ip_tunnel *tunnels_r[16]; @@ -47410,20 +48825,7 @@ struct slab { void *flush_freelist; }; }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - freelist_aba_t freelist_counter; - }; + struct freelist_counters; }; struct callback_head callback_head; }; @@ -47436,7 +48838,10 @@ struct slab_sheaf { union { struct callback_head callback_head; struct list_head barn_list; - unsigned int capacity; + struct { + unsigned int capacity; + bool pfmemalloc; + }; }; struct kmem_cache *cache; unsigned int size; @@ -47457,6 +48862,11 @@ struct slub_percpu_sheaves { struct slab_sheaf *rcu_free; }; +struct smc_hashinfo { + rwlock_t lock; + struct hlist_head ht; +}; + struct smp_call_on_cpu_struct { struct work_struct work; struct completion done; @@ -47609,6 +49019,11 @@ struct sockaddr_un { char sun_path[108]; }; +struct sockaddr_unsized { + __kernel_sa_family_t sa_family; + char sa_data[0]; +}; + struct socket_wq { wait_queue_head_t wait; struct fasync_struct *fasync_list; @@ -47711,7 +49126,6 @@ struct socket_alloc { long: 64; long: 64; long: 64; - long: 64; }; struct sockmap_link { @@ -47729,13 +49143,97 @@ struct softnet_data { local_lock_t process_queue_bh_lock; unsigned int processed; unsigned int time_squeeze; + struct softnet_data *rps_ipi_list; unsigned int received_rps; bool in_net_rx_action; bool in_napi_threaded_poll; + struct sd_flow_limit *flow_limit; struct Qdisc *output_queue; struct Qdisc **output_queue_tailp; struct sk_buff *completion_queue; struct netdev_xmit xmit; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + unsigned int input_queue_head; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + call_single_data_t csd; + struct softnet_data *rps_ipi_next; + unsigned int cpu; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long int pad[3]; + unsigned int input_queue_tail; struct sk_buff_head input_pkt_queue; struct napi_struct backlog; long: 64; @@ -47758,6 +49256,13 @@ struct softnet_data { long: 64; long: 64; long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; struct numa_drop_counters drop_counters; int defer_ipi_scheduled; long: 64; @@ -47797,7 +49302,8 @@ struct software_node { }; struct software_node_ref_args { - const struct software_node *node; + const struct software_node *swnode; + struct fwnode_handle *fwnode; unsigned int nargs; u64 args[16]; }; @@ -47904,6 +49410,8 @@ struct srcu_data { struct timer_list delay_work; struct work_struct work; struct callback_head srcu_barrier_head; + struct callback_head srcu_ec_head; + int srcu_ec_state; struct srcu_node *mynode; long unsigned int grpmask; int cpu; @@ -47935,9 +49443,6 @@ struct srcu_data { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; }; struct srcu_node { @@ -47983,6 +49488,13 @@ struct srcu_notifier_head { struct notifier_block *head; }; +struct ss_tmp { + enum ss_state state; + long unsigned int data; + spinlock_t *lock; + spinlock_t *lock_irqsave; +}; + struct stack_entry { struct trace_entry ent; int size; @@ -48366,6 +49878,8 @@ struct subsys_private { struct lock_class_key lock_key; }; +typedef struct super_block *class_super_write_t; + struct mtd_info; struct super_block { @@ -48386,6 +49900,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_t s_active; + void *s_security; const struct xattr_handler * const *s_xattr; struct hlist_bl_head s_roots; struct mount *s_mounts; @@ -48433,12 +49948,11 @@ struct super_block { long: 64; long: 64; long: 64; - long: 64; spinlock_t s_inode_list_lock; struct list_head s_inodes; spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; - long: 64; + long int s_min_writeback_pages; long: 64; long: 64; long: 64; @@ -48536,7 +50050,7 @@ struct swap_info_struct { struct work_struct discard_work; struct work_struct reclaim_work; struct list_head discard_clusters; - struct plist_node avail_lists[0]; + struct plist_node avail_list; }; struct swap_insn_args { @@ -48584,11 +50098,6 @@ struct symsearch { enum mod_license license; }; -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - struct sys_off_data { int mode; void *cb_data; @@ -48606,6 +50115,12 @@ struct sys_off_handler { struct device *dev; }; +struct syscall_args { + char *ptr_array[3]; + int read[3]; + int uargs; +}; + struct syscall_info { __u64 sp; struct seccomp_data data; @@ -48614,7 +50129,10 @@ struct syscall_info { struct syscall_metadata { const char *name; int syscall_nr; - int nb_args; + u8 nb_args: 7; + u8 user_arg_is_str: 1; + s8 user_arg_size; + short int user_mask; const char **types; const char **args; struct list_head enter_fields; @@ -48646,6 +50164,19 @@ struct syscall_trace_exit { long int ret; }; +struct trace_user_buf; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + size_t size; + int ref; +}; + +struct syscall_user_buffer { + struct trace_user_buf_info buf; + struct callback_head rcu; +}; + struct syscall_user_dispatch { char *selector; long unsigned int offset; @@ -48653,11 +50184,18 @@ struct syscall_user_dispatch { bool on_dispatch; }; -struct syscore_ops { +struct syscore_ops; + +struct syscore { struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); + const struct syscore_ops *ops; + void *data; +}; + +struct syscore_ops { + int (*suspend)(void *); + void (*resume)(void *); + void (*shutdown)(void *); }; struct sysfs_ops { @@ -48817,7 +50355,6 @@ struct system_time_snapshot { struct taint_flag { char c_true; char c_false; - bool module; const char *desc; }; @@ -48850,8 +50387,6 @@ struct wake_q_node { struct tlbflush_unmap_batch {}; -typedef long int (*sys_call_ptr_t)(struct pt_regs *); - union teid { long unsigned int val; struct { @@ -48874,7 +50409,6 @@ struct thread_struct { long unsigned int system_timer; long unsigned int hardirq_timer; long unsigned int softirq_timer; - const sys_call_ptr_t *sys_call_table; union teid gmap_teid; unsigned int gmap_int_code; int ufpu_flags; @@ -49072,6 +50606,8 @@ struct task_struct { struct mutex perf_event_mutex; struct list_head perf_event_list; struct perf_ctx_data *perf_ctx_data; + struct rseq_data rseq; + struct sched_mm_cid mm_cid; struct tlbflush_unmap_batch tlb_ubc; struct pipe_inode_info *splice_pipe; struct page_frag task_frag; @@ -49097,6 +50633,7 @@ struct task_struct { struct timer_list oom_reaper_timer; struct vm_struct *stack_vm_area; refcount_t stack_refcount; + void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; struct bpf_net_context *bpf_net_context; @@ -49172,9 +50709,6 @@ struct tc_skb_cb { u32 drop_reason; u16 zone; u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; }; struct tccb_tcah { @@ -49411,9 +50945,6 @@ struct tcp_sock { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; u32 segs_out; u32 data_segs_out; @@ -49579,6 +51110,7 @@ struct tcp6_sock { long: 64; long: 64; long: 64; + long: 64; }; union tcp_ao_addr { @@ -50305,6 +51837,7 @@ struct tls_context { u8 rx_conf: 3; u8 zerocopy_sendfile: 1; u8 rx_no_pad: 1; + u16 tx_max_payload_len; int (*push_pending_record)(struct sock *, int); void (*sk_write_space)(struct sock *); void *priv_ctx_tx; @@ -50451,6 +51984,8 @@ struct trace_module_delta; struct trace_pid_list; +struct tracer_flags; + struct trace_options; struct trace_func_repeats; @@ -50473,8 +52008,8 @@ struct trace_array { arch_spinlock_t max_lock; int sys_refcount_enter; int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[470]; - struct trace_event_file *exit_syscall_files[470]; + struct trace_event_file *enter_syscall_files[471]; + struct trace_event_file *exit_syscall_files[471]; int stop_count; int clock_id; int nr_topts; @@ -50482,8 +52017,9 @@ struct trace_array { int buffer_percent; unsigned int n_err_log_entries; struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; + struct tracer_flags *current_trace_flags; + u64 trace_flags; + unsigned char trace_flags_index[64]; unsigned int flags; raw_spinlock_t start_lock; const char *system_names; @@ -50496,6 +52032,7 @@ struct trace_array { struct list_head systems; struct list_head events; struct list_head marker_list; + struct list_head tracers; struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; cpumask_var_t pipe_cpumask; @@ -50511,6 +52048,7 @@ struct trace_array { struct list_head mod_notrace; int function_enabled; int no_filter_buffering_ref; + unsigned int syscall_buf_sz; struct list_head hist_vars; struct trace_func_repeats *last_func_repeats; bool ring_buffer_expanded; @@ -51653,6 +53191,9 @@ struct trace_event_raw_dma_map { struct trace_event_raw_dma_map_sg { struct trace_entry ent; u32 __data_loc_device; + int full_nents; + int full_ents; + bool truncated; u32 __data_loc_phys_addrs; u32 __data_loc_dma_addrs; u32 __data_loc_lengths; @@ -52523,6 +54064,7 @@ struct trace_event_raw_net_dev_rx_verbose_template { unsigned char nr_frags; u16 gso_size; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -52545,6 +54087,7 @@ struct trace_event_raw_net_dev_start_xmit { u16 gso_size; u16 gso_segs; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -52553,6 +54096,7 @@ struct trace_event_raw_net_dev_template { void *skbaddr; unsigned int len; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -52562,6 +54106,7 @@ struct trace_event_raw_net_dev_xmit { unsigned int len; int rc; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -52570,6 +54115,7 @@ struct trace_event_raw_net_dev_xmit_timeout { u32 __data_loc_name; u32 __data_loc_driver; int queue_index; + u64 net_cookie; char __data[0]; }; @@ -53756,8 +55302,6 @@ struct trace_module_delta { struct tracer_opt; -struct tracer_flags; - struct trace_option_dentry { struct tracer_opt *opt; struct tracer_flags *flags; @@ -53773,6 +55317,7 @@ struct trace_options { union upper_chunk; struct trace_pid_list { + seqcount_raw_spinlock_t seqcount; raw_spinlock_t lock; struct irq_work refill_irqwork; union upper_chunk *upper[256]; @@ -53841,11 +55386,6 @@ struct trace_user_buf { char *buf; }; -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - struct tracefs_dir_ops { int (*mkdir)(const char *); int (*rmdir)(const char *); @@ -53922,9 +55462,10 @@ struct tracer { void (*print_header)(struct seq_file *); enum print_line_t (*print_line)(struct trace_iterator *); int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); + int (*flag_changed)(struct trace_array *, u64, int); struct tracer *next; struct tracer_flags *flags; + struct tracer_flags *default_flags; int enabled; bool print_max; bool allow_instances; @@ -53954,6 +55495,12 @@ struct tracer_stat { int (*stat_headers)(struct seq_file *); }; +struct tracers { + struct list_head list; + struct tracer *tracer; + struct tracer_flags *flags; +}; + struct tracing_log_err { struct list_head list; struct err_info info; @@ -54352,9 +55899,6 @@ struct udp_sock { long: 64; long: 64; long: 64; - long: 64; - long: 64; - long: 64; struct sk_buff_head reader_queue; int forward_deficit; int forward_threshold; @@ -54406,6 +55950,7 @@ struct udp6_sock { long: 64; long: 64; long: 64; + long: 64; }; struct udp_dev_scratch { @@ -54582,8 +56127,6 @@ struct unix_sock { long: 64; long: 64; long: 64; - long: 64; - long: 64; struct socket_wq peer_wq; wait_queue_entry_t peer_wake; struct scm_stat scm_stat; @@ -54620,6 +56163,11 @@ struct unlink_vma_file_batch { struct vm_area_struct *vmas[8]; }; +struct unwind_stacktrace { + unsigned int nr; + long unsigned int *entries; +}; + struct unwind_state { struct stack_info stack_info; long unsigned int stack_mask; @@ -54633,6 +56181,16 @@ struct unwind_state { bool error; }; +struct unwind_work; + +typedef void (*unwind_callback_t)(struct unwind_work *, struct unwind_stacktrace *, u64); + +struct unwind_work { + struct list_head list; + unwind_callback_t func; + int bit; +}; + union upper_chunk { union upper_chunk *next; union lower_chunk *data[256]; @@ -54994,10 +56552,14 @@ struct vm_area_desc { long unsigned int end; long unsigned int pgoff; struct file *vm_file; - vm_flags_t vm_flags; + union { + vm_flags_t vm_flags; + vma_flags_t vma_flags; + }; pgprot_t page_prot; const struct vm_operations_struct *vm_ops; void *private_data; + struct mmap_action action; }; struct vm_userfaultfd_ctx {}; @@ -55014,7 +56576,7 @@ struct vm_area_struct { pgprot_t vm_page_prot; union { const vm_flags_t vm_flags; - vm_flags_t __vm_flags; + vma_flags_t flags; }; unsigned int vm_lock_seq; struct list_head anon_vma_chain; @@ -55077,6 +56639,11 @@ struct vm_area_struct { long: 64; }; +struct vm_area_struct__safe_trusted_or_null { + struct mm_struct *vm_mm; + struct file *vm_file; +}; + struct vm_fault { const struct { struct vm_area_struct *vma; @@ -55135,10 +56702,13 @@ struct vm_stack { struct vm_struct *stack_vm_area; }; -typedef struct vm_struct *pcp_op_T_____10; +typedef struct vm_struct *pcp_op_T_____11; struct vm_struct { - struct vm_struct *next; + union { + struct vm_struct *next; + struct llist_node llnode; + }; void *addr; long unsigned int size; long unsigned int flags; @@ -55182,6 +56752,7 @@ struct vma_merge_struct { struct vm_userfaultfd_ctx uffd_ctx; struct anon_vma_name *anon_name; enum vma_merge_state state; + struct vm_area_struct *copied_from; bool just_expand: 1; bool give_up_on_oom: 1; bool skip_vma_uprobe: 1; @@ -55349,6 +56920,8 @@ struct warn_args { struct wb_completion { atomic_t cnt; wait_queue_head_t *waitq; + long unsigned int progress_stamp; + long unsigned int wait_start; }; struct wb_domain { @@ -55463,6 +57036,8 @@ struct workqueue_attrs { struct wq_flusher; +struct wq_device; + struct wq_node_nr_active; struct workqueue_struct { @@ -55484,11 +57059,11 @@ struct workqueue_struct { int saved_min_active; struct workqueue_attrs *unbound_attrs; struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; char name[32]; struct callback_head rcu; long: 64; long: 64; - long: 64; unsigned int flags; struct pool_workqueue **cpu_pwq; struct wq_node_nr_active *node_nr_active[0]; @@ -55530,6 +57105,11 @@ struct wq_barrier { struct task_struct *task; }; +struct wq_device { + struct workqueue_struct *wq; + struct device dev; +}; + struct wq_drain_dead_softirq_work { struct work_struct work; struct worker_pool *pool; @@ -55656,6 +57236,12 @@ struct xa_state { struct list_lru *xa_lru; }; +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + struct xattr_args { __u64 value; __u32 size; @@ -55773,8 +57359,6 @@ struct xdp_sock { long: 64; long: 64; long: 64; - long: 64; - long: 64; struct xsk_queue *rx; struct net_device *dev; struct xdp_umem *umem; @@ -56279,7 +57863,8 @@ struct xsk_buff_pool { bool unaligned; bool tx_sw_csum; void *addrs; - spinlock_t cq_lock; + spinlock_t cq_prod_lock; + spinlock_t cq_cached_prod_lock; struct xdp_buff_xsk *free_heads[0]; long: 64; long: 64; @@ -56337,6 +57922,8 @@ typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_r typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); @@ -56353,13 +57940,13 @@ typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); typedef u64 (*btf_bpf_d_path)(const struct path *, char *, u32); -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u64, u64, struct bpf_dynptr_kern *); -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); +typedef u64 (*btf_bpf_dynptr_read)(void *, u64, const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u64, void *, u64, u64); typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); @@ -56369,6 +57956,8 @@ typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); @@ -56459,6 +58048,14 @@ typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + typedef u64 (*btf_bpf_jiffies64)(void); typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); @@ -56691,6 +58288,10 @@ typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, stru typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); +typedef u64 (*btf_bpf_sock_create_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_create_setsockopt)(struct sock *, int, int, char *, int); + typedef u64 (*btf_bpf_sock_from_file)(struct file *); typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); @@ -57509,8 +59110,6 @@ typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const typedef initcall_t initcall_entry_t; -struct xattr; - typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); @@ -57583,10 +59182,14 @@ typedef bool (*stack_trace_consume_fn)(void *, long unsigned int); typedef void (*swap_r_func_t)(void *, void *, int, const void *); +typedef long int (*sys_call_ptr_t)(struct pt_regs *); + typedef int (*task_call_f)(struct task_struct *, void *); typedef void (*task_work_func_t)(struct callback_head *); +typedef int (*trace_user_buf_copy)(char *, const char *, size_t, void *); + typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); typedef int (*uprobe_write_verify_t)(struct page *, long unsigned int, uprobe_opcode_t *, int, void *); @@ -57601,6 +59204,10 @@ struct hypfs_diag0c_entry; typedef void *acpi_handle; +typedef void *class_user_read_access_t; + +typedef void *class_user_write_access_t; + struct acpi_device; struct audit_buffer; @@ -57627,12 +59234,12 @@ extern void __attribute__((address_space(1))) *bpf_arena_alloc_pages(void *p__ma extern void bpf_arena_free_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern int bpf_arena_reserve_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; -extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, struct task_struct *tsk, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; extern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; @@ -57659,20 +59266,25 @@ extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) _ extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; -extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym; +extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u64 start, u64 end) __weak __ksym; extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; -extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u32 dst_off, struct bpf_dynptr *src_ptr, u32 src_off, u32 size) __weak __ksym; +extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u64 dst_off, struct bpf_dynptr *src_ptr, u64 src_off, u64 size) __weak __ksym; +extern int bpf_dynptr_file_discard(struct bpf_dynptr *dynptr) __weak __ksym; +extern int bpf_dynptr_from_file(struct file *file, u32 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb_meta(struct __sk_buff *skb_, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym; extern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym; -extern int bpf_dynptr_memset(struct bpf_dynptr *p, u32 offset, u32 size, u8 val) __weak __ksym; -extern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; -extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; -extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; +extern int bpf_dynptr_memset(struct bpf_dynptr *p, u64 offset, u64 size, u8 val) __weak __ksym; +extern u64 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; +extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; +extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; extern int bpf_fentry_test1(int a) __weak __ksym; +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; extern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; extern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym; extern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym; @@ -57704,14 +59316,16 @@ extern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, c extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; extern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; +extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __weak __ksym; extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; extern void bpf_preempt_disable(void) __weak __ksym; extern void bpf_preempt_enable(void) __weak __ksym; -extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; extern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_left(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym; @@ -57722,6 +59336,7 @@ extern void bpf_rcu_read_lock(void) __weak __ksym; extern void bpf_rcu_read_unlock(void) __weak __ksym; extern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_remove_dentry_xattr(struct dentry *dentry, const char *name__str) __weak __ksym; extern int bpf_res_spin_lock(struct bpf_res_spin_lock *lock) __weak __ksym; extern int bpf_res_spin_lock_irqsave(struct bpf_res_spin_lock *lock, long unsigned int *flags__irq_flag) __weak __ksym; extern void bpf_res_spin_unlock(struct bpf_res_spin_lock *lock) __weak __ksym; @@ -57729,17 +59344,20 @@ extern void bpf_res_spin_unlock_irqrestore(struct bpf_res_spin_lock *lock, long extern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym; extern __u64 *bpf_session_cookie(void) __weak __ksym; extern bool bpf_session_is_return(void) __weak __ksym; +extern int bpf_set_dentry_xattr(struct dentry *dentry, const char *name__str, const struct bpf_dynptr *value_p, int flags) __weak __ksym; extern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym; extern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym; extern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym; extern int bpf_sock_ops_enable_tx_tstamp(struct bpf_sock_ops_kern *skops, u64 flags) __weak __ksym; extern int bpf_strcasecmp(const char *s1__ign, const char *s2__ign) __weak __ksym; +extern int bpf_strcasestr(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strchr(const char *s__ign, char c) __weak __ksym; extern int bpf_strchrnul(const char *s__ign, char c) __weak __ksym; extern int bpf_strcmp(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strcspn(const char *s__ign, const char *reject__ign) __weak __ksym; extern int bpf_stream_vprintk_impl(int stream_id, const char *fmt__str, const void *args, u32 len__sz, void *aux__prog) __weak __ksym; extern int bpf_strlen(const char *s__ign) __weak __ksym; +extern int bpf_strncasestr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; extern int bpf_strnchr(const char *s__ign, size_t count, char c) __weak __ksym; extern int bpf_strnlen(const char *s__ign, size_t count) __weak __ksym; extern int bpf_strnstr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; diff --git a/include/x86/vmlinux.h b/include/x86/vmlinux.h index be73697..9ed9bfb 120000 --- a/include/x86/vmlinux.h +++ b/include/x86/vmlinux.h @@ -1 +1 @@ -vmlinux_6.18.h \ No newline at end of file +vmlinux_6.19.h \ No newline at end of file diff --git a/include/x86/vmlinux_6.18.h b/include/x86/vmlinux_6.19.h similarity index 95% rename from include/x86/vmlinux_6.18.h rename to include/x86/vmlinux_6.19.h index 018cf4d..8575fe1 100644 --- a/include/x86/vmlinux_6.18.h +++ b/include/x86/vmlinux_6.19.h @@ -107,6 +107,10 @@ enum { BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, }; +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + enum { BPF_F_GET_BRANCH_RECORDS_SIZE = 1, }; @@ -157,6 +161,7 @@ enum { BPF_F_TOKEN_FD = 65536, BPF_F_SEGV_ON_FAULT = 131072, BPF_F_NO_USER_CONV = 262144, + BPF_F_RB_OVERWRITE = 524288, }; enum { @@ -226,6 +231,7 @@ enum { BPF_RB_RING_SIZE = 1, BPF_RB_CONS_POS = 2, BPF_RB_PROD_POS = 3, + BPF_RB_OVERWRITE_POS = 4, }; enum { @@ -605,24 +611,6 @@ enum { KEEP_EXPLORING = 1, }; -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - enum { DUMP_PREFIX_NONE = 0, DUMP_PREFIX_ADDRESS = 1, @@ -1054,6 +1042,36 @@ enum { ETHTOOL_A_MODULE_MAX = 3, }; +enum { + ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE = 2, + ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS = 3, + ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS = 4, + __ETHTOOL_A_MSE_CAPABILITIES_CNT = 5, + ETHTOOL_A_MSE_CAPABILITIES_MAX = 4, +}; + +enum { + ETHTOOL_A_MSE_HEADER = 1, + ETHTOOL_A_MSE_CAPABILITIES = 2, + ETHTOOL_A_MSE_CHANNEL_A = 3, + ETHTOOL_A_MSE_CHANNEL_B = 4, + ETHTOOL_A_MSE_CHANNEL_C = 5, + ETHTOOL_A_MSE_CHANNEL_D = 6, + ETHTOOL_A_MSE_WORST_CHANNEL = 7, + ETHTOOL_A_MSE_LINK = 8, + __ETHTOOL_A_MSE_CNT = 9, + ETHTOOL_A_MSE_MAX = 8, +}; + +enum { + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1, + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE = 2, + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE = 3, + __ETHTOOL_A_MSE_SNAPSHOT_CNT = 4, + ETHTOOL_A_MSE_SNAPSHOT_MAX = 3, +}; + enum { ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, ETHTOOL_A_PAUSE_STAT_PAD = 1, @@ -1462,8 +1480,9 @@ enum { ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, ETHTOOL_MSG_RSS_CREATE_NTF = 52, ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, + ETHTOOL_MSG_MSE_GET_REPLY = 54, + __ETHTOOL_MSG_KERNEL_CNT = 55, + ETHTOOL_MSG_KERNEL_MAX = 54, }; enum { @@ -1518,8 +1537,9 @@ enum { ETHTOOL_MSG_RSS_SET = 48, ETHTOOL_MSG_RSS_CREATE_ACT = 49, ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, + ETHTOOL_MSG_MSE_GET = 51, + __ETHTOOL_MSG_USER_CNT = 52, + ETHTOOL_MSG_USER_MAX = 51, }; enum { @@ -1582,6 +1602,7 @@ enum { enum { EVENT_TRIGGER_FL_PROBE = 1, + EVENT_TRIGGER_FL_COUNT = 2, }; enum { @@ -1733,6 +1754,7 @@ enum { FTRACE_OPS_FL_DIRECT = 131072, FTRACE_OPS_FL_SUBOP = 262144, FTRACE_OPS_FL_GRAPH = 524288, + FTRACE_OPS_FL_JMP = 1048576, }; enum { @@ -1822,6 +1844,15 @@ enum { __ICMP6_MIB_MAX = 7, }; +enum { + ICMP_ERR_EXT_IIO_IIF = 0, + ICMP_ERR_EXT_COUNT = 1, +}; + +enum { + ICMP_EXT_CTYPE_IIO_ROLE_IIF = 0, +}; + enum { ICMP_MIB_NUM = 0, ICMP_MIB_INMSGS = 1, @@ -3014,6 +3045,12 @@ enum { __MDBA_SET_ENTRY_MAX = 3, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + enum { MEMREMAP_WB = 1, MEMREMAP_WT = 2, @@ -3046,6 +3083,7 @@ enum { NAPIF_STATE_THREADED = 256, NAPIF_STATE_SCHED_THREADED = 512, NAPIF_STATE_HAS_NOTIFIER = 1024, + NAPIF_STATE_THREADED_BUSY_POLL = 2048, }; enum { @@ -3065,6 +3103,7 @@ enum { NAPI_STATE_THREADED = 8, NAPI_STATE_SCHED_THREADED = 9, NAPI_STATE_HAS_NOTIFIER = 10, + NAPI_STATE_THREADED_BUSY_POLL = 11, }; enum { @@ -4372,6 +4411,7 @@ enum { TCP_BPF_SYN_MAC = 1007, TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, SK_BPF_CB_FLAGS = 1009, + SK_BPF_BYPASS_PROT_MEM = 1010, }; enum { @@ -4629,6 +4669,7 @@ enum { TRACE_ARRAY_FL_LAST_BOOT = 4, TRACE_ARRAY_FL_MOD_INIT = 8, TRACE_ARRAY_FL_MEMMAP = 16, + TRACE_ARRAY_FL_VMALLOC = 32, }; enum { @@ -4678,9 +4719,14 @@ enum { TRACE_INTERNAL_IRQ_BIT = 7, TRACE_INTERNAL_SIRQ_BIT = 8, TRACE_INTERNAL_TRANSITION_BIT = 9, - TRACE_BRANCH_BIT = 10, - TRACE_IRQ_BIT = 11, - TRACE_RECORD_RECURSION_BIT = 12, + TRACE_INTERNAL_EVENT_BIT = 10, + TRACE_INTERNAL_EVENT_NMI_BIT = 11, + TRACE_INTERNAL_EVENT_IRQ_BIT = 12, + TRACE_INTERNAL_EVENT_SIRQ_BIT = 13, + TRACE_INTERNAL_EVENT_TRANSITION_BIT = 14, + TRACE_BRANCH_BIT = 15, + TRACE_IRQ_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 17, }; enum { @@ -4770,6 +4816,76 @@ enum { ADDR_LIMIT_3GB = 134217728, }; +enum { + UNWIND_PENDING = 1, + UNWIND_USED = 2, +}; + +enum { + UNWIND_PENDING_BIT = 0, + UNWIND_USED_BIT = 1, +}; + +enum { + VMA_READ_BIT = 0, + VMA_WRITE_BIT = 1, + VMA_EXEC_BIT = 2, + VMA_SHARED_BIT = 3, + VMA_MAYREAD_BIT = 4, + VMA_MAYWRITE_BIT = 5, + VMA_MAYEXEC_BIT = 6, + VMA_MAYSHARE_BIT = 7, + VMA_GROWSDOWN_BIT = 8, + VMA_UFFD_MISSING_BIT = 9, + VMA_PFNMAP_BIT = 10, + VMA_MAYBE_GUARD_BIT = 11, + VMA_UFFD_WP_BIT = 12, + VMA_LOCKED_BIT = 13, + VMA_IO_BIT = 14, + VMA_SEQ_READ_BIT = 15, + VMA_RAND_READ_BIT = 16, + VMA_DONTCOPY_BIT = 17, + VMA_DONTEXPAND_BIT = 18, + VMA_LOCKONFAULT_BIT = 19, + VMA_ACCOUNT_BIT = 20, + VMA_NORESERVE_BIT = 21, + VMA_HUGETLB_BIT = 22, + VMA_SYNC_BIT = 23, + VMA_ARCH_1_BIT = 24, + VMA_WIPEONFORK_BIT = 25, + VMA_DONTDUMP_BIT = 26, + VMA_SOFTDIRTY_BIT = 27, + VMA_MIXEDMAP_BIT = 28, + VMA_HUGEPAGE_BIT = 29, + VMA_NOHUGEPAGE_BIT = 30, + VMA_MERGEABLE_BIT = 31, + VMA_HIGH_ARCH_0_BIT = 32, + VMA_HIGH_ARCH_1_BIT = 33, + VMA_HIGH_ARCH_2_BIT = 34, + VMA_HIGH_ARCH_3_BIT = 35, + VMA_HIGH_ARCH_4_BIT = 36, + VMA_HIGH_ARCH_5_BIT = 37, + VMA_HIGH_ARCH_6_BIT = 38, + VMA_ALLOW_ANY_UNCACHED_BIT = 39, + VMA_DROPPABLE_BIT = 40, + VMA_UFFD_MINOR_BIT = 41, + VMA_SEALED_BIT = 42, + VMA_PKEY_BIT0_BIT = 32, + VMA_PKEY_BIT1_BIT = 33, + VMA_PKEY_BIT2_BIT = 34, + VMA_PKEY_BIT3_BIT = 35, + VMA_PKEY_BIT4_BIT = 36, + VMA_SAO_BIT = 24, + VMA_GROWSUP_BIT = 24, + VMA_SPARC_ADI_BIT = 24, + VMA_ARM64_BTI_BIT = 24, + VMA_ARCH_CLEAR_BIT = 24, + VMA_MAPPED_COPY_BIT = 24, + VMA_MTE_BIT = 36, + VMA_MTE_ALLOWED_BIT = 37, + VMA_STACK_BIT = 8, +}; + enum { WALK_TRAILING = 1, WALK_MORE = 2, @@ -4946,7 +5062,8 @@ enum { __SCHED_FEAT_WA_BIAS = 22, __SCHED_FEAT_UTIL_EST = 23, __SCHED_FEAT_LATENCY_WARN = 24, - __SCHED_FEAT_NR = 25, + __SCHED_FEAT_NI_RANDOM = 25, + __SCHED_FEAT_NR = 26, }; enum { @@ -4992,7 +5109,8 @@ enum { ___GFP_THISNODE_BIT = 21, ___GFP_ACCOUNT_BIT = 22, ___GFP_ZEROTAGS_BIT = 23, - ___GFP_LAST_BIT = 24, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, }; enum { @@ -5018,8 +5136,9 @@ enum { __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 19, __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 20, __ctx_convertBPF_PROG_TYPE_EXT = 21, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 22, - __ctx_convert_unused = 23, + __ctx_convertBPF_PROG_TYPE_LSM = 22, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 23, + __ctx_convert_unused = 24, }; enum { @@ -5046,6 +5165,10 @@ enum { st_wordskip___2 = 2, }; +enum { + sysctl_hung_task_timeout_secs = 0, +}; + enum { x86_lbr_exclusive_lbr = 0, x86_lbr_exclusive_bts = 1, @@ -5478,6 +5601,12 @@ enum audit_ntp_type { AUDIT_NTP_NVALS = 6, }; +enum base64_variant { + BASE64_STD = 0, + BASE64_URLSAFE = 1, + BASE64_IMAP = 2, +}; + enum batadv_packettype { BATADV_IV_OGM = 0, BATADV_BCAST = 1, @@ -5598,7 +5727,7 @@ enum bpf_arg_type { ARG_PTR_TO_BTF_ID_OR_NULL = 269, ARG_PTR_TO_UNINIT_MEM = 67141636, ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 268435455, + __BPF_ARG_TYPE_LIMIT = 536870911, }; enum bpf_async_type { @@ -5768,6 +5897,7 @@ enum bpf_dynptr_type { BPF_DYNPTR_TYPE_SKB = 3, BPF_DYNPTR_TYPE_XDP = 4, BPF_DYNPTR_TYPE_SKB_META = 5, + BPF_DYNPTR_TYPE_FILE = 6, }; enum bpf_features { @@ -6085,7 +6215,8 @@ enum bpf_map_type { BPF_MAP_TYPE_USER_RINGBUF = 31, BPF_MAP_TYPE_CGRP_STORAGE = 32, BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, + BPF_MAP_TYPE_INSN_ARRAY = 34, + __MAX_BPF_MAP_TYPE = 35, }; enum bpf_netdev_command { @@ -6165,14 +6296,15 @@ enum bpf_reg_type { PTR_TO_ARENA = 18, PTR_TO_BUF = 19, PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, + PTR_TO_INSN = 21, + CONST_PTR_TO_DYNPTR = 22, + __BPF_REG_TYPE_MAX = 23, PTR_TO_MAP_VALUE_OR_NULL = 260, PTR_TO_SOCKET_OR_NULL = 267, PTR_TO_SOCK_COMMON_OR_NULL = 268, PTR_TO_TCP_SOCK_OR_NULL = 269, PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 268435455, + __BPF_REG_TYPE_LIMIT = 536870911, }; enum bpf_ret_code { @@ -6202,7 +6334,7 @@ enum bpf_return_type { RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, RET_PTR_TO_BTF_ID_OR_NULL = 264, RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 268435455, + __BPF_RET_TYPE_LIMIT = 536870911, }; enum bpf_stack_build_id_status { @@ -6269,8 +6401,9 @@ enum bpf_task_work_state { }; enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, + BPF_MOD_NOP = 0, + BPF_MOD_CALL = 1, + BPF_MOD_JUMP = 2, }; enum bpf_tramp_prog_type { @@ -6309,8 +6442,9 @@ enum bpf_type_flag { MEM_ALIGNED = 33554432, MEM_WRITE = 67108864, DYNPTR_TYPE_SKB_META = 134217728, - __BPF_TYPE_FLAG_MAX = 134217729, - __BPF_TYPE_LAST_FLAG = 134217728, + DYNPTR_TYPE_FILE = 268435456, + __BPF_TYPE_FLAG_MAX = 268435457, + __BPF_TYPE_LAST_FLAG = 268435456, }; enum bpf_xdp_mode { @@ -6503,6 +6637,7 @@ enum cons_flags { CON_EXTENDED = 64, CON_SUSPENDED = 128, CON_NBCON = 256, + CON_NBCON_ATOMIC_UNSAFE = 512, }; enum cp_error_code { @@ -6776,7 +6911,7 @@ enum cpuid_leafs { CPUID_6_EAX = 14, CPUID_8000_000A_EDX = 15, CPUID_7_ECX = 16, - CPUID_8000_0007_EBX = 17, + CPUID_LNX_6 = 17, CPUID_7_EDX = 18, CPUID_8000_001F_EAX = 19, CPUID_8000_0021_EAX = 20, @@ -6827,7 +6962,6 @@ enum dentry_flags { DCACHE_REFERENCED = 64, DCACHE_DONTCACHE = 128, DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, DCACHE_SHRINK_LIST = 1024, DCACHE_OP_WEAK_REVALIDATE = 2048, DCACHE_NFSFS_RENAMED = 4096, @@ -6850,6 +6984,7 @@ enum dentry_flags { DCACHE_PAR_LOOKUP = 16777216, DCACHE_DENTRY_CURSOR = 33554432, DCACHE_NORCU = 67108864, + DCACHE_PERSISTENT = 134217728, }; enum dev_dma_attr { @@ -7071,6 +7206,16 @@ enum dpm_order { DPM_ORDER_DEV_LAST = 3, }; +enum dyn_constr_type { + DYN_CONSTR_NONE = 0, + DYN_CONSTR_BR_CNTR = 1, + DYN_CONSTR_ACR_CNTR = 2, + DYN_CONSTR_ACR_CAUSE = 3, + DYN_CONSTR_PEBS = 4, + DYN_CONSTR_PDIST = 5, + DYN_CONSTR_MAX = 6, +}; + enum dynevent_type { DYNEVENT_TYPE_SYNTH = 1, DYNEVENT_TYPE_KPROBE = 2, @@ -7386,7 +7531,11 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, + ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121, + ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122, + ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123, + ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124, + __ETHTOOL_LINK_MODE_MASK_NBITS = 125, }; enum ethtool_mac_stats_src { @@ -7620,6 +7769,10 @@ enum fault_flag { FAULT_FLAG_VMA_LOCK = 4096, }; +enum fault_flags { + FAULT_NOWARN = 1, +}; + enum fbq_type { regular = 0, remote = 1, @@ -8269,6 +8422,18 @@ enum inet_csk_ack_state_t { ICSK_ACK_NOMEM = 32, }; +enum init_ns_id { + IPC_NS_INIT_ID = 1, + UTS_NS_INIT_ID = 2, + USER_NS_INIT_ID = 3, + PID_NS_INIT_ID = 4, + CGROUP_NS_INIT_ID = 5, + TIME_NS_INIT_ID = 6, + NET_NS_INIT_ID = 7, + MNT_NS_INIT_ID = 8, + NS_LAST_INIT_ID = 8, +}; + enum init_ns_ino { IPC_NS_INIT_INO = 4026531839, UTS_NS_INIT_INO = 4026531838, @@ -8296,7 +8461,7 @@ enum inode_state_bits { __I_LRU_ISOLATING = 2, }; -enum inode_state_flags_t { +enum inode_state_flags_enum { I_NEW = 1, I_SYNC = 2, I_LRU_ISOLATING = 4, @@ -8433,7 +8598,9 @@ enum io_uring_op { IORING_OP_READV_FIXED = 60, IORING_OP_WRITEV_FIXED = 61, IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, + IORING_OP_NOP128 = 63, + IORING_OP_URING_CMD128 = 64, + IORING_OP_LAST = 65, }; enum io_uring_register_op { @@ -8473,7 +8640,8 @@ enum io_uring_register_op { IORING_REGISTER_RESIZE_RINGS = 33, IORING_REGISTER_MEM_REGION = 34, IORING_REGISTER_QUERY = 35, - IORING_REGISTER_LAST = 36, + IORING_REGISTER_ZCRX_CTRL = 36, + IORING_REGISTER_LAST = 37, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, }; @@ -8623,6 +8791,8 @@ enum kernel_gp_hint { GP_NO_HINT = 0, GP_NON_CANONICAL = 1, GP_CANONICAL = 2, + GP_LASS_VIOLATION = 3, + GP_NULL_POINTER = 4, }; enum kernel_load_data_id { @@ -8633,7 +8803,8 @@ enum kernel_load_data_id { LOADING_KEXEC_INITRAMFS = 4, LOADING_POLICY = 5, LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, + LOADING_MODULE_COMPRESSED = 7, + LOADING_MAX_ID = 8, }; enum kernel_read_file_id { @@ -8644,7 +8815,36 @@ enum kernel_read_file_id { READING_KEXEC_INITRAMFS = 4, READING_POLICY = 5, READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, + READING_MODULE_COMPRESSED = 7, + READING_MAX_ID = 8, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, }; enum kfunc_ptr_arg_type { @@ -8884,6 +9084,23 @@ enum lruvec_flags { LRUVEC_NODE_CONGESTED = 1, }; +enum lsm_event { + LSM_POLICY_CHANGE = 0, + LSM_STARTED_ALL = 1, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + enum lw_bits { LW_URGENT = 0, }; @@ -8959,6 +9176,7 @@ enum mapping_flags { AS_INACCESSIBLE = 8, AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, AS_KERNEL_FILE = 10, + AS_NO_DATA_INTEGRITY = 11, AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 16, AS_FOLIO_ORDER_MAX = 21, @@ -8992,7 +9210,8 @@ enum memcg_memory_event { MEMCG_SWAP_HIGH = 6, MEMCG_SWAP_MAX = 7, MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, + MEMCG_SOCK_THROTTLED = 9, + MEMCG_NR_MEMORY_EVENTS = 10, }; enum memcg_stat_item { @@ -9011,6 +9230,15 @@ enum meminit_context { MEMINIT_HOTPLUG = 1, }; +enum memory_block_state { + MEM_ONLINE = 0, + MEM_GOING_OFFLINE = 1, + MEM_OFFLINE = 2, + MEM_GOING_ONLINE = 3, + MEM_CANCEL_ONLINE = 4, + MEM_CANCEL_OFFLINE = 5, +}; + enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_COHERENT = 2, @@ -9063,6 +9291,12 @@ enum migration_type { migrate_misfit = 3, }; +enum mmap_action_type { + MMAP_NOTHING = 0, + MMAP_REMAP_PFN = 1, + MMAP_IO_REMAP_PFN = 2, +}; + enum mminit_level { MMINIT_WARNING = 0, MMINIT_VERIFY = 1, @@ -9207,12 +9441,12 @@ enum net_device_path_type { DEV_PATH_PPPOE = 3, DEV_PATH_DSA = 4, DEV_PATH_MTK_WDMA = 5, + DEV_PATH_TUN = 6, }; enum net_iov_type { - NET_IOV_DMABUF = 0ULL, - NET_IOV_IOURING = 1ULL, - NET_IOV_MAX = 18446744073709551615ULL, + NET_IOV_DMABUF = 0, + NET_IOV_IOURING = 1, }; enum netdev_cmd { @@ -9266,6 +9500,7 @@ enum netdev_ml_priv_type { enum netdev_napi_threaded { NETDEV_NAPI_THREADED_DISABLED = 0, NETDEV_NAPI_THREADED_ENABLED = 1, + NETDEV_NAPI_THREADED_BUSY_POLL = 2, }; enum netdev_offload_xstats_type { @@ -9565,6 +9800,17 @@ enum node_states { NR_NODE_STATES = 6, }; +enum ns_type { + TIME_NS = 128, + MNT_NS = 131072, + CGROUP_NS = 33554432, + UTS_NS = 67108864, + IPC_NS = 134217728, + USER_NS = 268435456, + PID_NS = 536870912, + NET_NS = 1073741824, +}; + enum offload_act_command { FLOW_ACT_REPLACE = 0, FLOW_ACT_DESTROY = 1, @@ -9752,6 +9998,7 @@ enum perf_callchain_context { PERF_CONTEXT_HV = 18446744073709551584ULL, PERF_CONTEXT_KERNEL = 18446744073709551488ULL, PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_USER_DEFERRED = 18446744073709550976ULL, PERF_CONTEXT_GUEST = 18446744073709549568ULL, PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, @@ -9839,7 +10086,8 @@ enum perf_event_type { PERF_RECORD_CGROUP = 19, PERF_RECORD_TEXT_POKE = 20, PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, + PERF_RECORD_CALLCHAIN_DEFERRED = 22, + PERF_RECORD_MAX = 23, }; enum perf_event_x86_regs { @@ -10004,9 +10252,8 @@ enum pg_level { }; enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, + PGDAT_WRITEBACK = 0, + PGDAT_RECLAIM_LOCKED = 1, }; enum pgt_entry { @@ -10024,6 +10271,15 @@ enum pgtable_level { PGTABLE_LEVEL_PGD = 4, }; +enum phy_mse_channel { + PHY_MSE_CHANNEL_A = 0, + PHY_MSE_CHANNEL_B = 1, + PHY_MSE_CHANNEL_C = 2, + PHY_MSE_CHANNEL_D = 3, + PHY_MSE_CHANNEL_WORST = 4, + PHY_MSE_CHANNEL_LINK = 5, +}; + enum phy_state { PHY_DOWN = 0, PHY_READY = 1, @@ -10056,6 +10312,11 @@ enum pid_type { PIDTYPE_MAX = 4, }; +enum pidfs_attr_mask_bits { + PIDFS_ATTR_BIT_EXIT = 0, + PIDFS_ATTR_BIT_COREDUMP = 1, +}; + enum pkt_hash_types { PKT_HASH_TYPE_NONE = 0, PKT_HASH_TYPE_L2 = 1, @@ -10104,6 +10365,13 @@ enum positive_aop_returns { AOP_TRUNCATED_PAGE = 524289, }; +enum preempt_wakeup_action { + PREEMPT_WAKEUP_NONE = 0, + PREEMPT_WAKEUP_SHORT = 1, + PREEMPT_WAKEUP_PICK = 2, + PREEMPT_WAKEUP_RESCHED = 3, +}; + enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, TRACE_TYPE_HANDLED = 1, @@ -10164,8 +10432,9 @@ enum pt_capabilities { PT_CAP_psb_periods = 17, }; -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, +enum pt_flags { + PT_kernel = 2, + PT_reserved = 13, }; enum qdisc_state_t { @@ -10266,6 +10535,11 @@ enum rfds_mitigations { RFDS_MITIGATION_UCODE_NEEDED = 3, }; +enum rht_lookup_freq { + RHT_LOOKUP_NORMAL = 0, + RHT_LOOKUP_LIKELY = 1, +}; + enum ring_buffer_flags { RB_FL_OVERWRITE = 1, }; @@ -10614,69 +10888,70 @@ enum skb_drop_reason { SKB_DROP_REASON_TC_EGRESS = 62, SKB_DROP_REASON_SECURITY_HOOK = 63, SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_PSP_INPUT = 125, - SKB_DROP_REASON_PSP_OUTPUT = 126, - SKB_DROP_REASON_MAX = 127, + SKB_DROP_REASON_QDISC_BURST_DROP = 65, + SKB_DROP_REASON_QDISC_OVERLIMIT = 66, + SKB_DROP_REASON_QDISC_CONGESTED = 67, + SKB_DROP_REASON_CAKE_FLOOD = 68, + SKB_DROP_REASON_FQ_BAND_LIMIT = 69, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 70, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 71, + SKB_DROP_REASON_CPU_BACKLOG = 72, + SKB_DROP_REASON_XDP = 73, + SKB_DROP_REASON_TC_INGRESS = 74, + SKB_DROP_REASON_UNHANDLED_PROTO = 75, + SKB_DROP_REASON_SKB_CSUM = 76, + SKB_DROP_REASON_SKB_GSO_SEG = 77, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 78, + SKB_DROP_REASON_DEV_HDR = 79, + SKB_DROP_REASON_DEV_READY = 80, + SKB_DROP_REASON_FULL_RING = 81, + SKB_DROP_REASON_NOMEM = 82, + SKB_DROP_REASON_HDR_TRUNC = 83, + SKB_DROP_REASON_TAP_FILTER = 84, + SKB_DROP_REASON_TAP_TXFILTER = 85, + SKB_DROP_REASON_ICMP_CSUM = 86, + SKB_DROP_REASON_INVALID_PROTO = 87, + SKB_DROP_REASON_IP_INADDRERRORS = 88, + SKB_DROP_REASON_IP_INNOROUTES = 89, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 90, + SKB_DROP_REASON_IP_INVALID_SOURCE = 91, + SKB_DROP_REASON_IP_LOCALNET = 92, + SKB_DROP_REASON_IP_INVALID_DEST = 93, + SKB_DROP_REASON_PKT_TOO_BIG = 94, + SKB_DROP_REASON_DUP_FRAG = 95, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 96, + SKB_DROP_REASON_FRAG_TOO_FAR = 97, + SKB_DROP_REASON_TCP_MINTTL = 98, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 99, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 100, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 102, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 103, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 104, + SKB_DROP_REASON_QUEUE_PURGE = 105, + SKB_DROP_REASON_TC_COOKIE_ERROR = 106, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 107, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 108, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 109, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 110, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 111, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 112, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 113, + SKB_DROP_REASON_NO_TX_TARGET = 114, + SKB_DROP_REASON_IP_TUNNEL_ECN = 115, + SKB_DROP_REASON_TUNNEL_TXINFO = 116, + SKB_DROP_REASON_LOCAL_MAC = 117, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 118, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 119, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 120, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 123, + SKB_DROP_REASON_PFMEMALLOC = 124, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 125, + SKB_DROP_REASON_PSP_INPUT = 126, + SKB_DROP_REASON_PSP_OUTPUT = 127, + SKB_DROP_REASON_MAX = 128, SKB_DROP_REASON_SUBSYS_MASK = 4294901760, }; @@ -10779,6 +11054,19 @@ enum socket_flags { SOCK_CUSTOM_SOCKOPT = 4, }; +enum softleaf_type { + SOFTLEAF_NONE = 0, + SOFTLEAF_SWAP = 1, + SOFTLEAF_MIGRATION_READ = 2, + SOFTLEAF_MIGRATION_READ_EXCLUSIVE = 3, + SOFTLEAF_MIGRATION_WRITE = 4, + SOFTLEAF_DEVICE_PRIVATE_READ = 5, + SOFTLEAF_DEVICE_PRIVATE_WRITE = 6, + SOFTLEAF_DEVICE_EXCLUSIVE = 7, + SOFTLEAF_HWPOISON = 8, + SOFTLEAF_MARKER = 9, +}; + enum special_kfunc_type { KF_bpf_obj_new_impl = 0, KF_bpf_obj_drop_impl = 1, @@ -10826,9 +11114,11 @@ enum special_kfunc_type { KF_bpf_res_spin_unlock = 43, KF_bpf_res_spin_lock_irqsave = 44, KF_bpf_res_spin_unlock_irqrestore = 45, - KF___bpf_trap = 46, - KF_bpf_task_work_schedule_signal_impl = 47, - KF_bpf_task_work_schedule_resume_impl = 48, + KF_bpf_dynptr_from_file = 46, + KF_bpf_dynptr_file_discard = 47, + KF___bpf_trap = 48, + KF_bpf_task_work_schedule_signal_impl = 49, + KF_bpf_task_work_schedule_resume_impl = 50, }; enum spectre_v1_mitigation { @@ -10899,6 +11189,13 @@ enum srso_mitigation { SRSO_MITIGATION_BP_SPEC_REDUCE = 9, }; +enum ss_state { + ss_done = 0, + ss_lock = 1, + ss_lock_irqsave = 2, + ss_lockless = 3, +}; + enum ssb_mitigation { SPEC_STORE_BYPASS_NONE = 0, SPEC_STORE_BYPASS_AUTO = 1, @@ -11221,7 +11518,6 @@ enum tlb_flush_reason { TLB_LOCAL_MM_SHOOTDOWN = 3, TLB_REMOTE_SEND_IPI = 4, TLB_REMOTE_WRONG_CPU = 5, - NR_TLB_FLUSH_REASONS = 6, }; enum topo_types { @@ -11267,6 +11563,7 @@ enum trace_iter_flags { TRACE_FILE_LAT_FMT = 1, TRACE_FILE_ANNOTATE = 2, TRACE_FILE_TIME_IN_NS = 4, + TRACE_FILE_PAUSE = 8, }; enum trace_iterator_bits { @@ -11304,40 +11601,6 @@ enum trace_iterator_bits { TRACE_ITER_LAST_BIT = 31, }; -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_FUNCTION = 134217728, - TRACE_ITER_FUNC_FORK = 268435456, - TRACE_ITER_DISPLAY_GRAPH = 536870912, - TRACE_ITER_STACKTRACE = 1073741824, -}; - enum trace_reg { TRACE_REG_REGISTER = 0, TRACE_REG_UNREGISTER = 1, @@ -11374,6 +11637,11 @@ enum trace_type { __TRACE_LAST_TYPE = 21, }; +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + enum tsa_mitigations { TSA_MITIGATION_NONE = 0, TSA_MITIGATION_AUTO = 1, @@ -11404,10 +11672,11 @@ enum tsq_flags { }; enum tsx_ctrl_states { - TSX_CTRL_ENABLE = 0, - TSX_CTRL_DISABLE = 1, - TSX_CTRL_RTM_ALWAYS_ABORT = 2, - TSX_CTRL_NOT_SUPPORTED = 3, + TSX_CTRL_AUTO = 0, + TSX_CTRL_ENABLE = 1, + TSX_CTRL_DISABLE = 2, + TSX_CTRL_RTM_ALWAYS_ABORT = 3, + TSX_CTRL_NOT_SUPPORTED = 4, }; enum ttu_flags { @@ -11534,6 +11803,11 @@ enum umount_tree_flags { UMOUNT_CONNECTED = 4, }; +enum unwind_user_type { + UNWIND_USER_TYPE_NONE = 0, + UNWIND_USER_TYPE_FP = 1, +}; + enum unwind_user_type_bits { UNWIND_USER_TYPE_FP_BIT = 0, NR_UNWIND_USER_TYPE_BITS = 1, @@ -11546,12 +11820,6 @@ enum uprobe_task_state { UTASK_SSTEP_TRAPPED = 3, }; -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - enum uts_proc { UTS_PROC_ARCH = 0, UTS_PROC_OSTYPE = 1, @@ -11667,6 +11935,14 @@ enum vm_fault_reason { VM_FAULT_HINDEX_MASK = 983040, }; +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + enum vma_merge_state { VMA_MERGE_START = 0, VMA_MERGE_ERROR_NOMEM = 1, @@ -12130,6 +12406,8 @@ typedef int __kernel_clockid_t; typedef int __kernel_daddr_t; +typedef int __kernel_key_t; + typedef int __kernel_pid_t; typedef int __kernel_rwf_t; @@ -12160,6 +12438,8 @@ typedef int insn_value_t; typedef s32 int32_t; +typedef __kernel_key_t key_t; + typedef int mm_id_mapcount_t; typedef s32 old_time32_t; @@ -12174,6 +12454,8 @@ typedef __kernel_rwf_t rwf_t; typedef const int tracepoint_ptr_t; +typedef int vma_flag_t; + typedef long int __kernel_long_t; typedef __kernel_long_t __kernel_clock_t; @@ -12230,6 +12512,8 @@ typedef __u64 __addrpair; typedef __u64 __be64; +typedef long long unsigned int __kernel_uoff_t; + typedef __u64 __le64; typedef __u64 u64; @@ -12268,6 +12552,8 @@ typedef __u64 timeu64_t; typedef u64 uint64_t; +typedef __kernel_uoff_t uoff_t; + typedef long unsigned int __kernel_ulong_t; typedef __kernel_ulong_t __kernel_size_t; @@ -12511,12 +12797,28 @@ typedef struct { unsigned int timeout; } cisco_proto; +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +struct task_struct; + +struct rq; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class___task_rq_lock_t; + typedef struct { void *lock; } class_cpus_read_lock_t; -struct rq; - typedef struct { struct rq *lock; struct rq *lock2; @@ -12559,6 +12861,14 @@ typedef struct { void *lock; } class_namespace_shared_t; +typedef struct { + void *lock; +} class_ns_tree_locked_reader_t; + +typedef struct { + void *lock; +} class_ns_tree_writer_t; + typedef struct { void *lock; } class_pagefault_t; @@ -12596,13 +12906,14 @@ typedef struct { void *lock; } class_rcu_tasks_trace_t; -struct pin_cookie {}; +typedef struct { + arch_rwlock_t raw_lock; +} rwlock_t; -struct rq_flags { +typedef struct { + rwlock_t *lock; long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; -}; +} class_read_lock_irqsave_t; typedef struct { struct rq *lock; @@ -12643,18 +12954,12 @@ typedef struct { int idx; } class_srcu_t; -struct task_struct; - typedef struct { struct task_struct *lock; struct rq *rq; struct rq_flags rf; } class_task_rq_lock_t; -typedef struct { - arch_rwlock_t raw_lock; -} rwlock_t; - typedef struct { rwlock_t *lock; } class_write_lock_irq_t; @@ -12693,14 +12998,6 @@ typedef struct { char master[16]; } fr_proto_pvc_info; -typedef union { - struct { - void *freelist; - long unsigned int counter; - }; - freelist_full_t full; -} freelist_aba_t; - typedef struct { long unsigned int v; } freeptr_t; @@ -12898,15 +13195,17 @@ typedef struct { wait_queue_head_t wq; } socket_lock_t; +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef swp_entry_t softleaf_t; + typedef struct { char *from; char *to; } substring_t; -typedef struct { - long unsigned int val; -} swp_entry_t; - typedef struct { unsigned int clock_rate; unsigned int clock_type; @@ -12936,6 +13235,10 @@ typedef struct { uid_t val; } vfsuid_t; +typedef struct { + long unsigned int __vma_flags[1]; +} vma_flags_t; + typedef struct { short unsigned int dce; unsigned int modulo; @@ -13083,6 +13386,12 @@ struct gnet_stats_queue { __u32 overlimits; }; +struct llist_node; + +struct llist_head { + struct llist_node *first; +}; + struct callback_head { struct callback_head *next; void (*func)(struct callback_head *); @@ -13114,28 +13423,31 @@ struct Qdisc { struct gnet_stats_queue *cpu_qstats; int pad; refcount_t refcnt; + long: 64; + long: 64; + long: 64; + __u8 __cacheline_group_begin__Qdisc_read_mostly[0]; struct sk_buff_head gso_skb; - struct qdisc_skb_head q; + struct Qdisc *next_sched; + struct sk_buff_head skb_bad_txq; + __u8 __cacheline_group_end__Qdisc_read_mostly[0]; long: 64; + __u8 __cacheline_group_begin__Qdisc_write[0]; + struct qdisc_skb_head q; + long unsigned int state; struct gnet_stats_basic_sync bstats; + bool running; struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; - struct Qdisc *next_sched; - struct sk_buff_head skb_bad_txq; - spinlock_t busylock; + struct sk_buff *to_free; + __u8 __cacheline_group_end__Qdisc_write[0]; + atomic_long_t defer_count; + struct llist_head defer_list; spinlock_t seqlock; struct callback_head rcu; netdevice_tracker dev_tracker; struct lock_class_key root_lock_key; long: 64; long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; long int privdata[0]; }; @@ -13212,7 +13524,7 @@ struct fred_ss { u64 type: 4; char: 4; u64 enclave: 1; - u64 lm: 1; + u64 l: 1; u64 nested: 1; char: 1; u64 insnlen: 4; @@ -13537,6 +13849,14 @@ struct __sk_buff { __u64 hwtstamp; }; +union __u128_halves { + u128 full; + struct { + u64 low; + u64 high; + }; +}; + struct inode; struct __uprobe_key { @@ -13544,6 +13864,21 @@ struct __uprobe_key { loff_t offset; }; +struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +}; + +typedef struct __user_cap_data_struct *cap_user_data_t; + +struct __user_cap_header_struct { + __u32 version; + int pid; +}; + +typedef struct __user_cap_header_struct *cap_user_header_t; + struct __va_list_tag { unsigned int gp_offset; unsigned int fp_offset; @@ -14168,6 +14503,117 @@ struct arch_optimized_insn { size_t size; }; +struct arch_pebs_aux { + u64 address; + u64 rsvd; + u64 rsvd2; + u64 rsvd3; + u64 rsvd4; + u64 aux; + u64 instr_latency: 16; + u64 pad2: 16; + u64 cache_latency: 16; + u64 pad3: 16; + u64 tsx_tuning; +}; + +struct arch_pebs_basic { + u64 ip; + u64 applicable_counters; + u64 tsc; + u64 retire: 16; + u64 valid: 1; + u64 rsvd: 47; + u64 rsvd2; + u64 rsvd3; +}; + +struct arch_pebs_cap { + u64 caps; + u64 counters; + u64 pdists; +}; + +struct arch_pebs_cntr_header { + u32 cntr; + u32 fixed; + u32 metrics; + u32 reserved; +}; + +struct arch_pebs_gprs { + u64 flags; + u64 ip; + u64 ax; + u64 cx; + u64 dx; + u64 bx; + u64 sp; + u64 bp; + u64 si; + u64 di; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; + u64 ssp; + u64 rsvd; +}; + +struct arch_pebs_header { + union { + u64 format; + struct { + u64 size: 16; + u64 rsvd: 14; + u64 mode: 1; + u64 cont: 1; + u64 rsvd2: 3; + u64 cntr: 5; + u64 lbr: 2; + u64 rsvd3: 7; + u64 xmm: 1; + u64 ymmh: 1; + u64 rsvd4: 2; + u64 opmask: 1; + u64 zmmh: 1; + u64 h16zmm: 1; + u64 rsvd5: 5; + u64 gpr: 1; + u64 aux: 1; + u64 basic: 1; + }; + }; + u64 rsvd6; +}; + +union arch_pebs_index { + struct { + u64 rsvd: 4; + u64 wr: 23; + u64 rsvd2: 4; + u64 full: 1; + u64 en: 1; + u64 rsvd3: 3; + u64 thresh: 23; + u64 rsvd4: 5; + }; + u64 whole; +}; + +struct arch_pebs_lbr_header { + u64 rsvd; + u64 ctl; + u64 depth; + u64 ler_from; + u64 ler_to; + u64 ler_info; +}; + struct kprobe; struct arch_specific_insn { @@ -14260,13 +14706,7 @@ struct arphdr { struct sockaddr { sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; + char sa_data[14]; }; struct arpreq { @@ -14343,10 +14783,16 @@ struct bin_attribute; struct attribute_group { const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); + union { + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_visible_const)(struct kobject *, const struct attribute *, int); + }; umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; + union { + struct attribute **attrs; + const struct attribute * const *attrs_const; + }; const struct bin_attribute * const *bin_attrs; }; @@ -14471,6 +14917,7 @@ struct file { u64 f_pipe; }; loff_t f_pos; + void *f_security; errseq_t f_wb_err; errseq_t f_sb_err; union { @@ -14597,6 +15044,7 @@ struct bio { enum rw_hint bi_write_hint; u8 bi_write_stream; blk_status_t bi_status; + u8 bi_bvec_gap_bit; atomic_t __bi_remaining; struct bvec_iter bi_iter; union { @@ -14665,7 +15113,7 @@ struct blacklist_entry { char *buf; }; -struct blake2s_state { +struct blake2s_ctx { u32 h[8]; u32 t[2]; u32 f[2]; @@ -14727,19 +15175,6 @@ struct blk_integrity { struct blk_plug {}; -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - struct disk_stats; struct dev_links_info { @@ -14882,12 +15317,13 @@ struct block_device { struct mutex bd_fsfreeze_mutex; struct partition_meta_info *bd_meta_info; int bd_writers; + void *bd_security; struct device bd_device; }; struct hd_geometry; -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct blk_report_zones_args; struct pr_ops; @@ -14906,7 +15342,7 @@ struct block_device_operations { int (*set_read_only)(struct block_device *, bool); void (*free_disk)(struct gendisk *); void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, struct blk_report_zones_args *); char * (*devnode)(struct gendisk *, umode_t *); int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); struct module *owner; @@ -15219,6 +15655,7 @@ struct bpf_map { u8 sha[32]; const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; + void *security; enum bpf_map_type map_type; u32 key_size; u32 value_size; @@ -16331,6 +16768,8 @@ struct bpf_ctx_convert { void *BPF_PROG_TYPE_STRUCT_OPS_kern; void *BPF_PROG_TYPE_EXT_prog; void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; void *BPF_PROG_TYPE_SYSCALL_prog; void *BPF_PROG_TYPE_SYSCALL_kern; }; @@ -16359,6 +16798,8 @@ struct bpf_ksym { struct list_head lnode; struct latch_tree_node tnode; bool prog; + u32 fp_start; + u32 fp_end; }; struct static_call_key; @@ -16420,6 +16861,31 @@ struct bpf_dynptr { __u64 __opaque[2]; }; +struct freader { + void *buf; + u32 buf_sz; + int err; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + loff_t folio_off; + bool may_fault; + }; + struct { + const char *data; + u64 data_sz; + }; + }; +}; + +struct bpf_dynptr_file_impl { + struct freader freader; + u64 offset; + u64 size; +}; + struct bpf_dynptr_kern { void *data; u32 size; @@ -16722,6 +17188,11 @@ struct bpf_htab { u32 hashrnd; }; +struct bpf_iarray { + int cnt; + u32 items[0]; +}; + struct bpf_id_pair { u32 old; u32 cur; @@ -16760,6 +17231,23 @@ struct bpf_insn_access_aux { bool is_retval; }; +struct bpf_insn_array_value { + __u32 orig_off; + __u32 xlated_off; + __u32 jitted_off; + long: 0; +}; + +struct bpf_insn_array { + struct bpf_map map; + atomic_t used; + long int *ips; + struct { + struct {} __empty_values; + struct bpf_insn_array_value values[0]; + }; +}; + struct bpf_map_ptr_state { struct bpf_map *map_ptr; bool poison; @@ -16800,6 +17288,7 @@ struct bpf_insn_aux_data { u64 obj_new_size; u64 insert_off; }; + struct bpf_iarray *jt; struct btf_struct_meta *kptr_struct_meta; u64 map_key_state; int ctx_field_size; @@ -16808,7 +17297,7 @@ struct bpf_insn_aux_data { bool nospec_result; bool zext_dst; bool needs_zext; - bool storage_get_func_atomic; + bool non_sleepable; bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; @@ -17570,6 +18059,7 @@ struct bpf_local_storage { void *owner; struct callback_head rcu; raw_spinlock_t lock; + bool use_kmalloc_nolock; }; struct bpf_local_storage_cache { @@ -17609,9 +18099,7 @@ struct bpf_local_storage_map { u32 bucket_log; u16 elem_size; u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; + bool use_kmalloc_nolock; }; struct bpf_local_storage_map_bucket { @@ -17734,10 +18222,6 @@ struct bpf_map_owner { enum bpf_attach_type expected_attach_type; }; -struct llist_head { - struct llist_node *first; -}; - struct rcuwait { struct task_struct *task; }; @@ -18006,6 +18490,7 @@ struct bpf_prog_aux { u32 ctx_arg_info_size; u32 max_rdonly_access; u32 max_rdwr_access; + u32 subprog_start; struct btf *attach_btf; struct bpf_ctx_arg_aux *ctx_arg_info; void *priv_stack_ptr; @@ -18057,6 +18542,7 @@ struct bpf_prog_aux { struct bpf_map *cgroup_storage[2]; char name[16]; u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; struct bpf_token *token; struct bpf_prog_offload *offload; struct btf *btf; @@ -18262,6 +18748,7 @@ struct bpf_ringbuf { u64 mask; struct page **pages; int nr_pages; + bool overwrite_mode; rqspinlock_t spinlock; atomic_t busy; long: 64; @@ -19280,7 +19767,7 @@ struct bpf_ringbuf { long: 64; long unsigned int producer_pos; long unsigned int pending_pos; - long: 64; + long unsigned int overwrite_pos; long: 64; long: 64; long: 64; @@ -19821,7 +20308,7 @@ struct bpf_verifier_state { u32 active_irq_id; u32 active_lock_id; void *active_lock_ptr; - bool active_rcu_lock; + u32 active_rcu_locks; bool speculative; bool in_sleepable; bool cleaned; @@ -19898,12 +20385,14 @@ struct bpf_sk_storage_diag { }; struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; + unsigned int pkt_len; + u16 pkt_segs; + u16 tc_classid; unsigned char data[20]; + u16 slave_dev_queue_mapping; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; }; struct bpf_skb_data_end { @@ -19944,9 +20433,11 @@ struct bpf_sock_addr { }; }; +struct sockaddr_unsized; + struct bpf_sock_addr_kern { struct sock *sk; - struct sockaddr *uaddr; + struct sockaddr_unsized *uaddr; u64 tmp_reg; void *t_ctx; u32 uaddrlen; @@ -20000,6 +20491,10 @@ struct bpf_stack_state { u8 slot_type[8]; }; +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + struct bpf_stream_elem { struct llist_node node; int total_len; @@ -20007,12 +20502,6 @@ struct bpf_stream_elem { char str[0]; }; -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - struct bpf_stream_stage { struct llist_head log; int len; @@ -20128,6 +20617,7 @@ struct bpf_subprog_info { u32 start; u32 linfo_idx; u32 postorder_start; + u32 exit_idx; u16 stack_depth; u16 stack_extra; s16 fastcall_stack_off; @@ -20141,8 +20631,8 @@ struct bpf_subprog_info { bool keep_fastcall_stack: 1; bool changes_pkt_data: 1; bool might_sleep: 1; + u8 arg_cnt: 3; enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -20245,6 +20735,7 @@ struct bpf_token { u64 allowed_maps; u64 allowed_progs; u64 allowed_attachs; + void *security; }; struct bpf_token_info { @@ -20501,8 +20992,10 @@ struct bpf_verifier_env { struct list_head free_list; struct bpf_map *used_maps[64]; struct btf_mod_pair used_btfs[64]; + struct bpf_map *insn_array_maps[64]; u32 used_map_cnt; u32 used_btf_cnt; + u32 insn_array_map_cnt; u32 id_gen; u32 hidden_subprog_cnt; int exception_callback_subprog; @@ -20558,6 +21051,8 @@ struct bpf_verifier_env { struct bpf_liveness *liveness; struct bpf_scc_info **scc_info; u32 scc_cnt; + struct bpf_iarray *succ; + struct bpf_iarray *gotox_tmp_buf; }; struct bpf_verifier_ops { @@ -22743,7 +23238,7 @@ struct cfs_rq { unsigned int h_nr_idle; s64 avg_vruntime; u64 avg_load; - u64 min_vruntime; + u64 zero_vruntime; struct rb_root_cached tasks_timeline; struct sched_entity *curr; struct sched_entity *next; @@ -22770,6 +23265,25 @@ struct cgroup__safe_rcu { struct kernfs_node *kn; }; +struct ns_tree_node { + struct rb_node ns_node; + struct list_head ns_list_entry; +}; + +struct ns_tree_root { + struct rb_root ns_rb; + struct list_head ns_list_head; +}; + +struct ns_tree { + u64 ns_id; + atomic_t __ns_ref_active; + struct ns_tree_node ns_unified_node; + struct ns_tree_node ns_tree_node; + struct ns_tree_node ns_owner_node; + struct ns_tree_root ns_owner_root; +}; + struct proc_ns_operations; struct ns_common { @@ -22779,11 +23293,7 @@ struct ns_common { unsigned int inum; refcount_t __ns_ref; union { - struct { - u64 ns_id; - struct rb_node ns_tree_node; - struct list_head ns_list_node; - }; + struct ns_tree; struct callback_head ns_rcu; }; }; @@ -24048,8 +24558,8 @@ struct cpu_hw_events { unsigned int txn_flags; int is_fake; struct debug_store *ds; - void *ds_pebs_vaddr; void *ds_bts_vaddr; + void *pebs_vaddr; u64 pebs_enabled; int n_pebs; int n_large_pebs; @@ -24062,6 +24572,7 @@ struct cpu_hw_events { u64 active_fixed_ctrl_val; u64 acr_cfg_b[64]; u64 acr_cfg_c[64]; + u64 cfg_c_val[64]; int lbr_users; int lbr_pebs_users; struct perf_branch_stack lbr_stack; @@ -24345,7 +24856,9 @@ union cpuid35_eax { unsigned int cntr_subleaf: 1; unsigned int acr_subleaf: 1; unsigned int events_subleaf: 1; - unsigned int reserved: 28; + unsigned int pebs_caps_subleaf: 1; + unsigned int pebs_cnts_subleaf: 1; + unsigned int reserved: 26; } split; unsigned int full; }; @@ -24572,6 +25085,7 @@ struct cred { kernel_cap_t cap_effective; kernel_cap_t cap_bset; kernel_cap_t cap_ambient; + void *security; struct user_struct *user; struct user_namespace *user_ns; struct ucounts *ucounts; @@ -24787,6 +25301,14 @@ struct delayed_uprobe { struct mm_struct *mm; }; +struct delegated_inode {}; + +struct delegation { + __u32 d_flags; + __u16 d_type; + __u16 __pad; +}; + struct hlist_bl_node { struct hlist_bl_node *next; struct hlist_bl_node **pprev; @@ -24925,7 +25447,6 @@ struct vmem_altmap { long unsigned int free; long unsigned int align; long unsigned int alloc; - bool inaccessible; }; struct range { @@ -24957,9 +25478,10 @@ struct dev_pagemap { struct vm_fault; struct dev_pagemap_ops { - void (*page_free)(struct page *); + void (*folio_free)(struct folio *); vm_fault_t (*migrate_to_ram)(struct vm_fault *); int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); + void (*folio_split)(struct folio *, struct folio *); }; struct dev_pm_ops { @@ -25084,6 +25606,9 @@ struct device_driver { const struct dev_pm_ops *pm; void (*coredump)(struct device *); struct driver_private *p; + struct { + void (*post_unbind_rust)(struct device *); + } p_cb; }; struct device_link { @@ -25376,6 +25901,7 @@ struct dir_context { filldir_t actor; loff_t pos; int count; + unsigned int dt_flags_mask; }; struct dirty_throttle_control { @@ -25442,12 +25968,10 @@ struct dma_map_ops { void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_phys)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_phys)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); @@ -25508,6 +26032,28 @@ struct dmi_system_id { void *driver_data; }; +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; +}; + struct kqid { union { kuid_t uid; @@ -25894,6 +26440,8 @@ struct em_perf_table; struct em_perf_domain { struct em_perf_table *em_table; + struct list_head node; + int id; int nr_perf_states; int min_perf_state; int max_perf_state; @@ -27066,7 +27614,7 @@ struct ethtool_wolinfo { struct event_trigger_data; -struct event_trigger_ops; +struct ring_buffer_event; struct event_command { struct list_head list; @@ -27078,7 +27626,11 @@ struct event_command { void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); void (*unreg_all)(struct trace_event_file *); int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + bool (*count_func)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); }; struct event_file_link { @@ -27131,7 +27683,6 @@ struct event_trigger_data { long unsigned int count; int ref; int flags; - const struct event_trigger_ops *ops; struct event_command *cmd_ops; struct event_filter *filter; char *filter_str; @@ -27142,15 +27693,7 @@ struct event_trigger_data { char *name; struct list_head named_list; struct event_trigger_data *named_data; -}; - -struct ring_buffer_event; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); + struct llist_node llist; }; struct eventfs_attr { @@ -27332,6 +27875,8 @@ struct fasync_struct { struct callback_head fa_rcu; }; +struct fault_attr {}; + struct faux_device { struct device dev; }; @@ -27366,6 +27911,14 @@ typedef struct fd class_fd_raw_t; typedef struct fd class_fd_t; +struct fd_prepare { + s32 err; + s32 __fd; + struct file *__file; +}; + +typedef struct fd_prepare class_fd_prepare_t; + struct fd_range { unsigned int from; unsigned int to; @@ -27458,8 +28011,8 @@ struct fgraph_cpu_data { struct ftrace_graph_ent { long unsigned int func; - int depth; -} __attribute__((packed)); + long int depth; +}; struct ftrace_graph_ent_entry { struct trace_entry ent; @@ -27472,6 +28025,11 @@ struct fgraph_ent_args { long unsigned int args[6]; }; +struct fgraph_retaddr_ent_args { + struct ftrace_graph_ent_entry ent; + long unsigned int args[6]; +}; + struct ftrace_graph_ret { long unsigned int func; int depth; @@ -27489,7 +28047,7 @@ struct fgraph_data { struct fgraph_cpu_data *cpu_data; union { struct fgraph_ent_args ent; - struct ftrace_graph_ent_entry rent; + struct fgraph_retaddr_ent_args rent; }; struct ftrace_graph_ret_entry ret; int failed; @@ -29169,8 +29727,13 @@ struct fprobe_addr_list { long unsigned int *addrs; }; +struct rhlist_head { + struct rhash_head rhead; + struct rhlist_head *next; +}; + struct fprobe_hlist_node { - struct hlist_node hlist; + struct rhlist_head hlist; long unsigned int addr; struct fprobe *fp; }; @@ -29339,28 +29902,36 @@ struct frag_queue { u8 ecn; }; -struct freader { - void *buf; - u32 buf_sz; - int err; +struct free_area { + struct list_head free_list[4]; + long unsigned int nr_free; +}; + +struct freelist_counters { union { struct { - struct file *file; - struct folio *folio; - void *addr; - loff_t folio_off; - bool may_fault; - }; - struct { - const char *data; - u64 data_sz; + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; }; + freelist_full_t freelist_counters; }; }; -struct free_area { - struct list_head free_list[4]; - long unsigned int nr_free; +struct freelist_tid { + union { + struct { + void *freelist; + long unsigned int tid; + }; + freelist_full_t freelist_tid; + }; }; struct muldiv { @@ -30701,8 +31272,8 @@ struct irq_affinity_notify { struct napi_config; struct napi_struct { - struct list_head poll_list; long unsigned int state; + struct list_head poll_list; int weight; u32 defer_hard_irqs_count; int (*poll)(struct napi_struct *, int); @@ -30978,11 +31549,6 @@ struct hw_perf_event_extra { int idx; }; -struct rhlist_head { - struct rhash_head rhead; - struct rhlist_head *next; -}; - struct hw_perf_event { union { struct { @@ -31201,6 +31767,12 @@ struct icmp6_err { int fatal; }; +struct icmp6_ext_iio_addr6_subobj { + __be16 afi; + __be16 reserved; + struct in6_addr addr6; +}; + struct icmp6_filter { __u32 data[8]; }; @@ -31345,6 +31917,17 @@ struct icmp_ext_hdr { __sum16 checksum; }; +struct icmp_ext_iio_addr4_subobj { + __be16 afi; + __be16 reserved; + __be32 addr4; +}; + +struct icmp_ext_iio_name_subobj { + u8 len; + char name[16]; +}; + struct icmp_filter { __u32 data; }; @@ -32037,6 +32620,7 @@ struct sock_common { unsigned char skc_reuseport: 1; unsigned char skc_ipv6only: 1; unsigned char skc_net_refcnt: 1; + unsigned char skc_bypass_prot_mem: 1; int skc_bound_dev_if; union { struct hlist_node skc_bind_node; @@ -32145,15 +32729,20 @@ struct sock { struct rb_root tcp_rtx_queue; }; struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; struct page_frag sk_frag; - struct timer_list sk_timer; + union { + struct timer_list sk_timer; + struct timer_list tcp_retransmit_timer; + struct timer_list mptcp_retransmit_timer; + }; long unsigned int sk_pacing_rate; atomic_t sk_zckey; atomic_t sk_tskey; + long unsigned int sk_tx_queue_mapping_jiffies; __u8 __cacheline_group_end__sock_write_tx[0]; __u8 __cacheline_group_begin__sock_read_tx[0]; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; long unsigned int sk_max_pacing_rate; long int sk_sndtimeo; u32 sk_priority; @@ -32206,6 +32795,7 @@ struct sock { u8 sk_txtime_unused: 6; u8 sk_bpf_cb_flags; void *sk_user_data; + void *sk_security; struct sock_cgroup_data sk_cgrp_data; void (*sk_state_change)(struct sock *); void (*sk_write_space)(struct sock *); @@ -32244,11 +32834,14 @@ struct inet_cork_full { struct ipv6_pinfo; +struct ipv6_fl_socklist; + struct ip_mc_socklist; struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; + struct ipv6_fl_socklist *ipv6_fl_list; long unsigned int inet_flags; __be32 inet_saddr; __s16 uc_ttl; @@ -32289,8 +32882,11 @@ struct inet_connection_sock { struct request_sock_queue icsk_accept_queue; struct inet_bind_bucket *icsk_bind_hash; struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; struct timer_list icsk_delack_timer; + union { + struct timer_list icsk_keepalive_timer; + struct timer_list mptcp_tout_timer; + }; __u32 icsk_rto; __u32 icsk_rto_min; u32 icsk_rto_max; @@ -32627,17 +33223,22 @@ struct inet_timewait_sock { struct inet_bind2_bucket *tw_tb2; }; +struct inode_state_flags { + enum inode_state_flags_enum __state; +}; + struct inode_operations; struct inode { umode_t i_mode; short unsigned int i_opflags; + unsigned int i_flags; kuid_t i_uid; kgid_t i_gid; - unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping; + void *i_security; long unsigned int i_ino; union { const unsigned int i_nlink; @@ -32657,7 +33258,7 @@ struct inode { u8 i_blkbits; enum rw_hint i_write_hint; blkcnt_t i_blocks; - enum inode_state_flags_t i_state; + struct inode_state_flags i_state; struct rw_semaphore i_rwsem; long unsigned int dirtied_when; long unsigned int dirtied_time_when; @@ -33586,7 +34187,7 @@ struct ipv6_ac_socklist { struct udp_table; struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + int (*inet6_bind)(struct sock *, struct sockaddr_unsized *, int, u32); struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); @@ -33665,7 +34266,6 @@ struct ipv6_pinfo { struct inet6_cork cork; struct ipv6_mc_socklist *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; }; struct ipv6_rpl_sr_hdr { @@ -33945,7 +34545,6 @@ struct irq_desc { int threads_handled_last; raw_spinlock_t lock; struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; long unsigned int threads_oneshot; atomic_t threads_active; wait_queue_head_t wait_for_threads; @@ -34037,6 +34636,8 @@ struct irq_domain_info { struct irq_fwspec; +struct irq_fwspec_info; + struct irq_domain_ops { int (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token); int (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token); @@ -34048,6 +34649,7 @@ struct irq_domain_ops { int (*activate)(struct irq_domain *, struct irq_data *, bool); void (*deactivate)(struct irq_domain *, struct irq_data *); int (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *); + int (*get_fwspec_info)(struct irq_fwspec *, struct irq_fwspec_info *); }; struct irq_fwspec { @@ -34056,6 +34658,11 @@ struct irq_fwspec { u32 param[16]; }; +struct irq_fwspec_info { + long unsigned int flags; + const struct cpumask *affinity; +}; + struct irq_matrix { unsigned int matrix_bits; unsigned int alloc_start; @@ -34085,8 +34692,11 @@ typedef irqreturn_t (*irq_handler_t)(int, void *); struct irqaction { irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; + union { + void *dev_id; + void *percpu_dev_id; + }; + const struct cpumask *affinity; struct irqaction *next; irq_handler_t thread_fn; struct task_struct *thread; @@ -34179,6 +34789,23 @@ struct kcore_list { int type; }; +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; +}; + struct kernel_clone_args { u64 flags; int *pidfd; @@ -34315,10 +34942,10 @@ struct kernel_xattr_ctx { unsigned int flags; }; -struct kernfs_open_node; - struct kernfs_ops; +struct kernfs_open_node; + struct kernfs_elem_attr { const struct kernfs_ops *ops; struct kernfs_open_node *open; @@ -34339,7 +34966,32 @@ struct kernfs_elem_symlink { struct kernfs_node *target_kn; }; -struct kernfs_iattrs; +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[2]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; +}; struct kernfs_node { atomic_t count; @@ -34380,6 +35032,15 @@ struct kernfs_open_file { const struct vm_operations_struct *vm_ops; }; +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + struct kernfs_ops { int (*open)(struct kernfs_open_file *); void (*release)(struct kernfs_open_file *); @@ -34396,6 +35057,40 @@ struct kernfs_ops { loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); }; +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + struct key_vector { t_key key; unsigned char pos; @@ -34427,10 +35122,7 @@ struct kiocb { int ki_flags; u16 ki_ioprio; u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; + struct wait_page_queue *ki_waitq; }; struct klist_waiter { @@ -34451,6 +35143,17 @@ struct klistmount { struct path root; }; +struct klistns { + u64 *uns_ids; + u32 nr_ns_ids; + u64 last_ns_id; + u64 user_ns_id; + u32 ns_type; + struct user_namespace *user_ns; + bool userns_capable; + struct ns_common *first_ns; +}; + struct kmalloc_info_struct { const char *name[1]; unsigned int size; @@ -34475,11 +35178,15 @@ struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct slub_percpu_sheaves; struct kmem_cache_node; struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + struct lock_class_key lock_key; struct slub_percpu_sheaves *cpu_sheaves; slab_flags_t flags; long unsigned int min_partial; @@ -34498,6 +35205,7 @@ struct kmem_cache { unsigned int red_left_pad; const char *name; struct list_head list; + struct kobject kobj; struct kmem_cache_node *node[1]; }; @@ -34511,6 +35219,12 @@ struct kmem_cache_args { unsigned int sheaf_capacity; }; +struct kmem_cache_cpu { + struct freelist_tid; + struct slab *slab; + local_trylock_t lock; +}; + union kmem_cache_iter_priv { struct bpf_iter_kmem_cache it; struct bpf_iter_kmem_cache_kern kit; @@ -34988,8 +35702,6 @@ struct kvm_arch { bool use_master_clock; u64 master_kernel_ns; u64 master_cycle_now; - struct delayed_work kvmclock_update_work; - struct delayed_work kvmclock_sync_work; bool backwards_tsc_observed; bool boot_vcpu_runs_old_kvmclock; u32 bsp_vcpu_id; @@ -35731,6 +36443,12 @@ struct kvm_run { } setup_event_notify; }; } tdx; + struct { + __u64 flags; + __u64 esr; + __u64 gva; + __u64 gpa; + } arm_sea; char padding[256]; }; __u64 kvm_valid_regs; @@ -35908,7 +36626,6 @@ struct kvm_vcpu_arch { int pending_external_vector; int highest_stale_pending_ioapic_eoi; bool preempted_in_kernel; - bool l1tf_flush_l1d; int last_vmentry_cpu; u64 msr_hwcr; struct { @@ -36130,9 +36847,9 @@ struct kvm_x86_ops { u8 (*get_mt_mask)(struct kvm_vcpu *, gfn_t, bool); void (*load_mmu_pgd)(struct kvm_vcpu *, hpa_t, int); int (*link_external_spt)(struct kvm *, gfn_t, enum pg_level, void *); - int (*set_external_spte)(struct kvm *, gfn_t, enum pg_level, kvm_pfn_t); + int (*set_external_spte)(struct kvm *, gfn_t, enum pg_level, u64); int (*free_external_spt)(struct kvm *, gfn_t, enum pg_level, void *); - int (*remove_external_spte)(struct kvm *, gfn_t, enum pg_level, kvm_pfn_t); + void (*remove_external_spte)(struct kvm *, gfn_t, enum pg_level, u64); bool (*has_wbinvd_exit)(void); u64 (*get_l2_tsc_offset)(struct kvm_vcpu *); u64 (*get_l2_tsc_multiplier)(struct kvm_vcpu *); @@ -36158,6 +36875,7 @@ struct kvm_x86_ops { int (*dev_get_attr)(u32, u64, u64 *); int (*mem_enc_ioctl)(struct kvm *, void *); int (*vcpu_mem_enc_ioctl)(struct kvm_vcpu *, void *); + int (*vcpu_mem_enc_unlocked_ioctl)(struct kvm_vcpu *, void *); int (*mem_enc_register_region)(struct kvm *, struct kvm_enc_region *); int (*mem_enc_unregister_region)(struct kvm *, struct kvm_enc_region *); int (*vm_copy_enc_context_from)(struct kvm *, unsigned int); @@ -36308,6 +37026,7 @@ struct lease_manager_operations { int (*lm_change)(struct file_lease *, int, struct list_head *); void (*lm_setup)(struct file_lease *, void **); bool (*lm_breaker_owns_lease)(struct file_lease *); + int (*lm_open_conflict)(struct file *, int); }; struct legacy_fs_context { @@ -36566,12 +37285,284 @@ struct lruvec { struct zswap_lruvec_state zswap_lruvec_state; }; +struct lsm_blob_sizes { + unsigned int lbs_cred; + unsigned int lbs_file; + unsigned int lbs_ib; + unsigned int lbs_inode; + unsigned int lbs_sock; + unsigned int lbs_superblock; + unsigned int lbs_ipc; + unsigned int lbs_key; + unsigned int lbs_msg_msg; + unsigned int lbs_perf_event; + unsigned int lbs_task; + unsigned int lbs_xattr_count; + unsigned int lbs_tun_dev; + unsigned int lbs_bdev; + unsigned int lbs_bpf_map; + unsigned int lbs_bpf_prog; + unsigned int lbs_bpf_token; +}; + struct lsm_context { char *context; u32 len; int id; }; +struct lsm_ctx { + __u64 id; + __u64 flags; + __u64 len; + __u64 ctx_len; + __u8 ctx[0]; +}; + +struct lsm_id { + const char *name; + u64 id; +}; + +struct lsm_info { + const struct lsm_id *id; + enum lsm_order order; + long unsigned int flags; + struct lsm_blob_sizes *blobs; + int *enabled; + int (*init)(void); + int (*initcall_pure)(void); + int (*initcall_early)(void); + int (*initcall_core)(void); + int (*initcall_subsys)(void); + int (*initcall_fs)(void); + int (*initcall_device)(void); + int (*initcall_late)(void); +}; + +struct lsm_prop_selinux {}; + +struct lsm_prop_smack {}; + +struct lsm_prop_apparmor {}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct security_hook_list; + +struct static_key_false; + +struct lsm_static_call { + struct static_call_key *key; + void *trampoline; + struct security_hook_list *hl; + struct static_key_false *active; +}; + +struct lsm_static_calls_table { + struct lsm_static_call binder_set_context_mgr[2]; + struct lsm_static_call binder_transaction[2]; + struct lsm_static_call binder_transfer_binder[2]; + struct lsm_static_call binder_transfer_file[2]; + struct lsm_static_call ptrace_access_check[2]; + struct lsm_static_call ptrace_traceme[2]; + struct lsm_static_call capget[2]; + struct lsm_static_call capset[2]; + struct lsm_static_call capable[2]; + struct lsm_static_call quotactl[2]; + struct lsm_static_call quota_on[2]; + struct lsm_static_call syslog[2]; + struct lsm_static_call settime[2]; + struct lsm_static_call vm_enough_memory[2]; + struct lsm_static_call bprm_creds_for_exec[2]; + struct lsm_static_call bprm_creds_from_file[2]; + struct lsm_static_call bprm_check_security[2]; + struct lsm_static_call bprm_committing_creds[2]; + struct lsm_static_call bprm_committed_creds[2]; + struct lsm_static_call fs_context_submount[2]; + struct lsm_static_call fs_context_dup[2]; + struct lsm_static_call fs_context_parse_param[2]; + struct lsm_static_call sb_alloc_security[2]; + struct lsm_static_call sb_delete[2]; + struct lsm_static_call sb_free_security[2]; + struct lsm_static_call sb_free_mnt_opts[2]; + struct lsm_static_call sb_eat_lsm_opts[2]; + struct lsm_static_call sb_mnt_opts_compat[2]; + struct lsm_static_call sb_remount[2]; + struct lsm_static_call sb_kern_mount[2]; + struct lsm_static_call sb_show_options[2]; + struct lsm_static_call sb_statfs[2]; + struct lsm_static_call sb_mount[2]; + struct lsm_static_call sb_umount[2]; + struct lsm_static_call sb_pivotroot[2]; + struct lsm_static_call sb_set_mnt_opts[2]; + struct lsm_static_call sb_clone_mnt_opts[2]; + struct lsm_static_call move_mount[2]; + struct lsm_static_call dentry_init_security[2]; + struct lsm_static_call dentry_create_files_as[2]; + struct lsm_static_call path_notify[2]; + struct lsm_static_call inode_alloc_security[2]; + struct lsm_static_call inode_free_security[2]; + struct lsm_static_call inode_free_security_rcu[2]; + struct lsm_static_call inode_init_security[2]; + struct lsm_static_call inode_init_security_anon[2]; + struct lsm_static_call inode_create[2]; + struct lsm_static_call inode_post_create_tmpfile[2]; + struct lsm_static_call inode_link[2]; + struct lsm_static_call inode_unlink[2]; + struct lsm_static_call inode_symlink[2]; + struct lsm_static_call inode_mkdir[2]; + struct lsm_static_call inode_rmdir[2]; + struct lsm_static_call inode_mknod[2]; + struct lsm_static_call inode_rename[2]; + struct lsm_static_call inode_readlink[2]; + struct lsm_static_call inode_follow_link[2]; + struct lsm_static_call inode_permission[2]; + struct lsm_static_call inode_setattr[2]; + struct lsm_static_call inode_post_setattr[2]; + struct lsm_static_call inode_getattr[2]; + struct lsm_static_call inode_xattr_skipcap[2]; + struct lsm_static_call inode_setxattr[2]; + struct lsm_static_call inode_post_setxattr[2]; + struct lsm_static_call inode_getxattr[2]; + struct lsm_static_call inode_listxattr[2]; + struct lsm_static_call inode_removexattr[2]; + struct lsm_static_call inode_post_removexattr[2]; + struct lsm_static_call inode_file_setattr[2]; + struct lsm_static_call inode_file_getattr[2]; + struct lsm_static_call inode_set_acl[2]; + struct lsm_static_call inode_post_set_acl[2]; + struct lsm_static_call inode_get_acl[2]; + struct lsm_static_call inode_remove_acl[2]; + struct lsm_static_call inode_post_remove_acl[2]; + struct lsm_static_call inode_need_killpriv[2]; + struct lsm_static_call inode_killpriv[2]; + struct lsm_static_call inode_getsecurity[2]; + struct lsm_static_call inode_setsecurity[2]; + struct lsm_static_call inode_listsecurity[2]; + struct lsm_static_call inode_getlsmprop[2]; + struct lsm_static_call inode_copy_up[2]; + struct lsm_static_call inode_copy_up_xattr[2]; + struct lsm_static_call inode_setintegrity[2]; + struct lsm_static_call kernfs_init_security[2]; + struct lsm_static_call file_permission[2]; + struct lsm_static_call file_alloc_security[2]; + struct lsm_static_call file_release[2]; + struct lsm_static_call file_free_security[2]; + struct lsm_static_call file_ioctl[2]; + struct lsm_static_call file_ioctl_compat[2]; + struct lsm_static_call mmap_addr[2]; + struct lsm_static_call mmap_file[2]; + struct lsm_static_call file_mprotect[2]; + struct lsm_static_call file_lock[2]; + struct lsm_static_call file_fcntl[2]; + struct lsm_static_call file_set_fowner[2]; + struct lsm_static_call file_send_sigiotask[2]; + struct lsm_static_call file_receive[2]; + struct lsm_static_call file_open[2]; + struct lsm_static_call file_post_open[2]; + struct lsm_static_call file_truncate[2]; + struct lsm_static_call task_alloc[2]; + struct lsm_static_call task_free[2]; + struct lsm_static_call cred_alloc_blank[2]; + struct lsm_static_call cred_free[2]; + struct lsm_static_call cred_prepare[2]; + struct lsm_static_call cred_transfer[2]; + struct lsm_static_call cred_getsecid[2]; + struct lsm_static_call cred_getlsmprop[2]; + struct lsm_static_call kernel_act_as[2]; + struct lsm_static_call kernel_create_files_as[2]; + struct lsm_static_call kernel_module_request[2]; + struct lsm_static_call kernel_load_data[2]; + struct lsm_static_call kernel_post_load_data[2]; + struct lsm_static_call kernel_read_file[2]; + struct lsm_static_call kernel_post_read_file[2]; + struct lsm_static_call task_fix_setuid[2]; + struct lsm_static_call task_fix_setgid[2]; + struct lsm_static_call task_fix_setgroups[2]; + struct lsm_static_call task_setpgid[2]; + struct lsm_static_call task_getpgid[2]; + struct lsm_static_call task_getsid[2]; + struct lsm_static_call current_getlsmprop_subj[2]; + struct lsm_static_call task_getlsmprop_obj[2]; + struct lsm_static_call task_setnice[2]; + struct lsm_static_call task_setioprio[2]; + struct lsm_static_call task_getioprio[2]; + struct lsm_static_call task_prlimit[2]; + struct lsm_static_call task_setrlimit[2]; + struct lsm_static_call task_setscheduler[2]; + struct lsm_static_call task_getscheduler[2]; + struct lsm_static_call task_movememory[2]; + struct lsm_static_call task_kill[2]; + struct lsm_static_call task_prctl[2]; + struct lsm_static_call task_to_inode[2]; + struct lsm_static_call userns_create[2]; + struct lsm_static_call ipc_permission[2]; + struct lsm_static_call ipc_getlsmprop[2]; + struct lsm_static_call msg_msg_alloc_security[2]; + struct lsm_static_call msg_msg_free_security[2]; + struct lsm_static_call msg_queue_alloc_security[2]; + struct lsm_static_call msg_queue_free_security[2]; + struct lsm_static_call msg_queue_associate[2]; + struct lsm_static_call msg_queue_msgctl[2]; + struct lsm_static_call msg_queue_msgsnd[2]; + struct lsm_static_call msg_queue_msgrcv[2]; + struct lsm_static_call shm_alloc_security[2]; + struct lsm_static_call shm_free_security[2]; + struct lsm_static_call shm_associate[2]; + struct lsm_static_call shm_shmctl[2]; + struct lsm_static_call shm_shmat[2]; + struct lsm_static_call sem_alloc_security[2]; + struct lsm_static_call sem_free_security[2]; + struct lsm_static_call sem_associate[2]; + struct lsm_static_call sem_semctl[2]; + struct lsm_static_call sem_semop[2]; + struct lsm_static_call netlink_send[2]; + struct lsm_static_call d_instantiate[2]; + struct lsm_static_call getselfattr[2]; + struct lsm_static_call setselfattr[2]; + struct lsm_static_call getprocattr[2]; + struct lsm_static_call setprocattr[2]; + struct lsm_static_call ismaclabel[2]; + struct lsm_static_call secid_to_secctx[2]; + struct lsm_static_call lsmprop_to_secctx[2]; + struct lsm_static_call secctx_to_secid[2]; + struct lsm_static_call release_secctx[2]; + struct lsm_static_call inode_invalidate_secctx[2]; + struct lsm_static_call inode_notifysecctx[2]; + struct lsm_static_call inode_setsecctx[2]; + struct lsm_static_call inode_getsecctx[2]; + struct lsm_static_call bpf[2]; + struct lsm_static_call bpf_map[2]; + struct lsm_static_call bpf_prog[2]; + struct lsm_static_call bpf_map_create[2]; + struct lsm_static_call bpf_map_free[2]; + struct lsm_static_call bpf_prog_load[2]; + struct lsm_static_call bpf_prog_free[2]; + struct lsm_static_call bpf_token_create[2]; + struct lsm_static_call bpf_token_free[2]; + struct lsm_static_call bpf_token_cmd[2]; + struct lsm_static_call bpf_token_capable[2]; + struct lsm_static_call locked_down[2]; + struct lsm_static_call perf_event_open[2]; + struct lsm_static_call perf_event_alloc[2]; + struct lsm_static_call perf_event_read[2]; + struct lsm_static_call perf_event_write[2]; + struct lsm_static_call initramfs_populated[2]; + struct lsm_static_call bdev_alloc_security[2]; + struct lsm_static_call bdev_free_security[2]; + struct lsm_static_call bdev_setintegrity[2]; +}; + struct lwq { spinlock_t lock; struct llist_node *ready; @@ -36944,10 +37935,12 @@ struct microcode_ops { enum ucode_state (*request_microcode_fw)(int, struct device *); void (*microcode_fini_cpu)(int); enum ucode_state (*apply_microcode)(int); + void (*stage_microcode)(void); int (*collect_cpu_info)(int, struct cpu_signature *); void (*finalize_late_load)(int); unsigned int nmi_safe: 1; unsigned int use_nmi: 1; + unsigned int use_staging: 1; }; struct set_affinity_pending; @@ -36998,7 +37991,8 @@ struct mii_bus { struct mii_timestamper { bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_set)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + int (*hwtstamp_get)(struct mii_timestamper *, struct kernel_hwtstamp_config *); void (*link_state)(struct mii_timestamper *, struct phy_device *); int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; @@ -37089,6 +38083,8 @@ struct mlock_fbatch { struct folio_batch fbatch; }; +struct mm_mm_cid {}; + struct mm_reply_data { struct ethnl_reply_data base; struct ethtool_mm_state state; @@ -37113,6 +38109,7 @@ struct mm_struct { long unsigned int task_size; pgd_t *pgd; atomic_t mm_users; + struct mm_mm_cid mm_cid; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; @@ -37152,7 +38149,7 @@ struct mm_struct { struct uprobes_state uprobes_state; struct work_struct async_put_work; }; - long unsigned int cpu_bitmap[0]; + char flexible_array[0]; }; struct mm_struct__safe_rcu_or_null { @@ -37186,6 +38183,21 @@ struct mm_walk_ops { enum page_walk_lock walk_lock; }; +struct mmap_action { + union { + struct { + long unsigned int start; + long unsigned int start_pfn; + long unsigned int size; + pgprot_t pgprot; + } remap; + }; + enum mmap_action_type type; + int (*success_hook)(const struct vm_area_struct *); + int (*error_hook)(int); + bool hide_from_rmap_until_complete: 1; +}; + struct vma_munmap_struct { struct vma_iterator *vmi; struct vm_area_struct *vma; @@ -37225,7 +38237,9 @@ struct mmap_state { struct vma_munmap_struct vms; struct ma_state mas_detach; struct maple_tree mt_detach; - bool check_ksm_early; + bool check_ksm_early: 1; + bool hold_file_rmap_lock: 1; + bool file_doesnt_need_get: 1; }; struct mmap_unlock_irq_work { @@ -37280,6 +38294,8 @@ struct mmu_gather { unsigned int vma_exec: 1; unsigned int vma_huge: 1; unsigned int vma_pfn: 1; + unsigned int unshared_tables: 1; + unsigned int fully_unshared_tables: 1; unsigned int batch_count; struct mmu_gather_batch *active; struct mmu_gather_batch local; @@ -37348,6 +38364,7 @@ struct mnt_namespace { unsigned int nr_mounts; unsigned int pending_mounts; refcount_t passive; + bool is_anon; }; struct mnt_ns_info { @@ -37402,12 +38419,12 @@ struct module_memory { struct mod_tree_node mtn; }; +struct module_attribute; + struct module_sect_attrs; struct module_notes_attrs; -struct module_attribute; - struct trace_event_call; struct trace_eval_map; @@ -37426,6 +38443,7 @@ struct module { const struct kernel_symbol *syms; const u32 *crcs; unsigned int num_syms; + struct mutex param_lock; struct kernel_param *kp; unsigned int num_kp; unsigned int num_gpl_syms; @@ -37437,9 +38455,6 @@ struct module { struct exception_table_entry *extable; int (*init)(void); long: 64; - long: 64; - long: 64; - long: 64; struct module_memory mem[7]; struct mod_arch_specific arch; long unsigned int taints; @@ -37487,6 +38502,11 @@ struct module_attribute { void (*free)(struct module *); }; +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct param_attribute { struct module_attribute mattr; const struct kernel_param *param; @@ -37503,12 +38523,23 @@ struct module_reply_data { struct ethtool_module_power_mode_params power; }; +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + struct module_string { struct list_head next; struct module *module; char *str; }; +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + struct modules_array { struct module **mods; int mods_cnt; @@ -37674,6 +38705,44 @@ struct mq_sched { struct Qdisc **qdiscs; }; +struct phy_mse_capability { + u64 max_average_mse; + u64 max_peak_mse; + u64 refresh_rate_ps; + u64 num_symbols; + u32 supported_caps; +}; + +struct mse_snapshot_entry; + +struct mse_reply_data { + struct ethnl_reply_data base; + struct phy_mse_capability capability; + struct mse_snapshot_entry *snapshots; + unsigned int num_snapshots; +}; + +struct phy_mse_snapshot { + u64 average_mse; + u64 peak_mse; + u64 worst_peak_mse; +}; + +struct mse_snapshot_entry { + struct phy_mse_snapshot snapshot; + int channel; +}; + +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + struct ubuf_info; struct msghdr { @@ -37798,6 +38867,7 @@ struct msi_desc { struct device *dev; struct msi_msg msg; struct irq_affinity_desc *affinity; + struct device_attribute *sysfs_attrs; void (*write_msi_msg)(struct msi_desc *, void *); void *write_msi_msg_data; u16 msi_index; @@ -37892,7 +38962,7 @@ struct napi_alloc_cache { local_lock_t bh_lock; struct page_frag_cache page; unsigned int skb_count; - void *skb_cache[64]; + void *skb_cache[128]; }; struct napi_config { @@ -38140,7 +39210,7 @@ struct neigh_table { atomic_t gc_entries; struct list_head gc_list; struct list_head managed_list; - rwlock_t lock; + spinlock_t lock; long unsigned int last_rand; struct neigh_statistics *stats; struct neigh_hash_table *nht; @@ -38199,9 +39269,11 @@ struct raw_notifier_head { struct netns_core { struct ctl_table_header *sysctl_hdr; int sysctl_somaxconn; + int sysctl_txq_reselection; int sysctl_optmem_max; u8 sysctl_txrehash; u8 sysctl_tstamp_allow_data; + u8 sysctl_bypass_prot_mem; }; struct tcp_mib; @@ -38256,14 +39328,15 @@ struct netns_ipv4 { u8 sysctl_ip_fwd_use_pmtu; __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_tcp_moderate_rcvbuf; u8 sysctl_ip_early_demux; u8 sysctl_tcp_early_demux; u8 sysctl_tcp_l3mdev_accept; int sysctl_tcp_reordering; int sysctl_tcp_rmem[3]; + int sysctl_tcp_rcvbuf_low_rtt; __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; struct inet_timewait_death_row tcp_death_row; struct udp_table *udp_table; @@ -38287,6 +39360,7 @@ struct netns_ipv4 { u8 sysctl_icmp_echo_ignore_broadcasts; u8 sysctl_icmp_ignore_bogus_error_responses; u8 sysctl_icmp_errors_use_inbound_ifaddr; + u8 sysctl_icmp_errors_extension_mask; int sysctl_icmp_ratelimit; int sysctl_icmp_ratemask; int sysctl_icmp_msgs_per_sec; @@ -38360,6 +39434,7 @@ struct netns_ipv4 { int sysctl_tcp_pacing_ss_ratio; int sysctl_tcp_pacing_ca_ratio; unsigned int sysctl_tcp_child_ehash_entries; + int sysctl_tcp_comp_sack_rtt_percent; long unsigned int sysctl_tcp_comp_sack_delay_ns; long unsigned int sysctl_tcp_comp_sack_slack_ns; int sysctl_max_syn_backlog; @@ -38435,6 +39510,7 @@ struct netns_sysctl_ipv6 { u8 skip_notify_on_dev_down; u8 fib_notify_on_flag_change; u8 icmpv6_error_anycast_as_unicast; + u8 icmpv6_errors_extension_mask; }; struct rt6_statistics; @@ -38793,6 +39869,7 @@ struct net_device { struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; unsigned int promiscuity; unsigned int allmulti; bool uc_promisc; @@ -38873,7 +39950,6 @@ struct net_device { long: 64; long: 64; long: 64; - long: 64; u8 priv[0]; }; @@ -38993,6 +40069,17 @@ struct net_device_path { __be16 proto; u8 h_dest[6]; } encap; + struct { + union { + struct in_addr src_v4; + struct in6_addr src_v6; + }; + union { + struct in_addr dst_v4; + struct in6_addr dst_v6; + }; + u8 l3_proto; + } tun; struct { enum { DEV_PATH_BR_VLAN_KEEP = 0, @@ -39129,6 +40216,7 @@ struct net_hotdata { int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; + int qdisc_max_burst; int dev_tx_weight; int dev_rx_weight; int sysctl_max_skb_frags; @@ -39358,9 +40446,12 @@ struct netdev_queue { netdevice_tracker dev_tracker; struct Qdisc *qdisc; struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; long unsigned int tx_maxrate; atomic_long_t trans_timeout; struct net_device *sb_dev; + struct dql dql; spinlock_t _xmit_lock; int xmit_lock_owner; long unsigned int trans_start; @@ -39368,6 +40459,12 @@ struct netdev_queue { struct napi_struct *napi; }; +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + struct netdev_queue_mgmt_ops { size_t ndo_queue_mem_size; int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); @@ -39987,11 +41084,15 @@ struct ns_get_path_task_args { struct task_struct *task; }; -struct ns_tree { - struct rb_root ns_tree; - struct list_head ns_list; - seqlock_t ns_tree_lock; - int type; +struct ns_id_req { + __u32 size; + __u32 spare; + __u64 ns_id; + struct { + __u32 ns_type; + __u32 spare2; + __u64 user_ns_id; + }; }; struct nsfs_file_handle { @@ -40191,6 +41292,11 @@ struct osnoise_entry { unsigned int thread_count; }; +struct p2pdma_provider { + struct device *owner; + u64 bus_offset; +}; + struct p4_event_alias { u64 original; u64 alternative; @@ -40551,6 +41657,7 @@ struct pci_dev { unsigned int pasid_enabled: 1; unsigned int pri_enabled: 1; unsigned int tph_enabled: 1; + unsigned int fm_enabled: 1; unsigned int is_managed: 1; unsigned int is_msi_managed: 1; unsigned int needs_freset: 1; @@ -40645,12 +41752,12 @@ struct pci_ops { void * (*map_bus)(struct pci_bus *, unsigned int, int); int (*read)(struct pci_bus *, unsigned int, int, int, u32 *); int (*write)(struct pci_bus *, unsigned int, int, int, u32); + int (*assert_perst)(struct pci_bus *, bool); }; struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; + struct p2pdma_provider *mem; enum pci_p2pdma_map_type map; - u64 bus_off; }; struct hotplug_slot; @@ -41038,6 +42145,18 @@ struct perf_buffer { void *data_pages[0]; }; +struct unwind_stacktrace; + +struct perf_callchain_deferred_event { + struct unwind_stacktrace *trace; + struct { + struct perf_event_header header; + u64 cookie; + u64 nr; + u64 ips[0]; + } event; +}; + struct perf_callchain_entry { u64 nr; u64 ip[0]; @@ -41210,7 +42329,9 @@ struct perf_event_attr { __u64 inherit_thread: 1; __u64 remove_on_exec: 1; __u64 sigtrap: 1; - __u64 __reserved_1: 26; + __u64 defer_callchain: 1; + __u64 defer_output: 1; + __u64 __reserved_1: 24; union { __u32 wakeup_events; __u32 wakeup_watermark; @@ -41248,6 +42369,7 @@ struct perf_event_attr { }; __u64 sig_data; __u64 config3; + __u64 config4; }; typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); @@ -41326,6 +42448,7 @@ struct perf_event { struct trace_event_call *tp_event; struct event_filter *filter; struct ftrace_ops ftrace_ops; + void *security; struct list_head sb_list; struct list_head pmu_list; u32 orig_type; @@ -41722,6 +42845,12 @@ struct phylink; struct pse_control; +struct phy_oatc14_sqi_capability { + bool updated; + int sqi_max; + u8 sqiplus_bits; +}; + struct phy_driver; struct phy_device { @@ -41748,6 +42877,8 @@ struct phy_device { unsigned int autoneg: 1; unsigned int link: 1; unsigned int autoneg_complete: 1; + bool pause: 1; + bool asym_pause: 1; unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; @@ -41760,8 +42891,6 @@ struct phy_device { int speed; int duplex; int port; - int pause; - int asym_pause; u8 master_slave_get; u8 master_slave_set; u8 master_slave_state; @@ -41796,6 +42925,7 @@ struct phy_device { unsigned int link_down_events; void (*phy_link_change)(struct phy_device *, bool); void (*adjust_link)(struct net_device *); + struct phy_oatc14_sqi_capability oatc14_sqi_capability; }; struct phy_device_node { @@ -41855,6 +42985,8 @@ struct phy_driver { int (*set_loopback)(struct phy_device *, bool, int); int (*get_sqi)(struct phy_device *); int (*get_sqi_max)(struct phy_device *); + int (*get_mse_capability)(struct phy_device *, struct phy_mse_capability *); + int (*get_mse_snapshot)(struct phy_device *, enum phy_mse_channel, struct phy_mse_snapshot *); int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); @@ -41959,22 +43091,22 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; + struct { + __u32 coredump_mask; + __u32 coredump_signal; + }; + __u64 supported_mask; }; -struct simple_xattrs; - struct pidfs_attr { + long unsigned int attr_mask; struct simple_xattrs *xattrs; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; + struct { + __u64 cgroupid; + __s32 exit_code; + }; + __u32 coredump_mask; + __u32 coredump_signal; }; struct ping_table { @@ -42034,13 +43166,7 @@ struct pipe_inode_info { struct mutex mutex; wait_queue_head_t rd_wait; wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; + union pipe_index; unsigned int max_usage; unsigned int ring_size; unsigned int nr_accounted; @@ -42527,8 +43653,6 @@ struct property_entry { }; }; -struct smc_hashinfo; - struct proto_accept_arg; struct sk_psock; @@ -42537,10 +43661,12 @@ struct timewait_sock_ops; struct raw_hashinfo; +struct smc_hashinfo; + struct proto { void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); + int (*pre_connect)(struct sock *, struct sockaddr_unsized *, int); + int (*connect)(struct sock *, struct sockaddr_unsized *, int); int (*disconnect)(struct sock *, int); struct sock * (*accept)(struct sock *, struct proto_accept_arg *); int (*ioctl)(struct sock *, int, int *); @@ -42553,8 +43679,8 @@ struct proto { int (*sendmsg)(struct sock *, struct msghdr *, size_t); int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*bind)(struct sock *, struct sockaddr_unsized *, int); + int (*bind_add)(struct sock *, struct sockaddr_unsized *, int); int (*backlog_rcv)(struct sock *, struct sk_buff *); bool (*bpf_bypass_getsockopt)(int, int); void (*release_cb)(struct sock *); @@ -42614,8 +43740,8 @@ struct proto_ops { int family; struct module *owner; int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*bind)(struct socket *, struct sockaddr_unsized *, int); + int (*connect)(struct socket *, struct sockaddr_unsized *, int, int); int (*socketpair)(struct socket *, struct socket *); int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); int (*getname)(struct socket *, struct sockaddr *, int); @@ -42675,6 +43801,7 @@ struct pseudo_fs_context { const struct xattr_handler * const *xattr; const struct dentry_operations *dops; long unsigned int magic; + unsigned int s_d_flags; }; struct pt_filter { @@ -42913,7 +44040,7 @@ struct queue_limits { unsigned int max_sectors; unsigned int max_user_sectors; unsigned int max_segment_size; - unsigned int min_segment_size; + unsigned int max_fast_segment_size; unsigned int physical_block_size; unsigned int logical_block_size; unsigned int alignment_offset; @@ -43368,7 +44495,7 @@ struct renamedata { struct dentry *old_dentry; struct dentry *new_parent; struct dentry *new_dentry; - struct inode **delegated_inode; + struct delegated_inode *delegated_inode; unsigned int flags; }; @@ -43378,6 +44505,8 @@ struct blk_mq_ops; struct blk_mq_ctx; +struct blk_mq_hw_ctx; + struct blk_queue_stats; struct rq_qos; @@ -43398,7 +44527,7 @@ struct request_queue { unsigned int queue_depth; refcount_t refs; unsigned int nr_hw_queues; - struct xarray hctx_table; + struct blk_mq_hw_ctx **queue_hw_ctx; struct percpu_ref q_usage_counter; struct lock_class_key io_lock_cls_key; struct lockdep_map io_lockdep_map; @@ -43456,7 +44585,6 @@ struct request_sock_ops { void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); }; struct reserve_mem_table { @@ -43491,7 +44619,7 @@ struct restart_block { u32 val; u32 flags; u32 bitset; - u64 time; + ktime_t time; u32 *uaddr2; } futex; struct { @@ -43501,7 +44629,7 @@ struct restart_block { struct __kernel_timespec *rmtp; struct old_timespec32 *compat_rmtp; }; - u64 expires; + ktime_t expires; } nanosleep; struct { struct pollfd *ufds; @@ -43738,7 +44866,7 @@ struct rt_rq { struct sched_dl_entity; -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *, struct rq_flags *); struct sched_dl_entity { struct rb_node rb_node; @@ -43759,6 +44887,7 @@ struct sched_dl_entity { unsigned int dl_defer: 1; unsigned int dl_defer_armed: 1; unsigned int dl_defer_running: 1; + unsigned int dl_defer_idle: 1; struct hrtimer dl_timer; struct hrtimer inactive_timer; struct rq *rq; @@ -43767,6 +44896,7 @@ struct sched_dl_entity { struct rq { raw_spinlock_t __lock; + unsigned int queue_mask; unsigned int nr_running; unsigned int ttwu_pending; u64 nr_switches; @@ -43775,7 +44905,6 @@ struct rq { long: 64; long: 64; long: 64; - long: 64; struct cfs_rq cfs; struct rt_rq rt; struct dl_rq dl; @@ -43851,6 +44980,8 @@ struct rs_msg { __u8 opt[0]; }; +struct rseq_data {}; + struct rss_nl_dump_ctx { long unsigned int ifindex; long unsigned int ctx_idx; @@ -44303,6 +45434,8 @@ struct rusage { __kernel_long_t ru_nivcsw; }; +typedef struct rw_semaphore *class_rwsem_read_t; + struct rwsem_waiter { struct list_head list; struct task_struct *task; @@ -44311,6 +45444,12 @@ struct rwsem_waiter { bool handoff_set; }; +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + struct s_data { struct sched_domain **sd; struct root_domain *rd; @@ -44406,15 +45545,28 @@ struct sched_attr { __u32 sched_util_max; }; +struct sched_change_ctx; + +typedef struct sched_change_ctx *class_sched_change_t; + +struct sched_change_ctx { + u64 prio; + struct task_struct *p; + int flags; + bool queued; + bool running; +}; + struct sched_class { + unsigned int queue_mask; void (*enqueue_task)(struct rq *, struct task_struct *, int); bool (*dequeue_task)(struct rq *, struct task_struct *, int); void (*yield_task)(struct rq *); bool (*yield_to_task)(struct rq *, struct task_struct *); void (*wakeup_preempt)(struct rq *, struct task_struct *, int); int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + struct task_struct * (*pick_task)(struct rq *, struct rq_flags *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *, struct rq_flags *); void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); void (*set_next_task)(struct rq *, struct task_struct *, bool); int (*select_task_rq)(struct task_struct *, int, int); @@ -44427,11 +45579,13 @@ struct sched_class { void (*task_tick)(struct rq *, struct task_struct *, int); void (*task_fork)(struct task_struct *); void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); + void (*switching_from)(struct rq *, struct task_struct *); void (*switched_from)(struct rq *, struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); void (*switched_to)(struct rq *, struct task_struct *); + u64 (*get_prio)(struct rq *, struct task_struct *); + void (*prio_changed)(struct rq *, struct task_struct *, u64); void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); void (*update_curr)(struct rq *); }; @@ -44462,6 +45616,9 @@ struct sched_domain { long unsigned int last_balance; unsigned int balance_interval; unsigned int nr_balance_failed; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; u64 max_newidle_lb_cost; long unsigned int last_decay_max_lb_cost; char *name; @@ -44562,6 +45719,8 @@ struct sched_group_capacity { struct sched_info {}; +struct sched_mm_cid {}; + struct sched_param { int sched_priority; }; @@ -44680,6 +45839,214 @@ struct seccomp_data { __u64 args[6]; }; +struct timezone; + +struct xattr; + +struct sembuf; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, const struct qstr *, const struct cred *, struct cred *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, u64); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); + void *lsm_func_addr; +}; + +struct security_hook_list { + struct lsm_static_call *scalls; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + struct seg6_pernet_data { struct mutex lock; struct in6_addr *tun_src; @@ -44706,6 +46073,12 @@ struct semaphore_waiter { bool up; }; +struct sembuf { + short unsigned int sem_num; + short int sem_op; + short int sem_flg; +}; + struct send_signal_irq_work { struct irq_work irq_work; struct task_struct *task; @@ -44937,11 +46310,6 @@ struct simple_xattr { char value[0]; }; -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - struct sit_net { struct ip_tunnel *tunnels_r_l[16]; struct ip_tunnel *tunnels_r[16]; @@ -45113,20 +46481,7 @@ struct slab { void *flush_freelist; }; }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - freelist_aba_t freelist_counter; - }; + struct freelist_counters; }; struct callback_head callback_head; }; @@ -45139,7 +46494,10 @@ struct slab_sheaf { union { struct callback_head callback_head; struct list_head barn_list; - unsigned int capacity; + struct { + unsigned int capacity; + bool pfmemalloc; + }; }; struct kmem_cache *cache; unsigned int size; @@ -45160,6 +46518,11 @@ struct slub_percpu_sheaves { struct slab_sheaf *rcu_free; }; +struct smc_hashinfo { + rwlock_t lock; + struct hlist_head ht; +}; + struct smp_hotplug_thread { struct task_struct **store; struct list_head list; @@ -45317,6 +46680,11 @@ struct sockaddr_un { char sun_path[108]; }; +struct sockaddr_unsized { + __kernel_sa_family_t sa_family; + char sa_data[0]; +}; + struct socket_wq { wait_queue_head_t wait; struct fasync_struct *fasync_list; @@ -45381,7 +46749,8 @@ struct software_node { }; struct software_node_ref_args { - const struct software_node *node; + const struct software_node *swnode; + struct fwnode_handle *fwnode; unsigned int nargs; u64 args[16]; }; @@ -45436,6 +46805,13 @@ struct srcu_notifier_head { struct notifier_block *head; }; +struct ss_tmp { + enum ss_state state; + long unsigned int data; + spinlock_t *lock; + spinlock_t *lock_irqsave; +}; + struct stack_entry { struct trace_entry ent; int size; @@ -45473,6 +46849,14 @@ struct stacktrace_cookie { unsigned int len; }; +struct staging_state { + void *mmio_base; + unsigned int ucode_len; + unsigned int chunk_size; + unsigned int bytes_sent; + unsigned int offset; +}; + struct stashed_operations { struct dentry * (*stash_dentry)(struct dentry **, struct dentry *); void (*put_data)(void *); @@ -45726,6 +47110,8 @@ struct subsys_private { struct lock_class_key lock_key; }; +typedef struct super_block *class_super_write_t; + struct mtd_info; struct super_block { @@ -45746,6 +47132,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_t s_active; + void *s_security; const struct xattr_handler * const *s_xattr; struct hlist_bl_head s_roots; struct mount *s_mounts; @@ -45787,6 +47174,7 @@ struct super_block { struct list_head s_inodes; spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; + long int s_min_writeback_pages; }; struct super_operations { @@ -45859,7 +47247,7 @@ struct swap_info_struct { struct work_struct discard_work; struct work_struct reclaim_work; struct list_head discard_clusters; - struct plist_node avail_lists[0]; + struct plist_node avail_list; }; struct swap_sequential_cluster { @@ -45902,11 +47290,6 @@ struct symsearch { enum mod_license license; }; -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - struct sys_off_data { int mode; void *cb_data; @@ -45924,6 +47307,12 @@ struct sys_off_handler { struct device *dev; }; +struct syscall_args { + char *ptr_array[3]; + int read[3]; + int uargs; +}; + struct syscall_info { __u64 sp; struct seccomp_data data; @@ -45932,7 +47321,10 @@ struct syscall_info { struct syscall_metadata { const char *name; int syscall_nr; - int nb_args; + u8 nb_args: 7; + u8 user_arg_is_str: 1; + s8 user_arg_size; + short int user_mask; const char **types; const char **args; struct list_head enter_fields; @@ -45964,6 +47356,19 @@ struct syscall_trace_exit { long int ret; }; +struct trace_user_buf; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + size_t size; + int ref; +}; + +struct syscall_user_buffer { + struct trace_user_buf_info buf; + struct callback_head rcu; +}; + struct syscall_user_dispatch { char *selector; long unsigned int offset; @@ -45971,11 +47376,18 @@ struct syscall_user_dispatch { bool on_dispatch; }; -struct syscore_ops { +struct syscore_ops; + +struct syscore { struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); + const struct syscore_ops *ops; + void *data; +}; + +struct syscore_ops { + int (*suspend)(void *); + void (*resume)(void *); + void (*shutdown)(void *); }; struct sysfs_ops { @@ -46025,7 +47437,6 @@ struct system_time_snapshot { struct taint_flag { char c_true; char c_false; - bool module; const char *desc; }; @@ -46061,6 +47472,23 @@ struct tlbflush_unmap_batch { bool writable; }; +union unwind_task_id { + struct { + u32 cpu; + u32 cnt; + }; + u64 id; +}; + +struct unwind_cache; + +struct unwind_task_info { + atomic_long_t unwind_mask; + struct unwind_cache *cache; + struct callback_head work; + union unwind_task_id id; +}; + struct thread_struct { struct desc_struct tls_array[3]; long unsigned int sp; @@ -46219,6 +47647,8 @@ struct task_struct { struct mutex perf_event_mutex; struct list_head perf_event_list; struct perf_ctx_data *perf_ctx_data; + struct rseq_data rseq; + struct sched_mm_cid mm_cid; struct tlbflush_unmap_batch tlb_ubc; struct pipe_inode_info *splice_pipe; struct page_frag task_frag; @@ -46244,13 +47674,17 @@ struct task_struct { struct timer_list oom_reaper_timer; struct vm_struct *stack_vm_area; refcount_t stack_refcount; + void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; struct bpf_net_context *bpf_net_context; struct llist_head kretprobe_instances; struct llist_head rethooks; struct callback_head l1d_flush_kill; + struct unwind_task_info unwind_info; struct thread_struct thread; + long: 64; + long: 64; }; struct task_struct__safe_rcu { @@ -46317,9 +47751,6 @@ struct tc_skb_cb { u32 drop_reason; u16 zone; u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; }; struct tcf_chain; @@ -46530,9 +47961,6 @@ struct tcp_sock { struct rb_root out_of_order_queue; __u8 __cacheline_group_end__tcp_sock_read_rx[0]; long: 64; - long: 64; - long: 64; - long: 64; __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; u32 segs_out; u32 data_segs_out; @@ -46683,13 +48111,6 @@ struct tcp_sock { struct tcp6_sock { struct tcp_sock tcp; struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; }; union tcp_ao_addr { @@ -47355,6 +48776,7 @@ struct tls_context { u8 rx_conf: 3; u8 zerocopy_sendfile: 1; u8 rx_no_pad: 1; + u16 tx_max_payload_len; int (*push_pending_record)(struct sock *, int); void (*sk_write_space)(struct sock *); void *priv_ctx_tx; @@ -47518,6 +48940,8 @@ struct trace_module_delta; struct trace_pid_list; +struct tracer_flags; + struct trace_options; struct trace_func_repeats; @@ -47540,8 +48964,8 @@ struct trace_array { arch_spinlock_t max_lock; int sys_refcount_enter; int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[470]; - struct trace_event_file *exit_syscall_files[470]; + struct trace_event_file *enter_syscall_files[471]; + struct trace_event_file *exit_syscall_files[471]; int stop_count; int clock_id; int nr_topts; @@ -47549,8 +48973,9 @@ struct trace_array { int buffer_percent; unsigned int n_err_log_entries; struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; + struct tracer_flags *current_trace_flags; + u64 trace_flags; + unsigned char trace_flags_index[64]; unsigned int flags; raw_spinlock_t start_lock; const char *system_names; @@ -47563,6 +48988,7 @@ struct trace_array { struct list_head systems; struct list_head events; struct list_head marker_list; + struct list_head tracers; struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; cpumask_var_t pipe_cpumask; @@ -47578,6 +49004,7 @@ struct trace_array { struct list_head mod_notrace; int function_enabled; int no_filter_buffering_ref; + unsigned int syscall_buf_sz; struct list_head hist_vars; struct trace_func_repeats *last_func_repeats; bool ring_buffer_expanded; @@ -48716,6 +50143,9 @@ struct trace_event_raw_dma_map { struct trace_event_raw_dma_map_sg { struct trace_entry ent; u32 __data_loc_device; + int full_nents; + int full_ents; + bool truncated; u32 __data_loc_phys_addrs; u32 __data_loc_dma_addrs; u32 __data_loc_lengths; @@ -49642,6 +51072,7 @@ struct trace_event_raw_net_dev_rx_verbose_template { unsigned char nr_frags; u16 gso_size; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -49664,6 +51095,7 @@ struct trace_event_raw_net_dev_start_xmit { u16 gso_size; u16 gso_segs; u16 gso_type; + u64 net_cookie; char __data[0]; }; @@ -49672,6 +51104,7 @@ struct trace_event_raw_net_dev_template { void *skbaddr; unsigned int len; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -49681,6 +51114,7 @@ struct trace_event_raw_net_dev_xmit { unsigned int len; int rc; u32 __data_loc_name; + u64 net_cookie; char __data[0]; }; @@ -49689,6 +51123,7 @@ struct trace_event_raw_net_dev_xmit_timeout { u32 __data_loc_name; u32 __data_loc_driver; int queue_index; + u64 net_cookie; char __data[0]; }; @@ -50855,8 +52290,6 @@ struct trace_module_delta { struct tracer_opt; -struct tracer_flags; - struct trace_option_dentry { struct tracer_opt *opt; struct tracer_flags *flags; @@ -50872,6 +52305,7 @@ struct trace_options { union upper_chunk; struct trace_pid_list { + seqcount_raw_spinlock_t seqcount; raw_spinlock_t lock; struct irq_work refill_irqwork; union upper_chunk *upper[256]; @@ -50940,11 +52374,6 @@ struct trace_user_buf { char *buf; }; -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - struct tracefs_dir_ops { int (*mkdir)(const char *); int (*rmdir)(const char *); @@ -51021,9 +52450,10 @@ struct tracer { void (*print_header)(struct seq_file *); enum print_line_t (*print_line)(struct trace_iterator *); int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); + int (*flag_changed)(struct trace_array *, u64, int); struct tracer *next; struct tracer_flags *flags; + struct tracer_flags *default_flags; int enabled; bool print_max; bool allow_instances; @@ -51053,6 +52483,12 @@ struct tracer_stat { int (*stat_headers)(struct seq_file *); }; +struct tracers { + struct list_head list; + struct tracer *tracer; + struct tracer_flags *flags; +}; + struct tracing_log_err { struct list_head list; struct err_info info; @@ -51627,6 +53063,17 @@ struct unlink_vma_file_batch { struct vm_area_struct *vmas[8]; }; +struct unwind_cache { + long unsigned int unwind_completed; + unsigned int nr_entries; + long unsigned int entries[0]; +}; + +struct unwind_stacktrace { + unsigned int nr; + long unsigned int *entries; +}; + struct unwind_state { struct stack_info stack_info; long unsigned int stack_mask; @@ -51637,6 +53084,34 @@ struct unwind_state { long unsigned int *sp; }; +struct unwind_user_frame { + s32 cfa_off; + s32 ra_off; + s32 fp_off; + bool use_fp; +}; + +struct unwind_user_state { + long unsigned int ip; + long unsigned int sp; + long unsigned int fp; + unsigned int ws; + enum unwind_user_type current_type; + unsigned int available_types; + bool topmost; + bool done; +}; + +struct unwind_work; + +typedef void (*unwind_callback_t)(struct unwind_work *, struct unwind_stacktrace *, u64); + +struct unwind_work { + struct list_head list; + unwind_callback_t func; + int bit; +}; + union upper_chunk { union upper_chunk *next; union lower_chunk *data[256]; @@ -51983,10 +53458,14 @@ struct vm_area_desc { long unsigned int end; long unsigned int pgoff; struct file *vm_file; - vm_flags_t vm_flags; + union { + vm_flags_t vm_flags; + vma_flags_t vma_flags; + }; pgprot_t page_prot; const struct vm_operations_struct *vm_ops; void *private_data; + struct mmap_action action; }; struct vm_userfaultfd_ctx {}; @@ -52003,7 +53482,7 @@ struct vm_area_struct { pgprot_t vm_page_prot; union { const vm_flags_t vm_flags; - vm_flags_t __vm_flags; + vma_flags_t flags; }; struct list_head anon_vma_chain; struct anon_vma *anon_vma; @@ -52019,6 +53498,11 @@ struct vm_area_struct { struct pfnmap_track_ctx *pfnmap_track_ctx; }; +struct vm_area_struct__safe_trusted_or_null { + struct mm_struct *vm_mm; + struct file *vm_file; +}; + struct vm_fault { const struct { struct vm_area_struct *vma; @@ -52071,7 +53555,10 @@ struct vm_stack { }; struct vm_struct { - struct vm_struct *next; + union { + struct vm_struct *next; + struct llist_node llnode; + }; void *addr; long unsigned int size; long unsigned int flags; @@ -52116,6 +53603,7 @@ struct vma_merge_struct { struct vm_userfaultfd_ctx uffd_ctx; struct anon_vma_name *anon_name; enum vma_merge_state state; + struct vm_area_struct *copied_from; bool just_expand: 1; bool give_up_on_oom: 1; bool skip_vma_uprobe: 1; @@ -52267,6 +53755,8 @@ struct warn_args { struct wb_completion { atomic_t cnt; wait_queue_head_t *waitq; + long unsigned int progress_stamp; + long unsigned int wait_start; }; struct wb_domain { @@ -52375,6 +53865,8 @@ struct workqueue_attrs { struct wq_flusher; +struct wq_device; + struct wq_node_nr_active; struct workqueue_struct { @@ -52396,12 +53888,12 @@ struct workqueue_struct { int saved_min_active; struct workqueue_attrs *unbound_attrs; struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; char name[32]; struct callback_head rcu; long: 64; long: 64; long: 64; - long: 64; unsigned int flags; struct pool_workqueue **cpu_pwq; struct wq_node_nr_active *node_nr_active[0]; @@ -52419,6 +53911,11 @@ struct wq_barrier { struct task_struct *task; }; +struct wq_device { + struct workqueue_struct *wq; + struct device dev; +}; + struct wq_drain_dead_softirq_work { struct work_struct work; struct worker_pool *pool; @@ -52570,6 +54067,7 @@ struct x86_hybrid_pmu { unsigned int late_ack: 1; unsigned int mid_ack: 1; unsigned int enabled_ack: 1; + struct arch_pebs_cap arch_pebs_cap; u64 pebs_data_source[256]; }; @@ -52835,6 +54333,7 @@ struct x86_pmu { unsigned int pebs_no_isolation: 1; unsigned int pebs_block: 1; unsigned int pebs_ept: 1; + unsigned int arch_pebs: 1; int pebs_record_size; int pebs_buffer_size; u64 pebs_events_mask; @@ -52845,6 +54344,7 @@ struct x86_pmu { long unsigned int large_pebs_flags; u64 rtm_abort_event; u64 pebs_capable; + struct arch_pebs_cap arch_pebs_cap; unsigned int lbr_tos; unsigned int lbr_from; unsigned int lbr_to; @@ -52982,6 +54482,12 @@ struct xa_state { struct list_lru *xa_lru; }; +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + struct xattr_args { __u64 value; __u32 size; @@ -53470,7 +54976,8 @@ struct xsk_buff_pool { bool unaligned; bool tx_sw_csum; void *addrs; - spinlock_t cq_lock; + spinlock_t cq_prod_lock; + spinlock_t cq_cached_prod_lock; struct xdp_buff_xsk *free_heads[0]; }; @@ -53524,6 +55031,8 @@ typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_r typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); @@ -53540,13 +55049,13 @@ typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); typedef u64 (*btf_bpf_d_path)(const struct path *, char *, u32); -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u64, u64, struct bpf_dynptr_kern *); -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); +typedef u64 (*btf_bpf_dynptr_read)(void *, u64, const struct bpf_dynptr_kern *, u64, u64); -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u64, void *, u64, u64); typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); @@ -53556,6 +55065,8 @@ typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); @@ -53646,6 +55157,14 @@ typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + typedef u64 (*btf_bpf_jiffies64)(void); typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); @@ -53882,6 +55401,10 @@ typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, stru typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); +typedef u64 (*btf_bpf_sock_create_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_create_setsockopt)(struct sock *, int, int, char *, int); + typedef u64 (*btf_bpf_sock_from_file)(struct file *); typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); @@ -54754,8 +56277,6 @@ typedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16); -struct xattr; - typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); @@ -54830,6 +56351,8 @@ typedef void (*task_work_func_t)(struct callback_head *); typedef void text_poke_f(void *, const void *, size_t); +typedef int (*trace_user_buf_copy)(char *, const char *, size_t, void *); + typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); typedef int (*uprobe_write_verify_t)(struct page *, long unsigned int, uprobe_opcode_t *, int, void *); @@ -54842,6 +56365,10 @@ struct task_group; typedef void *acpi_handle; +typedef void *class_user_read_access_t; + +typedef void *class_user_write_access_t; + struct acpi_device; struct audit_buffer; @@ -54852,6 +56379,8 @@ struct bpf_iter; struct bpf_key; +struct bug_entry; + struct capture_control; struct nvmem_cell; @@ -54866,12 +56395,12 @@ extern void __attribute__((address_space(1))) *bpf_arena_alloc_pages(void *p__ma extern void bpf_arena_free_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern int bpf_arena_reserve_pages(void *p__map, void __attribute__((address_space(1))) *ptr__ign, u32 page_cnt) __weak __ksym; extern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; -extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_copy_from_user_task_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, struct task_struct *tsk, u64 flags) __weak __ksym; -extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; +extern int bpf_copy_from_user_task_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign, struct task_struct *tsk) __weak __ksym; extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; extern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; @@ -54898,20 +56427,25 @@ extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) _ extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; -extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym; +extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u64 start, u64 end) __weak __ksym; extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; -extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u32 dst_off, struct bpf_dynptr *src_ptr, u32 src_off, u32 size) __weak __ksym; +extern int bpf_dynptr_copy(struct bpf_dynptr *dst_ptr, u64 dst_off, struct bpf_dynptr *src_ptr, u64 src_off, u64 size) __weak __ksym; +extern int bpf_dynptr_file_discard(struct bpf_dynptr *dynptr) __weak __ksym; +extern int bpf_dynptr_from_file(struct file *file, u32 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_skb_meta(struct __sk_buff *skb_, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym; extern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym; extern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym; -extern int bpf_dynptr_memset(struct bpf_dynptr *p, u32 offset, u32 size, u8 val) __weak __ksym; -extern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; -extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; -extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym; +extern int bpf_dynptr_memset(struct bpf_dynptr *p, u64 offset, u64 size, u8 val) __weak __ksym; +extern u64 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; +extern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; +extern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u64 offset, void *buffer__opt, u64 buffer__szk) __weak __ksym; extern int bpf_fentry_test1(int a) __weak __ksym; +extern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; +extern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym; extern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; extern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym; extern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym; @@ -54943,14 +56477,16 @@ extern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, c extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; extern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; +extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __weak __ksym; extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; extern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym; extern void bpf_preempt_disable(void) __weak __ksym; extern void bpf_preempt_enable(void) __weak __ksym; -extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; -extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_kernel_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern int bpf_probe_read_user_str_dynptr(struct bpf_dynptr *dptr, u64 off, u64 size, const void *unsafe_ptr__ign) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; extern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym; extern struct bpf_rb_node *bpf_rbtree_left(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym; @@ -54961,6 +56497,7 @@ extern void bpf_rcu_read_lock(void) __weak __ksym; extern void bpf_rcu_read_unlock(void) __weak __ksym; extern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_remove_dentry_xattr(struct dentry *dentry, const char *name__str) __weak __ksym; extern int bpf_res_spin_lock(struct bpf_res_spin_lock *lock) __weak __ksym; extern int bpf_res_spin_lock_irqsave(struct bpf_res_spin_lock *lock, long unsigned int *flags__irq_flag) __weak __ksym; extern void bpf_res_spin_unlock(struct bpf_res_spin_lock *lock) __weak __ksym; @@ -54968,17 +56505,20 @@ extern void bpf_res_spin_unlock_irqrestore(struct bpf_res_spin_lock *lock, long extern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym; extern __u64 *bpf_session_cookie(void) __weak __ksym; extern bool bpf_session_is_return(void) __weak __ksym; +extern int bpf_set_dentry_xattr(struct dentry *dentry, const char *name__str, const struct bpf_dynptr *value_p, int flags) __weak __ksym; extern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym; extern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym; extern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym; extern int bpf_sock_ops_enable_tx_tstamp(struct bpf_sock_ops_kern *skops, u64 flags) __weak __ksym; extern int bpf_strcasecmp(const char *s1__ign, const char *s2__ign) __weak __ksym; +extern int bpf_strcasestr(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strchr(const char *s__ign, char c) __weak __ksym; extern int bpf_strchrnul(const char *s__ign, char c) __weak __ksym; extern int bpf_strcmp(const char *s1__ign, const char *s2__ign) __weak __ksym; extern int bpf_strcspn(const char *s__ign, const char *reject__ign) __weak __ksym; extern int bpf_stream_vprintk_impl(int stream_id, const char *fmt__str, const void *args, u32 len__sz, void *aux__prog) __weak __ksym; extern int bpf_strlen(const char *s__ign) __weak __ksym; +extern int bpf_strncasestr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym; extern int bpf_strnchr(const char *s__ign, size_t count, char c) __weak __ksym; extern int bpf_strnlen(const char *s__ign, size_t count) __weak __ksym; extern int bpf_strnstr(const char *s1__ign, const char *s2__ign, size_t len) __weak __ksym;