diff --git a/.github/actions/build-selftests/action.yml b/.github/actions/build-selftests/action.yml index c677fe03d..787422934 100644 --- a/.github/actions/build-selftests/action.yml +++ b/.github/actions/build-selftests/action.yml @@ -12,6 +12,9 @@ inputs: description: 'where is vmlinux file' required: true default: '${{ github.workspace }}/vmlinux' + llvm-version: + description: 'llvm version' + required: true runs: using: "composite" @@ -28,4 +31,6 @@ runs: export REPO_ROOT="${{ github.workspace }}" export REPO_PATH="${{ inputs.repo-path }}" export VMLINUX_BTF="${{ inputs.vmlinux }}" + export LLVM_VERSION="${{ inputs.llvm-version }}" + ${{ github.action_path }}/build_selftests.sh diff --git a/.github/actions/build-selftests/build_selftests.sh b/.github/actions/build-selftests/build_selftests.sh index 31094c464..54ad0552f 100755 --- a/.github/actions/build-selftests/build_selftests.sh +++ b/.github/actions/build-selftests/build_selftests.sh @@ -10,22 +10,21 @@ foldable start prepare_selftests "Building selftests" LIBBPF_PATH="${REPO_ROOT}" -llvm_default_version() { - echo "16" -} - llvm_latest_version() { - echo "17" + echo "19" } -LLVM_VERSION=$(llvm_default_version) if [[ "${LLVM_VERSION}" == $(llvm_latest_version) ]]; then REPO_DISTRO_SUFFIX="" else REPO_DISTRO_SUFFIX="-${LLVM_VERSION}" fi -echo "deb https://apt.llvm.org/focal/ llvm-toolchain-focal${REPO_DISTRO_SUFFIX} main" \ +DISTRIB_CODENAME="noble" +test -f /etc/lsb-release && . /etc/lsb-release +echo "${DISTRIB_CODENAME}" + +echo "deb https://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}${REPO_DISTRO_SUFFIX} main" \ | sudo tee /etc/apt/sources.list.d/llvm.list PREPARE_SELFTESTS_SCRIPT=${THISDIR}/prepare_selftests-${KERNEL}.sh diff --git a/.github/actions/build-selftests/vmlinux.h b/.github/actions/build-selftests/vmlinux.h index 651602108..e7029393d 100644 --- a/.github/actions/build-selftests/vmlinux.h +++ b/.github/actions/build-selftests/vmlinux.h @@ -5,6 +5,14 @@ #pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record) #endif +#ifndef __ksym +#define __ksym __attribute__((section(".ksyms"))) +#endif + +#ifndef __weak +#define __weak __attribute__((weak)) +#endif + enum { ACPI_GENL_CMD_UNSPEC = 0, ACPI_GENL_CMD_EVENT = 1, @@ -641,17 +649,11 @@ enum { BLK_MQ_F_TAG_QUEUE_SHARED = 2, BLK_MQ_F_STACKING = 4, BLK_MQ_F_TAG_HCTX_SHARED = 8, - BLK_MQ_F_BLOCKING = 32, - BLK_MQ_F_NO_SCHED = 64, - BLK_MQ_F_NO_SCHED_BY_DEFAULT = 128, - BLK_MQ_F_ALLOC_POLICY_START_BIT = 8, + BLK_MQ_F_BLOCKING = 16, + BLK_MQ_F_NO_SCHED = 32, + BLK_MQ_F_NO_SCHED_BY_DEFAULT = 64, + BLK_MQ_F_ALLOC_POLICY_START_BIT = 7, BLK_MQ_F_ALLOC_POLICY_BITS = 1, - BLK_MQ_S_STOPPED = 0, - BLK_MQ_S_TAG_ACTIVE = 1, - BLK_MQ_S_SCHED_RESTART = 2, - BLK_MQ_S_INACTIVE = 3, - BLK_MQ_MAX_DEPTH = 10240, - BLK_MQ_CPU_WORK_BATCH = 8, }; enum { @@ -666,11 +668,25 @@ enum { BLK_MQ_REQ_PM = 4, }; +enum { + BLK_MQ_S_STOPPED = 0, + BLK_MQ_S_TAG_ACTIVE = 1, + BLK_MQ_S_SCHED_RESTART = 2, + BLK_MQ_S_INACTIVE = 3, + BLK_MQ_S_MAX = 4, +}; + enum { BLK_MQ_UNIQUE_TAG_BITS = 16, BLK_MQ_UNIQUE_TAG_MASK = 65535, }; +enum { + BLK_TAG_ALLOC_FIFO = 0, + BLK_TAG_ALLOC_RR = 1, + BLK_TAG_ALLOC_MAX = 2, +}; + enum { BLOCK_BITMAP = 0, INODE_BITMAP = 1, @@ -1203,6 +1219,12 @@ enum { CGRP_ROOT_MEMORY_LOCAL_EVENTS = 131072, CGRP_ROOT_MEMORY_RECURSIVE_PROT = 262144, CGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING = 524288, + CGRP_ROOT_PIDS_LOCAL_EVENTS = 1048576, +}; + +enum { + CMIS_MODULE_LOW_PWR = 1, + CMIS_MODULE_READY = 3, }; enum { @@ -1603,6 +1625,12 @@ enum { ETHTOOL_A_BITSET_MAX = 5, }; +enum { + ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC = 0, + ETHTOOL_A_C33_PSE_PW_LIMIT_MIN = 1, + ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2, +}; + enum { ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0, ETHTOOL_A_CABLE_AMPLITUDE_PAIR = 1, @@ -1752,8 +1780,10 @@ enum { ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES = 26, ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES = 27, ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS = 28, - __ETHTOOL_A_COALESCE_CNT = 29, - ETHTOOL_A_COALESCE_MAX = 28, + ETHTOOL_A_COALESCE_RX_PROFILE = 29, + ETHTOOL_A_COALESCE_TX_PROFILE = 30, + __ETHTOOL_A_COALESCE_CNT = 31, + ETHTOOL_A_COALESCE_MAX = 30, }; enum { @@ -1818,6 +1848,15 @@ enum { ETHTOOL_A_HEADER_MAX = 3, }; +enum { + ETHTOOL_A_IRQ_MODERATION_UNSPEC = 0, + ETHTOOL_A_IRQ_MODERATION_USEC = 1, + ETHTOOL_A_IRQ_MODERATION_PKTS = 2, + ETHTOOL_A_IRQ_MODERATION_COMPS = 3, + __ETHTOOL_A_IRQ_MODERATION_CNT = 4, + ETHTOOL_A_IRQ_MODERATION_MAX = 3, +}; + enum { ETHTOOL_A_LINKINFO_UNSPEC = 0, ETHTOOL_A_LINKINFO_HEADER = 1, @@ -1902,6 +1941,19 @@ enum { ETHTOOL_A_MODULE_EEPROM_MAX = 7, }; +enum { + ETHTOOL_A_MODULE_FW_FLASH_UNSPEC = 0, + ETHTOOL_A_MODULE_FW_FLASH_HEADER = 1, + ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME = 2, + ETHTOOL_A_MODULE_FW_FLASH_PASSWORD = 3, + ETHTOOL_A_MODULE_FW_FLASH_STATUS = 4, + ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG = 5, + ETHTOOL_A_MODULE_FW_FLASH_DONE = 6, + ETHTOOL_A_MODULE_FW_FLASH_TOTAL = 7, + __ETHTOOL_A_MODULE_FW_FLASH_CNT = 8, + ETHTOOL_A_MODULE_FW_FLASH_MAX = 7, +}; + enum { ETHTOOL_A_MODULE_UNSPEC = 0, ETHTOOL_A_MODULE_HEADER = 1, @@ -1964,6 +2016,13 @@ enum { ETHTOOL_A_PRIVFLAGS_MAX = 2, }; +enum { + ETHTOOL_A_PROFILE_UNSPEC = 0, + ETHTOOL_A_PROFILE_IRQ_MODERATION = 1, + __ETHTOOL_A_PROFILE_CNT = 2, + ETHTOOL_A_PROFILE_MAX = 1, +}; + enum { ETHTOOL_A_PSE_UNSPEC = 0, ETHTOOL_A_PSE_HEADER = 1, @@ -1973,8 +2032,14 @@ enum { ETHTOOL_A_C33_PSE_ADMIN_STATE = 5, ETHTOOL_A_C33_PSE_ADMIN_CONTROL = 6, ETHTOOL_A_C33_PSE_PW_D_STATUS = 7, - __ETHTOOL_A_PSE_CNT = 8, - ETHTOOL_A_PSE_MAX = 7, + ETHTOOL_A_C33_PSE_PW_CLASS = 8, + ETHTOOL_A_C33_PSE_ACTUAL_PW = 9, + ETHTOOL_A_C33_PSE_EXT_STATE = 10, + ETHTOOL_A_C33_PSE_EXT_SUBSTATE = 11, + ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT = 12, + ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES = 13, + __ETHTOOL_A_PSE_CNT = 14, + ETHTOOL_A_PSE_MAX = 13, }; enum { @@ -2234,8 +2299,9 @@ enum { ETHTOOL_MSG_PLCA_NTF = 41, ETHTOOL_MSG_MM_GET_REPLY = 42, ETHTOOL_MSG_MM_NTF = 43, - __ETHTOOL_MSG_KERNEL_CNT = 44, - ETHTOOL_MSG_KERNEL_MAX = 43, + ETHTOOL_MSG_MODULE_FW_FLASH_NTF = 44, + __ETHTOOL_MSG_KERNEL_CNT = 45, + ETHTOOL_MSG_KERNEL_MAX = 44, }; enum { @@ -2283,8 +2349,9 @@ enum { ETHTOOL_MSG_PLCA_GET_STATUS = 41, ETHTOOL_MSG_MM_GET = 42, ETHTOOL_MSG_MM_SET = 43, - __ETHTOOL_MSG_USER_CNT = 44, - ETHTOOL_MSG_USER_MAX = 43, + ETHTOOL_MSG_MODULE_FW_FLASH_ACT = 44, + __ETHTOOL_MSG_USER_CNT = 45, + ETHTOOL_MSG_USER_MAX = 44, }; enum { @@ -2456,6 +2523,12 @@ enum { FB_BLANK_POWERDOWN = 4, }; +enum { + FGRAPH_TYPE_RESERVED = 0, + FGRAPH_TYPE_BITMAP = 1, + FGRAPH_TYPE_DATA = 2, +}; + enum { FIB6_NO_SERNUM_CHANGE = 0, }; @@ -2664,6 +2737,7 @@ enum { FTRACE_OPS_FL_TRACE_ARRAY = 32768, FTRACE_OPS_FL_PERMANENT = 65536, FTRACE_OPS_FL_DIRECT = 131072, + FTRACE_OPS_FL_SUBOP = 262144, }; enum { @@ -3629,7 +3703,6 @@ enum { enum { IO_EVENTFD_OP_SIGNAL_BIT = 0, - IO_EVENTFD_OP_FREE_BIT = 1, }; enum { @@ -3740,6 +3813,7 @@ enum { IPPROTO_MPLS = 137, IPPROTO_ETHERNET = 143, IPPROTO_RAW = 255, + IPPROTO_SMC = 256, IPPROTO_MPTCP = 262, IPPROTO_MAX = 263, }; @@ -3945,6 +4019,7 @@ enum { IRQ_DOMAIN_FLAG_NO_MAP = 64, IRQ_DOMAIN_FLAG_MSI_PARENT = 256, IRQ_DOMAIN_FLAG_MSI_DEVICE = 512, + IRQ_DOMAIN_FLAG_DESTROY_GC = 1024, IRQ_DOMAIN_FLAG_NONCORE = 65536, }; @@ -4771,6 +4846,11 @@ enum { MEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ = 128, }; +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_NULL = 1, +}; + enum { MEMREMAP_WB = 1, MEMREMAP_WT = 2, @@ -4893,6 +4973,7 @@ enum { MSI_FLAG_FREE_MSI_DESCS = 64, MSI_FLAG_USE_DEV_FWNODE = 128, MSI_FLAG_PARENT_PM_DEV = 256, + MSI_FLAG_PCI_MSI_MASK_PARENT = 512, MSI_GENERIC_FLAGS_MASK = 65535, MSI_DOMAIN_FLAGS_MASK = 4294901760, MSI_FLAG_MULTI_PCI_MSI = 65536, @@ -5172,27 +5253,28 @@ enum { NETDEV_A_QSTATS_RX_ALLOC_FAIL = 12, NETDEV_A_QSTATS_RX_HW_DROPS = 13, NETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS = 14, - NETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 15, - NETDEV_A_QSTATS_RX_CSUM_NONE = 16, - NETDEV_A_QSTATS_RX_CSUM_BAD = 17, - NETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 18, - NETDEV_A_QSTATS_RX_HW_GRO_BYTES = 19, - NETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 20, - NETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 21, - NETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 22, - NETDEV_A_QSTATS_TX_HW_DROPS = 23, - NETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 24, - NETDEV_A_QSTATS_TX_CSUM_NONE = 25, - NETDEV_A_QSTATS_TX_NEEDS_CSUM = 26, - NETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 27, - NETDEV_A_QSTATS_TX_HW_GSO_BYTES = 28, - NETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 29, - NETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 30, - NETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 31, - NETDEV_A_QSTATS_TX_STOP = 32, - NETDEV_A_QSTATS_TX_WAKE = 33, - __NETDEV_A_QSTATS_MAX = 34, - NETDEV_A_QSTATS_MAX = 33, + NETDEV_A_QSTATS_RX_CSUM_COMPLETE = 15, + NETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 16, + NETDEV_A_QSTATS_RX_CSUM_NONE = 17, + NETDEV_A_QSTATS_RX_CSUM_BAD = 18, + NETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 19, + NETDEV_A_QSTATS_RX_HW_GRO_BYTES = 20, + NETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 21, + NETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 22, + NETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 23, + NETDEV_A_QSTATS_TX_HW_DROPS = 24, + NETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 25, + NETDEV_A_QSTATS_TX_CSUM_NONE = 26, + NETDEV_A_QSTATS_TX_NEEDS_CSUM = 27, + NETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 28, + NETDEV_A_QSTATS_TX_HW_GSO_BYTES = 29, + NETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 30, + NETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 31, + NETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 32, + NETDEV_A_QSTATS_TX_STOP = 33, + NETDEV_A_QSTATS_TX_WAKE = 34, + __NETDEV_A_QSTATS_MAX = 35, + NETDEV_A_QSTATS_MAX = 34, }; enum { @@ -5863,11 +5945,6 @@ enum { DEVICE_COUNT_RESOURCE = 17, }; -enum { - PCONFIG_CPUID_SUBLEAF_INVALID = 0, - PCONFIG_CPUID_SUBLEAF_TARGETID = 1, -}; - enum { PERCPU_REF_INIT_ATOMIC = 1, PERCPU_REF_INIT_DEAD = 2, @@ -6098,6 +6175,23 @@ enum { PPC = 1, }; +enum { + QUEUE_FLAG_DYING = 0, + QUEUE_FLAG_NOMERGES = 1, + QUEUE_FLAG_SAME_COMP = 2, + QUEUE_FLAG_FAIL_IO = 3, + QUEUE_FLAG_NOXMERGES = 4, + QUEUE_FLAG_SAME_FORCE = 5, + QUEUE_FLAG_INIT_DONE = 6, + QUEUE_FLAG_STATS = 7, + QUEUE_FLAG_REGISTERED = 8, + QUEUE_FLAG_QUIESCED = 9, + QUEUE_FLAG_RQ_ALLOC_TIME = 10, + QUEUE_FLAG_HCTX_ACTIVE = 11, + QUEUE_FLAG_SQ_SCHED = 12, + QUEUE_FLAG_MAX = 13, +}; + enum { Q_REQUEUE_PI_NONE = 0, Q_REQUEUE_PI_IGNORE = 1, @@ -6188,11 +6282,10 @@ enum { REQ_F_CLEAR_POLLIN = 67108864ULL, REQ_F_HASH_LOCKED = 134217728ULL, REQ_F_POLL_NO_LAZY = 1073741824ULL, - REQ_F_CANCEL_SEQ = 2147483648ULL, - REQ_F_CAN_POLL = 4294967296ULL, - REQ_F_BL_EMPTY = 8589934592ULL, - REQ_F_BL_NO_RECYCLE = 17179869184ULL, - REQ_F_BUFFERS_COMMIT = 34359738368ULL, + REQ_F_CAN_POLL = 2147483648ULL, + REQ_F_BL_EMPTY = 4294967296ULL, + REQ_F_BL_NO_RECYCLE = 8589934592ULL, + REQ_F_BUFFERS_COMMIT = 17179869184ULL, }; enum { @@ -6226,12 +6319,11 @@ enum { REQ_F_SUPPORT_NOWAIT_BIT = 28, REQ_F_ISREG_BIT = 29, REQ_F_POLL_NO_LAZY_BIT = 30, - REQ_F_CANCEL_SEQ_BIT = 31, - REQ_F_CAN_POLL_BIT = 32, - REQ_F_BL_EMPTY_BIT = 33, - REQ_F_BL_NO_RECYCLE_BIT = 34, - REQ_F_BUFFERS_COMMIT_BIT = 35, - __REQ_F_LAST_BIT = 36, + REQ_F_CAN_POLL_BIT = 31, + REQ_F_BL_EMPTY_BIT = 32, + REQ_F_BL_NO_RECYCLE_BIT = 33, + REQ_F_BUFFERS_COMMIT_BIT = 34, + __REQ_F_LAST_BIT = 35, }; enum { @@ -6245,14 +6337,6 @@ enum { RES_RSVD_FAILCNT = 7, }; -enum { - RES_USAGE___2 = 0, - RES_LIMIT___2 = 1, - RES_MAX_USAGE___2 = 2, - RES_FAILCNT___2 = 3, - RES_SOFT_LIMIT = 4, -}; - enum { RTAX_UNSPEC = 0, RTAX_LOCK = 1, @@ -6557,6 +6641,136 @@ enum { SELNL_MSG_MAX = 18, }; +enum { + SFF8024_ID_UNK = 0, + SFF8024_ID_SFF_8472 = 2, + SFF8024_ID_SFP = 3, + SFF8024_ID_DWDM_SFP = 11, + SFF8024_ID_QSFP_8438 = 12, + SFF8024_ID_QSFP_8436_8636 = 13, + SFF8024_ID_QSFP28_8636 = 17, + SFF8024_ID_QSFP_DD = 24, + SFF8024_ID_OSFP = 25, + SFF8024_ID_DSFP = 27, + SFF8024_ID_QSFP_PLUS_CMIS = 30, + SFF8024_ID_SFP_DD_CMIS = 31, + SFF8024_ID_SFP_PLUS_CMIS = 32, + SFF8024_ENCODING_UNSPEC = 0, + SFF8024_ENCODING_8B10B = 1, + SFF8024_ENCODING_4B5B = 2, + SFF8024_ENCODING_NRZ = 3, + SFF8024_ENCODING_8472_MANCHESTER = 4, + SFF8024_ENCODING_8472_SONET = 5, + SFF8024_ENCODING_8472_64B66B = 6, + SFF8024_ENCODING_8436_MANCHESTER = 6, + SFF8024_ENCODING_8436_SONET = 4, + SFF8024_ENCODING_8436_64B66B = 5, + SFF8024_ENCODING_256B257B = 7, + SFF8024_ENCODING_PAM4 = 8, + SFF8024_CONNECTOR_UNSPEC = 0, + SFF8024_CONNECTOR_SC = 1, + SFF8024_CONNECTOR_FIBERJACK = 6, + SFF8024_CONNECTOR_LC = 7, + SFF8024_CONNECTOR_MT_RJ = 8, + SFF8024_CONNECTOR_MU = 9, + SFF8024_CONNECTOR_SG = 10, + SFF8024_CONNECTOR_OPTICAL_PIGTAIL = 11, + SFF8024_CONNECTOR_MPO_1X12 = 12, + SFF8024_CONNECTOR_MPO_2X16 = 13, + SFF8024_CONNECTOR_HSSDC_II = 32, + SFF8024_CONNECTOR_COPPER_PIGTAIL = 33, + SFF8024_CONNECTOR_RJ45 = 34, + SFF8024_CONNECTOR_NOSEPARATE = 35, + SFF8024_CONNECTOR_MXC_2X16 = 36, + SFF8024_ECC_UNSPEC = 0, + SFF8024_ECC_100G_25GAUI_C2M_AOC = 1, + SFF8024_ECC_100GBASE_SR4_25GBASE_SR = 2, + SFF8024_ECC_100GBASE_LR4_25GBASE_LR = 3, + SFF8024_ECC_100GBASE_ER4_25GBASE_ER = 4, + SFF8024_ECC_100GBASE_SR10 = 5, + SFF8024_ECC_100GBASE_CR4 = 11, + SFF8024_ECC_25GBASE_CR_S = 12, + SFF8024_ECC_25GBASE_CR_N = 13, + SFF8024_ECC_10GBASE_T_SFI = 22, + SFF8024_ECC_10GBASE_T_SR = 28, + SFF8024_ECC_5GBASE_T = 29, + SFF8024_ECC_2_5GBASE_T = 30, +}; + +enum { + SFP_PHYS_ID = 0, + SFP_PHYS_EXT_ID = 1, + SFP_PHYS_EXT_ID_SFP = 4, + SFP_CONNECTOR = 2, + SFP_COMPLIANCE = 3, + SFP_ENCODING = 11, + SFP_BR_NOMINAL = 12, + SFP_RATE_ID = 13, + SFF_RID_8079 = 1, + SFF_RID_8431_RX_ONLY = 2, + SFF_RID_8431_TX_ONLY = 4, + SFF_RID_8431 = 6, + SFF_RID_10G8G = 14, + SFP_LINK_LEN_SM_KM = 14, + SFP_LINK_LEN_SM_100M = 15, + SFP_LINK_LEN_50UM_OM2_10M = 16, + SFP_LINK_LEN_62_5UM_OM1_10M = 17, + SFP_LINK_LEN_COPPER_1M = 18, + SFP_LINK_LEN_50UM_OM4_10M = 18, + SFP_LINK_LEN_50UM_OM3_10M = 19, + SFP_VENDOR_NAME = 20, + SFP_VENDOR_OUI = 37, + SFP_VENDOR_PN = 40, + SFP_VENDOR_REV = 56, + SFP_OPTICAL_WAVELENGTH_MSB = 60, + SFP_OPTICAL_WAVELENGTH_LSB = 61, + SFP_CABLE_SPEC = 60, + SFP_CC_BASE = 63, + SFP_OPTIONS = 64, + SFP_OPTIONS_HIGH_POWER_LEVEL = 8192, + SFP_OPTIONS_PAGING_A2 = 4096, + SFP_OPTIONS_RETIMER = 2048, + SFP_OPTIONS_COOLED_XCVR = 1024, + SFP_OPTIONS_POWER_DECL = 512, + SFP_OPTIONS_RX_LINEAR_OUT = 256, + SFP_OPTIONS_RX_DECISION_THRESH = 128, + SFP_OPTIONS_TUNABLE_TX = 64, + SFP_OPTIONS_RATE_SELECT = 32, + SFP_OPTIONS_TX_DISABLE = 16, + SFP_OPTIONS_TX_FAULT = 8, + SFP_OPTIONS_LOS_INVERTED = 4, + SFP_OPTIONS_LOS_NORMAL = 2, + SFP_BR_MAX = 66, + SFP_BR_MIN = 67, + SFP_VENDOR_SN = 68, + SFP_DATECODE = 84, + SFP_DIAGMON = 92, + SFP_DIAGMON_DDM = 64, + SFP_DIAGMON_INT_CAL = 32, + SFP_DIAGMON_EXT_CAL = 16, + SFP_DIAGMON_RXPWR_AVG = 8, + SFP_DIAGMON_ADDRMODE = 4, + SFP_ENHOPTS = 93, + SFP_ENHOPTS_ALARMWARN = 128, + SFP_ENHOPTS_SOFT_TX_DISABLE = 64, + SFP_ENHOPTS_SOFT_TX_FAULT = 32, + SFP_ENHOPTS_SOFT_RX_LOS = 16, + SFP_ENHOPTS_SOFT_RATE_SELECT = 8, + SFP_ENHOPTS_APP_SELECT_SFF8079 = 4, + SFP_ENHOPTS_SOFT_RATE_SFF8431 = 2, + SFP_SFF8472_COMPLIANCE = 94, + SFP_SFF8472_COMPLIANCE_NONE = 0, + SFP_SFF8472_COMPLIANCE_REV9_3 = 1, + SFP_SFF8472_COMPLIANCE_REV9_5 = 2, + SFP_SFF8472_COMPLIANCE_REV10_2 = 3, + SFP_SFF8472_COMPLIANCE_REV10_4 = 4, + SFP_SFF8472_COMPLIANCE_REV11_0 = 5, + SFP_SFF8472_COMPLIANCE_REV11_3 = 6, + SFP_SFF8472_COMPLIANCE_REV11_4 = 7, + SFP_SFF8472_COMPLIANCE_REV12_0 = 8, + SFP_CC_EXT = 95, +}; + enum { SKBFL_ZEROCOPY_ENABLE = 1, SKBFL_SHARED_FRAG = 2, @@ -6857,6 +7071,16 @@ enum { __TCA_FLOWER_KEY_CT_FLAGS_MAX = 33, }; +enum { + TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = 1, + TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = 2, + TCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = 4, + TCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = 8, + TCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = 16, + TCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = 32, + __TCA_FLOWER_KEY_FLAGS_MAX = 33, +}; + enum { TCA_FQ_CODEL_UNSPEC = 0, TCA_FQ_CODEL_TARGET = 1, @@ -7268,11 +7492,7 @@ enum { TRACE_INTERNAL_TRANSITION_BIT = 9, TRACE_BRANCH_BIT = 10, TRACE_IRQ_BIT = 11, - TRACE_GRAPH_BIT = 12, - TRACE_GRAPH_DEPTH_START_BIT = 13, - TRACE_GRAPH_DEPTH_END_BIT = 14, - TRACE_GRAPH_NOTRACE_BIT = 15, - TRACE_RECORD_RECURSION_BIT = 16, + TRACE_RECORD_RECURSION_BIT = 12, }; enum { @@ -7282,6 +7502,13 @@ enum { TRACE_FUNC_OPT_HIGHEST_BIT = 4, }; +enum { + TRACE_GRAPH_FL = 1, + TRACE_GRAPH_DEPTH_START_BIT = 2, + TRACE_GRAPH_DEPTH_END_BIT = 3, + TRACE_GRAPH_NOTRACE_BIT = 4, +}; + enum { TRACE_NOP_OPT_ACCEPT = 1, TRACE_NOP_OPT_REFUSE = 2, @@ -7636,6 +7863,26 @@ enum { __PERCPU_REF_FLAG_BITS = 2, }; +enum { + __RQF_STARTED = 0, + __RQF_FLUSH_SEQ = 1, + __RQF_MIXED_MERGE = 2, + __RQF_DONTPREP = 3, + __RQF_SCHED_TAGS = 4, + __RQF_USE_SCHED = 5, + __RQF_FAILED = 6, + __RQF_QUIET = 7, + __RQF_IO_STAT = 8, + __RQF_PM = 9, + __RQF_HASHED = 10, + __RQF_STATS = 11, + __RQF_SPECIAL_PAYLOAD = 12, + __RQF_ZONE_WRITE_PLUGGING = 13, + __RQF_TIMED_OUT = 14, + __RQF_RESV = 15, + __RQF_BITS = 16, +}; + enum { __SCHED_FEAT_PLACE_LAG = 0, __SCHED_FEAT_PLACE_DEADLINE_INITIAL = 1, @@ -8183,7 +8430,8 @@ typedef enum { PHY_INTERFACE_MODE_10GKR = 30, PHY_INTERFACE_MODE_QUSGMII = 31, PHY_INTERFACE_MODE_1000BASEKX = 32, - PHY_INTERFACE_MODE_MAX = 33, + PHY_INTERFACE_MODE_10G_QXGMII = 33, + PHY_INTERFACE_MODE_MAX = 34, } phy_interface_t; typedef enum { @@ -8753,6 +9001,12 @@ enum acpi_irq_model_id { ACPI_IRQ_MODEL_COUNT = 6, }; +enum acpi_madt_multiproc_wakeup_version { + ACPI_MADT_MP_WAKEUP_VERSION_NONE = 0, + ACPI_MADT_MP_WAKEUP_VERSION_V1 = 1, + ACPI_MADT_MP_WAKEUP_VERSION_RESERVED = 2, +}; + enum acpi_madt_type { ACPI_MADT_TYPE_LOCAL_APIC = 0, ACPI_MADT_TYPE_IO_APIC = 1, @@ -9161,6 +9415,7 @@ enum bh_state_bits { enum bhi_mitigations { BHI_MITIGATION_OFF = 0, BHI_MITIGATION_ON = 1, + BHI_MITIGATION_VMEXIT_ONLY = 2, }; enum bio_merge_status { @@ -9228,11 +9483,6 @@ enum blake2s_lengths { BLAKE2S_256_HASH_SIZE = 32, }; -enum blk_bounce { - BLK_BOUNCE_NONE = 0, - BLK_BOUNCE_HIGH = 1, -}; - enum blk_default_limits { BLK_MAX_SEGMENTS = 128, BLK_SAFE_MAX_SECTORS = 255, @@ -9245,6 +9495,21 @@ enum blk_eh_timer_return { BLK_EH_RESET_TIMER = 1, }; +enum blk_integrity_checksum { + BLK_INTEGRITY_CSUM_NONE = 0, + BLK_INTEGRITY_CSUM_IP = 1, + BLK_INTEGRITY_CSUM_CRC = 2, + BLK_INTEGRITY_CSUM_CRC64 = 3, +} __attribute__((mode(byte))); + +enum blk_integrity_flags { + BLK_INTEGRITY_NOVERIFY = 1, + BLK_INTEGRITY_NOGENERATE = 2, + BLK_INTEGRITY_DEVICE_CAPABLE = 4, + BLK_INTEGRITY_REF_TAG = 8, + BLK_INTEGRITY_STACKED = 16, +}; + enum blk_unique_id { BLK_UID_T10 = 1, BLK_UID_EUI64 = 2, @@ -9367,7 +9632,7 @@ enum bpf_arg_type { ARG_PTR_TO_STACK = 21, ARG_PTR_TO_CONST_STR = 22, ARG_PTR_TO_TIMER = 23, - ARG_PTR_TO_KPTR = 24, + ARG_KPTR_XCHG_DEST = 24, ARG_PTR_TO_DYNPTR = 25, __BPF_ARG_TYPE_MAX = 26, ARG_PTR_TO_MAP_VALUE_OR_NULL = 259, @@ -9793,6 +10058,10 @@ enum bpf_jit_poke_reason { BPF_POKE_REASON_TAIL_CALL = 0, }; +enum bpf_kfunc_flags { + BPF_F_PAD_ZEROS = 1, +}; + enum bpf_link_type { BPF_LINK_TYPE_UNSPEC = 0, BPF_LINK_TYPE_RAW_TRACEPOINT = 1, @@ -10096,6 +10365,11 @@ enum btf_arg_tag { ARG_TAG_ARENA = 16, }; +enum btf_field_iter_kind { + BTF_FIELD_ITER_IDS = 0, + BTF_FIELD_ITER_STRS = 1, +}; + enum btf_field_type { BPF_SPIN_LOCK = 1, BPF_TIMER = 2, @@ -10127,7 +10401,7 @@ enum btf_kfunc_hook { BTF_KFUNC_HOOK_TRACING = 4, BTF_KFUNC_HOOK_SYSCALL = 5, BTF_KFUNC_HOOK_FMODRET = 6, - BTF_KFUNC_HOOK_CGROUP_SKB = 7, + BTF_KFUNC_HOOK_CGROUP = 7, BTF_KFUNC_HOOK_SCHED_ACT = 8, BTF_KFUNC_HOOK_SK_SKB = 9, BTF_KFUNC_HOOK_SOCKET_FILTER = 10, @@ -10169,8 +10443,7 @@ enum cc_attr { CC_ATTR_GUEST_STATE_ENCRYPT = 3, CC_ATTR_GUEST_UNROLL_STRING_IO = 4, CC_ATTR_GUEST_SEV_SNP = 5, - CC_ATTR_HOTPLUG_DISABLED = 6, - CC_ATTR_HOST_SEV_SNP = 7, + CC_ATTR_HOST_SEV_SNP = 6, }; enum cee_attrs { @@ -10187,7 +10460,7 @@ enum cee_attrs { }; enum cfi_mode { - CFI_DEFAULT = 0, + CFI_AUTO = 0, CFI_OFF = 1, CFI_KCFI = 2, CFI_FINEIBT = 3, @@ -10212,7 +10485,8 @@ enum cgroup2_param { Opt_memory_localevents = 2, Opt_memory_recursiveprot = 3, Opt_memory_hugetlb_accounting = 4, - nr__cgroup2_params = 5, + Opt_pids_localevents = 5, + nr__cgroup2_params = 6, }; enum cgroup_bpf_attach_type { @@ -10314,7 +10588,13 @@ enum clocksource_ids { CSID_X86_TSC_EARLY = 2, CSID_X86_TSC = 3, CSID_X86_KVM_CLK = 4, - CSID_MAX = 5, + CSID_X86_ART = 5, + CSID_MAX = 6, +}; + +enum cmis_cdb_fw_write_mechanism { + CMIS_CDB_FW_WRITE_MECHANISM_LPL = 1, + CMIS_CDB_FW_WRITE_MECHANISM_BOTH = 17, }; enum compact_priority { @@ -10511,28 +10791,28 @@ enum cpuhp_state { CPUHP_WORKQUEUE_PREP = 39, CPUHP_POWER_NUMA_PREPARE = 40, CPUHP_HRTIMERS_PREPARE = 41, - CPUHP_PROFILE_PREPARE = 42, - CPUHP_X2APIC_PREPARE = 43, - CPUHP_SMPCFD_PREPARE = 44, - CPUHP_RELAY_PREPARE = 45, - CPUHP_MD_RAID5_PREPARE = 46, - CPUHP_RCUTREE_PREP = 47, - CPUHP_CPUIDLE_COUPLED_PREPARE = 48, - CPUHP_POWERPC_PMAC_PREPARE = 49, - CPUHP_POWERPC_MMU_CTX_PREPARE = 50, - CPUHP_XEN_PREPARE = 51, - CPUHP_XEN_EVTCHN_PREPARE = 52, - CPUHP_ARM_SHMOBILE_SCU_PREPARE = 53, - CPUHP_SH_SH3X_PREPARE = 54, - CPUHP_TOPOLOGY_PREPARE = 55, - CPUHP_NET_IUCV_PREPARE = 56, - CPUHP_ARM_BL_PREPARE = 57, - CPUHP_TRACE_RB_PREPARE = 58, - CPUHP_MM_ZS_PREPARE = 59, - CPUHP_MM_ZSWP_POOL_PREPARE = 60, - CPUHP_KVM_PPC_BOOK3S_PREPARE = 61, - CPUHP_ZCOMP_PREPARE = 62, - CPUHP_TIMERS_PREPARE = 63, + CPUHP_X2APIC_PREPARE = 42, + CPUHP_SMPCFD_PREPARE = 43, + CPUHP_RELAY_PREPARE = 44, + CPUHP_MD_RAID5_PREPARE = 45, + CPUHP_RCUTREE_PREP = 46, + CPUHP_CPUIDLE_COUPLED_PREPARE = 47, + CPUHP_POWERPC_PMAC_PREPARE = 48, + CPUHP_POWERPC_MMU_CTX_PREPARE = 49, + CPUHP_XEN_PREPARE = 50, + CPUHP_XEN_EVTCHN_PREPARE = 51, + CPUHP_ARM_SHMOBILE_SCU_PREPARE = 52, + CPUHP_SH_SH3X_PREPARE = 53, + CPUHP_TOPOLOGY_PREPARE = 54, + CPUHP_NET_IUCV_PREPARE = 55, + CPUHP_ARM_BL_PREPARE = 56, + CPUHP_TRACE_RB_PREPARE = 57, + CPUHP_MM_ZS_PREPARE = 58, + CPUHP_MM_ZSWP_POOL_PREPARE = 59, + CPUHP_KVM_PPC_BOOK3S_PREPARE = 60, + CPUHP_ZCOMP_PREPARE = 61, + CPUHP_TIMERS_PREPARE = 62, + CPUHP_TMIGR_PREPARE = 63, CPUHP_MIPS_SOC_PREPARE = 64, CPUHP_BP_PREPARE_DYN = 65, CPUHP_BP_PREPARE_DYN_END = 85, @@ -10553,101 +10833,103 @@ enum cpuhp_state { CPUHP_AP_IRQ_LOONGARCH_STARTING = 100, CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING = 101, CPUHP_AP_IRQ_RISCV_IMSIC_STARTING = 102, - CPUHP_AP_ARM_MVEBU_COHERENCY = 103, - CPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 104, - CPUHP_AP_PERF_X86_STARTING = 105, - CPUHP_AP_PERF_X86_AMD_IBS_STARTING = 106, - CPUHP_AP_PERF_X86_CSTATE_STARTING = 107, - CPUHP_AP_PERF_XTENSA_STARTING = 108, - CPUHP_AP_ARM_VFP_STARTING = 109, - CPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 110, - CPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 111, - CPUHP_AP_PERF_ARM_ACPI_STARTING = 112, - CPUHP_AP_PERF_ARM_STARTING = 113, - CPUHP_AP_PERF_RISCV_STARTING = 114, - CPUHP_AP_ARM_L2X0_STARTING = 115, - CPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 116, - CPUHP_AP_ARM_ARCH_TIMER_STARTING = 117, - CPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 118, - CPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 119, - CPUHP_AP_JCORE_TIMER_STARTING = 120, - CPUHP_AP_ARM_TWD_STARTING = 121, - CPUHP_AP_QCOM_TIMER_STARTING = 122, - CPUHP_AP_TEGRA_TIMER_STARTING = 123, - CPUHP_AP_ARMADA_TIMER_STARTING = 124, - CPUHP_AP_MIPS_GIC_TIMER_STARTING = 125, - CPUHP_AP_ARC_TIMER_STARTING = 126, - CPUHP_AP_RISCV_TIMER_STARTING = 127, - CPUHP_AP_CLINT_TIMER_STARTING = 128, - CPUHP_AP_CSKY_TIMER_STARTING = 129, - CPUHP_AP_TI_GP_TIMER_STARTING = 130, - CPUHP_AP_HYPERV_TIMER_STARTING = 131, - CPUHP_AP_DUMMY_TIMER_STARTING = 132, - CPUHP_AP_ARM_XEN_STARTING = 133, - CPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 134, - CPUHP_AP_ARM_CORESIGHT_STARTING = 135, - CPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 136, - CPUHP_AP_ARM64_ISNDEP_STARTING = 137, - CPUHP_AP_SMPCFD_DYING = 138, - CPUHP_AP_HRTIMERS_DYING = 139, - CPUHP_AP_TICK_DYING = 140, - CPUHP_AP_X86_TBOOT_DYING = 141, - CPUHP_AP_ARM_CACHE_B15_RAC_DYING = 142, - CPUHP_AP_ONLINE = 143, - CPUHP_TEARDOWN_CPU = 144, - CPUHP_AP_ONLINE_IDLE = 145, - CPUHP_AP_HYPERV_ONLINE = 146, - CPUHP_AP_KVM_ONLINE = 147, - CPUHP_AP_SCHED_WAIT_EMPTY = 148, - CPUHP_AP_SMPBOOT_THREADS = 149, - CPUHP_AP_IRQ_AFFINITY_ONLINE = 150, - CPUHP_AP_BLK_MQ_ONLINE = 151, - CPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 152, - CPUHP_AP_X86_INTEL_EPB_ONLINE = 153, - CPUHP_AP_PERF_ONLINE = 154, - CPUHP_AP_PERF_X86_ONLINE = 155, - CPUHP_AP_PERF_X86_UNCORE_ONLINE = 156, - CPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 157, - CPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 158, - CPUHP_AP_PERF_X86_RAPL_ONLINE = 159, - CPUHP_AP_PERF_X86_CSTATE_ONLINE = 160, - CPUHP_AP_PERF_S390_CF_ONLINE = 161, - CPUHP_AP_PERF_S390_SF_ONLINE = 162, - CPUHP_AP_PERF_ARM_CCI_ONLINE = 163, - CPUHP_AP_PERF_ARM_CCN_ONLINE = 164, - CPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 165, - CPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 166, - CPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 167, - CPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 168, - CPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 169, - CPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 170, - CPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 171, - CPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 172, - CPUHP_AP_PERF_ARM_L2X0_ONLINE = 173, - CPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 174, - CPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 175, - CPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 176, - CPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 177, - CPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 178, - CPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 179, - CPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 180, - CPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 181, - CPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 182, - CPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 183, - CPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 184, - CPUHP_AP_PERF_CSKY_ONLINE = 185, - CPUHP_AP_TMIGR_ONLINE = 186, - CPUHP_AP_WATCHDOG_ONLINE = 187, - CPUHP_AP_WORKQUEUE_ONLINE = 188, - CPUHP_AP_RANDOM_ONLINE = 189, - CPUHP_AP_RCUTREE_ONLINE = 190, - CPUHP_AP_BASE_CACHEINFO_ONLINE = 191, - CPUHP_AP_ONLINE_DYN = 192, - CPUHP_AP_ONLINE_DYN_END = 232, - CPUHP_AP_X86_HPET_ONLINE = 233, - CPUHP_AP_X86_KVM_CLK_ONLINE = 234, - CPUHP_AP_ACTIVE = 235, - CPUHP_ONLINE = 236, + CPUHP_AP_IRQ_RISCV_SBI_IPI_STARTING = 103, + CPUHP_AP_ARM_MVEBU_COHERENCY = 104, + CPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 105, + CPUHP_AP_PERF_X86_STARTING = 106, + CPUHP_AP_PERF_X86_AMD_IBS_STARTING = 107, + CPUHP_AP_PERF_X86_CSTATE_STARTING = 108, + CPUHP_AP_PERF_XTENSA_STARTING = 109, + CPUHP_AP_ARM_VFP_STARTING = 110, + CPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 111, + CPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 112, + CPUHP_AP_PERF_ARM_ACPI_STARTING = 113, + CPUHP_AP_PERF_ARM_STARTING = 114, + CPUHP_AP_PERF_RISCV_STARTING = 115, + CPUHP_AP_ARM_L2X0_STARTING = 116, + CPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 117, + CPUHP_AP_ARM_ARCH_TIMER_STARTING = 118, + CPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 119, + CPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 120, + CPUHP_AP_JCORE_TIMER_STARTING = 121, + CPUHP_AP_ARM_TWD_STARTING = 122, + CPUHP_AP_QCOM_TIMER_STARTING = 123, + CPUHP_AP_TEGRA_TIMER_STARTING = 124, + CPUHP_AP_ARMADA_TIMER_STARTING = 125, + CPUHP_AP_MIPS_GIC_TIMER_STARTING = 126, + CPUHP_AP_ARC_TIMER_STARTING = 127, + CPUHP_AP_REALTEK_TIMER_STARTING = 128, + CPUHP_AP_RISCV_TIMER_STARTING = 129, + CPUHP_AP_CLINT_TIMER_STARTING = 130, + CPUHP_AP_CSKY_TIMER_STARTING = 131, + CPUHP_AP_TI_GP_TIMER_STARTING = 132, + CPUHP_AP_HYPERV_TIMER_STARTING = 133, + CPUHP_AP_DUMMY_TIMER_STARTING = 134, + CPUHP_AP_ARM_XEN_STARTING = 135, + CPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 136, + CPUHP_AP_ARM_CORESIGHT_STARTING = 137, + CPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 138, + CPUHP_AP_ARM64_ISNDEP_STARTING = 139, + CPUHP_AP_SMPCFD_DYING = 140, + CPUHP_AP_HRTIMERS_DYING = 141, + CPUHP_AP_TICK_DYING = 142, + CPUHP_AP_X86_TBOOT_DYING = 143, + CPUHP_AP_ARM_CACHE_B15_RAC_DYING = 144, + CPUHP_AP_ONLINE = 145, + CPUHP_TEARDOWN_CPU = 146, + CPUHP_AP_ONLINE_IDLE = 147, + CPUHP_AP_HYPERV_ONLINE = 148, + CPUHP_AP_KVM_ONLINE = 149, + CPUHP_AP_SCHED_WAIT_EMPTY = 150, + CPUHP_AP_SMPBOOT_THREADS = 151, + CPUHP_AP_IRQ_AFFINITY_ONLINE = 152, + CPUHP_AP_BLK_MQ_ONLINE = 153, + CPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 154, + CPUHP_AP_X86_INTEL_EPB_ONLINE = 155, + CPUHP_AP_PERF_ONLINE = 156, + CPUHP_AP_PERF_X86_ONLINE = 157, + CPUHP_AP_PERF_X86_UNCORE_ONLINE = 158, + CPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 159, + CPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 160, + CPUHP_AP_PERF_X86_RAPL_ONLINE = 161, + CPUHP_AP_PERF_X86_CSTATE_ONLINE = 162, + CPUHP_AP_PERF_S390_CF_ONLINE = 163, + CPUHP_AP_PERF_S390_SF_ONLINE = 164, + CPUHP_AP_PERF_ARM_CCI_ONLINE = 165, + CPUHP_AP_PERF_ARM_CCN_ONLINE = 166, + CPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 167, + CPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 168, + CPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 169, + CPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 170, + CPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 171, + CPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 172, + CPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 173, + CPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 174, + CPUHP_AP_PERF_ARM_L2X0_ONLINE = 175, + CPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 176, + CPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 177, + CPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 178, + CPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 179, + CPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 180, + CPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 181, + CPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 182, + CPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 183, + CPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 184, + CPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 185, + CPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 186, + CPUHP_AP_PERF_CSKY_ONLINE = 187, + CPUHP_AP_TMIGR_ONLINE = 188, + CPUHP_AP_WATCHDOG_ONLINE = 189, + CPUHP_AP_WORKQUEUE_ONLINE = 190, + CPUHP_AP_RANDOM_ONLINE = 191, + CPUHP_AP_RCUTREE_ONLINE = 192, + CPUHP_AP_BASE_CACHEINFO_ONLINE = 193, + CPUHP_AP_ONLINE_DYN = 194, + CPUHP_AP_ONLINE_DYN_END = 234, + CPUHP_AP_X86_HPET_ONLINE = 235, + CPUHP_AP_X86_KVM_CLK_ONLINE = 236, + CPUHP_AP_ACTIVE = 237, + CPUHP_ONLINE = 238, }; enum cpuhp_sync_state { @@ -12168,12 +12450,70 @@ enum erspan_encap_type { ERSPAN_ENCAP_INFRAME = 3, }; +enum ethnl_sock_type { + ETHTOOL_SOCK_TYPE_MODULE_FW_FLASH = 0, +}; + enum ethtool_c33_pse_admin_state { ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1, ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED = 2, ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED = 3, }; +enum ethtool_c33_pse_ext_state { + ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1, + ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID = 2, + ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE = 3, + ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED = 4, + ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM = 5, + ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED = 6, + ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE = 7, + ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE = 8, + ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED = 9, +}; + +enum ethtool_c33_pse_ext_substate_error_condition { + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT = 2, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT = 3, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON = 4, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS = 5, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF = 6, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN = 7, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE = 8, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP = 9, +}; + +enum ethtool_c33_pse_ext_substate_mr_pse_enable { + ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1, +}; + +enum ethtool_c33_pse_ext_substate_option_detect_ted { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR = 2, +}; + +enum ethtool_c33_pse_ext_substate_option_vport_lim { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE = 2, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION = 3, +}; + +enum ethtool_c33_pse_ext_substate_ovld_detected { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1, +}; + +enum ethtool_c33_pse_ext_substate_power_not_available { + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET = 2, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT = 3, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT = 4, +}; + +enum ethtool_c33_pse_ext_substate_short_detected { + ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1, +}; + enum ethtool_c33_pse_pw_d_status { ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1, ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED = 2, @@ -12184,6 +12524,17 @@ enum ethtool_c33_pse_pw_d_status { ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT = 7, }; +enum ethtool_cmis_cdb_cmd_id { + ETHTOOL_CMIS_CDB_CMD_QUERY_STATUS = 0, + ETHTOOL_CMIS_CDB_CMD_MODULE_FEATURES = 64, + ETHTOOL_CMIS_CDB_CMD_FW_MANAGMENT_FEATURES = 65, + ETHTOOL_CMIS_CDB_CMD_START_FW_DOWNLOAD = 257, + ETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_LPL = 259, + ETHTOOL_CMIS_CDB_CMD_COMPLETE_FW_DOWNLOAD = 263, + ETHTOOL_CMIS_CDB_CMD_RUN_FW_IMAGE = 265, + ETHTOOL_CMIS_CDB_CMD_COMMIT_FW_IMAGE = 266, +}; + enum ethtool_fec_config_bits { ETHTOOL_FEC_NONE_BIT = 0, ETHTOOL_FEC_AUTO_BIT = 1, @@ -12364,7 +12715,8 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99, ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100, ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101, - __ETHTOOL_LINK_MODE_MASK_NBITS = 102, + ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102, + __ETHTOOL_LINK_MODE_MASK_NBITS = 103, }; enum ethtool_mac_stats_src { @@ -12382,6 +12734,13 @@ enum ethtool_mm_verify_status { ETHTOOL_MM_VERIFY_STATUS_DISABLED = 5, }; +enum ethtool_module_fw_flash_status { + ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1, + ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS = 2, + ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED = 3, + ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR = 4, +}; + enum ethtool_module_power_mode { ETHTOOL_MODULE_POWER_MODE_LOW = 1, ETHTOOL_MODULE_POWER_MODE_HIGH = 2, @@ -12419,6 +12778,20 @@ enum ethtool_podl_pse_pw_d_status { ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR = 7, }; +enum ethtool_reset_flags { + ETH_RESET_MGMT = 1, + ETH_RESET_IRQ = 2, + ETH_RESET_DMA = 4, + ETH_RESET_FILTER = 8, + ETH_RESET_OFFLOAD = 16, + ETH_RESET_MAC = 32, + ETH_RESET_PHY = 64, + ETH_RESET_RAM = 128, + ETH_RESET_AP = 256, + ETH_RESET_DEDICATED = 65535, + ETH_RESET_ALL = 4294967295, +}; + enum ethtool_sfeatures_retval_bits { ETHTOOL_F_UNSUPPORTED__BIT = 0, ETHTOOL_F_WISH__BIT = 1, @@ -12817,6 +13190,16 @@ enum flow_dissect_ret { FLOW_DISSECT_RET_CONTINUE = 4, }; +enum flow_dissector_ctrl_flags { + FLOW_DIS_IS_FRAGMENT = 1, + FLOW_DIS_FIRST_FRAG = 2, + FLOW_DIS_F_TUNNEL_CSUM = 4, + FLOW_DIS_F_TUNNEL_DONT_FRAGMENT = 8, + FLOW_DIS_F_TUNNEL_OAM = 16, + FLOW_DIS_F_TUNNEL_CRIT_OPT = 32, + FLOW_DIS_ENCAPSULATION = 64, +}; + enum flow_dissector_key_id { FLOW_DISSECTOR_KEY_CONTROL = 0, FLOW_DISSECTOR_KEY_BASIC = 1, @@ -13123,6 +13506,11 @@ enum group_type { group_overloaded = 6, }; +enum handle_to_path_flags { + HANDLE_CHECK_PERMS = 1, + HANDLE_CHECK_SUBTREE = 2, +}; + enum hash_algo { HASH_ALGO_MD4 = 0, HASH_ALGO_MD5 = 1, @@ -13165,13 +13553,6 @@ enum header_fields { HDR__LAST = 4, }; -enum hid_bpf_prog_type { - HID_BPF_PROG_TYPE_UNDEF = -1, - HID_BPF_PROG_TYPE_DEVICE_EVENT = 0, - HID_BPF_PROG_TYPE_RDESC_FIXUP = 1, - HID_BPF_PROG_TYPE_MAX = 2, -}; - enum hid_class_request { HID_REQ_GET_REPORT = 1, HID_REQ_GET_IDLE = 2, @@ -13358,8 +13739,9 @@ enum hwtstamp_rx_filters { }; enum hwtstamp_source { - HWTSTAMP_SOURCE_NETDEV = 0, - HWTSTAMP_SOURCE_PHYLIB = 1, + HWTSTAMP_SOURCE_UNSPEC = 0, + HWTSTAMP_SOURCE_NETDEV = 1, + HWTSTAMP_SOURCE_PHYLIB = 2, }; enum hwtstamp_tx_types { @@ -14079,7 +14461,9 @@ enum io_uring_op { IORING_OP_FUTEX_WAITV = 53, IORING_OP_FIXED_FD_INSTALL = 54, IORING_OP_FTRUNCATE = 55, - IORING_OP_LAST = 56, + IORING_OP_BIND = 56, + IORING_OP_LISTEN = 57, + IORING_OP_LAST = 58, }; enum io_uring_register_op { @@ -14566,21 +14950,6 @@ enum kvm_apic_logical_mode { KVM_APIC_MODE_MAP_DISABLED = 4, }; -enum kvm_apicv_inhibit { - APICV_INHIBIT_REASON_DISABLE = 0, - APICV_INHIBIT_REASON_HYPERV = 1, - APICV_INHIBIT_REASON_ABSENT = 2, - APICV_INHIBIT_REASON_BLOCKIRQ = 3, - APICV_INHIBIT_REASON_PHYSICAL_ID_ALIASED = 4, - APICV_INHIBIT_REASON_APIC_ID_MODIFIED = 5, - APICV_INHIBIT_REASON_APIC_BASE_MODIFIED = 6, - APICV_INHIBIT_REASON_NESTED = 7, - APICV_INHIBIT_REASON_IRQWIN = 8, - APICV_INHIBIT_REASON_PIT_REINJ = 9, - APICV_INHIBIT_REASON_SEV = 10, - APICV_INHIBIT_REASON_LOGICAL_ID_ALIASED = 11, -}; - enum kvm_bus { KVM_MMIO_BUS = 0, KVM_PIO_BUS = 1, @@ -14681,55 +15050,57 @@ enum linux_mptcp_mib_field { MPTCP_MIB_RETRANSSEGS = 8, MPTCP_MIB_JOINNOTOKEN = 9, MPTCP_MIB_JOINSYNRX = 10, - MPTCP_MIB_JOINSYNACKRX = 11, - MPTCP_MIB_JOINSYNACKMAC = 12, - MPTCP_MIB_JOINACKRX = 13, - MPTCP_MIB_JOINACKMAC = 14, - MPTCP_MIB_DSSNOMATCH = 15, - MPTCP_MIB_INFINITEMAPTX = 16, - MPTCP_MIB_INFINITEMAPRX = 17, - MPTCP_MIB_DSSTCPMISMATCH = 18, - MPTCP_MIB_DATACSUMERR = 19, - MPTCP_MIB_OFOQUEUETAIL = 20, - MPTCP_MIB_OFOQUEUE = 21, - MPTCP_MIB_OFOMERGE = 22, - MPTCP_MIB_NODSSWINDOW = 23, - MPTCP_MIB_DUPDATA = 24, - MPTCP_MIB_ADDADDR = 25, - MPTCP_MIB_ADDADDRTX = 26, - MPTCP_MIB_ADDADDRTXDROP = 27, - MPTCP_MIB_ECHOADD = 28, - MPTCP_MIB_ECHOADDTX = 29, - MPTCP_MIB_ECHOADDTXDROP = 30, - MPTCP_MIB_PORTADD = 31, - MPTCP_MIB_ADDADDRDROP = 32, - MPTCP_MIB_JOINPORTSYNRX = 33, - MPTCP_MIB_JOINPORTSYNACKRX = 34, - MPTCP_MIB_JOINPORTACKRX = 35, - MPTCP_MIB_MISMATCHPORTSYNRX = 36, - MPTCP_MIB_MISMATCHPORTACKRX = 37, - MPTCP_MIB_RMADDR = 38, - MPTCP_MIB_RMADDRDROP = 39, - MPTCP_MIB_RMADDRTX = 40, - MPTCP_MIB_RMADDRTXDROP = 41, - MPTCP_MIB_RMSUBFLOW = 42, - MPTCP_MIB_MPPRIOTX = 43, - MPTCP_MIB_MPPRIORX = 44, - MPTCP_MIB_MPFAILTX = 45, - MPTCP_MIB_MPFAILRX = 46, - MPTCP_MIB_MPFASTCLOSETX = 47, - MPTCP_MIB_MPFASTCLOSERX = 48, - MPTCP_MIB_MPRSTTX = 49, - MPTCP_MIB_MPRSTRX = 50, - MPTCP_MIB_RCVPRUNED = 51, - MPTCP_MIB_SUBFLOWSTALE = 52, - MPTCP_MIB_SUBFLOWRECOVER = 53, - MPTCP_MIB_SNDWNDSHARED = 54, - MPTCP_MIB_RCVWNDSHARED = 55, - MPTCP_MIB_RCVWNDCONFLICTUPDATE = 56, - MPTCP_MIB_RCVWNDCONFLICT = 57, - MPTCP_MIB_CURRESTAB = 58, - __MPTCP_MIB_MAX = 59, + MPTCP_MIB_JOINSYNBACKUPRX = 11, + MPTCP_MIB_JOINSYNACKRX = 12, + MPTCP_MIB_JOINSYNACKBACKUPRX = 13, + MPTCP_MIB_JOINSYNACKMAC = 14, + MPTCP_MIB_JOINACKRX = 15, + MPTCP_MIB_JOINACKMAC = 16, + MPTCP_MIB_DSSNOMATCH = 17, + MPTCP_MIB_INFINITEMAPTX = 18, + MPTCP_MIB_INFINITEMAPRX = 19, + MPTCP_MIB_DSSTCPMISMATCH = 20, + MPTCP_MIB_DATACSUMERR = 21, + MPTCP_MIB_OFOQUEUETAIL = 22, + MPTCP_MIB_OFOQUEUE = 23, + MPTCP_MIB_OFOMERGE = 24, + MPTCP_MIB_NODSSWINDOW = 25, + MPTCP_MIB_DUPDATA = 26, + MPTCP_MIB_ADDADDR = 27, + MPTCP_MIB_ADDADDRTX = 28, + MPTCP_MIB_ADDADDRTXDROP = 29, + MPTCP_MIB_ECHOADD = 30, + MPTCP_MIB_ECHOADDTX = 31, + MPTCP_MIB_ECHOADDTXDROP = 32, + MPTCP_MIB_PORTADD = 33, + MPTCP_MIB_ADDADDRDROP = 34, + MPTCP_MIB_JOINPORTSYNRX = 35, + MPTCP_MIB_JOINPORTSYNACKRX = 36, + MPTCP_MIB_JOINPORTACKRX = 37, + MPTCP_MIB_MISMATCHPORTSYNRX = 38, + MPTCP_MIB_MISMATCHPORTACKRX = 39, + MPTCP_MIB_RMADDR = 40, + MPTCP_MIB_RMADDRDROP = 41, + MPTCP_MIB_RMADDRTX = 42, + MPTCP_MIB_RMADDRTXDROP = 43, + MPTCP_MIB_RMSUBFLOW = 44, + MPTCP_MIB_MPPRIOTX = 45, + MPTCP_MIB_MPPRIORX = 46, + MPTCP_MIB_MPFAILTX = 47, + MPTCP_MIB_MPFAILRX = 48, + MPTCP_MIB_MPFASTCLOSETX = 49, + MPTCP_MIB_MPFASTCLOSERX = 50, + MPTCP_MIB_MPRSTTX = 51, + MPTCP_MIB_MPRSTRX = 52, + MPTCP_MIB_RCVPRUNED = 53, + MPTCP_MIB_SUBFLOWSTALE = 54, + MPTCP_MIB_SUBFLOWRECOVER = 55, + MPTCP_MIB_SNDWNDSHARED = 56, + MPTCP_MIB_RCVWNDSHARED = 57, + MPTCP_MIB_RCVWNDCONFLICTUPDATE = 58, + MPTCP_MIB_RCVWNDCONFLICT = 59, + MPTCP_MIB_CURRESTAB = 60, + __MPTCP_MIB_MAX = 61, }; enum lock_usage_bit { @@ -14942,7 +15313,7 @@ enum mapping_flags { AS_LARGE_FOLIO_SUPPORT = 6, AS_RELEASE_ALWAYS = 7, AS_STABLE_WRITES = 8, - AS_UNMOVABLE = 9, + AS_INACCESSIBLE = 9, }; enum mapping_status { @@ -14954,13 +15325,6 @@ enum mapping_status { MAPPING_BAD_CSUM = 5, }; -enum mc_target_type { - MC_TARGET_NONE = 0, - MC_TARGET_PAGE = 1, - MC_TARGET_SWAP = 2, - MC_TARGET_DEVICE = 3, -}; - enum mca_msr { MCA_CTL = 0, MCA_STATUS = 1, @@ -15074,10 +15438,10 @@ enum metadata_type { enum mf_action_page_type { MF_MSG_KERNEL = 0, MF_MSG_KERNEL_HIGH_ORDER = 1, - MF_MSG_SLAB = 2, - MF_MSG_DIFFERENT_COMPOUND = 3, - MF_MSG_HUGE = 4, - MF_MSG_FREE_HUGE = 5, + MF_MSG_DIFFERENT_COMPOUND = 2, + MF_MSG_HUGE = 3, + MF_MSG_FREE_HUGE = 4, + MF_MSG_GET_HWPOISON = 5, MF_MSG_UNMAP_FAILED = 6, MF_MSG_DIRTY_SWAPCACHE = 7, MF_MSG_CLEAN_SWAPCACHE = 8, @@ -15091,7 +15455,8 @@ enum mf_action_page_type { MF_MSG_BUDDY = 16, MF_MSG_DAX = 17, MF_MSG_UNSPLIT_THP = 18, - MF_MSG_UNKNOWN = 19, + MF_MSG_ALREADY_POISONED = 19, + MF_MSG_UNKNOWN = 20, }; enum mf_flags { @@ -15124,7 +15489,6 @@ enum migrate_mode { MIGRATE_ASYNC = 0, MIGRATE_SYNC_LIGHT = 1, MIGRATE_SYNC = 2, - MIGRATE_SYNC_NO_COPY = 3, }; enum migrate_reason { @@ -15137,7 +15501,8 @@ enum migrate_reason { MR_CONTIG_RANGE = 6, MR_LONGTERM_PIN = 7, MR_DEMOTION = 8, - MR_TYPES = 9, + MR_DAMON = 9, + MR_TYPES = 10, }; enum migratetype { @@ -15313,9 +15678,15 @@ enum mthp_stat_item { MTHP_STAT_ANON_FAULT_ALLOC = 0, MTHP_STAT_ANON_FAULT_FALLBACK = 1, MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE = 2, - MTHP_STAT_ANON_SWPOUT = 3, - MTHP_STAT_ANON_SWPOUT_FALLBACK = 4, - __MTHP_STAT_COUNT = 5, + MTHP_STAT_SWPOUT = 3, + MTHP_STAT_SWPOUT_FALLBACK = 4, + MTHP_STAT_SHMEM_ALLOC = 5, + MTHP_STAT_SHMEM_FALLBACK = 6, + MTHP_STAT_SHMEM_FALLBACK_CHARGE = 7, + MTHP_STAT_SPLIT = 8, + MTHP_STAT_SPLIT_FAILED = 9, + MTHP_STAT_SPLIT_DEFERRED = 10, + __MTHP_STAT_COUNT = 11, }; enum multi_stop_state { @@ -15591,21 +15962,22 @@ enum netfs_folio_trace { netfs_folio_trace_clear_g = 12, netfs_folio_trace_clear_s = 13, netfs_folio_trace_copy_to_cache = 14, - netfs_folio_trace_filled_gaps = 15, - netfs_folio_trace_kill = 16, - netfs_folio_trace_kill_cc = 17, - netfs_folio_trace_kill_g = 18, - netfs_folio_trace_kill_s = 19, - netfs_folio_trace_mkwrite = 20, - netfs_folio_trace_mkwrite_plus = 21, - netfs_folio_trace_not_under_wback = 22, - netfs_folio_trace_read_gaps = 23, - netfs_folio_trace_redirtied = 24, - netfs_folio_trace_store = 25, - netfs_folio_trace_store_copy = 26, - netfs_folio_trace_store_plus = 27, - netfs_folio_trace_wthru = 28, - netfs_folio_trace_wthru_plus = 29, + netfs_folio_trace_end_copy = 15, + netfs_folio_trace_filled_gaps = 16, + netfs_folio_trace_kill = 17, + netfs_folio_trace_kill_cc = 18, + netfs_folio_trace_kill_g = 19, + netfs_folio_trace_kill_s = 20, + netfs_folio_trace_mkwrite = 21, + netfs_folio_trace_mkwrite_plus = 22, + netfs_folio_trace_not_under_wback = 23, + netfs_folio_trace_read_gaps = 24, + netfs_folio_trace_redirtied = 25, + netfs_folio_trace_store = 26, + netfs_folio_trace_store_copy = 27, + netfs_folio_trace_store_plus = 28, + netfs_folio_trace_wthru = 29, + netfs_folio_trace_wthru_plus = 30, } __attribute__((mode(byte))); enum netfs_how_to_modify { @@ -15683,12 +16055,13 @@ enum netfs_rreq_trace { netfs_rreq_trace_resubmit = 6, netfs_rreq_trace_set_pause = 7, netfs_rreq_trace_unlock = 8, - netfs_rreq_trace_unmark = 9, - netfs_rreq_trace_wait_ip = 10, - netfs_rreq_trace_wait_pause = 11, - netfs_rreq_trace_wake_ip = 12, - netfs_rreq_trace_unpause = 13, - netfs_rreq_trace_write_done = 14, + netfs_rreq_trace_unlock_pgpriv2 = 9, + netfs_rreq_trace_unmark = 10, + netfs_rreq_trace_wait_ip = 11, + netfs_rreq_trace_wait_pause = 12, + netfs_rreq_trace_wake_ip = 13, + netfs_rreq_trace_unpause = 14, + netfs_rreq_trace_write_done = 15, } __attribute__((mode(byte))); enum netfs_sreq_ref_trace { @@ -15863,8 +16236,7 @@ enum nf_ct_sysctl_index { NF_SYSCTL_CT_PROTO_TIMEOUT_DCCP_CLOSING = 39, NF_SYSCTL_CT_PROTO_TIMEOUT_DCCP_TIMEWAIT = 40, NF_SYSCTL_CT_PROTO_DCCP_LOOSE = 41, - NF_SYSCTL_CT_LWTUNNEL = 42, - NF_SYSCTL_CT_LAST_SYSCTL = 43, + NF_SYSCTL_CT_LAST_SYSCTL = 42, }; enum nf_ct_tcp_action { @@ -16607,6 +16979,18 @@ enum pageflags { PG_large_rmappable = 9, }; +enum pagetype { + PG_buddy = 1073741824LL, + PG_offline = 536870912LL, + PG_table = 268435456LL, + PG_guard = 134217728LL, + PG_hugetlb = 67108864LL, + PG_slab = 33554432LL, + PG_zsmalloc = 16777216LL, + PAGE_TYPE_BASE = 2147483648LL, + PAGE_MAPCOUNT_RESERVE = -65536LL, +}; + enum partition_cmd { partcmd_enable = 0, partcmd_enablei = 1, @@ -16873,10 +17257,11 @@ enum pcie_reset_state { pcie_hot_reset = 3, }; -enum pconfig_target { - INVALID_TARGET = 0, - MKTME_TARGET = 1, - PCONFIG_TARGET_NR = 2, +enum pcim_addr_devres_type { + PCIM_ADDR_DEVRES_TYPE_INVALID = 0, + PCIM_ADDR_DEVRES_TYPE_REGION = 1, + PCIM_ADDR_DEVRES_TYPE_REGION_MAPPING = 2, + PCIM_ADDR_DEVRES_TYPE_MAPPING = 3, }; enum pcpu_fc { @@ -17278,7 +17663,8 @@ enum pg_level { PG_LEVEL_2M = 2, PG_LEVEL_1G = 3, PG_LEVEL_512G = 4, - PG_LEVEL_NUM = 5, + PG_LEVEL_256T = 5, + PG_LEVEL_NUM = 6, }; enum pgdat_flags { @@ -17680,6 +18066,15 @@ enum proc_pidonly { PROC_PIDONLY_ON = 1, }; +enum procmap_query_flags { + PROCMAP_QUERY_VMA_READABLE = 1, + PROCMAP_QUERY_VMA_WRITABLE = 2, + PROCMAP_QUERY_VMA_EXECUTABLE = 4, + PROCMAP_QUERY_VMA_SHARED = 8, + PROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16, + PROCMAP_QUERY_FILE_BACKED_VMA = 32, +}; + enum prs_errcode { PERR_NONE = 0, PERR_INVCPUS = 1, @@ -17869,6 +18264,15 @@ enum rdma_nl_counter_mode { RDMA_COUNTER_MODE_MAX = 3, }; +enum rdma_nl_dev_type { + RDMA_DEVICE_TYPE_SMI = 1, +}; + +enum rdma_nl_name_assign_type { + RDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0, + RDMA_NAME_ASSIGN_TYPE_USER = 1, +}; + enum rdma_restrack_type { RDMA_RESTRACK_PD = 0, RDMA_RESTRACK_CQ = 1, @@ -17955,8 +18359,9 @@ enum req_flag_bits { __REQ_SWAP = 24, __REQ_DRV = 25, __REQ_FS_PRIVATE = 26, - __REQ_NOUNMAP = 27, - __REQ_NR_BITS = 28, + __REQ_ATOMIC = 27, + __REQ_NOUNMAP = 28, + __REQ_NR_BITS = 29, }; enum req_op { @@ -17977,13 +18382,6 @@ enum req_op { REQ_OP_LAST = 36, }; -enum res_type { - _MEM = 0, - _MEMSWAP = 1, - _KMEM = 2, - _TCP = 3, -}; - enum resctrl_conf_type { CDP_NONE = 0, CDP_CODE = 1, @@ -18239,6 +18637,7 @@ enum rtnl_link_flags { RTNL_FLAG_DOIT_UNLOCKED = 1, RTNL_FLAG_BULK_DEL_SUPPORTED = 2, RTNL_FLAG_DUMP_UNLOCKED = 4, + RTNL_FLAG_DUMP_SPLIT_NLM_DONE = 8, }; enum rw_hint { @@ -19137,6 +19536,7 @@ enum task_work_notify_mode { TWA_RESUME = 1, TWA_SIGNAL = 2, TWA_SIGNAL_NO_IPI = 3, + TWA_NMI_CURRENT = 4, }; enum tc_clsbpf_command { @@ -19398,6 +19798,7 @@ enum thermal_notify_event { THERMAL_TZ_BIND_CDEV = 9, THERMAL_TZ_UNBIND_CDEV = 10, THERMAL_INSTANCE_WEIGHT_CHANGED = 11, + THERMAL_TZ_RESUME = 12, }; enum thermal_trend { @@ -20077,18 +20478,6 @@ enum uncore_access_type { UNCORE_ACCESS_MAX = 3, }; -enum unix_recv_queue_lock_class { - U_RECVQ_LOCK_NORMAL = 0, - U_RECVQ_LOCK_EMBRYO = 1, -}; - -enum unix_socket_lock_class { - U_LOCK_NORMAL = 0, - U_LOCK_SECOND = 1, - U_LOCK_DIAG = 2, - U_LOCK_GC_LISTENER = 3, -}; - enum unix_vertex_index { UNIX_VERTEX_INDEX_MARK1 = 0, UNIX_VERTEX_INDEX_MARK2 = 1, @@ -20394,6 +20783,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_resv_mode { VMA_NEEDS_RESV = 0, VMA_COMMIT_RESV = 1, @@ -20442,6 +20839,12 @@ enum vmx_l1d_flush_state { VMENTER_L1D_FLUSH_NOT_REQUIRED = 5, }; +enum vp_vq_vector_policy { + VP_VQ_VECTOR_POLICY_EACH = 0, + VP_VQ_VECTOR_POLICY_SHARED_SLOW = 1, + VP_VQ_VECTOR_POLICY_SHARED = 2, +}; + enum wb_reason { WB_REASON_BACKGROUND = 0, WB_REASON_VMSCAN = 1, @@ -20575,6 +20978,7 @@ enum wq_internal_consts { RESCUER_NICE_LEVEL = -20, HIGHPRI_NICE_LEVEL = -20, WQ_NAME_LEN = 32, + WORKER_ID_LEN = 42, }; enum wq_misc_consts { @@ -20582,13 +20986,7 @@ enum wq_misc_consts { WORK_CPU_UNBOUND = 128, WORK_BUSY_PENDING = 1, WORK_BUSY_RUNNING = 2, - WORKER_DESC_LEN = 24, -}; - -enum writeback_stat_item { - NR_DIRTY_THRESHOLD = 0, - NR_DIRTY_BG_THRESHOLD = 1, - NR_VM_WRITEBACK_STAT_ITEMS = 2, + WORKER_DESC_LEN = 32, }; enum writeback_sync_modes { @@ -20831,7 +21229,8 @@ enum xfrm_attr_type_t { XFRMA_IF_ID = 31, XFRMA_MTIMER_THRESH = 32, XFRMA_SA_DIR = 33, - __XFRMA_MAX = 34, + XFRMA_NAT_KEEPALIVE_INTERVAL = 34, + __XFRMA_MAX = 35, }; enum xfrm_nlgroups { @@ -21008,6 +21407,8 @@ typedef int __kernel_timer_t; typedef int __s32; +typedef int class_get_unused_fd_t; + typedef __kernel_clockid_t clockid_t; typedef __s32 s32; @@ -21416,6 +21817,10 @@ typedef u32 acpi_rsdesc_size; typedef u32 acpi_status; +typedef unsigned int blk_features_t; + +typedef unsigned int blk_flags_t; + typedef unsigned int blk_insert_t; typedef unsigned int blk_mode_t; @@ -21625,10 +22030,6 @@ struct list_head { struct list_head *prev; }; -struct dentry; - -struct file; - typedef struct { int counter; } atomic_t; @@ -21639,6 +22040,10 @@ struct refcount_struct { typedef struct refcount_struct refcount_t; +struct dentry; + +struct file; + typedef struct { struct list_head list; long unsigned int flags; @@ -21659,6 +22064,8 @@ typedef struct { struct folio *v; } Sector; +struct ZSTD_DDict_s; + typedef struct ZSTD_DDict_s ZSTD_DDict; typedef struct { @@ -21850,6 +22257,8 @@ typedef struct { void *lock; } class_cpus_read_lock_t; +struct raw_spinlock; + typedef struct raw_spinlock raw_spinlock_t; typedef struct { @@ -21890,49 +22299,6 @@ typedef struct { void *lock; } class_rcu_t; -struct pin_cookie { - unsigned int val; -}; - -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; -} class_rq_lock_irq_t; - -typedef struct { - struct rq *lock; - struct rq_flags rf; -} class_rq_lock_irqsave_t; - -typedef struct spinlock spinlock_t; - -typedef struct { - spinlock_t *lock; -} class_spinlock_irq_t; - -typedef struct { - spinlock_t *lock; - long unsigned int flags; -} class_spinlock_irqsave_t; - -typedef struct { - spinlock_t *lock; -} class_spinlock_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; @@ -21983,10 +22349,63 @@ typedef struct { struct lockdep_map dep_map; } rwlock_t; +typedef struct { + rwlock_t *lock; +} class_read_lock_t; + +struct pin_cookie { + unsigned int val; +}; + +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; +} class_rq_lock_irq_t; + +typedef struct { + struct rq *lock; + struct rq_flags rf; +} class_rq_lock_irqsave_t; + +struct spinlock; + +typedef struct spinlock spinlock_t; + +typedef struct { + spinlock_t *lock; +} class_spinlock_irq_t; + +typedef struct { + spinlock_t *lock; + long unsigned int flags; +} class_spinlock_irqsave_t; + +typedef struct { + spinlock_t *lock; +} class_spinlock_t; + +struct task_struct; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class_task_rq_lock_t; + typedef struct { rwlock_t *lock; } class_write_lock_irq_t; +typedef struct { + rwlock_t *lock; +} class_write_lock_t; + typedef struct { unsigned char op; unsigned char bits; @@ -22251,10 +22670,6 @@ typedef struct { long unsigned int key[2]; } hsiphash_key_t; -typedef struct { - long unsigned int pd; -} hugepd_t; - typedef struct { unsigned int __nmi_count; unsigned int apic_timer_irqs; @@ -22328,8 +22743,6 @@ struct rw_semaphore { struct lockdep_map dep_map; }; -struct ldt_struct; - struct mutex { atomic_long_t owner; raw_spinlock_t wait_lock; @@ -22339,6 +22752,8 @@ struct mutex { struct lockdep_map dep_map; }; +struct ldt_struct; + struct vdso_image; typedef struct { @@ -22650,24 +23065,12 @@ struct PartitionBlock { __be32 pb_EReserved[15]; }; -struct sk_buff; - -struct Qdisc_ops; - -struct qdisc_size_table; - struct hlist_node { struct hlist_node *next; struct hlist_node **pprev; }; -struct netdev_queue; - -struct net_rate_estimator; - -struct gnet_stats_basic_sync; - -struct gnet_stats_queue; +struct sk_buff; struct sk_buff_list { struct sk_buff *next; @@ -22725,6 +23128,14 @@ struct lock_class_key { }; }; +struct Qdisc_ops; + +struct qdisc_size_table; + +struct netdev_queue; + +struct net_rate_estimator; + struct Qdisc { int (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **); struct sk_buff * (*dequeue)(struct Qdisc *); @@ -23530,10 +23941,6 @@ struct _gpt_mbr_record { typedef struct _gpt_mbr_record gpt_mbr_record; -struct intel_gtt_driver; - -struct pci_dev; - struct resource { resource_size_t start; resource_size_t end; @@ -23545,6 +23952,10 @@ struct resource { struct resource *child; }; +struct intel_gtt_driver; + +struct pci_dev; + struct page; struct _intel_private { @@ -23703,14 +24114,6 @@ struct ack_sample { u32 in_flight; }; -struct acomp_req; - -struct scatterlist; - -struct crypto_acomp; - -struct crypto_type; - struct crypto_tfm; struct cipher_alg { @@ -23726,6 +24129,8 @@ struct compress_alg { int (*coa_decompress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *); }; +struct crypto_type; + struct crypto_alg { struct list_head cra_list; struct list_head cra_users; @@ -23752,6 +24157,12 @@ struct comp_alg_common { struct crypto_alg base; }; +struct acomp_req; + +struct scatterlist; + +struct crypto_acomp; + struct acomp_alg { int (*compress)(struct acomp_req *); int (*decompress)(struct acomp_req *); @@ -24003,16 +24414,16 @@ struct acpi_device_data { struct list_head subnodes; }; +struct kref { + refcount_t refcount; +}; + struct kset; struct kobj_type; struct kernfs_node; -struct kref { - refcount_t refcount; -}; - struct kobject { const char *name; struct list_head entry; @@ -24709,22 +25120,6 @@ struct acpi_device_dir { struct proc_dir_entry *entry; }; -struct acpi_scan_handler; - -struct acpi_hotplug_context; - -struct acpi_device_software_nodes; - -struct acpi_gpio_mapping; - -struct device_private; - -struct device_type; - -struct bus_type; - -struct device_driver; - struct dev_links_info { struct list_head suppliers; struct list_head consumers; @@ -24762,8 +25157,6 @@ struct dev_pm_info { struct dev_pm_qos *qos; }; -struct dev_pm_domain; - struct irq_domain; struct msi_device_data; @@ -24773,6 +25166,20 @@ struct dev_msi_info { struct msi_device_data *data; }; +struct dev_archdata {}; + +struct dev_iommu; + +struct device_private; + +struct device_type; + +struct bus_type; + +struct device_driver; + +struct dev_pm_domain; + struct dma_map_ops; struct bus_dma_region; @@ -24783,8 +25190,6 @@ struct cma; struct io_tlb_mem; -struct dev_archdata {}; - struct device_node; struct class; @@ -24793,8 +25198,6 @@ struct attribute_group; struct iommu_group; -struct dev_iommu; - struct device_physical_location; struct device { @@ -24844,6 +25247,14 @@ struct device { bool dma_skip_sync: 1; }; +struct acpi_scan_handler; + +struct acpi_hotplug_context; + +struct acpi_device_software_nodes; + +struct acpi_gpio_mapping; + struct acpi_device { u32 pld_crc; int device_type; @@ -25684,9 +26095,10 @@ struct acpi_madt_local_x2apic_nmi { struct acpi_madt_multiproc_wakeup { struct acpi_subtable_header header; - u16 mailbox_version; + u16 version; u32 reserved; - u64 base_address; + u64 mailbox_address; + u64 reset_vector; }; struct acpi_madt_multiproc_wakeup_mailbox { @@ -26236,7 +26648,7 @@ struct acpi_processor_flags { u8 has_lpi: 1; u8 power_setup_done: 1; u8 bm_rld_set: 1; - u8 need_hotplug_init: 1; + u8 previously_online: 1; }; struct acpi_processor_cx { @@ -26259,10 +26671,6 @@ struct acpi_processor_power { int timer_broadcast_on_state; }; -struct acpi_processor_performance; - -struct acpi_processor_tx_tss; - struct acpi_tsd_package { u64 num_entries; u64 revision; @@ -26271,13 +26679,15 @@ struct acpi_tsd_package { u64 num_processors; }; -struct acpi_processor; - struct acpi_processor_tx { u16 power; u16 performance; }; +struct acpi_processor_tx_tss; + +struct acpi_processor; + struct acpi_processor_throttling { unsigned int state; unsigned int platform_limit; @@ -26308,8 +26718,6 @@ struct acpi_processor_limit { struct acpi_processor_lx user; }; -struct thermal_cooling_device; - struct plist_node { int prio; struct list_head prio_list; @@ -26324,6 +26732,10 @@ struct freq_qos_request { struct freq_constraints *qos; }; +struct acpi_processor_performance; + +struct thermal_cooling_device; + struct acpi_processor { acpi_handle handle; u32 acpi_id; @@ -26353,8 +26765,6 @@ struct acpi_processor_errata { } piix4; }; -struct acpi_processor_px; - struct acpi_psd_package { u64 num_entries; u64 revision; @@ -26363,6 +26773,8 @@ struct acpi_psd_package { u64 num_processors; }; +struct acpi_processor_px; + struct acpi_processor_performance { unsigned int state; unsigned int platform_limit; @@ -26843,6 +27255,7 @@ struct acpi_scan_handler { bool (*match)(const char *, const struct acpi_device_id **); int (*attach)(struct acpi_device *, const struct acpi_device_id *); void (*detach)(struct acpi_device *); + void (*post_eject)(struct acpi_device *); void (*bind)(struct device *); void (*unbind)(struct device *); struct acpi_hotplug_profile hotplug; @@ -26910,6 +27323,15 @@ struct acpi_srat_mem_affinity { u64 reserved2; } __attribute__((packed)); +struct acpi_srat_rintc_affinity { + struct acpi_subtable_header header; + u16 reserved; + u32 proximity_domain; + u32 acpi_processor_uid; + u32 flags; + u32 clock_domain; +}; + struct acpi_srat_x2apic_cpu_affinity { struct acpi_subtable_header header; u16 reserved; @@ -27717,16 +28139,16 @@ struct agp_memory { int num_sg; }; -struct ahash_request; - -struct crypto_ahash; - struct hash_alg_common { unsigned int digestsize; unsigned int statesize; struct crypto_alg base; }; +struct ahash_request; + +struct crypto_ahash; + struct ahash_alg { int (*init)(struct ahash_request *); int (*update)(struct ahash_request *); @@ -27808,8 +28230,6 @@ struct poll_iocb { struct work_struct work; }; -struct kioctx; - typedef int kiocb_cancel_fn(struct kiocb *); struct io_event { @@ -27819,6 +28239,8 @@ struct io_event { __s64 res2; }; +struct kioctx; + struct eventfd_ctx; struct aio_kiocb { @@ -28063,6 +28485,8 @@ struct amd_cpudata { u32 policy; u64 cppc_cap1_cached; bool suspended; + s16 epp_default; + bool boost_state; }; struct amd_hostbridge { @@ -28076,8 +28500,6 @@ struct amd_l3_cache { u8 subcaches[4]; }; -struct perf_event; - struct event_constraint { union { long unsigned int idxmsk[1]; @@ -28091,6 +28513,8 @@ struct event_constraint { unsigned int size; }; +struct perf_event; + struct amd_nb { int nb_id; int refcnt; @@ -29228,8 +29652,6 @@ struct audit_buffer { gfp_t gfp_mask; }; -struct fsnotify_mark; - struct audit_tree; struct audit_node { @@ -29238,6 +29660,8 @@ struct audit_node { unsigned int index; }; +struct fsnotify_mark; + struct audit_chunk { struct list_head hash; long unsigned int key; @@ -29281,8 +29705,6 @@ struct path { struct dentry *dentry; }; -struct audit_tree_refs; - struct mq_attr { __kernel_long_t mq_flags; __kernel_long_t mq_maxmsg; @@ -29311,6 +29733,8 @@ struct audit_proctitle { char *value; }; +struct audit_tree_refs; + struct audit_context { int dummy; enum { @@ -29729,8 +30153,6 @@ struct avtab_node { struct avtab_node *next; }; -struct backing_dev_info; - struct percpu_counter { raw_spinlock_t lock; s64 count; @@ -29751,6 +30173,8 @@ struct percpu_ref { struct percpu_ref_data *data; }; +struct backing_dev_info; + struct cgroup_subsys_state; struct bdi_writeback { @@ -29880,8 +30304,6 @@ struct backlight_properties { enum backlight_scale scale; }; -struct backlight_ops; - typedef int (*notifier_fn_t)(struct notifier_block *, long unsigned int, void *); struct notifier_block { @@ -29890,6 +30312,8 @@ struct notifier_block { int priority; }; +struct backlight_ops; + struct backlight_device { struct backlight_properties props; struct mutex update_lock; @@ -30066,9 +30490,13 @@ struct inode { }; dev_t i_rdev; loff_t i_size; - struct timespec64 __i_atime; - struct timespec64 __i_mtime; - struct timespec64 __i_ctime; + time64_t i_atime_sec; + time64_t i_mtime_sec; + time64_t i_ctime_sec; + u32 i_atime_nsec; + u32 i_mtime_nsec; + u32 i_ctime_nsec; + u32 i_generation; spinlock_t i_lock; short unsigned int i_bytes; u8 i_blkbits; @@ -30110,7 +30538,6 @@ struct inode { char *i_link; unsigned int i_dir_seq; }; - __u32 i_generation; __u32 i_fsnotify_mask; struct fsnotify_mark_connector *i_fsnotify_marks; void *i_private; @@ -30171,22 +30598,20 @@ struct bio; typedef void bio_end_io_t(struct bio *); -struct blkcg_gq; - struct bio_issue { u64 value; }; -struct bio_vec; - -struct bio_set; - struct bio_vec { struct page *bv_page; unsigned int bv_len; unsigned int bv_offset; }; +struct blkcg_gq; + +struct bio_set; + struct bio { struct bio *bi_next; struct block_device *bi_bdev; @@ -30221,6 +30646,19 @@ struct bio_alloc_cache { unsigned int nr_irq; }; +struct bio_integrity_payload { + struct bio *bip_bio; + struct bvec_iter bip_iter; + short unsigned int bip_vcnt; + short unsigned int bip_max_vcnt; + short unsigned int bip_flags; + int: 0; + struct bvec_iter bio_iter; + struct work_struct bip_work; + struct bio_vec *bip_vec; + struct bio_vec bip_inline_vecs[0]; +}; + struct bio_list { struct bio *head; struct bio *tail; @@ -30389,6 +30827,15 @@ struct blk_independent_access_ranges { struct blk_independent_access_range ia_range[0]; }; +struct blk_integrity { + unsigned char flags; + enum blk_integrity_checksum csum_type; + unsigned char tuple_size; + unsigned char pi_offset; + unsigned char interval_exp; + unsigned char tag_size; +}; + struct blk_io_trace { __u32 magic; __u32 sequence; @@ -30757,6 +31204,7 @@ struct blkcg { struct cgroup_subsys_state css; spinlock_t lock; refcount_t online_pin; + atomic_t congestion_count; struct xarray blkg_tree; struct blkcg_gq *blkg_hint; struct hlist_head blkg_list; @@ -30766,8 +31214,6 @@ struct blkcg { struct list_head cgwb_list; }; -struct blkg_iostat_set; - struct blkg_iostat { u64 bytes[3]; u64 ios[3]; @@ -30807,8 +31253,6 @@ struct blkcg_gq { struct callback_head callback_head; }; -struct cftype; - typedef struct blkcg_policy_data *blkcg_pol_alloc_cpd_fn(gfp_t); typedef void blkcg_pol_free_cpd_fn(struct blkcg_policy_data *); @@ -30827,6 +31271,8 @@ typedef void blkcg_pol_reset_pd_stats_fn(struct blkg_policy_data *); typedef void blkcg_pol_stat_pd_fn(struct blkg_policy_data *, struct seq_file *); +struct cftype; + struct blkcg_policy { int plid; struct cftype *dfl_cftypes; @@ -30902,10 +31348,10 @@ struct blkpg_partition { char volname[64]; }; -struct hd_geometry; - typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); +struct hd_geometry; + struct pr_ops; struct block_device_operations { @@ -31421,6 +31867,8 @@ struct btf; struct obj_cgroup; +struct btf_type; + struct bpf_map { const struct bpf_map_ops *ops; struct bpf_map *inner_map_meta; @@ -31449,6 +31897,7 @@ struct bpf_map { }; atomic64_t writecnt; struct { + const struct btf_type *attach_func_proto; spinlock_t lock; enum bpf_prog_type type; bool jited; @@ -31462,8 +31911,6 @@ struct bpf_map { s64 *elem_count; }; -struct vm_struct; - typedef struct lockdep_map *lockdep_map_p; struct maple_tree { @@ -31475,6 +31922,8 @@ struct maple_tree { void *ma_root; }; +struct vm_struct; + struct bpf_arena { struct bpf_map map; u64 user_vm_start; @@ -31520,18 +31969,21 @@ struct bpf_async_cb { struct bpf_prog *prog; void *callback_fn; void *value; - struct callback_head rcu; + union { + struct callback_head rcu; + struct work_struct delete_work; + }; u64 flags; }; -struct bpf_hrtimer; - -struct bpf_work; - struct bpf_spin_lock { __u32 val; }; +struct bpf_hrtimer; + +struct bpf_work; + struct bpf_async_kern { union { struct bpf_async_cb *cb; @@ -31549,8 +32001,6 @@ struct btf_func_model { u8 arg_flags[12]; }; -struct btf_type; - struct bpf_attach_target_info { struct btf_func_model fmodel; long int tgt_addr; @@ -31927,15 +32377,15 @@ struct bpf_cgroup_link { enum bpf_attach_type type; }; -struct bpf_storage_buffer; - -struct bpf_cgroup_storage_map; - struct bpf_cgroup_storage_key { __u64 cgroup_inode_id; __u32 attach_type; }; +struct bpf_storage_buffer; + +struct bpf_cgroup_storage_map; + struct bpf_cgroup_storage { union { struct bpf_storage_buffer *buf; @@ -32037,10 +32487,6 @@ struct bpf_cpu_map { struct bpf_cpu_map_entry **cpu_map; }; -struct xdp_bulk_queue; - -struct ptr_ring; - struct bpf_cpumap_val { __u32 qsize; union { @@ -32049,6 +32495,10 @@ struct bpf_cpumap_val { } bpf_prog; }; +struct xdp_bulk_queue; + +struct ptr_ring; + struct bpf_cpu_map_entry { u32 cpu; int map_id; @@ -32353,15 +32803,15 @@ struct bpf_sock { __s32 rx_queue_mapping; }; -struct proto; - -struct inet_timewait_death_row; - struct hlist_nulls_node { struct hlist_nulls_node *next; struct hlist_nulls_node **pprev; }; +struct proto; + +struct inet_timewait_death_row; + struct sock_common { union { __addrpair skc_addrpair; @@ -32423,6 +32873,17 @@ struct sock_common { }; }; +struct page_frag { + struct page *page; + __u32 offset; + __u32 size; +}; + +struct sock_cgroup_data { + struct cgroup *cgroup; + u32 classid; +}; + struct dst_entry; struct sk_filter; @@ -32435,17 +32896,6 @@ struct mem_cgroup; struct xfrm_policy; -struct page_frag { - struct page *page; - __u32 offset; - __u32 size; -}; - -struct sock_cgroup_data { - struct cgroup *cgroup; - u32 classid; -}; - struct sock_reuseport; struct bpf_local_storage; @@ -33191,6 +33641,7 @@ struct bpf_func_proto { bool gpl_only; bool pkt_access; bool might_sleep; + bool allow_fastcall; enum bpf_return_type ret_type; union { struct { @@ -33309,6 +33760,7 @@ struct bpf_func_state { struct bpf_hrtimer { struct bpf_async_cb cb; struct hrtimer timer; + atomic_t cancelling; }; struct bpf_mem_caches; @@ -33323,10 +33775,6 @@ struct bpf_mem_alloc { struct work_struct work; }; -struct bucket; - -struct pcpu_freelist_head; - struct pcpu_freelist_node; struct pcpu_freelist_head { @@ -33359,6 +33807,8 @@ struct bpf_lru { long: 64; }; +struct bucket; + struct htab_elem; struct bpf_htab { @@ -33370,7 +33820,6 @@ struct bpf_htab { long: 64; long: 64; long: 64; - long: 64; union { struct pcpu_freelist freelist; struct bpf_lru lru; @@ -33417,6 +33866,7 @@ struct bpf_insn { struct bpf_insn_access_aux { enum bpf_reg_type reg_type; + bool is_ldsx; union { int ctx_field_size; struct { @@ -33425,6 +33875,7 @@ struct bpf_insn_access_aux { }; }; struct bpf_verifier_log *log; + bool is_retval; }; struct bpf_map_ptr_state { @@ -33478,6 +33929,8 @@ struct bpf_insn_aux_data { bool is_iter_next; bool call_with_percpu_alloc_ptr; u8 alu_state; + u8 fastcall_pattern: 1; + u8 fastcall_spills_num: 3; unsigned int orig_idx; bool jmp_point; bool prune_point; @@ -33917,8 +34370,6 @@ struct bpf_iter_task_vma_kern { struct bpf_iter_task_vma_kern_data *data; }; -struct mmap_unlock_irq_work; - struct maple_enode; struct maple_alloc; @@ -33942,6 +34393,8 @@ struct vma_iterator { struct ma_state mas; }; +struct mmap_unlock_irq_work; + struct bpf_iter_task_vma_kern_data { struct task_struct *task; struct mm_struct *mm; @@ -33970,6 +34423,7 @@ struct bpf_jmp_history_entry { u32 idx; u32 prev_idx: 22; u32 flags: 10; + u64 linked_regs; }; struct bpf_key { @@ -34070,18 +34524,20 @@ struct ftrace_ops { long unsigned int trampoline; long unsigned int trampoline_size; struct list_head list; + struct list_head subop_list; ftrace_ops_func_t ops_func; + struct ftrace_ops *managed; long unsigned int direct_call; }; -struct rethook; - struct fprobe; typedef int (*fprobe_entry_cb)(struct fprobe *, long unsigned int, long unsigned int, struct pt_regs *, void *); typedef void (*fprobe_exit_cb)(struct fprobe *, long unsigned int, long unsigned int, struct pt_regs *, void *); +struct rethook; + struct fprobe { struct ftrace_ops ops; long unsigned int nmissed; @@ -34416,10 +34872,10 @@ struct bpf_map_info { __u64 map_extra; }; -struct bpf_prog_aux; - typedef u64 (*bpf_callback_t)(u64, u64, u64, u64, u64); +struct bpf_prog_aux; + struct bpf_map_ops { int (*map_alloc_check)(union bpf_attr *); struct bpf_map * (*map_alloc)(union bpf_attr *); @@ -34549,6 +35005,32 @@ struct bpf_nested_pt_regs { struct pt_regs regs[3]; }; +struct bpf_nh_params { + u32 nh_family; + union { + u32 ipv4_nh; + struct in6_addr ipv6_nh; + }; +}; + +struct bpf_redirect_info { + u64 tgt_index; + void *tgt_value; + struct bpf_map *map; + u32 flags; + u32 map_id; + enum bpf_map_type map_type; + struct bpf_nh_params nh; + u32 kern_flags; +}; + +struct bpf_net_context { + struct bpf_redirect_info ri; + struct list_head cpu_map_flush_list; + struct list_head dev_map_flush_list; + struct list_head xskmap_map_flush_list; +}; + struct bpf_netns_link { struct bpf_link link; enum bpf_attach_type type; @@ -34579,14 +35061,6 @@ struct bpf_nf_link { const struct nf_defrag_hook *defrag_hook; }; -struct bpf_nh_params { - u32 nh_family; - union { - u32 ipv4_nh; - struct in6_addr ipv6_nh; - }; -}; - struct bpf_prog_offload_ops; struct bpf_offload_dev { @@ -34642,10 +35116,6 @@ struct bpf_preload_ops { struct module *owner; }; -struct bpf_prog_stats; - -struct sock_fprog_kern; - struct sock_filter { __u16 code; __u8 jt; @@ -34653,6 +35123,10 @@ struct sock_filter { __u32 k; }; +struct bpf_prog_stats; + +struct sock_fprog_kern; + struct bpf_prog { u16 pages; u16 jited: 1; @@ -34938,17 +35412,6 @@ struct bpf_redir_neigh { }; }; -struct bpf_redirect_info { - u64 tgt_index; - void *tgt_value; - struct bpf_map *map; - u32 flags; - u32 kern_flags; - u32 map_id; - enum bpf_map_type map_type; - struct bpf_nh_params nh; -}; - struct bpf_refcount { __u32 __opaque[1]; }; @@ -35971,7 +36434,7 @@ struct bpf_ringbuf { long: 64; long: 64; long unsigned int producer_pos; - long: 64; + long unsigned int pending_pos; long: 64; long: 64; long: 64; @@ -36505,6 +36968,7 @@ struct bpf_scratchpad { __be32 diff[128]; u8 buff[512]; }; + local_lock_t bh_lock; }; struct bpf_security_struct { @@ -36522,8 +36986,6 @@ struct bpf_shim_tramp_link { struct bpf_trampoline *trampoline; }; -struct bpf_shtab_bucket; - struct sk_psock_progs { struct bpf_prog *msg_parser; struct bpf_prog *stream_parser; @@ -36535,6 +36997,8 @@ struct sk_psock_progs { struct bpf_link *skb_verdict_link; }; +struct bpf_shtab_bucket; + struct bpf_shtab { struct bpf_map map; struct bpf_shtab_bucket *buckets; @@ -36699,8 +37163,6 @@ struct bpf_struct_ops_link { wait_queue_head_t wait_hup; }; -struct bpf_struct_ops_value; - struct bpf_struct_ops_value { struct bpf_struct_ops_common_value common; long: 64; @@ -36730,7 +37192,6 @@ struct bpf_struct_ops_map { long: 64; long: 64; long: 64; - long: 64; struct bpf_struct_ops_value kvalue; }; @@ -36789,6 +37250,7 @@ struct bpf_subprog_info { u32 linfo_idx; u16 stack_depth; u16 stack_extra; + s16 fastcall_stack_off; bool has_tail_call: 1; bool tail_call_reachable: 1; bool has_ld_abs: 1; @@ -36796,6 +37258,7 @@ struct bpf_subprog_info { bool is_async_cb: 1; bool is_exception_cb: 1; bool args_cached: 1; + bool keep_fastcall_stack: 1; u8 arg_cnt; struct bpf_subprog_arg_info args[5]; }; @@ -36908,12 +37371,6 @@ struct bpf_trace_run_ctx { bool is_uprobe; }; -struct perf_callchain_entry; - -struct perf_raw_record; - -struct perf_branch_stack; - union perf_sample_weight { __u64 full; struct { @@ -36945,6 +37402,12 @@ struct perf_regs { struct pt_regs *regs; }; +struct perf_callchain_entry; + +struct perf_raw_record; + +struct perf_branch_stack; + struct perf_sample_data { u64 sample_flags; u64 period; @@ -37085,8 +37548,6 @@ struct bpf_unix_iter_state { bool st_bucket_done; }; -struct bpf_uprobe_multi_link; - struct uprobe_consumer { int (*handler)(struct uprobe_consumer *, struct pt_regs *); int (*ret_handler)(struct uprobe_consumer *, long unsigned int, struct pt_regs *); @@ -37094,6 +37555,8 @@ struct uprobe_consumer { struct uprobe_consumer *next; }; +struct bpf_uprobe_multi_link; + struct bpf_uprobe { struct bpf_uprobe_multi_link *link; loff_t offset; @@ -37117,12 +37580,6 @@ struct bpf_uprobe_multi_run_ctx { struct bpf_uprobe *uprobe; }; -struct bpf_verifier_stack_elem; - -struct bpf_verifier_state; - -struct bpf_verifier_state_list; - struct btf_mod_pair { struct btf *btf; struct module *module; @@ -37138,6 +37595,12 @@ struct bpf_verifier_log { char kbuf[1024]; }; +struct bpf_verifier_stack_elem; + +struct bpf_verifier_state; + +struct bpf_verifier_state_list; + struct bpf_verifier_env { u32 insn_idx; u32 prev_insn_idx; @@ -37198,13 +37661,17 @@ struct bpf_verifier_env { u64 scratched_stack_slots; u64 prev_log_pos; u64 prev_insn_print_pos; + struct bpf_reg_state fake_reg[2]; char tmp_str_buf[320]; + struct bpf_insn insn_buf[16]; + struct bpf_insn epilogue_buf[16]; }; struct bpf_verifier_ops { const struct bpf_func_proto * (*get_func_proto)(enum bpf_func_id, const struct bpf_prog *); bool (*is_valid_access)(int, int, enum bpf_access_type, const struct bpf_prog *, struct bpf_insn_access_aux *); int (*gen_prologue)(struct bpf_insn *, bool, const struct bpf_prog *); + int (*gen_epilogue)(struct bpf_insn *, const struct bpf_prog *, s16); int (*gen_ld_abs)(const struct bpf_insn *, struct bpf_insn *); u32 (*convert_ctx_access)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *); int (*btf_struct_access)(struct bpf_verifier_log *, const struct bpf_reg_state *, int, int); @@ -37570,6 +38037,7 @@ struct btf { u32 start_str_off; char name[56]; bool kernel_btf; + __u32 *base_id_map; }; struct btf_anon_stack { @@ -37624,6 +38092,14 @@ struct btf_field { }; }; +struct btf_field_desc { + int t_off_cnt; + int t_offs[2]; + int m_sz; + int m_off_cnt; + int m_offs[1]; +}; + struct btf_field_info { enum btf_field_type type; u32 off; @@ -37638,6 +38114,14 @@ struct btf_field_info { }; }; +struct btf_field_iter { + struct btf_field_desc desc; + void *p; + int m_idx; + int off_idx; + int vlen; +}; + struct btf_id_dtor_kfunc { u32 btf_id; u32 kfunc_btf_id; @@ -37709,6 +38193,13 @@ struct btf_module { int flags; }; +struct btf_name_info { + const char *name; + bool needs_size: 1; + unsigned int size: 31; + __u32 id; +}; + struct btf_param { __u32 name_off; __u32 type; @@ -37730,6 +38221,19 @@ struct btf_record { struct btf_field fields[0]; }; +struct btf_relocate { + struct btf *btf; + const struct btf *base_btf; + const struct btf *dist_base_btf; + unsigned int nr_base_types; + unsigned int nr_split_types; + unsigned int nr_dist_base_types; + int dist_str_len; + int base_str_len; + __u32 *id_map; + __u32 *str_map; +}; + struct btf_sec_info { u32 off; u32 len; @@ -39499,7 +40003,7 @@ struct bus_type { const struct attribute_group **bus_groups; const struct attribute_group **dev_groups; const struct attribute_group **drv_groups; - int (*match)(struct device *, struct device_driver *); + int (*match)(struct device *, const struct device_driver *); int (*uevent)(const struct device *, struct kobj_uevent_env *); int (*probe)(struct device *); void (*sync_state)(struct device *); @@ -39683,8 +40187,6 @@ struct load_weight { u32 inv_weight; }; -struct sched_entity; - struct sched_avg { u64 last_update_time; u64 load_sum; @@ -39697,6 +40199,8 @@ struct sched_avg { unsigned int util_est; }; +struct sched_entity; + struct task_group; struct cfs_rq { @@ -39801,10 +40305,6 @@ struct cgroup_file { struct timer_list notify_timer; }; -struct cgroup_root; - -struct cgroup_rstat_cpu; - struct task_cputime { u64 stime; u64 utime; @@ -39821,8 +40321,6 @@ struct prev_cputime { raw_spinlock_t lock; }; -struct psi_group; - struct cgroup_bpf { struct bpf_prog_array *effective[38]; struct hlist_head progs[38]; @@ -39840,6 +40338,12 @@ struct cgroup_freezer_state { int nr_frozen_tasks; }; +struct cgroup_root; + +struct cgroup_rstat_cpu; + +struct psi_group; + struct cgroup { struct cgroup_subsys_state self; long unsigned int flags; @@ -39886,7 +40390,6 @@ struct cgroup { struct work_struct release_agent_work; struct psi_group *psi; struct cgroup_bpf bpf; - atomic_t congestion_count; struct cgroup_freezer_state freezer; struct bpf_local_storage *bpf_cgrp_storage; struct cgroup *ancestors[0]; @@ -39894,6 +40397,7 @@ struct cgroup { long: 64; long: 64; long: 64; + long: 64; }; struct cgroup__safe_rcu { @@ -39905,8 +40409,6 @@ struct cgroup_cls_state { u32 classid; }; -struct cgroup_namespace; - struct css_set; struct css_task_iter { @@ -39924,6 +40426,8 @@ struct css_task_iter { struct list_head iters_node; }; +struct cgroup_namespace; + struct cgroup_pidlist; struct cgroup_file_ctx { @@ -40261,8 +40765,6 @@ struct class_compat { struct kobject *kobj; }; -struct common_datum; - struct hashtab_node; struct hashtab { @@ -40276,6 +40778,8 @@ struct symtab { u32 nprim; }; +struct common_datum; + struct constraint_node; struct class_datum { @@ -40394,13 +40898,13 @@ struct clk_composite { const struct clk_ops *gate_ops; }; -struct clk_parent_map; - struct clk_duty { unsigned int num; unsigned int den; }; +struct clk_parent_map; + struct clk_core { const char *name; const struct clk_ops *ops; @@ -40666,6 +41170,8 @@ struct clock_identity { u8 id[8]; }; +struct clocksource_base; + struct clocksource { u64 (*read)(struct clocksource *); u64 mask; @@ -40677,10 +41183,12 @@ struct clocksource { u64 max_cycles; const char *name; struct list_head list; + u32 freq_khz; int rating; enum clocksource_ids id; enum vdso_clock_mode vdso_clock_mode; long unsigned int flags; + struct clocksource_base *base; int (*enable)(struct clocksource *); void (*disable)(struct clocksource *); void (*suspend)(struct clocksource *); @@ -40693,6 +41201,14 @@ struct clocksource { struct module *owner; }; +struct clocksource_base { + enum clocksource_ids id; + u32 freq_khz; + u64 offset; + u32 numerator; + u32 denominator; +}; + struct clone_args { __u64 flags; __u64 pidfd; @@ -40818,6 +41334,89 @@ struct cma { bool reserve_pages_on_error; }; +struct cmis_cdb_advert_rpl { + u8 inst_supported; + u8 read_write_len_ext; + u8 resv1; + u8 resv2; +}; + +struct cmis_cdb_fw_mng_features_rpl { + u8 resv1; + u8 resv2; + u8 start_cmd_payload_size; + u8 resv3; + u8 read_write_len_ext; + u8 write_mechanism; + u8 resv4; + u8 resv5; + __be16 max_duration_start; + __be16 resv6; + __be16 max_duration_write; + __be16 max_duration_complete; + __be16 resv7; +}; + +struct cmis_cdb_module_features_rpl { + u8 resv1[34]; + __be16 max_completion_time; +}; + +struct cmis_cdb_query_status_pl { + u16 response_delay; +}; + +struct cmis_cdb_query_status_rpl { + u8 length; + u8 status; +}; + +struct cmis_cdb_run_fw_image_pl { + u8 resv1; + u8 image_to_run; + u16 delay_to_reset; +}; + +struct cmis_cdb_start_fw_download_pl_h { + __be32 image_size; + __be32 resv1; +}; + +struct cmis_cdb_start_fw_download_pl { + union { + struct { + __be32 image_size; + __be32 resv1; + }; + struct cmis_cdb_start_fw_download_pl_h head; + }; + u8 vendor_data[112]; +}; + +struct cmis_cdb_write_fw_block_lpl_pl { + __be32 block_address; + u8 fw_block[116]; +}; + +struct cmis_fw_update_fw_mng_features { + u8 start_cmd_payload_size; + u16 max_duration_start; + u16 max_duration_write; + u16 max_duration_complete; +}; + +struct cmis_password_entry_pl { + __be32 password; +}; + +struct cmis_rev_rpl { + u8 rev; +}; + +struct cmis_wait_for_cond_rpl { + u8 state; +}; + struct cmsghdr { __kernel_size_t cmsg_len; int cmsg_level; @@ -40898,10 +41497,6 @@ struct codel_vars { codel_time_t ldelay; }; -union codetag_ref { - struct codetag *ct; -}; - struct collapse_control { bool is_khugepaged; u32 node_load[64]; @@ -41195,21 +41790,37 @@ struct conntrack_gc_work { bool early_drop; }; +struct winsize { + short unsigned int ws_row; + short unsigned int ws_col; + short unsigned int ws_xpixel; + short unsigned int ws_ypixel; +}; + +struct hvc_struct; + +struct console { + struct list_head list; + struct hvc_struct *hvc; + struct winsize ws; + u32 vtermno; +}; + struct tty_driver; struct nbcon_write_context; struct printk_buffers; -struct console { +struct console___2 { char name[16]; - void (*write)(struct console *, const char *, unsigned int); - int (*read)(struct console *, char *, unsigned int); - struct tty_driver * (*device)(struct console *, int *); + void (*write)(struct console___2 *, const char *, unsigned int); + int (*read)(struct console___2 *, char *, unsigned int); + struct tty_driver * (*device)(struct console___2 *, int *); void (*unblank)(); - int (*setup)(struct console *, char *); - int (*exit)(struct console *); - int (*match)(struct console *, char *, int, char *); + int (*setup)(struct console___2 *, char *); + int (*exit)(struct console___2 *); + int (*match)(struct console___2 *, char *, int, char *); short int flags; short int index; int cflag; @@ -41219,31 +41830,16 @@ struct console { long unsigned int dropped; void *data; struct hlist_node node; - bool (*write_atomic)(struct console *, struct nbcon_write_context *); + bool (*write_atomic)(struct console___2 *, struct nbcon_write_context *); atomic_t nbcon_state; atomic_long_t nbcon_seq; struct printk_buffers *pbufs; }; -struct hvc_struct; - -struct winsize { - short unsigned int ws_row; - short unsigned int ws_col; - short unsigned int ws_xpixel; - short unsigned int ws_ypixel; -}; - -struct console___2 { - struct list_head list; - struct hvc_struct *hvc; - struct winsize ws; - u32 vtermno; -}; - struct console_cmdline { char name[16]; int index; + char devname[32]; bool user_specified; char *options; }; @@ -41264,13 +41860,6 @@ struct console_font_op { unsigned char *data; }; -struct console_option { - char name[32]; - char opt[16]; - char brl_opt[16]; - u8 has_brl_opt: 1; -}; - struct constant_table { const char *name; int value; @@ -41389,8 +41978,8 @@ struct convert_context_args { }; struct copy_subpage_arg { - struct page *dst; - struct page *src; + struct folio *dst; + struct folio *src; struct vm_area_struct *vma; }; @@ -41426,6 +42015,8 @@ struct core_vma_metadata { struct file *file; }; +struct kernel_siginfo; + typedef struct kernel_siginfo kernel_siginfo_t; struct coredump_params { @@ -42206,14 +42797,14 @@ struct perf_branch_stack { struct perf_branch_entry entries[0]; }; -struct er_account; - struct perf_guest_switch_msr { unsigned int msr; u64 host; u64 guest; }; +struct er_account; + struct intel_shared_regs; struct intel_excl_cntrs; @@ -42462,7 +43053,7 @@ struct cpufreq_driver { int (*bios_limit)(int, unsigned int *); int (*online)(struct cpufreq_policy *); int (*offline)(struct cpufreq_policy *); - int (*exit)(struct cpufreq_policy *); + void (*exit)(struct cpufreq_policy *); int (*suspend)(struct cpufreq_policy *); int (*resume)(struct cpufreq_policy *); void (*ready)(struct cpufreq_policy *); @@ -42743,10 +43334,10 @@ struct cpuidle_state_usage { long long unsigned int rejected; }; -struct cpuidle_state_kobj; - struct cpuidle_driver_kobj; +struct cpuidle_state_kobj; + struct cpuidle_device_kobj; struct cpuidle_device { @@ -43518,7 +44109,7 @@ struct ctl_node { struct ctl_table_header *header; }; -typedef int proc_handler(struct ctl_table *, int, void *, size_t *, loff_t *); +typedef int proc_handler(const struct ctl_table *, int, void *, size_t *, loff_t *); struct ctl_table_poll; @@ -43995,11 +44586,11 @@ struct dentry { struct qstr d_name; struct inode *d_inode; unsigned char d_iname[40]; - struct lockref d_lockref; const struct dentry_operations *d_op; struct super_block *d_sb; long unsigned int d_time; void *d_fsdata; + struct lockref d_lockref; union { struct list_head d_lru; wait_queue_head_t *d_wait; @@ -44123,13 +44714,13 @@ struct vmem_altmap { bool inaccessible; }; -struct dev_pagemap_ops; - struct range { u64 start; u64 end; }; +struct dev_pagemap_ops; + struct dev_pagemap { struct vmem_altmap altmap; struct percpu_ref ref; @@ -44299,7 +44890,7 @@ struct device_private { struct klist_node knode_bus; struct klist_node knode_class; struct list_head deferred_probe; - struct device_driver *async_driver; + const struct device_driver *async_driver; char *deferred_probe_reason; struct device *device; u8 dead: 1; @@ -44341,15 +44932,15 @@ struct devkmsg_user { struct printk_buffers pbufs; }; -struct devlink_dpipe_headers; - -struct devlink_ops; - struct devlink_dev_stats { u32 reload_stats[6]; u32 remote_reload_stats[6]; }; +struct devlink_dpipe_headers; + +struct devlink_ops; + struct devlink_rel; struct devlink { @@ -44454,7 +45045,7 @@ struct devlink_dpipe_table { bool resource_valid; u64 resource_id; u64 resource_units; - struct devlink_dpipe_table_ops *table_ops; + const struct devlink_dpipe_table_ops *table_ops; struct callback_head rcu; }; @@ -44710,10 +45301,6 @@ struct devlink_param_item { bool driverinit_value_new_valid; }; -struct devlink_port_ops; - -struct ib_device; - struct netdev_phys_item_id { unsigned char id[32]; unsigned char id_len; @@ -44758,6 +45345,10 @@ struct devlink_port_attrs { }; }; +struct devlink_port_ops; + +struct ib_device; + struct devlink_port { struct list_head list; struct list_head region_list; @@ -45093,6 +45684,18 @@ struct dim_cq_moder { u16 pkts; u16 comps; u8 cq_period_mode; + struct callback_head rcu; +}; + +struct dim_irq_moder { + u8 profile_flags; + u8 coal_flags; + u8 dim_rx_mode; + u8 dim_tx_mode; + struct dim_cq_moder *rx_profile; + struct dim_cq_moder *tx_profile; + void (*rx_dim_work)(struct work_struct *); + void (*tx_dim_work)(struct work_struct *); }; struct dir_context; @@ -45137,6 +45740,8 @@ struct dirty_throttle_control { long unsigned int wb_thresh; long unsigned int wb_bg_thresh; long unsigned int pos_ratio; + bool freerun; + bool dirty_exceeded; }; struct disk_events { @@ -45226,14 +45831,14 @@ struct dl_rq { u64 bw_ratio; }; -struct dma_chan; - typedef void (*dma_async_tx_callback)(void *); struct dmaengine_result; typedef void (*dma_async_tx_callback_result)(void *, const struct dmaengine_result *); +struct dma_chan; + struct dmaengine_unmap_data; struct dma_descriptor_metadata_ops; @@ -45258,8 +45863,6 @@ struct dma_block { dma_addr_t dma; }; -struct dma_buf_ops; - struct iosys_map { union { void *vaddr_iomem; @@ -45268,14 +45871,16 @@ struct iosys_map { bool is_iomem; }; -struct dma_resv; - struct dma_buf_poll_cb_t { struct dma_fence_cb cb; wait_queue_head_t *poll; __poll_t active; }; +struct dma_buf_ops; + +struct dma_resv; + struct dma_buf { size_t size; struct file *file; @@ -45415,6 +46020,8 @@ struct dma_filter { const struct dma_slave_map *map; }; +struct dma_vec; + struct dma_interleaved_template; struct dma_slave_caps; @@ -45461,6 +46068,7 @@ struct dma_device { struct dma_async_tx_descriptor * (*device_prep_dma_memset)(struct dma_chan *, dma_addr_t, int, size_t, long unsigned int); struct dma_async_tx_descriptor * (*device_prep_dma_memset_sg)(struct dma_chan *, struct scatterlist *, unsigned int, int, long unsigned int); struct dma_async_tx_descriptor * (*device_prep_dma_interrupt)(struct dma_chan *, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_peripheral_dma_vec)(struct dma_chan *, const struct dma_vec *, size_t, enum dma_transfer_direction, long unsigned int); struct dma_async_tx_descriptor * (*device_prep_slave_sg)(struct dma_chan *, struct scatterlist *, unsigned int, enum dma_transfer_direction, long unsigned int, void *); struct dma_async_tx_descriptor * (*device_prep_dma_cyclic)(struct dma_chan *, dma_addr_t, size_t, size_t, enum dma_transfer_direction, long unsigned int); struct dma_async_tx_descriptor * (*device_prep_interleaved_dma)(struct dma_chan *, struct dma_interleaved_template *, long unsigned int); @@ -45502,6 +46110,13 @@ struct dma_fence { int error; }; +struct dma_fence_array; + +struct dma_fence_array_cb { + struct dma_fence_cb cb; + struct dma_fence_array *array; +}; + struct dma_fence_array { struct dma_fence base; spinlock_t lock; @@ -45509,11 +46124,7 @@ struct dma_fence_array { atomic_t num_pending; struct dma_fence **fences; struct irq_work work; -}; - -struct dma_fence_array_cb { - struct dma_fence_cb cb; - struct dma_fence_array *array; + struct dma_fence_array_cb callbacks[0]; }; struct dma_fence_chain { @@ -45702,6 +46313,11 @@ struct dma_tx_state { u32 in_flight_bytes; }; +struct dma_vec { + dma_addr_t addr; + size_t len; +}; + struct dmaengine_result { enum dmaengine_tx_result result; u32 residue; @@ -45905,14 +46521,14 @@ struct drbg_core { char backend_cra_name[128]; }; -struct drbg_state_ops; - struct drbg_string { const unsigned char *buf; size_t len; struct list_head list; }; +struct drbg_state_ops; + struct drbg_state { struct mutex drbg_mutex; unsigned char *V; @@ -46060,7 +46676,7 @@ struct dst_ops { u32 * (*cow_metrics)(struct dst_entry *, long unsigned int); void (*destroy)(struct dst_entry *); void (*ifdown)(struct dst_entry *, struct net_device *); - struct dst_entry * (*negative_advice)(struct dst_entry *); + void (*negative_advice)(struct sock *, struct dst_entry *); void (*link_failure)(struct sk_buff *); void (*update_pmtu)(struct dst_entry *, struct sock *, struct sk_buff *, u32, bool); void (*redirect)(struct dst_entry *, struct sock *, struct sk_buff *); @@ -46213,14 +46829,6 @@ struct early_load_data { u32 new_rev; }; -struct ktermios; - -struct serial_rs485; - -struct serial_iso7816; - -struct uart_state; - struct uart_icount { __u32 cts; __u32 dsr; @@ -46235,10 +46843,6 @@ struct uart_icount { __u32 buf_overrun; }; -struct uart_ops; - -struct serial_port_device; - struct serial_rs485 { __u32 flags; __u32 delay_rts_before_send; @@ -46263,6 +46867,14 @@ struct serial_iso7816 { __u32 reserved[5]; }; +struct ktermios; + +struct uart_state; + +struct uart_ops; + +struct serial_port_device; + struct uart_port { spinlock_t lock; long unsigned int iobase; @@ -46298,7 +46910,7 @@ struct uart_port { unsigned int ignore_status_mask; struct uart_state *state; struct uart_icount icount; - struct console *cons; + struct console___2 *cons; upf_t flags; upstat_t status; bool hw_stopped; @@ -46332,7 +46944,7 @@ struct uart_port { }; struct earlycon_device { - struct console *con; + struct console___2 *con; struct uart_port port; char options[32]; unsigned int baud; @@ -46815,8 +47427,6 @@ struct elf64_sym { typedef struct elf64_sym Elf64_Sym; -struct elf_thread_core_info; - struct memelfnote { const char *name; int type; @@ -46838,6 +47448,8 @@ struct siginfo { typedef struct siginfo siginfo_t; +struct elf_thread_core_info; + struct elf_note_info { struct elf_thread_core_info *thread; struct memelfnote psinfo; @@ -46964,15 +47576,15 @@ struct epoll_filefd { int fd; } __attribute__((packed)); -struct eppoll_entry; - -struct eventpoll; - struct epoll_event { __poll_t events; __u64 data; } __attribute__((packed)); +struct eppoll_entry; + +struct eventpoll; + struct epitem { union { struct rb_node rbn; @@ -47120,6 +47732,12 @@ struct ethnl_dump_ctx { long unsigned int pos_ifindex; }; +struct ethnl_module_fw_flash_ntf_params { + u32 portid; + u32 seq; + bool closed_sock; +}; + struct ethnl_request_ops { u8 request_cmd; u8 reply_cmd; @@ -47137,6 +47755,12 @@ struct ethnl_request_ops { int (*set)(struct ethnl_req_info *, struct genl_info *); }; +struct ethnl_sock_priv { + struct net_device *dev; + u32 portid; + enum ethnl_sock_type type; +}; + struct ethnl_tunnel_info_dump_ctx { struct ethnl_req_info req_info; long unsigned int ifindex; @@ -47156,6 +47780,25 @@ struct ethtool_ah_espip6_spec { __u8 tclass; }; +struct ethtool_c33_pse_ext_state_info { + enum ethtool_c33_pse_ext_state c33_pse_ext_state; + union { + enum ethtool_c33_pse_ext_substate_error_condition error_condition; + enum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable; + enum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted; + enum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim; + enum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected; + enum ethtool_c33_pse_ext_substate_power_not_available power_not_available; + enum ethtool_c33_pse_ext_substate_short_detected short_detected; + u32 __c33_pse_ext_substate; + }; +}; + +struct ethtool_c33_pse_pw_limit_range { + u32 min; + u32 max; +}; + struct ethtool_cmd { __u32 cmd; __u32 supported; @@ -47176,6 +47819,66 @@ struct ethtool_cmd { __u32 reserved[2]; }; +struct ethtool_cmis_cdb { + u8 cmis_rev; + u8 read_write_len_ext; + u16 max_completion_time; +}; + +struct ethtool_cmis_cdb_request { + __be16 id; + union { + struct { + __be16 epl_len; + u8 lpl_len; + u8 chk_code; + u8 resv1; + u8 resv2; + u8 payload[120]; + }; + struct { + __be16 epl_len; + u8 lpl_len; + u8 chk_code; + u8 resv1; + u8 resv2; + u8 payload[120]; + } body; + }; +}; + +struct ethtool_cmis_cdb_cmd_args { + struct ethtool_cmis_cdb_request req; + u16 max_duration; + u8 read_write_len_ext; + u8 msleep_pre_rpl; + u8 rpl_exp_len; + u8 flags; + char *err_msg; +}; + +struct ethtool_cmis_cdb_rpl_hdr { + u8 rpl_len; + u8 rpl_chk_code; +}; + +struct ethtool_cmis_cdb_rpl { + struct ethtool_cmis_cdb_rpl_hdr hdr; + u8 payload[120]; +}; + +struct ethtool_module_fw_flash_params { + __be32 password; + u8 password_valid: 1; +}; + +struct ethtool_cmis_fw_update_params { + struct net_device *dev; + struct ethtool_module_fw_flash_params params; + struct ethnl_module_fw_flash_ntf_params ntf_params; + const struct firmware *fw; +}; + struct ethtool_flash { __u32 cmd; __u32 region; @@ -47518,11 +48221,25 @@ struct ethtool_module_eeprom { u8 *data; }; +struct ethtool_module_fw_flash { + struct list_head list; + netdevice_tracker dev_tracker; + struct work_struct work; + struct ethtool_cmis_fw_update_params fw_update; +}; + struct ethtool_module_power_mode_params { enum ethtool_module_power_mode_policy policy; enum ethtool_module_power_mode mode; }; +struct ethtool_netdev_state { + struct xarray rss_ctx; + struct mutex rss_lock; + unsigned int wol_enabled: 1; + unsigned int module_fw_flash_in_progress: 1; +}; + struct ethtool_regs; struct ethtool_wolinfo; @@ -47543,7 +48260,9 @@ struct ethtool_rxnfc; struct ethtool_rxfh_param; -struct ethtool_ts_info; +struct ethtool_rxfh_context; + +struct kernel_ethtool_ts_info; struct ethtool_ts_stats; @@ -47557,6 +48276,10 @@ struct ethtool_ops { u32 cap_link_lanes_supported: 1; u32 cap_rss_ctx_supported: 1; u32 cap_rss_sym_xor_supported: 1; + u32 rxfh_indir_space; + u16 rxfh_key_space; + u16 rxfh_priv_size; + u32 rxfh_max_num_contexts; u32 supported_coalesce_params; u32 supported_ring_params; void (*get_drvinfo)(struct net_device *, struct ethtool_drvinfo *); @@ -47597,12 +48320,15 @@ struct ethtool_ops { u32 (*get_rxfh_indir_size)(struct net_device *); int (*get_rxfh)(struct net_device *, struct ethtool_rxfh_param *); int (*set_rxfh)(struct net_device *, struct ethtool_rxfh_param *, struct netlink_ext_ack *); + int (*create_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *); + int (*modify_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *); + int (*remove_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, u32, struct netlink_ext_ack *); void (*get_channels)(struct net_device *, struct ethtool_channels *); int (*set_channels)(struct net_device *, struct ethtool_channels *); int (*get_dump_flag)(struct net_device *, struct ethtool_dump *); int (*get_dump_data)(struct net_device *, struct ethtool_dump *, void *); int (*set_dump)(struct net_device *, struct ethtool_dump *); - int (*get_ts_info)(struct net_device *, struct ethtool_ts_info *); + int (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *); void (*get_ts_stats)(struct net_device *, struct ethtool_ts_stats *); int (*get_module_info)(struct net_device *, struct ethtool_modinfo *); int (*get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *); @@ -47621,6 +48347,7 @@ struct ethtool_ops { int (*get_phy_tunable)(struct net_device *, const struct ethtool_tunable *, void *); int (*set_phy_tunable)(struct net_device *, const struct ethtool_tunable *, const void *); int (*get_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); + int (*set_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); void (*get_eth_phy_stats)(struct net_device *, struct ethtool_eth_phy_stats *); void (*get_eth_mac_stats)(struct net_device *, struct ethtool_eth_mac_stats *); void (*get_eth_ctrl_stats)(struct net_device *, struct ethtool_eth_ctrl_stats *); @@ -47838,6 +48565,19 @@ struct ethtool_rxfh { __u32 rss_config[0]; }; +struct ethtool_rxfh_context { + u32 indir_size; + u32 key_size; + u16 priv_size; + u8 hfunc; + u8 input_xfrm; + u8 indir_configured: 1; + u8 key_configured: 1; + u32 key_off; + long: 0; + u8 data[0]; +}; + struct ethtool_rxfh_param { u8 hfunc; u32 indir_size; @@ -47966,8 +48706,6 @@ struct evdev { bool exist; }; -struct fasync_struct; - struct input_event { __kernel_ulong_t __sec; __kernel_ulong_t __usec; @@ -47976,6 +48714,8 @@ struct input_event { __s32 value; }; +struct fasync_struct; + struct evdev_client { unsigned int head; unsigned int tail; @@ -48122,7 +48862,6 @@ struct eventfs_inode { struct eventfs_root_inode { struct eventfs_inode ei; - struct inode *parent_inode; struct dentry *events_dir; }; @@ -48697,12 +49436,12 @@ struct ext4_inode { __le32 i_projid; }; -struct jbd2_inode; - struct ext4_pending_tree { struct rb_root root; }; +struct jbd2_inode; + struct ext4_inode_info { __le32 i_data[15]; __u32 i_dtime; @@ -48754,6 +49493,8 @@ struct ext4_inode_info { kprojid_t i_projid; }; +struct jbd2_journal_handle; + typedef struct jbd2_journal_handle handle_t; struct ext4_io_end { @@ -48925,18 +49666,6 @@ struct ext4_renament { int dir_inlined; }; -struct ext4_super_block; - -struct journal_s; - -struct ext4_system_blocks; - -struct flex_groups; - -struct shrinker; - -struct mb_cache; - struct rcu_sync { int gp_state; int gp_count; @@ -48953,6 +49682,18 @@ struct percpu_rw_semaphore { struct lockdep_map dep_map; }; +struct ext4_super_block; + +struct journal_s; + +struct ext4_system_blocks; + +struct flex_groups; + +struct shrinker; + +struct mb_cache; + struct ext4_sb_info { long unsigned int s_desc_size; long unsigned int s_inodes_per_block; @@ -49931,6 +50672,8 @@ struct fd { typedef struct fd class_fd_raw_t; +typedef struct fd class_fd_t; + struct fd_data { fmode_t mode; unsigned int fd; @@ -50161,13 +50904,19 @@ struct fgraph_data { long: 0; } __attribute__((packed)); -typedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *); +struct fgraph_ops; -typedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *); +typedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *, struct fgraph_ops *); + +typedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *, struct fgraph_ops *); struct fgraph_ops { trace_func_graph_ent_t entryfunc; trace_func_graph_ret_t retfunc; + struct ftrace_ops ops; + void *private; + trace_func_graph_ent_t saved_func; + int idx; }; struct fgraph_ret_regs { @@ -50309,15 +51058,11 @@ struct fib6_gc_args { int more; }; -struct fib6_table; - struct rt6key { struct in6_addr addr; int plen; }; -struct nexthop; - struct rtable; struct fnhe_hash_bucket; @@ -50353,6 +51098,10 @@ struct fib6_nh { struct rt6_exception_bucket *rt6i_exception_bucket; }; +struct fib6_table; + +struct nexthop; + struct fib6_info { struct fib6_table *fib6_table; struct fib6_info *fib6_next; @@ -50654,6 +51403,7 @@ struct fib_result { unsigned char type; unsigned char scope; u32 tclassid; + dscp_t dscp; struct fib_nh_common *nhc; struct fib_info *fi; struct fib_table *table; @@ -50885,10 +51635,6 @@ struct file_lease { const struct lease_manager_operations *fl_lmops; }; -struct file_lock_operations; - -struct lock_manager_operations; - struct nlm_lockowner; struct nfs_lock_info { @@ -50903,6 +51649,10 @@ struct nfs4_lock_info { struct nfs4_lock_state *owner; }; +struct file_lock_operations; + +struct lock_manager_operations; + struct file_lock { struct file_lock_core c; loff_t fl_start; @@ -51215,12 +51965,12 @@ struct flock64 { typedef void (*action_destr)(void *); +struct nf_flowtable; + struct ip_tunnel_info; struct psample_group; -struct nf_flowtable; - struct flow_action_entry { enum flow_action_id id; u32 hw_index; @@ -51811,8 +52561,8 @@ struct page { struct callback_head callback_head; }; union { - atomic_t _mapcount; unsigned int page_type; + atomic_t _mapcount; }; atomic_t _refcount; long unsigned int memcg_data; @@ -52141,8 +52891,6 @@ struct fq_codel_sched_data { struct list_head old_flows; }; -struct inet_frags; - typedef u32 (*rht_hashfn_t)(const void *, u32, u32); typedef u32 (*rht_obj_hashfn_t)(const void *, u32, u32); @@ -52176,6 +52924,8 @@ struct rhashtable { atomic_t nelems; }; +struct inet_frags; + struct fqdir { long int high_thresh; long int low_thresh; @@ -52291,13 +53041,13 @@ struct freq_desc { u32 mask; }; -struct fs_context_operations; - struct p_log { const char *prefix; struct fc_log *log; }; +struct fs_context_operations; + struct fs_context { const struct fs_context_operations *ops; struct mutex uapi_mutex; @@ -52372,6 +53122,8 @@ struct fs_parse_result { int int_32; unsigned int uint_32; u64 uint_64; + kuid_t uid; + kgid_t gid; }; }; @@ -52505,14 +53257,14 @@ struct fsnotify_event { struct list_head list; }; -struct fsnotify_ops; - struct inotify_group_private_data { spinlock_t idr_lock; struct idr idr; struct ucounts *ucounts; }; +struct fsnotify_ops; + struct fsnotify_group { const struct fsnotify_ops *ops; refcount_t refcnt; @@ -52598,10 +53350,6 @@ struct fsxattr { unsigned char fsx_pad[8]; }; -struct tracer; - -struct ring_buffer_iter; - struct trace_seq { char buffer[8156]; struct seq_buf seq; @@ -52609,6 +53357,10 @@ struct trace_seq { int full; }; +struct tracer; + +struct ring_buffer_iter; + struct trace_iterator { struct trace_array *tr; struct tracer *trace; @@ -53688,14 +54440,14 @@ struct geneve_dev_node { struct geneve_dev *geneve; }; -struct geneve_sock; - struct gro_cell; struct gro_cells { struct gro_cell *cells; }; +struct geneve_sock; + struct geneve_dev { struct geneve_dev_node hlist4; struct geneve_dev_node hlist6; @@ -54167,6 +54919,12 @@ union handle_parts { }; }; +struct handle_to_path_ctx { + struct path root; + enum handle_to_path_flags flags; + unsigned int fh_flags; +}; + struct hash { int ino; int minor; @@ -54745,8 +55503,6 @@ struct hpx_type3 { u32 reg_mask_or; }; -struct hrtimer_cpu_base; - struct seqcount_raw_spinlock { seqcount_t seqcount; raw_spinlock_t *lock; @@ -54754,6 +55510,8 @@ struct seqcount_raw_spinlock { typedef struct seqcount_raw_spinlock seqcount_raw_spinlock_t; +struct hrtimer_cpu_base; + struct hrtimer_clock_base { struct hrtimer_cpu_base *cpu_base; unsigned int index; @@ -54801,6 +55559,7 @@ struct hsr_tag { struct hstate { struct mutex resize_lock; + struct lock_class_key resize_key; int next_nid_to_alloc; int next_nid_to_free; unsigned int order; @@ -54818,8 +55577,6 @@ struct hstate { unsigned int nr_huge_pages_node[64]; unsigned int free_huge_pages_node[64]; unsigned int surplus_huge_pages_node[64]; - struct cftype cgroup_files_dfl[8]; - struct cftype cgroup_files_legacy[10]; char name[32]; }; @@ -54980,8 +55737,6 @@ struct hv_ops { void (*dtr_rts)(struct hvc_struct *, bool); }; -struct tty_buffer; - struct tty_buffer { union { struct tty_buffer *next; @@ -55261,10 +56016,6 @@ struct ib_cq; typedef void (*ib_comp_handler)(struct ib_cq *, void *); -struct ib_event; - -struct ib_wc; - struct irq_poll; typedef int irq_poll_fn(struct irq_poll *, int); @@ -55288,6 +56039,10 @@ struct rdma_restrack_entry { u32 id; }; +struct ib_event; + +struct ib_wc; + struct ib_cq { struct ib_device *device; struct ib_ucq_object *uobject; @@ -55328,6 +56083,16 @@ struct ib_cqe { void (*done)(struct ib_cq *, struct ib_wc *); }; +struct ib_mad; + +struct uverbs_attr_bundle; + +struct rdma_cm_id; + +struct iw_cm_id; + +struct iw_cm_conn_param; + struct ib_qp; struct ib_send_wr; @@ -55338,8 +56103,6 @@ struct ib_srq; struct ib_grh; -struct ib_mad; - struct ib_device_attr; struct ib_udata; @@ -55376,8 +56139,6 @@ struct ib_mr; struct ib_sge; -struct uverbs_attr_bundle; - struct ib_mr_status; struct ib_mw; @@ -55414,12 +56175,6 @@ struct ib_dm_mr_attr; struct rdma_hw_stats; -struct rdma_cm_id; - -struct iw_cm_id; - -struct iw_cm_conn_param; - struct rdma_counter; struct ib_device_ops { @@ -55473,7 +56228,7 @@ struct ib_device_ops { int (*modify_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_udata *); int (*query_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_qp_init_attr *); int (*destroy_qp)(struct ib_qp *, struct ib_udata *); - int (*create_cq)(struct ib_cq *, const struct ib_cq_init_attr *, struct ib_udata *); + int (*create_cq)(struct ib_cq *, const struct ib_cq_init_attr *, struct uverbs_attr_bundle *); int (*modify_cq)(struct ib_cq *, u16, u16); int (*destroy_cq)(struct ib_cq *, struct ib_udata *); int (*resize_cq)(struct ib_cq *, int, struct ib_udata *); @@ -55544,6 +56299,8 @@ struct ib_device_ops { int (*fill_stat_mr_entry)(struct sk_buff *, struct ib_mr *); int (*query_ucontext)(struct ib_ucontext *, struct uverbs_attr_bundle *); int (*get_numa_node)(struct ib_device *); + struct ib_device * (*add_sub_dev)(struct ib_device *, enum rdma_nl_dev_type, const char *); + void (*del_sub_dev)(struct ib_device *); size_t size_ib_ah; size_t size_ib_counters; size_t size_ib_cq; @@ -55556,8 +56313,6 @@ struct ib_device_ops { size_t size_ib_xrcd; }; -struct ib_port_data; - struct ib_odp_caps { uint64_t general_caps; struct { @@ -55644,6 +56399,8 @@ struct rdma_restrack_root; struct uapi_definition; +struct ib_port_data; + struct rdma_link_ops; struct ib_device { @@ -55690,6 +56447,12 @@ struct ib_device { char iw_ifname[16]; u32 iw_driver_flags; u32 lag_flags; + struct mutex subdev_lock; + struct list_head subdev_list_head; + enum rdma_nl_dev_type type; + struct ib_device *parent; + struct list_head subdev_list; + enum rdma_nl_name_assign_type name_assign_type; }; struct ib_device_modify { @@ -56108,6 +56871,7 @@ struct ib_qp { struct list_head rdma_mrs; struct list_head sig_mrs; struct ib_srq *srq; + struct completion srq_completion; struct ib_xrcd *xrcd; struct list_head xrcd_list; atomic_t usecnt; @@ -56115,6 +56879,7 @@ struct ib_qp { struct ib_qp *real_qp; struct ib_uqp_object *uobject; void (*event_handler)(struct ib_event *, void *); + void (*registered_event_handler)(struct ib_event *, void *); void *qp_context; const struct ib_gid_attr *av_sgid_attr; const struct ib_gid_attr *alt_path_sgid_attr; @@ -57205,10 +57970,10 @@ struct ima_digest_data { u8 digest[0]; }; -struct ima_iint_cache; - struct modsig; +struct ima_iint_cache; + struct ima_event_data { struct ima_iint_cache *iint; struct file *file; @@ -57395,16 +58160,16 @@ struct in6_validator_info { struct netlink_ext_ack *extack; }; -struct in_ifaddr; - -struct neigh_parms; - struct ipv4_devconf { void *sysctl; int data[33]; long unsigned int state[1]; }; +struct in_ifaddr; + +struct neigh_parms; + struct in_device { struct net_device *dev; netdevice_tracker dev_tracker; @@ -57687,10 +58452,6 @@ struct inet_bind_hashbucket { struct hlist_head chain; }; -struct ipv6_pinfo; - -struct ip_mc_socklist; - struct inet_cork { unsigned int flags; __be32 addr; @@ -57712,6 +58473,10 @@ struct inet_cork_full { struct flowi fl; }; +struct ipv6_pinfo; + +struct ip_mc_socklist; + struct inet_sock { struct sock sk; struct ipv6_pinfo *pinet6; @@ -58365,7 +59130,7 @@ struct input_devres { struct input_handler { void *private; void (*event)(struct input_handle *, unsigned int, unsigned int, int); - void (*events)(struct input_handle *, const struct input_value *, unsigned int); + unsigned int (*events)(struct input_handle *, struct input_value *, unsigned int); bool (*filter)(struct input_handle *, unsigned int, unsigned int, int); bool (*match)(struct input_handler *, struct input_dev *); int (*connect)(struct input_handler *, struct input_dev *, const struct input_device_id *); @@ -58510,8 +59275,6 @@ struct intel_shared_regs { unsigned int core_id; }; -struct intel_uncore_pmu; - struct intel_uncore_extra_reg { raw_spinlock_t lock; u64 config; @@ -58520,6 +59283,8 @@ struct intel_uncore_extra_reg { atomic_t ref; }; +struct intel_uncore_pmu; + struct intel_uncore_box { int dieid; int n_active; @@ -58545,16 +59310,21 @@ struct intel_uncore_box { struct intel_uncore_discovery_type { struct rb_node node; enum uncore_access_type access_type; - u64 box_ctrl; - u64 *box_ctrl_die; + struct rb_root units; u16 type; u8 num_counters; u8 counter_width; u8 ctl_offset; u8 ctr_offset; - u16 num_boxes; - unsigned int *ids; - u64 *box_offset; + u16 num_units; +}; + +struct intel_uncore_discovery_unit { + struct rb_node node; + unsigned int pmu_idx; + unsigned int id; + unsigned int die; + u64 addr; }; struct intel_uncore_init_fun { @@ -58587,6 +59357,7 @@ struct intel_uncore_pmu { int func_id; bool registered; atomic_t activeboxes; + cpumask_t cpu_mask; struct intel_uncore_type *type; struct intel_uncore_box **boxes; }; @@ -58621,7 +59392,6 @@ struct intel_uncore_type { unsigned int fixed_ctr; unsigned int fixed_ctl; unsigned int box_ctl; - u64 *box_ctls; union { unsigned int msr_offset; unsigned int mmio_offset; @@ -58635,7 +59405,6 @@ struct intel_uncore_type { u64 *pci_offsets; u64 *mmio_offsets; }; - unsigned int *box_ids; struct event_constraint unconstrainted; struct event_constraint *constraints; struct intel_uncore_pmu *pmus; @@ -58645,10 +59414,12 @@ struct intel_uncore_type { const struct attribute_group *attr_groups[4]; const struct attribute_group **attr_update; struct pmu *pmu; + struct rb_root *boxes; struct intel_uncore_topology **topology; int (*get_topology)(struct intel_uncore_type *); void (*set_mapping)(struct intel_uncore_type *); void (*cleanup_mapping)(struct intel_uncore_type *); + void (*cleanup_extra_boxes)(struct intel_uncore_type *); }; union intel_x86_pebs_dse { @@ -58681,6 +59452,15 @@ union intel_x86_pebs_dse { unsigned int mtl_fwd_blk: 1; unsigned int ld_reserved4: 24; }; + struct { + unsigned int lnc_dse: 8; + unsigned int ld_reserved5: 2; + unsigned int lnc_stlb_miss: 1; + unsigned int lnc_locked: 1; + unsigned int lnc_data_blk: 1; + unsigned int lnc_addr_blk: 1; + unsigned int ld_reserved6: 18; + }; }; struct internal_container { @@ -58747,7 +59527,7 @@ struct msghdr { __kernel_size_t msg_controllen; struct kiocb *msg_iocb; struct ubuf_info *msg_ubuf; - int (*sg_from_iter)(struct sock *, struct sk_buff *, struct iov_iter *, size_t); + int (*sg_from_iter)(struct sk_buff *, struct iov_iter *, size_t); }; struct io_async_msghdr { @@ -58784,6 +59564,11 @@ struct io_async_rw { struct wait_page_queue wpq; }; +struct io_bind { + struct file *file; + int addr_len; +}; + struct io_bitmap { u64 sequence; refcount_t refcnt; @@ -58952,7 +59737,7 @@ struct io_ev_fd { struct io_fadvise { struct file *file; u64 offset; - u32 len; + u64 len; u32 advice; }; @@ -59025,7 +59810,6 @@ struct io_issue_def { unsigned int pollout: 1; unsigned int poll_exclusive: 1; unsigned int buffer_select: 1; - unsigned int not_supported: 1; unsigned int audit_skip: 1; unsigned int ioprio: 1; unsigned int iopoll: 1; @@ -59036,14 +59820,10 @@ struct io_issue_def { int (*prep)(struct io_kiocb *, const struct io_uring_sqe *); }; -struct io_mapped_ubuf; - struct io_wq_work_node { struct io_wq_work_node *next; }; -struct io_rsrc_node; - struct io_tw_state; typedef void (*io_req_tw_func_t)(struct io_kiocb *, struct io_tw_state *); @@ -59055,10 +59835,14 @@ struct io_task_work { struct io_wq_work { struct io_wq_work_node list; - unsigned int flags; + atomic_t flags; int cancel_seq; }; +struct io_mapped_ubuf; + +struct io_rsrc_node; + struct io_kiocb { union { struct file *file; @@ -59083,11 +59867,12 @@ struct io_kiocb { }; struct io_rsrc_node *rsrc_node; atomic_t refs; - atomic_t poll_refs; + bool cancel_seq_set; struct io_task_work io_task_work; struct hlist_node hash_node; struct async_poll *apoll; void *async_data; + atomic_t poll_refs; struct io_kiocb *link; const struct cred *creds; struct io_wq_work work; @@ -59106,10 +59891,15 @@ struct io_link { int flags; }; +struct io_listen { + struct file *file; + int backlog; +}; + struct io_madvise { struct file *file; u64 addr; - u32 len; + u64 len; u32 advice; }; @@ -59252,8 +60042,6 @@ struct io_restriction { bool registered; }; -struct io_rings; - struct io_wq_work_list { struct io_wq_work_node *first; struct io_wq_work_node *last; @@ -59272,10 +60060,11 @@ struct io_submit_state { bool need_plug; bool cq_flush; short unsigned int submit_nr; - unsigned int cqes_count; struct blk_plug plug; }; +struct io_rings; + struct io_sq_data; struct io_rsrc_data; @@ -59331,6 +60120,7 @@ struct io_ring_ctx { long: 64; long: 64; long: 64; + long: 64; }; struct { struct io_uring_cqe *cqe_cached; @@ -59378,7 +60168,6 @@ struct io_ring_ctx { struct list_head io_buffers_cache; struct wait_queue_head poll_wq; struct io_restriction restrictions; - struct io_mapped_ubuf *dummy_ubuf; struct io_rsrc_data *file_data; struct io_rsrc_data *buf_data; struct list_head rsrc_ref_list; @@ -59398,9 +60187,11 @@ struct io_ring_ctx { u32 iowq_limits[2]; struct callback_head poll_wq_task_work; struct list_head defer_list; + struct io_alloc_cache msg_cache; + spinlock_t msg_lock; struct list_head napi_list; spinlock_t napi_lock; - unsigned int napi_busy_poll_to; + ktime_t napi_busy_poll_dt; bool napi_prefer_busy_poll; bool napi_enabled; struct hlist_head napi_ht[16]; @@ -59409,6 +60200,11 @@ struct io_ring_ctx { short unsigned int n_sqe_pages; struct page **ring_pages; struct page **sqe_pages; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; }; struct io_uring { @@ -59896,7 +60692,7 @@ struct io_wait_queue { unsigned int cq_tail; unsigned int nr_timeouts; ktime_t timeout; - unsigned int napi_busy_poll_to; + ktime_t napi_busy_poll_dt; bool napi_prefer_busy_poll; }; @@ -59949,6 +60745,7 @@ struct io_worker { struct completion ref_done; long unsigned int create_state; struct callback_head create_work; + int init_retries; union { struct callback_head rcu; struct work_struct work; @@ -60145,8 +60942,6 @@ struct iocb { __u32 aio_resfd; }; -struct latency_stat; - struct percentile_stats { u64 total; u64 missed; @@ -60302,8 +61097,6 @@ struct iomap_writepage_ctx { struct iommu_group {}; -struct iommu_ops {}; - struct ioremap_desc { unsigned int flags; }; @@ -61270,6 +62063,7 @@ struct ipv6_stub { struct neigh_table *nd_tbl; int (*ipv6_fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *)); struct net_device * (*ipv6_dev_find)(struct net *, const struct in6_addr *, struct net_device *); + int (*ip6_xmit)(const struct sock *, struct sk_buff *, struct flowi6 *, __u32, struct ipv6_txoptions *, int, u32); }; struct ipv6_txoptions { @@ -61416,8 +62210,6 @@ struct irq_affinity_notify { void (*release)(struct kref *); }; -struct msi_desc; - struct uv_alloc_info { int limit; int blade; @@ -61425,6 +62217,8 @@ struct uv_alloc_info { char *name; }; +struct msi_desc; + struct irq_alloc_info { enum irq_alloc_type type; u32 flags; @@ -61623,6 +62417,7 @@ struct irq_domain { struct device *pm_dev; struct irq_domain *parent; const struct msi_parent_ops *msi_parent_ops; + void (*exit)(struct irq_domain *); irq_hw_number_t hwirq_max; unsigned int revmap_size; struct xarray revmap_tree; @@ -61635,9 +62430,37 @@ struct irq_domain_chip_generic { unsigned int irq_flags_to_clear; unsigned int irq_flags_to_set; enum irq_gc_flags gc_flags; + void (*exit)(struct irq_chip_generic *); struct irq_chip_generic *gc[0]; }; +struct irq_domain_chip_generic_info { + const char *name; + irq_flow_handler_t handler; + unsigned int irqs_per_chip; + unsigned int num_ct; + unsigned int irq_flags_to_clear; + unsigned int irq_flags_to_set; + enum irq_gc_flags gc_flags; + int (*init)(struct irq_chip_generic *); + void (*exit)(struct irq_chip_generic *); +}; + +struct irq_domain_info { + struct fwnode_handle *fwnode; + unsigned int domain_flags; + unsigned int size; + irq_hw_number_t hwirq_max; + int direct_max; + enum irq_domain_bus_token bus_token; + const struct irq_domain_ops *ops; + void *host_data; + struct irq_domain *parent; + struct irq_domain_chip_generic_info *dgc_info; + int (*init)(struct irq_domain *); + void (*exit)(struct irq_domain *); +}; + struct irq_fwspec; struct irq_domain_ops { @@ -61853,6 +62676,8 @@ struct iw_node_attr { int nid; }; +struct transaction_s; + typedef struct transaction_s transaction_t; struct jbd2_inode { @@ -61993,8 +62818,6 @@ struct journal_head { struct jbd2_buffer_trigger_type *b_frozen_triggers; }; -typedef struct journal_superblock_s journal_superblock_t; - struct transaction_run_stats_s { long unsigned int rs_wait; long unsigned int rs_request_delay; @@ -62013,6 +62836,10 @@ struct transaction_stats_s { struct transaction_run_stats_s run; }; +struct journal_superblock_s; + +typedef struct journal_superblock_s journal_superblock_t; + struct journal_s { long unsigned int j_flags; int j_errno; @@ -62062,6 +62889,7 @@ struct journal_s { struct task_struct *j_task; int j_max_transaction_buffers; int j_revoke_records_per_block; + int j_transaction_overhead_buffers; long unsigned int j_commit_interval; struct timer_list j_commit_timer; spinlock_t j_revoke_lock; @@ -62354,6 +63182,14 @@ struct kernel_ethtool_ringparam { u32 tx_push_buf_max_len; }; +struct kernel_ethtool_ts_info { + u32 cmd; + u32 so_timestamping; + int phc_index; + enum hwtstamp_tx_types tx_types; + enum hwtstamp_rx_filters rx_filters; +}; + struct kernel_hwtstamp_config { int flags; int tx_type; @@ -62594,8 +63430,6 @@ struct kexec_segment { size_t memsz; }; -struct key_user; - struct key_type; struct key_tag; @@ -62619,6 +63453,8 @@ union key_payload { void *data[4]; }; +struct key_user; + struct key_restriction; struct key { @@ -63012,12 +63848,14 @@ struct kmalloced_param { struct kmap_ctrl {}; -struct kmem_cache_cpu; +typedef struct kmem_cache *kmem_buckets[14]; struct kmem_cache_order_objects { unsigned int x; }; +struct kmem_cache_cpu; + struct kmem_cache_node; struct kmem_cache { @@ -63338,6 +64176,9 @@ struct kstat { u32 dio_offset_align; u64 change_cookie; u64 subvol; + u32 atomic_write_unit_min; + u32 atomic_write_unit_max; + u32 atomic_write_segments_max; }; struct kstatfs { @@ -63355,11 +64196,9 @@ struct kstatfs { long int f_spare[4]; }; -struct statmount; - struct statmount { __u32 size; - __u32 __spare1; + __u32 mnt_opts; __u64 mask; __u32 sb_dev_major; __u32 sb_dev_minor; @@ -63377,7 +64216,8 @@ struct statmount { __u64 propagate_from; __u32 mnt_root; __u32 mnt_point; - __u64 __spare2[50]; + __u64 mnt_ns_id; + __u64 __spare2[49]; char str[0]; }; @@ -63493,8 +64333,6 @@ struct kvm_memslots { int node_idx; }; -struct kvm_io_bus; - struct kvm_vm_stat_generic { u64 remote_tlb_flush; u64 remote_tlb_flush_requests; @@ -63530,8 +64368,6 @@ struct kvm_ioapic; struct kvm_pit; -struct kvm_apic_map; - struct kvm_xen_hvm_config { __u32 flags; __u32 msr; @@ -63542,10 +64378,6 @@ struct kvm_xen_hvm_config { __u8 pad2[30]; }; -struct kvm_x86_msr_filter; - -struct kvm_x86_pmu_event_filter; - struct kvm_mmu_memory_cache { gfp_t gfp_zero; gfp_t gfp_custom; @@ -63556,6 +64388,12 @@ struct kvm_mmu_memory_cache { void **objects; }; +struct kvm_apic_map; + +struct kvm_x86_msr_filter; + +struct kvm_x86_pmu_event_filter; + struct kvm_arch { long unsigned int n_used_mmu_pages; long unsigned int n_requested_mmu_pages; @@ -63565,6 +64403,7 @@ struct kvm_arch { u8 vm_type; bool has_private_mem; bool has_protected_state; + bool pre_fault_allowed; struct hlist_head mmu_page_hash[4096]; struct list_head active_mmu_pages; struct list_head zapped_obsolete_pages; @@ -63605,6 +64444,7 @@ struct kvm_arch { int nr_vcpus_matched_tsc; u32 default_tsc_khz; bool user_set_tsc; + u64 apic_bus_cycle_ns; seqcount_raw_spinlock_t pvclock_sc; bool use_master_clock; u64 master_kernel_ns; @@ -63647,6 +64487,8 @@ struct kvm_arch { struct kvm_mmu_memory_cache split_desc_cache; }; +struct kvm_io_bus; + struct kvm_stat_data; struct kvm { @@ -63874,8 +64716,6 @@ struct kvm_mmio_fragment { unsigned int len; }; -struct kvm_vcpu; - struct kvm_page_fault; struct x86_exception; @@ -63892,6 +64732,8 @@ struct rsvd_bits_validate { u64 bad_mt_xwr; }; +struct kvm_vcpu; + struct kvm_mmu { long unsigned int (*get_guest_pgd)(struct kvm_vcpu *); u64 (*get_pdptr)(struct kvm_vcpu *, int); @@ -63919,17 +64761,12 @@ struct kvm_msr_entry { __u64 data; }; -struct kvm_mtrr_range { - u64 base; - u64 mask; - struct list_head node; -}; - struct kvm_mtrr { - struct kvm_mtrr_range var_ranges[8]; - mtrr_type fixed_ranges[88]; + u64 var[16]; + u64 fixed_64k; + u64 fixed_16k[2]; + u64 fixed_4k[8]; u64 deftype; - struct list_head head; }; struct kvm_vmx_nested_state_hdr { @@ -64004,12 +64841,12 @@ struct kvm_pmu { unsigned int nr_arch_fixed_counters; unsigned int available_event_types; u64 fixed_ctr_ctrl; - u64 fixed_ctr_ctrl_mask; + u64 fixed_ctr_ctrl_rsvd; u64 global_ctrl; u64 global_status; u64 counter_bitmask[2]; - u64 global_ctrl_mask; - u64 global_status_mask; + u64 global_ctrl_rsvd; + u64 global_status_rsvd; u64 reserved_bits; u64 raw_event_mask; struct kvm_pmc gp_counters[8]; @@ -64022,9 +64859,9 @@ struct kvm_pmu { long unsigned int pmc_in_use[1]; u64 ds_area; u64 pebs_enable; - u64 pebs_enable_mask; + u64 pebs_enable_rsvd; u64 pebs_data_cfg; - u64 pebs_data_cfg_mask; + u64 pebs_data_cfg_rsvd; u64 host_cross_mapped_mask; bool need_cleanup; u8 event_count; @@ -64165,7 +65002,7 @@ struct kvm_sync_regs { struct kvm_run { __u8 request_interrupt_window; - __u8 immediate_exit; + __u8 immediate_exit__unsafe; __u8 padding1[6]; __u32 exit_reason; __u8 ready_for_interrupt_injection; @@ -64591,8 +65428,10 @@ struct kvm_vcpu { int mmio_cur_fragment; int mmio_nr_fragments; struct kvm_mmio_fragment mmio_fragments[2]; + bool wants_to_run; bool preempted; bool ready; + bool scheduled_out; struct kvm_vcpu_arch arch; struct kvm_vcpu_stat stat; char stats_id[48]; @@ -64618,7 +65457,7 @@ struct kvm_x86_nested_ops { void (*leave_nested)(struct kvm_vcpu *); bool (*is_exception_vmexit)(struct kvm_vcpu *, u8, u32); int (*check_events)(struct kvm_vcpu *); - bool (*has_events)(struct kvm_vcpu *); + bool (*has_events)(struct kvm_vcpu *, bool); void (*triple_fault)(struct kvm_vcpu *); int (*get_state)(struct kvm_vcpu *, struct kvm_nested_state *, unsigned int); int (*set_state)(struct kvm_vcpu *, struct kvm_nested_state *, struct kvm_nested_state *); @@ -64629,10 +65468,10 @@ struct kvm_x86_nested_ops { void (*hv_inject_synthetic_vmexit_post_tlb_flush)(struct kvm_vcpu *); }; -struct msr_data; - struct x86_instruction_info; +struct msr_data; + struct kvm_x86_ops { const char *name; int (*check_processor_compatibility)(); @@ -64700,13 +65539,11 @@ struct kvm_x86_ops { void (*enable_nmi_window)(struct kvm_vcpu *); void (*enable_irq_window)(struct kvm_vcpu *); void (*update_cr8_intercept)(struct kvm_vcpu *, int, int); - bool (*check_apicv_inhibit_reasons)(enum kvm_apicv_inhibit); const long unsigned int required_apicv_inhibits; bool allow_apicv_in_x2apic_without_x2apic_virtualization; void (*refresh_apicv_exec_ctrl)(struct kvm_vcpu *); void (*hwapic_irr_update)(struct kvm_vcpu *, int); void (*hwapic_isr_update)(int); - bool (*guest_apic_has_interrupt)(struct kvm_vcpu *); void (*load_eoi_exitmap)(struct kvm_vcpu *, u64 *); void (*set_virtual_apic_mode)(struct kvm_vcpu *); void (*set_apic_access_page_addr)(struct kvm_vcpu *); @@ -64724,7 +65561,6 @@ struct kvm_x86_ops { void (*get_exit_info)(struct kvm_vcpu *, u32 *, u64 *, u64 *, u32 *, u32 *); int (*check_intercept)(struct kvm_vcpu *, struct x86_instruction_info *, enum x86_intercept_stage, struct x86_exception *); void (*handle_exit_irqoff)(struct kvm_vcpu *); - void (*sched_in)(struct kvm_vcpu *, int); int cpu_dirty_log_size; void (*update_cpu_dirty_logging)(struct kvm_vcpu *); const struct kvm_x86_nested_ops *nested_ops; @@ -64756,6 +65592,9 @@ struct kvm_x86_ops { long unsigned int (*vcpu_get_apicv_inhibit_reasons)(struct kvm_vcpu *); gva_t (*get_untagged_addr)(struct kvm_vcpu *, gva_t, unsigned int); void * (*alloc_apic_backing_page)(struct kvm_vcpu *); + int (*gmem_prepare)(struct kvm *, kvm_pfn_t, gfn_t, int); + void (*gmem_invalidate)(kvm_pfn_t, kvm_pfn_t); + int (*private_max_mapping_level)(struct kvm *, kvm_pfn_t); }; struct kvm_x86_pmu_event_filter { @@ -65008,6 +65847,20 @@ struct link_mode_info { u8 duplex; }; +struct linked_reg { + u8 frameno; + union { + u8 spi; + u8 regno; + }; + bool is_reg; +}; + +struct linked_regs { + int cnt; + struct linked_reg entries[6]; +}; + struct linkinfo_reply_data { struct ethnl_reply_data base; struct ethtool_link_ksettings ksettings; @@ -65050,9 +65903,9 @@ struct rlimit { struct linux_binprm { struct vm_area_struct *vma; long unsigned int vma_pages; + long unsigned int argmin; struct mm_struct *mm; long unsigned int p; - long unsigned int argmin; unsigned int have_execfd: 1; unsigned int execfd_creds: 1; unsigned int secureexec: 1; @@ -65139,8 +65992,6 @@ struct linux_tls_mib { long unsigned int mibs[13]; }; -struct lirc_scancode; - struct lirc_scancode { __u64 timestamp; __u16 flags; @@ -65501,10 +66352,10 @@ struct lru_rotate { struct folio_batch fbatch; }; -struct pglist_data; - struct zswap_lruvec_state {}; +struct pglist_data; + struct lruvec { struct list_head lists[5]; spinlock_t lru_lock; @@ -65976,11 +66827,6 @@ struct mc146818_get_time_callback_param { unsigned char century; }; -union mc_target { - struct folio *folio; - swp_entry_t ent; -}; - struct mca_config { __u64 lmce_disabled: 1; __u64 disabled: 1; @@ -66091,15 +66937,15 @@ struct mdio_bus_stats { struct u64_stats_sync syncp; }; -struct mii_bus; - struct reset_control; +struct mii_bus; + struct mdio_device { struct device dev; struct mii_bus *bus; char modalias[32]; - int (*bus_match)(struct device *, struct device_driver *); + int (*bus_match)(struct device *, const struct device_driver *); void (*device_free)(struct mdio_device *); void (*device_remove)(struct mdio_device *); int addr; @@ -66132,17 +66978,6 @@ struct vmpressure { struct work_struct work; }; -struct mem_cgroup_threshold_ary; - -struct mem_cgroup_thresholds { - struct mem_cgroup_threshold_ary *primary; - struct mem_cgroup_threshold_ary *spare; -}; - -struct memcg_vmstats; - -struct memcg_vmstats_percpu; - struct wb_domain { spinlock_t lock; struct fprop_global completions; @@ -66164,6 +66999,10 @@ struct memcg_cgwb_frn { struct wb_completion done; }; +struct memcg_vmstats; + +struct memcg_vmstats_percpu; + struct mem_cgroup_per_node; struct mem_cgroup { @@ -66178,78 +67017,33 @@ struct mem_cgroup { struct page_counter swap; struct page_counter memsw; }; - struct page_counter kmem; - struct page_counter tcpmem; struct work_struct high_work; - long unsigned int soft_limit; struct vmpressure vmpressure; bool oom_group; - bool oom_lock; - int under_oom; int swappiness; - int oom_kill_disable; struct cgroup_file events_file; struct cgroup_file events_local_file; struct cgroup_file swap_events_file; - struct mutex thresholds_lock; - struct mem_cgroup_thresholds thresholds; - struct mem_cgroup_thresholds memsw_thresholds; - struct list_head oom_notify; - long unsigned int move_charge_at_immigrate; - spinlock_t move_lock; - long unsigned int move_lock_flags; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct cacheline_padding _pad1_; struct memcg_vmstats *vmstats; atomic_long_t memory_events[9]; atomic_long_t memory_events_local[9]; long unsigned int socket_pressure; - bool tcpmem_active; - int tcpmem_pressure; int kmemcg_id; struct obj_cgroup *objcg; struct obj_cgroup *orig_objcg; struct list_head objcg_list; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct cacheline_padding _pad2_; - atomic_t moving_account; - struct task_struct *move_lock_task; struct memcg_vmstats_percpu *vmstats_percpu; struct list_head cgwb_list; struct wb_domain cgwb_domain; struct memcg_cgwb_frn cgwb_frn[4]; - struct list_head event_list; - spinlock_t event_list_lock; struct deferred_split deferred_split_queue; struct mem_cgroup_per_node *nodeinfo[0]; long: 64; long: 64; -}; - -struct mem_cgroup_event { - struct mem_cgroup *memcg; - struct eventfd_ctx *eventfd; - struct list_head list; - int (*register_event)(struct mem_cgroup *, struct eventfd_ctx *, const char *); - void (*unregister_event)(struct mem_cgroup *, struct eventfd_ctx *); - poll_table pt; - wait_queue_head_t *wqh; - wait_queue_entry_t wait; - struct work_struct remove; -}; - -struct mem_cgroup_eventfd_list { - struct list_head list; - struct eventfd_ctx *eventfd; + long: 64; + long: 64; + long: 64; + long: 64; }; struct mem_cgroup_reclaim_iter { @@ -66260,16 +67054,28 @@ struct mem_cgroup_reclaim_iter { struct shrinker_info; struct mem_cgroup_per_node { - struct lruvec lruvec; + struct mem_cgroup *memcg; struct lruvec_stats_percpu *lruvec_stats_percpu; struct lruvec_stats *lruvec_stats; + struct shrinker_info *shrinker_info; + long: 64; + long: 64; + long: 64; + long: 64; + struct cacheline_padding _pad1_; + struct lruvec lruvec; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct cacheline_padding _pad2_; long unsigned int lru_zone_size[20]; struct mem_cgroup_reclaim_iter iter; - struct shrinker_info *shrinker_info; - struct rb_node tree_node; - long unsigned int usage_in_excess; - bool on_tree; - struct mem_cgroup *memcg; + long: 64; + long: 64; }; typedef struct pglist_data pg_data_t; @@ -66279,29 +67085,6 @@ struct mem_cgroup_reclaim_cookie { unsigned int generation; }; -struct mem_cgroup_threshold { - struct eventfd_ctx *eventfd; - long unsigned int threshold; -}; - -struct mem_cgroup_threshold_ary { - int current_threshold; - unsigned int size; - struct mem_cgroup_threshold entries[0]; -}; - -struct mem_cgroup_tree_per_node; - -struct mem_cgroup_tree { - struct mem_cgroup_tree_per_node *rb_tree_per_node[64]; -}; - -struct mem_cgroup_tree_per_node { - struct rb_root rb_root; - struct rb_node *rb_rightmost; - spinlock_t lock; -}; - struct quota_format_type; struct mem_dqinfo { @@ -66383,12 +67166,6 @@ struct membuf { size_t left; }; -struct memcg_path { - local_lock_t lock; - char *buf; - local_t buf_idx; -}; - struct memcg_stock_pcp { local_lock_t stock_lock; struct mem_cgroup *cached; @@ -66444,8 +67221,6 @@ struct memory_dev_type { struct kref kref; }; -struct memory_failure_entry; - struct memory_failure_entry { long unsigned int pfn; int flags; @@ -66463,7 +67238,7 @@ struct memory_failure_cpu { }; struct memory_failure_entry buf[16]; } fifo; - spinlock_t lock; + raw_spinlock_t lock; struct work_struct work; }; @@ -66749,21 +67524,23 @@ struct mii_timestamper { void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); void (*link_state)(struct mii_timestamper *, struct phy_device *); - int (*ts_info)(struct mii_timestamper *, struct ethtool_ts_info *); + int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); struct device *device; }; -struct min_heap { - void *data; +struct min_heap_callbacks { + bool (*less)(const void *, const void *, void *); + void (*swp)(void *, void *, void *); +}; + +struct min_heap_char { int nr; int size; + char *data; + char preallocated[0]; }; -struct min_heap_callbacks { - int elem_size; - bool (*less)(const void *, const void *); - void (*swp)(void *, void *); -}; +typedef struct min_heap_char min_heap_char; struct minix_super_block { __u16 s_ninodes; @@ -66945,7 +67722,7 @@ struct mm_struct { struct work_struct async_put_work; long unsigned int ksm_merging_pages; long unsigned int ksm_rmap_items; - long unsigned int ksm_zero_pages; + atomic_long_t ksm_zero_pages; long: 64; long: 64; long: 64; @@ -67030,8 +67807,6 @@ struct mmsghdr { unsigned int msg_len; }; -struct mmu_gather_batch; - struct encoded_page; struct mmu_gather_batch { @@ -67072,6 +67847,7 @@ struct mnt_id_req { __u32 spare; __u64 mnt_id; __u64 param; + __u64 mnt_ns_id; }; struct uid_gid_extent { @@ -67110,6 +67886,8 @@ struct mnt_namespace { u64 event; unsigned int nr_mounts; unsigned int pending_mounts; + struct rb_node mnt_ns_tree_node; + refcount_t passive; }; struct mnt_pcp { @@ -67160,14 +67938,14 @@ struct module_kobject { struct completion *kobj_completion; }; -struct module_attribute; - struct module_memory { void *base; unsigned int size; struct mod_tree_node mtn; }; +struct module_attribute; + struct module_sect_attrs; struct module_notes_attrs; @@ -67225,7 +68003,9 @@ struct module { unsigned int num_bpf_raw_events; struct bpf_raw_event_map *bpf_raw_events; unsigned int btf_data_size; + unsigned int btf_base_data_size; void *btf_data; + void *btf_base_data; struct jump_entry *jump_entries; unsigned int num_jump_entries; unsigned int num_trace_bprintk_fmt; @@ -67248,7 +68028,6 @@ struct module { atomic_t refcnt; struct error_injection_entry *ei_funcs; unsigned int num_ei_funcs; - long: 64; }; struct module_attribute { @@ -67408,19 +68187,6 @@ struct movable_operations { void (*putback_page)(struct page *); }; -struct move_charge_struct { - spinlock_t lock; - struct mm_struct *mm; - struct mem_cgroup *from; - struct mem_cgroup *to; - long unsigned int flags; - long unsigned int precharge; - long unsigned int moved_charge; - long unsigned int moved_swap; - struct task_struct *moving_task; - wait_queue_head_t waitq; -}; - struct move_extent { __u32 reserved; __u32 donor_fd; @@ -67668,7 +68434,7 @@ struct mptcp_full_info { }; struct mptcp_mib { - long unsigned int mibs[59]; + long unsigned int mibs[61]; }; struct mptcp_rm_list { @@ -68091,6 +68857,7 @@ struct mptcp_subflow_request_sock { u16 mp_capable: 1; u16 mp_join: 1; u16 backup: 1; + u16 request_bkup: 1; u16 csum_reqd: 1; u16 allow_join_id0: 1; u8 local_id; @@ -68120,8 +68887,6 @@ struct mqueue_fs_context { bool newns; }; -struct posix_msg_tree_node; - struct sigevent { sigval_t sigev_value; int sigev_signo; @@ -68136,6 +68901,8 @@ struct sigevent { } _sigev_un; }; +struct posix_msg_tree_node; + struct mqueue_inode_info { spinlock_t lock; struct inode vfs_inode; @@ -68428,11 +69195,8 @@ struct msi_dev_domain { struct irq_domain *domain; }; -struct platform_msi_priv_data; - struct msi_device_data { long unsigned int properties; - struct platform_msi_priv_data *platform_data; struct mutex mutex; struct msi_dev_domain __domains[1]; long unsigned int __iter_idx; @@ -68558,7 +69322,7 @@ struct msr_regs_info { }; struct mthp_stat { - long unsigned int stats[50]; + long unsigned int stats[110]; }; struct mtrr_gentry { @@ -68669,8 +69433,6 @@ struct name_snapshot { unsigned char inline_name[40]; }; -struct saved; - struct saved { struct path link; struct delayed_call done; @@ -68717,6 +69479,7 @@ struct page_frag_1k { }; struct napi_alloc_cache { + local_lock_t bh_lock; struct page_frag_cache page; struct page_frag_1k page_small; unsigned int skb_count; @@ -68777,8 +69540,23 @@ struct napi_gro_cb { }; }; +struct nat_keepalive { + struct net *net; + u16 family; + xfrm_address_t saddr; + xfrm_address_t daddr; + __be16 encap_sport; + __be16 encap_dport; + __u32 smark; +}; + +struct nat_keepalive_work_ctx { + time64_t next_run; + time64_t now; +}; + struct nbcon_context { - struct console *console; + struct console___2 *console; unsigned int spinwait_max_us; enum nbcon_prio prio; unsigned int allow_unsafe_takeover: 1; @@ -69046,8 +69824,6 @@ union nested_table { struct ref_tracker_dir {}; -struct uevent_sock; - struct raw_notifier_head { struct notifier_block *head; }; @@ -69114,6 +69890,11 @@ struct ping_group_range { kgid_t range[2]; }; +struct sysctl_fib_multipath_hash_seed { + u32 user_seed; + u32 mp_seed; +}; + struct netns_ipv4 { __u8 __cacheline_group_begin__netns_ipv4_read_tx[0]; u8 sysctl_tcp_early_retrans; @@ -69207,6 +69988,7 @@ struct netns_ipv4 { u8 sysctl_tcp_sack; u8 sysctl_tcp_window_scaling; u8 sysctl_tcp_timestamps; + int sysctl_tcp_rto_min_us; u8 sysctl_tcp_recovery; u8 sysctl_tcp_thin_linear_timeouts; u8 sysctl_tcp_slow_start_after_idle; @@ -69260,6 +70042,7 @@ struct netns_ipv4 { long unsigned int *sysctl_local_reserved_ports; int sysctl_ip_prot_sock; struct mr_table *mrt; + struct sysctl_fib_multipath_hash_seed sysctl_fib_multipath_hash_seed; u32 sysctl_fib_multipath_hash_fields; u8 sysctl_fib_multipath_use_neigh; u8 sysctl_fib_multipath_hash_policy; @@ -69270,8 +70053,6 @@ struct netns_ipv4 { atomic_t rt_genid; siphash_key_t ip_id_key; long: 64; - long: 64; - long: 64; }; struct netns_sysctl_ipv6 { @@ -69379,6 +70160,7 @@ struct netns_nf { struct proc_dir_entry *proc_netfilter; const struct nf_logger *nf_loggers[11]; struct ctl_table_header *nf_log_dir_header; + struct ctl_table_header *nf_lwtnl_dir_header; struct nf_hook_entries *hooks_ipv4[5]; struct nf_hook_entries *hooks_ipv6[5]; unsigned int defrag_ipv4_users; @@ -69437,8 +70219,6 @@ struct netns_ct { struct nf_ip_net nf_ct_proto; }; -struct net_generic; - struct netns_bpf { struct bpf_prog_array *run_array[2]; struct bpf_prog *progs[2]; @@ -69503,6 +70283,10 @@ struct netns_xfrm { seqcount_spinlock_t xfrm_policy_hash_generation; spinlock_t xfrm_policy_lock; struct mutex xfrm_cfg_mutex; + struct delayed_work nat_keepalive_work; + long: 64; + long: 64; + long: 64; }; struct mpls_route; @@ -69520,6 +70304,10 @@ struct netns_xdp { struct hlist_head list; }; +struct uevent_sock; + +struct net_generic; + struct net { refcount_t passive; spinlock_t rules_mod_lock; @@ -69568,7 +70356,6 @@ struct net { long: 64; long: 64; long: 64; - long: 64; struct netns_xfrm xfrm; u64 net_cookie; struct netns_mpls mpls; @@ -69583,31 +70370,13 @@ struct net { long: 64; }; -struct net_device_ops; - struct netdev_tc_txq { u16 count; u16 offset; }; -struct xps_dev_maps; - -struct pcpu_lstats; - -struct pcpu_sw_netstats; - -struct pcpu_dstats; - -struct netdev_rx_queue; - typedef rx_handler_result_t rx_handler_func_t(struct sk_buff **); -struct netdev_name_node; - -struct xdp_metadata_ops; - -struct xsk_tx_metadata_ops; - struct net_device_stats { union { long unsigned int rx_packets; @@ -69703,26 +70472,44 @@ struct net_device_stats { }; }; -struct net_device_core_stats; - struct netdev_hw_addr_list { struct list_head list; int count; struct rb_root tree; }; -struct vlan_info; - struct mpls_dev; +struct sfp_bus; + +struct net_device_ops; + +struct xps_dev_maps; + +struct pcpu_lstats; + +struct pcpu_sw_netstats; + +struct pcpu_dstats; + +struct netdev_rx_queue; + +struct netdev_name_node; + +struct xdp_metadata_ops; + +struct xsk_tx_metadata_ops; + +struct net_device_core_stats; + +struct vlan_info; + struct xdp_dev_bulk_queue; struct netdev_stat_ops; struct netdev_queue_mgmt_ops; -struct sfp_bus; - struct udp_tunnel_nic_info; struct udp_tunnel_nic; @@ -69824,9 +70611,9 @@ struct net_device { short unsigned int neigh_priv_len; short unsigned int dev_id; short unsigned int dev_port; - short unsigned int padded; - spinlock_t addr_list_lock; int irq; + u32 priv_len; + spinlock_t addr_list_lock; struct netdev_hw_addr_list uc; struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; @@ -69886,10 +70673,10 @@ struct net_device { struct lock_class_key *qdisc_tx_busylock; bool proto_down; bool threaded; - unsigned int wol_enabled: 1; struct list_head net_notifier_list; const struct udp_tunnel_nic_info *udp_tunnel_nic_info; struct udp_tunnel_nic *udp_tunnel_nic; + struct ethtool_netdev_state *ethtool; struct bpf_xdp_entity xdp_state[3]; u8 dev_addr_shadow[32]; netdevice_tracker linkwatch_dev_tracker; @@ -69898,6 +70685,13 @@ struct net_device { struct rtnl_hw_stats64 *offload_xstats_l3; struct devlink_port *devlink_port; struct hlist_head page_pools; + struct dim_irq_moder *irq_moder; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u8 priv[0]; }; struct net_device_core_stats { @@ -70448,6 +71242,12 @@ struct netdev_stat_ops { void (*get_base_stats)(struct net_device *, struct netdev_queue_stats_rx *, struct netdev_queue_stats_tx *); }; +struct netdev_xmit { + u16 recursion; + u8 more; + u8 skip_txqueue; +}; + struct netevent_redirect { struct dst_entry *old; struct dst_entry *new; @@ -70501,6 +71301,7 @@ struct netfs_inode { struct mutex wb_lock; loff_t remote_i_size; loff_t zero_point; + atomic_t io_count; long unsigned int flags; }; @@ -70848,7 +71649,6 @@ struct netlink_kernel_cfg { unsigned int groups; unsigned int flags; void (*input)(struct sk_buff *); - struct mutex *cb_mutex; int (*bind)(struct net *, int); void (*unbind)(struct net *, int); void (*release)(struct sock *, long unsigned int *); @@ -71087,8 +71887,6 @@ struct nf_conntrack_tuple_hash { struct nf_conntrack_tuple tuple; }; -struct nf_ct_ext; - struct nf_ct_dccp { u_int8_t role[2]; u_int8_t state; @@ -71115,6 +71913,8 @@ union nf_conntrack_proto { unsigned int tmpl_padto; }; +struct nf_ct_ext; + struct nf_conn { struct nf_conntrack ct_general; spinlock_t lock; @@ -71653,8 +72453,6 @@ struct nh_dump_filter { u32 op_flags; }; -struct nh_res_table; - struct nh_grp_entry_stats; struct nh_grp_entry { @@ -71676,6 +72474,8 @@ struct nh_grp_entry { u64 packets_hw; }; +struct nh_res_table; + struct nh_group { struct nh_group *spare; u16 num_nh; @@ -72095,11 +72895,6 @@ struct numa_meminfo { struct numa_memblk blk[128]; }; -struct numa_stat { - const char *name; - unsigned int lru_mask; -}; - struct numa_stats { long unsigned int load; long unsigned int runnable; @@ -72164,14 +72959,14 @@ struct nvmem_cell_table { struct list_head node; }; -struct nvmem_keepout; - -struct nvmem_layout; - typedef int (*nvmem_reg_read_t)(void *, unsigned int, void *, size_t); typedef int (*nvmem_reg_write_t)(void *, unsigned int, void *, size_t); +struct nvmem_keepout; + +struct nvmem_layout; + struct nvmem_config { struct device *dev; const char *name; @@ -72254,12 +73049,12 @@ struct obj_cgroup { }; }; -struct objpool_slot; - struct objpool_head; typedef int (*objpool_fini_cb)(struct objpool_head *, void *); +struct objpool_slot; + struct objpool_head { int obj_size; int nr_objs; @@ -72338,6 +73133,13 @@ struct od_policy_dbs_info { unsigned int sample_type: 1; }; +struct of_dev_auxdata { + char *compatible; + resource_size_t phys_addr; + char *name; + void *platform_data; +}; + struct of_device_id { char name[32]; char type[32]; @@ -72486,11 +73288,6 @@ struct oom_control { enum oom_constraint constraint; }; -struct oom_wait_info { - struct mem_cgroup *memcg; - wait_queue_entry_t wait; -}; - struct open_flags { int open_flag; umode_t mode; @@ -72545,6 +73342,7 @@ struct x86_cpu_id { __u16 model; __u16 steppings; __u16 feature; + __u16 flags; kernel_ulong_t driver_data; }; @@ -72600,8 +73398,6 @@ struct p9_client { char name[65]; }; -struct p9_req_t; - struct p9_fcall { u32 size; u8 id; @@ -72621,6 +73417,8 @@ struct p9_poll_wait { wait_queue_head_t *wait_addr; }; +struct p9_req_t; + struct p9_conn { struct list_head mux_list; struct p9_client *client; @@ -73110,7 +73908,7 @@ struct page_pool_params_fast { struct pp_alloc_cache { u32 count; - struct page *cache[128]; + netmem_ref cache[128]; }; struct ptr_ring { @@ -73147,7 +73945,7 @@ struct ptr_ring { struct page_pool_params_slow { struct net_device *netdev; unsigned int flags; - void (*init_callback)(struct page *, void *); + void (*init_callback)(netmem_ref, void *); void *init_arg; }; @@ -73161,9 +73959,12 @@ struct page_pool { long: 0; __u8 __cacheline_group_begin__frag[0]; long int frag_users; - struct page *frag_page; + netmem_ref frag_page; unsigned int frag_offset; + long: 0; __u8 __cacheline_group_end__frag[0]; + long: 64; + struct {} __cacheline_group_pad__frag; struct delayed_work release_dw; void (*disconnect)(void *); long unsigned int defer_start; @@ -73172,7 +73973,6 @@ struct page_pool { long: 64; long: 64; long: 64; - long: 64; struct pp_alloc_cache alloc; long: 64; long: 64; @@ -73223,7 +74023,7 @@ struct page_pool_params { struct { struct net_device *netdev; unsigned int flags; - void (*init_callback)(struct page *, void *); + void (*init_callback)(netmem_ref, void *); void *init_arg; }; struct page_pool_params_slow slow; @@ -73428,6 +74228,12 @@ struct pci2phy_map { int pbus_to_dieid[256]; }; +struct pci_acs { + u16 cap; + u16 ctrl; + u16 fw_ctrl; +}; + struct pci_bus { struct list_head node; struct pci_bus *parent; @@ -73484,16 +74290,16 @@ struct pci_check_idx_range { int end; }; -struct rcec_ea; - -struct pcie_link_state; - struct pci_vpd { struct mutex lock; unsigned int len; u8 cap; }; +struct rcec_ea; + +struct pcie_link_state; + struct pci_sriov; struct pci_dev { @@ -73527,9 +74333,10 @@ struct pci_dev { struct device_dma_parameters dma_parms; pci_power_t current_state; u8 pm_cap; - unsigned int imm_ready: 1; unsigned int pme_support: 5; unsigned int pme_poll: 1; + unsigned int pinned: 1; + unsigned int imm_ready: 1; unsigned int d1_support: 1; unsigned int d2_support: 1; unsigned int no_d1d2: 1; @@ -73556,8 +74363,6 @@ struct pci_dev { struct resource resource[17]; struct resource driver_exclusive_resource; bool match_driver; - struct lock_class_key cfg_access_key; - struct lockdep_map cfg_access_lock; unsigned int transparent: 1; unsigned int io_window: 1; unsigned int pref_window: 1; @@ -73661,28 +74466,19 @@ struct pci_device_id { __u32 override_only; }; -struct pci_devres { - unsigned int enabled: 1; - unsigned int pinned: 1; - unsigned int orig_intx: 1; - unsigned int restore_intx: 1; - unsigned int mwi: 1; - u32 region_mask; -}; - struct pci_domain_busn_res { struct list_head list; struct resource res; int domain_nr; }; -struct pci_error_handlers; - struct pci_dynids { spinlock_t lock; struct list_head list; }; +struct pci_error_handlers; + struct pci_driver { const char *name; const struct pci_device_id *id_table; @@ -73825,15 +74621,6 @@ struct pci_reset_fn_method { char *name; }; -struct pci_root_info { - struct list_head list; - char name[12]; - struct list_head resources; - struct resource busn; - int node; - int link; -}; - struct pci_sysdata { int domain; int node; @@ -73842,7 +74629,7 @@ struct pci_sysdata { void *fwnode; }; -struct pci_root_info___2 { +struct pci_root_info { struct acpi_pci_root_info common; struct pci_sysdata sd; bool mcfg_added; @@ -73850,6 +74637,15 @@ struct pci_root_info___2 { u8 end_bus; }; +struct pci_root_info___2 { + struct list_head list; + char name[12]; + struct list_head resources; + struct resource busn; + int node; + int link; +}; + struct pci_root_res { struct list_head list; struct resource res; @@ -73984,6 +74780,18 @@ struct pcie_tlp_log { u32 dw[4]; }; +struct pcim_addr_devres { + enum pcim_addr_devres_type type; + void *baseaddr; + long unsigned int offset; + long unsigned int len; + int bar; +}; + +struct pcim_intx_devres { + int orig_intx; +}; + struct pcim_iomap_devres { void *table[6]; }; @@ -74056,12 +74864,12 @@ struct pcpu_chunk { }; struct pcpu_dstats { - u64 rx_packets; - u64 rx_bytes; - u64 rx_drops; - u64 tx_packets; - u64 tx_bytes; - u64 tx_drops; + u64_stats_t rx_packets; + u64_stats_t rx_bytes; + u64_stats_t rx_drops; + u64_stats_t tx_packets; + u64_stats_t tx_bytes; + u64_stats_t tx_drops; struct u64_stats_sync syncp; long: 64; long: 64; @@ -74256,9 +75064,7 @@ struct per_cpu_pages { u8 alloc_factor; u8 expire; short int free_count; - struct list_head lists[13]; - long: 64; - long: 64; + struct list_head lists[14]; }; struct per_cpu_zonestat { @@ -74655,11 +75461,12 @@ struct perf_event { unsigned int pending_wakeup; unsigned int pending_kill; unsigned int pending_disable; - unsigned int pending_sigtrap; long unsigned int pending_addr; struct irq_work pending_irq; + struct irq_work pending_disable_irq; struct callback_head pending_task; unsigned int pending_work; + struct rcuwait pending_work_wait; atomic_t event_limit; struct perf_addr_filters_head addr_filters; struct perf_addr_filter_range *addr_filter_ranges; @@ -74684,6 +75491,13 @@ struct perf_event { __u32 orig_type; }; +struct perf_event_min_heap { + int nr; + int size; + struct perf_event **data; + struct perf_event *preallocated[0]; +}; + struct perf_event_mmap_page { __u32 version; __u32 compat_version; @@ -75072,8 +75886,6 @@ struct phc_vclocks_reply_data { int *index; }; -struct phy_ops; - struct phy_attrs { u32 bus_width; u32 max_link_rate; @@ -75082,6 +75894,8 @@ struct phy_attrs { struct regulator; +struct phy_ops; + struct phy { struct device dev; int id; @@ -75152,12 +75966,12 @@ union phy_configure_opts { struct phy_configure_opts_lvds lvds; }; -struct phy_driver; - struct phylink; struct pse_control; +struct phy_driver; + struct phy_device { struct mdio_device mdio; const struct phy_driver *drv; @@ -75183,6 +75997,7 @@ struct phy_device { unsigned int interrupts: 1; unsigned int irq_suspended: 1; unsigned int irq_rerun: 1; + unsigned int default_timestamp: 1; int rate_matching; enum phy_state state; u32 dev_flags; @@ -75583,10 +76398,10 @@ struct plat_serial8250_port { void (*handle_break)(struct uart_port *); }; -struct platform_device_id; - struct mfd_cell; +struct platform_device_id; + struct platform_device { const char *name; int id; @@ -75623,8 +76438,10 @@ struct platform_device_info { struct platform_driver { int (*probe)(struct platform_device *); - int (*remove)(struct platform_device *); - void (*remove_new)(struct platform_device *); + union { + void (*remove)(struct platform_device *); + void (*remove_new)(struct platform_device *); + }; void (*shutdown)(struct platform_device *); int (*suspend)(struct platform_device *, pm_message_t); int (*resume)(struct platform_device *); @@ -75634,16 +76451,6 @@ struct platform_driver { bool driver_managed_dma; }; -typedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *); - -struct platform_msi_priv_data { - struct device *dev; - void *host_data; - msi_alloc_info_t arg; - irq_write_msi_msg_t write_msg; - int devid; -}; - struct platform_object { struct platform_device pdev; char name[0]; @@ -75727,8 +76534,6 @@ struct pnp_card_device_id { } devs[8]; }; -struct pnp_card_link; - struct pnp_device_id; struct pnp_driver { @@ -75743,6 +76548,8 @@ struct pnp_driver { struct device_driver driver; }; +struct pnp_card_link; + struct pnp_card_driver { struct list_head global_list; char *name; @@ -76015,18 +76822,18 @@ struct pool_workqueue { long: 64; }; -struct ports_device; - -struct port_buffer; - -struct virtqueue; - struct port_stats { long unsigned int bytes_sent; long unsigned int bytes_received; long unsigned int bytes_discarded; }; +struct ports_device; + +struct port_buffer; + +struct virtqueue; + struct port___2 { struct list_head list; struct ports_device *portdev; @@ -76037,7 +76844,7 @@ struct port___2 { struct virtqueue *out_vq; struct dentry *debugfs_file; struct port_stats stats; - struct console___2 cons; + struct console cons; struct cdev *cdev; struct device *dev; struct kref kref; @@ -76073,14 +76880,14 @@ struct portdrv_service_data { u32 service; }; -struct virtio_device; - struct virtio_console_control { __virtio32 id; __virtio16 event; __virtio16 value; }; +struct virtio_device; + struct ports_device { struct list_head list; struct work_struct control_work; @@ -76251,7 +77058,7 @@ struct power_supply_battery_info { int overvoltage_limit_uv; int constant_charge_current_max_ua; int constant_charge_voltage_max_uv; - struct power_supply_maintenance_charge_table *maintenance_charge; + const struct power_supply_maintenance_charge_table *maintenance_charge; int maintenance_charge_size; int alert_low_temp_charge_current_ua; int alert_low_temp_charge_voltage_uv; @@ -76270,9 +77077,9 @@ struct power_supply_battery_info { int ocv_table_size[20]; struct power_supply_resistance_temp_table *resist_table; int resist_table_size; - struct power_supply_vbat_ri_table *vbat2ri_discharging; + const struct power_supply_vbat_ri_table *vbat2ri_discharging; int vbat2ri_discharging_size; - struct power_supply_vbat_ri_table *vbat2ri_charging; + const struct power_supply_vbat_ri_table *vbat2ri_charging; int vbat2ri_charging_size; int bti_resistance_ohm; int bti_resistance_tolerance; @@ -76823,10 +77630,10 @@ struct probe_entry_arg { unsigned int size; }; -struct proc_ops; - typedef int (*proc_write_t)(struct file *, char *, size_t); +struct proc_ops; + struct proc_dir_entry { atomic_t in_use; refcount_t refcnt; @@ -76937,9 +77744,22 @@ struct process_timer { struct task_struct *task; }; -struct profile_hit { - u32 pc; - u32 hits; +struct procmap_query { + __u64 size; + __u64 query_flags; + __u64 query_addr; + __u64 vma_start; + __u64 vma_end; + __u64 vma_flags; + __u64 vma_page_size; + __u64 vma_offset; + __u64 inode; + __u32 dev_major; + __u32 dev_minor; + __u32 vma_name_size; + __u32 build_id_size; + __u64 vma_name_addr; + __u64 build_id_addr; }; struct prog_entry { @@ -76982,6 +77802,8 @@ struct prot_inuse { int val[64]; }; +struct smc_hashinfo; + struct proto_accept_arg; struct sk_psock; @@ -76990,8 +77812,6 @@ 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); @@ -77174,6 +77994,12 @@ struct pse_control_status { enum ethtool_podl_pse_pw_d_status podl_pw_status; enum ethtool_c33_pse_admin_state c33_admin_state; enum ethtool_c33_pse_pw_d_status c33_pw_status; + u32 c33_pw_class; + u32 c33_actual_pw; + struct ethtool_c33_pse_ext_state_info c33_ext_state_info; + u32 c33_avail_pw_limit; + struct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges; + u32 c33_pw_limit_nb_ranges; }; struct pse_reply_data { @@ -77712,7 +78538,8 @@ struct qtag_prefix { }; struct queue_limits { - enum blk_bounce bounce; + blk_features_t features; + blk_flags_t flags; long unsigned int seg_boundary_mask; long unsigned int virt_boundary_mask; unsigned int max_hw_sectors; @@ -77735,16 +78562,22 @@ struct queue_limits { unsigned int discard_granularity; unsigned int discard_alignment; unsigned int zone_write_granularity; + unsigned int atomic_write_hw_max; + unsigned int atomic_write_max_sectors; + unsigned int atomic_write_hw_boundary; + unsigned int atomic_write_boundary_sectors; + unsigned int atomic_write_hw_unit_min; + unsigned int atomic_write_unit_min; + unsigned int atomic_write_hw_unit_max; + unsigned int atomic_write_unit_max; short unsigned int max_segments; short unsigned int max_integrity_segments; short unsigned int max_discard_segments; - unsigned char misaligned; - unsigned char discard_misaligned; - unsigned char raid_partial_stripes_expensive; - bool zoned; unsigned int max_open_zones; unsigned int max_active_zones; unsigned int dma_alignment; + unsigned int dma_pad_mask; + struct blk_integrity integrity; }; struct queue_pages { @@ -77760,8 +78593,8 @@ struct queue_pages { struct queue_sysfs_entry { struct attribute attr; - ssize_t (*show)(struct request_queue *, char *); - ssize_t (*store)(struct request_queue *, const char *, size_t); + ssize_t (*show)(struct gendisk *, char *); + ssize_t (*store)(struct gendisk *, const char *, size_t); }; struct quirk_entry { @@ -78176,8 +79009,6 @@ union rcu_noqs { u16 s; }; -struct rcu_node; - struct rcu_segcblist { struct callback_head *head; struct callback_head **tails[4]; @@ -78198,6 +79029,8 @@ struct rcu_snap_record { long unsigned int jiffies; }; +struct rcu_node; + struct rcu_data { long unsigned int gp_seq; long unsigned int gp_seq_needed; @@ -78382,7 +79215,7 @@ struct rcu_state { struct llist_node *srs_done_tail; struct sr_wait_node srs_wait_nodes[5]; struct work_struct srs_cleanup_work; - long: 64; + atomic_t srs_cleanups_pending; }; struct rcu_synchronize { @@ -78598,6 +79431,15 @@ struct receive_queue { char name[16]; struct xdp_rxq_info xdp_rxq; struct virtnet_rq_dma *last_dma; + struct xsk_buff_pool *xsk_pool; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct xdp_rxq_info xsk_rxq_info; + struct xdp_buff **xsk_buffs; long: 64; long: 64; long: 64; @@ -78795,7 +79637,6 @@ struct request_queue { struct rq_qos *rq_qos; struct mutex rq_qos_mutex; int id; - unsigned int dma_pad_mask; long unsigned int nr_requests; struct timer_list timeout; struct work_struct timeout_work; @@ -78856,11 +79697,19 @@ struct res_proc_context { int error; }; +struct reserve_mem_table { + char name[16]; + phys_addr_t start; + phys_addr_t size; +}; + +typedef resource_size_t (*resource_alignf)(void *, const struct resource *, resource_size_t, resource_size_t); + struct resource_constraint { resource_size_t min; resource_size_t max; resource_size_t align; - resource_size_t (*alignf)(void *, const struct resource *, resource_size_t, resource_size_t); + resource_alignf alignf; void *alignf_data; }; @@ -79924,6 +80773,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; @@ -79989,6 +80840,7 @@ struct sbitmap_word { long: 64; long: 64; long unsigned int cleared; + spinlock_t swap_lock; long: 64; long: 64; long: 64; @@ -80014,6 +80866,7 @@ struct scan_control { struct mem_cgroup *target_mem_cgroup; long unsigned int anon_cost; long unsigned int file_cost; + int *proactive_swappiness; unsigned int may_deactivate: 2; unsigned int force_deactivate: 1; unsigned int skipped_deactivate: 1; @@ -80025,6 +80878,7 @@ struct scan_control { unsigned int proactive: 1; unsigned int memcg_low_reclaim: 1; unsigned int memcg_low_skipped: 1; + unsigned int memcg_full_walk: 1; unsigned int hibernation_mode: 1; unsigned int compaction_ready: 1; unsigned int cache_trim_mode: 1; @@ -80495,8 +81349,6 @@ struct sctp_ep_common { struct sctp_bind_addr bind_addr; }; -struct sctp_endpoint; - struct sctp_cookie { __u32 my_vtag; __u32 peer_vtag; @@ -80536,12 +81388,6 @@ struct sctp_inithdr_host { __u32 initial_tsn; }; -struct sctp_random_param; - -struct sctp_chunks_param; - -struct sctp_hmac_algo_param; - struct sctp_stream_out_ext; struct sctp_stream_out { @@ -80595,10 +81441,10 @@ struct sctp_stream { struct sctp_stream_interleave *si; }; -struct sctp_association; - struct sctp_sched_ops; +struct sctp_association; + struct sctp_outq { struct sctp_association *asoc; struct list_head out_chunk_list; @@ -80622,10 +81468,6 @@ struct sctp_ulpq { struct sk_buff_head lobby; }; -struct sctp_auth_bytes; - -struct sctp_shared_key; - struct sctp_priv_assoc_stats { struct __kernel_sockaddr_storage obs_rto_ipaddr; __u64 max_obs_rto; @@ -80645,6 +81487,18 @@ struct sctp_priv_assoc_stats { __u64 ictrlchunks; }; +struct sctp_endpoint; + +struct sctp_random_param; + +struct sctp_chunks_param; + +struct sctp_hmac_algo_param; + +struct sctp_auth_bytes; + +struct sctp_shared_key; + struct sctp_association { struct sctp_ep_common base; struct list_head asocs; @@ -80835,6 +81689,18 @@ union sctp_params { struct sctp_addip_param *addip; }; +struct sctp_sndrcvinfo { + __u16 sinfo_stream; + __u16 sinfo_ssn; + __u16 sinfo_flags; + __u32 sinfo_ppid; + __u32 sinfo_context; + __u32 sinfo_timetolive; + __u32 sinfo_tsn; + __u32 sinfo_cumtsn; + sctp_assoc_t sinfo_assoc_id; +}; + struct sctp_datahdr; struct sctp_inithdr; @@ -80865,18 +81731,6 @@ struct sctp_chunkhdr; struct sctphdr; -struct sctp_sndrcvinfo { - __u16 sinfo_stream; - __u16 sinfo_ssn; - __u16 sinfo_flags; - __u32 sinfo_ppid; - __u32 sinfo_context; - __u32 sinfo_timetolive; - __u32 sinfo_tsn; - __u32 sinfo_cumtsn; - sctp_assoc_t sinfo_assoc_id; -}; - struct sctp_datamsg; struct sctp_chunk { @@ -81599,6 +82453,7 @@ struct security_hook_heads { struct hlist_head inode_setattr; struct hlist_head inode_post_setattr; struct hlist_head inode_getattr; + struct hlist_head inode_xattr_skipcap; struct hlist_head inode_setxattr; struct hlist_head inode_post_setxattr; struct hlist_head inode_getxattr; @@ -81856,6 +82711,7 @@ union security_list_options { 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 *); @@ -82008,7 +82864,7 @@ union security_list_options { int (*key_permission)(key_ref_t, const struct cred *, enum key_need_perm); int (*key_getsecurity)(struct key *, char **); void (*key_post_create_or_update)(struct key *, struct key *, const void *, size_t, long unsigned int, bool); - int (*audit_rule_init)(u32, u32, char *, void **); + int (*audit_rule_init)(u32, u32, char *, void **, gfp_t); int (*audit_rule_known)(struct audit_krule *); int (*audit_rule_match)(u32, u32, u32, void *); void (*audit_rule_free)(void *); @@ -82065,6 +82921,7 @@ struct seg6_action_param { }; struct seg6_bpf_srh_state { + local_lock_t bh_lock; struct ipv6_sr_hdr *srh; u16 hdrlen; bool valid; @@ -83137,6 +83994,11 @@ struct sigpool_entry { uint16_t reserved: 15; }; +struct sigpool_scratch { + local_lock_t bh_lock; + void *pad; +}; + struct sigqueue { struct list_head list; int flags; @@ -83479,7 +84341,7 @@ struct skcipher_walk_buffer { }; struct sku_microcode { - u8 model; + u32 vfm; u8 stepping; u32 microcode; }; @@ -83645,6 +84507,7 @@ struct smp_ops { int (*cpu_disable)(); void (*cpu_die)(unsigned int); void (*play_dead)(); + void (*stop_this_cpu)(); void (*send_call_func_ipi)(const struct cpumask *); void (*send_call_func_single_ipi)(int); }; @@ -83665,6 +84528,11 @@ struct so_timestamping { int bind_phc; }; +struct sock_bh_locked { + struct sock *sock; + local_lock_t bh_lock; +}; + struct sock_diag_handler { struct module *owner; __u8 family; @@ -83809,6 +84677,7 @@ struct socket_alloc { struct socket socket; struct inode vfs_inode; long: 64; + long: 64; }; struct sockmap_link { @@ -83824,6 +84693,7 @@ struct softirq_action { struct softnet_data { struct list_head poll_list; struct sk_buff_head process_queue; + local_lock_t process_queue_bh_lock; unsigned int processed; unsigned int time_squeeze; struct softnet_data *rps_ipi_list; @@ -83834,11 +84704,9 @@ struct softnet_data { struct Qdisc *output_queue; struct Qdisc **output_queue_tailp; struct sk_buff *completion_queue; - struct { - u16 recursion; - u8 more; - u8 skip_txqueue; - } xmit; + struct netdev_xmit xmit; + long: 64; + long: 64; long: 64; long: 64; long: 64; @@ -84260,7 +85128,11 @@ struct statx { __u32 stx_dio_mem_align; __u32 stx_dio_offset_align; __u64 stx_subvol; - __u64 __spare3[11]; + __u32 stx_atomic_write_unit_min; + __u32 stx_atomic_write_unit_max; + __u32 stx_atomic_write_segments_max; + __u32 __spare1[1]; + __u64 __spare3[9]; }; struct stop_event_data { @@ -84636,7 +85508,6 @@ struct swevent_htable { struct swevent_hlist *swevent_hlist; struct mutex hlist_mutex; int hlist_refcount; - int recursion[4]; }; struct switchdev_notifier_info { @@ -84882,6 +85753,7 @@ struct sysrq_state { struct system_counterval_t { u64 cycles; enum clocksource_ids cs_id; + bool use_nsecs; }; struct system_device_crosststamp { @@ -84911,6 +85783,7 @@ struct taint_flag { char c_true; char c_false; bool module; + const char *desc; }; struct tap_filter { @@ -85006,8 +85879,6 @@ struct tlbflush_unmap_batch { bool writable; }; -struct uprobe_task; - struct thread_struct { struct desc_struct tls_array[3]; long unsigned int sp; @@ -85035,6 +85906,8 @@ struct thread_struct { struct fpu fpu; }; +struct uprobe_task; + struct task_struct { struct thread_info thread_info; unsigned int __state; @@ -85111,7 +85984,6 @@ struct task_struct { unsigned int in_execve: 1; unsigned int in_iowait: 1; unsigned int restore_sigmask: 1; - unsigned int in_user_fault: 1; unsigned int brk_randomized: 1; unsigned int no_cgroup_migration: 1; unsigned int frozen: 1; @@ -85221,6 +86093,7 @@ struct task_struct { struct futex_pi_state *pi_state_cache; struct mutex futex_exit_mutex; unsigned int futex_state; + u8 perf_recursion[4]; struct perf_event_context *perf_event_ctxp; struct mutex perf_event_mutex; struct list_head perf_event_list; @@ -85265,12 +86138,11 @@ struct task_struct { u64 default_timer_slack_ns; int curr_ret_stack; int curr_ret_depth; - struct ftrace_ret_stack *ret_stack; + long unsigned int *ret_stack; long long unsigned int ftrace_timestamp; atomic_t trace_overrun; atomic_t tracing_graph_pause; long unsigned int trace_recursion; - struct mem_cgroup *memcg_in_oom; unsigned int memcg_nr_pages_over_high; struct mem_cgroup *active_memcg; struct obj_cgroup *objcg; @@ -85288,6 +86160,7 @@ struct task_struct { void *security; struct bpf_local_storage *bpf_storage; struct bpf_run_ctx *bpf_ctx; + struct bpf_net_context *bpf_net_context; void *mce_vaddr; __u64 mce_kflags; u64 mce_addr; @@ -85408,10 +86281,6 @@ struct tc_act_pernet_id { unsigned int id; }; -struct tc_action_ops; - -struct tcf_idrinfo; - struct tcf_t { __u64 install; __u64 lastuse; @@ -85419,6 +86288,10 @@ struct tcf_t { __u64 firstuse; }; +struct tc_action_ops; + +struct tcf_idrinfo; + struct tc_cookie; struct tcf_chain; @@ -86580,7 +87453,7 @@ struct tcpm_hash_bucket { struct tcx_entry { struct mini_Qdisc *miniq; struct bpf_mprog_bundle bundle; - bool miniq_active; + u32 miniq_active; struct callback_head rcu; }; @@ -86590,6 +87463,12 @@ struct tcx_link { u32 location; }; +struct temp_masks { + u32 tcc_offset; + u32 digital_readout; + u32 pkg_digital_readout; +}; + struct termio { short unsigned int c_iflag; short unsigned int c_oflag; @@ -86736,7 +87615,7 @@ struct thermal_zone_device_ops { int (*get_temp)(struct thermal_zone_device *, int *); int (*set_trips)(struct thermal_zone_device *, int, int); int (*change_mode)(struct thermal_zone_device *, enum thermal_device_mode); - int (*set_trip_temp)(struct thermal_zone_device *, int, int); + int (*set_trip_temp)(struct thermal_zone_device *, const struct thermal_trip *, int); int (*get_crit_temp)(struct thermal_zone_device *, int *); int (*set_emul_temp)(struct thermal_zone_device *, int); int (*get_trend)(struct thermal_zone_device *, const struct thermal_trip *, enum thermal_trend *); @@ -86751,6 +87630,7 @@ struct thermal_zone_device { char type[20]; struct device device; struct completion removal; + struct completion resume; struct attribute_group trips_attribute_group; struct thermal_attr *trip_temp_attrs; struct thermal_attr *trip_type_attrs; @@ -86760,6 +87640,7 @@ struct thermal_zone_device { int num_trips; long unsigned int passive_delay_jiffies; long unsigned int polling_delay_jiffies; + long unsigned int recheck_delay_jiffies; int temperature; int last_temperature; int emul_temperature; @@ -86778,6 +87659,7 @@ struct thermal_zone_device { struct delayed_work poll_queue; enum thermal_notify_event notify_event; bool suspended; + bool resuming; struct thermal_trip_desc trips[0]; }; @@ -86874,9 +87756,7 @@ struct throtl_grp { bool has_rules_bps[2]; bool has_rules_iops[2]; uint64_t bps[2]; - uint64_t bps_conf[2]; unsigned int iops[2]; - unsigned int iops_conf[2]; uint64_t bytes_disp[2]; unsigned int io_disp[2]; long unsigned int last_low_overflow_time[2]; @@ -87364,21 +88244,21 @@ struct tm { int tm_yday; }; -struct tmigr_group; - struct tmigr_event { struct timerqueue_node nextevt; unsigned int cpu; bool ignore; }; +struct tmigr_group; + struct tmigr_cpu { raw_spinlock_t lock; bool online; bool idle; bool remote; struct tmigr_group *tmgroup; - u8 childmask; + u8 groupmask; u64 wakeup; struct tmigr_event cpuevt; }; @@ -87393,19 +88273,10 @@ struct tmigr_group { unsigned int level; int numa_node; unsigned int num_children; - u8 childmask; + u8 groupmask; struct list_head list; }; -struct tmigr_remote_data { - long unsigned int basej; - u64 now; - u64 firstexp; - u8 childmask; - bool check; - bool tmc_active; -}; - union tmigr_state { u32 state; struct { @@ -87421,6 +88292,10 @@ struct tmigr_walk { struct tmigr_event *evt; u8 childmask; bool remote; + long unsigned int basej; + u64 now; + bool check; + bool tmc_active; }; struct tmpmasks { @@ -87476,8 +88351,8 @@ struct topa_entry { u64 rsvd2: 1; u64 size: 4; u64 rsvd3: 2; - u64 base: 36; - u64 rsvd4: 16; + u64 base: 40; + u64 rsvd4: 12; }; struct topa_page { @@ -87746,8 +88621,6 @@ struct tpm_buf { u8 handles; }; -struct tpm_class_ops; - struct tpm_chip_seqops { struct tpm_chip *chip; const struct seq_operations *seqops; @@ -87761,6 +88634,8 @@ struct tpm_space { u32 buf_size; }; +struct tpm_class_ops; + struct tpm_chip { struct device dev; struct device devs; @@ -87908,8 +88783,8 @@ struct trace_array { int buffer_disabled; int sys_refcount_enter; int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[462]; - struct trace_event_file *exit_syscall_files[462]; + struct trace_event_file *enter_syscall_files[463]; + struct trace_event_file *exit_syscall_files[463]; int stop_count; int clock_id; int nr_topts; @@ -87938,6 +88813,7 @@ struct trace_array { struct ftrace_ops *ops; struct trace_pid_list *function_pids; struct trace_pid_list *function_no_pids; + struct fgraph_ops *gops; struct list_head func_probes; struct list_head mod_trace; struct list_head mod_notrace; @@ -88466,7 +89342,7 @@ struct trace_event_data_offsets_ext4_es_find_extent_range_enter {}; struct trace_event_data_offsets_ext4_es_find_extent_range_exit {}; -struct trace_event_data_offsets_ext4_es_insert_delayed_block {}; +struct trace_event_data_offsets_ext4_es_insert_delayed_extent {}; struct trace_event_data_offsets_ext4_es_lookup_extent_enter {}; @@ -89248,6 +90124,12 @@ struct trace_event_data_offsets_task_rename {}; struct trace_event_data_offsets_tasklet {}; +struct trace_event_data_offsets_tcp_ao_event {}; + +struct trace_event_data_offsets_tcp_ao_event_sk {}; + +struct trace_event_data_offsets_tcp_ao_event_sne {}; + struct trace_event_data_offsets_tcp_cong_state_set {}; struct trace_event_data_offsets_tcp_event_sk {}; @@ -89256,6 +90138,8 @@ struct trace_event_data_offsets_tcp_event_sk_skb {}; struct trace_event_data_offsets_tcp_event_skb {}; +struct trace_event_data_offsets_tcp_hash_event {}; + struct trace_event_data_offsets_tcp_probe {}; struct trace_event_data_offsets_tcp_retransmit_synack {}; @@ -89430,7 +90314,7 @@ struct trace_event_file { struct trace_subsystem_dir *system; struct list_head triggers; long unsigned int flags; - atomic_t ref; + refcount_t ref; atomic_t sm_ref; atomic_t tm_ref; }; @@ -89634,6 +90518,7 @@ struct trace_event_raw_block_rq { sector_t sector; unsigned int nr_sector; unsigned int bytes; + short unsigned int ioprio; char rwbs[8]; char comm[16]; u32 __data_loc_cmd; @@ -89646,6 +90531,7 @@ struct trace_event_raw_block_rq_completion { sector_t sector; unsigned int nr_sector; int error; + short unsigned int ioprio; char rwbs[8]; u32 __data_loc_cmd; char __data[0]; @@ -89668,6 +90554,7 @@ struct trace_event_raw_block_rq_requeue { dev_t dev; sector_t sector; unsigned int nr_sector; + short unsigned int ioprio; char rwbs[8]; u32 __data_loc_cmd; char __data[0]; @@ -90309,6 +91196,7 @@ struct trace_event_raw_ext4_da_reserve_space { dev_t dev; ino_t ino; __u64 i_blocks; + int reserve_blocks; int reserved_data_blocks; __u16 mode; char __data[0]; @@ -90397,7 +91285,7 @@ struct trace_event_raw_ext4_es_find_extent_range_exit { char __data[0]; }; -struct trace_event_raw_ext4_es_insert_delayed_block { +struct trace_event_raw_ext4_es_insert_delayed_extent { struct trace_entry ent; dev_t dev; ino_t ino; @@ -90405,7 +91293,8 @@ struct trace_event_raw_ext4_es_insert_delayed_block { ext4_lblk_t len; ext4_fsblk_t pblk; char status; - bool allocated; + bool lclu_allocated; + bool end_allocated; char __data[0]; }; @@ -91824,6 +92713,7 @@ struct trace_event_raw_kfree_skb { struct trace_entry ent; void *skbaddr; void *location; + void *rx_sk; short unsigned int protocol; enum skb_drop_reason reason; char __data[0]; @@ -92930,7 +93820,7 @@ struct trace_event_raw_page_pool_release { struct trace_event_raw_page_pool_state_hold { struct trace_entry ent; const struct page_pool *pool; - const struct page *page; + long unsigned int netmem; u32 hold; long unsigned int pfn; char __data[0]; @@ -92939,7 +93829,7 @@ struct trace_event_raw_page_pool_state_hold { struct trace_event_raw_page_pool_state_release { struct trace_entry ent; const struct page_pool *pool; - const struct page *page; + long unsigned int netmem; u32 release; long unsigned int pfn; char __data[0]; @@ -93498,6 +94388,58 @@ struct trace_event_raw_tasklet { char __data[0]; }; +struct trace_event_raw_tcp_ao_event { + struct trace_entry ent; + __u64 net_cookie; + const void *skbaddr; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + int l3index; + __u16 sport; + __u16 dport; + __u16 family; + bool fin; + bool syn; + bool rst; + bool psh; + bool ack; + __u8 keyid; + __u8 rnext; + __u8 maclen; + char __data[0]; +}; + +struct trace_event_raw_tcp_ao_event_sk { + struct trace_entry ent; + __u64 net_cookie; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + __u16 sport; + __u16 dport; + __u16 family; + __u8 keyid; + __u8 rnext; + char __data[0]; +}; + +struct trace_event_raw_tcp_ao_event_sne { + struct trace_entry ent; + __u64 net_cookie; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + __u16 sport; + __u16 dport; + __u16 family; + __u32 new_sne; + char __data[0]; +}; + struct trace_event_raw_tcp_cong_state_set { struct trace_entry ent; const void *skaddr; @@ -93549,6 +94491,26 @@ struct trace_event_raw_tcp_event_skb { char __data[0]; }; +struct trace_event_raw_tcp_hash_event { + struct trace_entry ent; + __u64 net_cookie; + const void *skbaddr; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + int l3index; + __u16 sport; + __u16 dport; + __u16 family; + bool fin; + bool syn; + bool rst; + bool psh; + bool ack; + char __data[0]; +}; + struct trace_event_raw_tcp_probe { struct trace_entry ent; __u8 saddr[28]; @@ -93736,7 +94698,7 @@ struct trace_event_raw_tmigr_connect_child_parent { unsigned int lvl; unsigned int numa_node; unsigned int num_children; - u32 childmask; + u32 groupmask; char __data[0]; }; @@ -93747,7 +94709,7 @@ struct trace_event_raw_tmigr_connect_cpu_parent { unsigned int lvl; unsigned int numa_node; unsigned int num_children; - u32 childmask; + u32 groupmask; char __data[0]; }; @@ -94321,10 +95283,7 @@ struct tracefs_fs_info { }; struct tracefs_inode { - union { - struct inode vfs_inode; - struct callback_head rcu; - }; + struct inode vfs_inode; struct list_head list; long unsigned int flags; void *private; @@ -94541,7 +95500,7 @@ struct tsc_adjust { struct tsinfo_reply_data { struct ethnl_reply_data base; - struct ethtool_ts_info ts_info; + struct kernel_ethtool_ts_info ts_info; struct ethtool_ts_stats stats; }; @@ -94959,7 +95918,7 @@ struct uart_driver { int major; int minor; int nr; - struct console *cons; + struct console___2 *cons; struct uart_state *state; struct tty_driver *tty_driver; }; @@ -95151,13 +96110,13 @@ struct udp_tunnel_nic { struct udp_tunnel_nic_table_entry *entries[0]; }; -struct udp_tunnel_nic_shared; - struct udp_tunnel_nic_table_info { unsigned int n_entries; unsigned int tunnel_types; }; +struct udp_tunnel_nic_shared; + struct udp_tunnel_nic_info { int (*set_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); int (*unset_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); @@ -95330,7 +96289,6 @@ struct umd_info { struct uncached_list { spinlock_t lock; struct list_head head; - struct list_head quarantine; }; struct uncharge_gather { @@ -95522,6 +96480,11 @@ struct unixware_disklabel { struct unixware_vtoc vtoc; }; +struct unlink_vma_file_batch { + int count; + struct vm_area_struct *vmas[8]; +}; + struct unwind_state { struct stack_info stack_info; long unsigned int stack_mask; @@ -96037,6 +97000,11 @@ struct vdso_image { long int sym_vdso32_rt_sigreturn_landing_pad; }; +struct vdso_rng_data { + u64 generation; + u8 is_ready; +}; + struct vector_cleanup { struct hlist_head head; struct timer_list timer; @@ -96231,6 +97199,8 @@ struct virtio_admin_cmd { __le64 group_member_id; struct scatterlist *data_sg; struct scatterlist *result_sg; + struct completion completion; + int ret; }; struct virtio_admin_cmd_hdr { @@ -96405,7 +97375,7 @@ struct virtio_chan { struct list_head chan_list; }; -typedef void vq_callback_t(struct virtqueue *); +struct virtqueue_info; struct virtio_shm_region; @@ -96416,7 +97386,7 @@ struct virtio_config_ops { u8 (*get_status)(struct virtio_device *); void (*set_status)(struct virtio_device *, u8); void (*reset)(struct virtio_device *); - int (*find_vqs)(struct virtio_device *, unsigned int, struct virtqueue **, vq_callback_t **, const char * const *, const bool *, struct irq_affinity *); + int (*find_vqs)(struct virtio_device *, unsigned int, struct virtqueue **, struct virtqueue_info *, struct irq_affinity *); void (*del_vqs)(struct virtio_device *); void (*synchronize_cbs)(struct virtio_device *); u64 (*get_features)(struct virtio_device *); @@ -96427,8 +97397,6 @@ struct virtio_config_ops { bool (*get_shm_region)(struct virtio_device *, struct virtio_shm_region *, u8); int (*disable_vq_and_reset)(struct virtqueue *); int (*enable_vq_after_reset)(struct virtqueue *); - int (*create_avq)(struct virtio_device *); - void (*destroy_avq)(struct virtio_device *); }; struct virtio_console_config { @@ -96591,15 +97559,11 @@ struct virtio_net_stats_reply_hdr { __le16 size; }; -struct virtio_pci_vq_info { - struct virtqueue *vq; - struct list_head node; - unsigned int msix_vector; -}; +struct virtio_pci_vq_info; struct virtio_pci_admin_vq { - struct virtio_pci_vq_info info; - struct mutex cmd_lock; + struct virtio_pci_vq_info *info; + spinlock_t lock; u64 supported_cmds; char name[10]; u16 vq_index; @@ -96663,6 +97627,7 @@ struct virtio_pci_device { u8 *isr; spinlock_t lock; struct list_head virtqueues; + struct list_head slow_virtqueues; struct virtio_pci_vq_info **vqs; struct virtio_pci_admin_vq admin_vq; int msix_enabled; @@ -96675,7 +97640,7 @@ struct virtio_pci_device { struct virtqueue * (*setup_vq)(struct virtio_pci_device *, struct virtio_pci_vq_info *, unsigned int, void (*)(struct virtqueue *), const char *, bool, u16); void (*del_vq)(struct virtio_pci_vq_info *); u16 (*config_vector)(struct virtio_pci_device *, u16); - bool (*is_avq)(struct virtio_device *, unsigned int); + int (*avq_index)(struct virtio_device *, u16 *, u16 *); }; struct virtio_pci_modern_common_cfg { @@ -96686,6 +97651,12 @@ struct virtio_pci_modern_common_cfg { __le16 admin_queue_num; }; +struct virtio_pci_vq_info { + struct virtqueue *vq; + struct list_head node; + unsigned int msix_vector; +}; + struct virtio_shm_region { u64 addr; u64 len; @@ -96747,6 +97718,8 @@ struct virtnet_rq_dma { struct virtnet_sq_free_stats { u64 packets; u64 bytes; + u64 napi_packets; + u64 napi_bytes; }; struct virtnet_stat_desc { @@ -96775,6 +97748,14 @@ struct virtqueue { void *priv; }; +typedef void vq_callback_t(struct virtqueue *); + +struct virtqueue_info { + const char *name; + vq_callback_t *callback; + bool ctx; +}; + struct vlan_priority_tci_mapping; struct vlan_pcpu_stats; @@ -96873,14 +97854,14 @@ struct vlan_vid_info { int refcount; }; -struct vma_lock; - -struct vma_numab_state; - struct vm_userfaultfd_ctx { struct userfaultfd_ctx *ctx; }; +struct vma_lock; + +struct vma_numab_state; + struct vm_area_struct { union { struct { @@ -96996,6 +97977,7 @@ struct vm_unmapped_area_info { struct vma_list { struct vm_area_struct *vma; struct list_head head; + atomic_t mmap_count; }; struct vma_lock { @@ -97021,12 +98003,6 @@ struct vma_prepare { struct vm_area_struct *remove2; }; -struct vma_swap_readahead { - short unsigned int win; - short unsigned int offset; - short unsigned int nr_pte; -}; - struct vmap_area { long unsigned int va_start; long unsigned int va_end; @@ -97050,6 +98026,7 @@ struct vmap_block { struct list_head free_list; struct callback_head callback_head; struct list_head purge; + unsigned int cpu; }; struct vmap_block_queue { @@ -97095,10 +98072,16 @@ struct vmpressure_event { struct list_head node; }; +struct vring_desc; + typedef struct vring_desc vring_desc_t; +struct vring_avail; + typedef struct vring_avail vring_avail_t; +struct vring_used; + typedef struct vring_used vring_used_t; struct vring { @@ -97299,8 +98282,6 @@ struct vxlan_dev_node { struct vxlan_dev *vxlan; }; -struct vxlan_sock; - struct vxlan_rdst { union vxlan_addr remote_ip; __be16 remote_port; @@ -97313,6 +98294,8 @@ struct vxlan_rdst { struct dst_cache dst_cache; }; +struct vxlan_sock; + struct vxlan_vni_group; struct vxlan_dev { @@ -97639,7 +98622,7 @@ struct worker { long unsigned int last_active; unsigned int flags; int id; - char desc[24]; + char desc[32]; struct workqueue_struct *rescue_wq; }; @@ -97662,8 +98645,6 @@ struct worker_pool { struct hlist_head busy_hash[64]; struct worker *manager; struct list_head workers; - struct list_head dying_workers; - struct completion *detach_completion; struct ida worker_ida; struct workqueue_attrs *attrs; struct hlist_node hash_node; @@ -97914,10 +98895,12 @@ struct x86_cpuinit_ops { }; struct x86_guest { - bool (*enc_status_change_prepare)(long unsigned int, int, bool); - bool (*enc_status_change_finish)(long unsigned int, int, bool); + int (*enc_status_change_prepare)(long unsigned int, int, bool); + int (*enc_status_change_finish)(long unsigned int, int, bool); bool (*enc_tlb_flush_required)(bool); bool (*enc_cache_flush_required)(); + void (*enc_kexec_begin)(); + void (*enc_kexec_finish)(); }; struct x86_hybrid_pmu { @@ -97927,9 +98910,16 @@ struct x86_hybrid_pmu { cpumask_t supported_cpus; union perf_capabilities intel_cap; u64 intel_ctrl; - int max_pebs_events; - int num_counters; - int num_counters_fixed; + u64 pebs_events_mask; + u64 config_mask; + union { + u64 cntr_mask64; + long unsigned int cntr_mask[1]; + }; + union { + u64 fixed_cntr_mask64; + long unsigned int fixed_cntr_mask[1]; + }; struct event_constraint unconstrained; u64 hw_cache_event_ids[42]; u64 hw_cache_extra_regs[42]; @@ -97939,7 +98929,7 @@ struct x86_hybrid_pmu { unsigned int late_ack: 1; unsigned int mid_ack: 1; unsigned int enabled_ack: 1; - u64 pebs_data_source[16]; + u64 pebs_data_source[256]; }; struct x86_hyper_init { @@ -98042,6 +99032,7 @@ struct x86_legacy_features { struct x86_mapping_info { void * (*alloc_pgt_page)(void *); + void (*free_pgt_page)(void *, void *); void *context; long unsigned int page_flag; long unsigned int offset; @@ -98134,12 +99125,20 @@ struct x86_pmu { int (*schedule_events)(struct cpu_hw_events *, int, int *); unsigned int eventsel; unsigned int perfctr; + unsigned int fixedctr; int (*addr_offset)(int, bool); int (*rdpmc_index)(int); u64 (*event_map)(int); int max_events; - int num_counters; - int num_counters_fixed; + u64 config_mask; + union { + u64 cntr_mask64; + long unsigned int cntr_mask[1]; + }; + union { + u64 fixed_cntr_mask64; + long unsigned int fixed_cntr_mask[1]; + }; int cntval_bits; u64 cntval_mask; union { @@ -98186,7 +99185,7 @@ struct x86_pmu { unsigned int pebs_ept: 1; int pebs_record_size; int pebs_buffer_size; - int max_pebs_events; + u64 pebs_events_mask; void (*drain_pebs)(struct pt_regs *, struct perf_sample_data *); struct event_constraint *pebs_constraints; void (*pebs_aliases)(struct perf_event *); @@ -99047,8 +100046,6 @@ struct xfrm_policy_queue { long unsigned int timeout; }; -struct xfrm_sec_ctx; - struct xfrm_tmpl { struct xfrm_id id; xfrm_address_t saddr; @@ -99063,6 +100060,8 @@ struct xfrm_tmpl { u32 calgos; }; +struct xfrm_sec_ctx; + struct xfrm_policy { possible_net_t xp_net; struct hlist_node bydst; @@ -99178,7 +100177,10 @@ struct xfrm_state { struct hlist_node gclist; struct hlist_node bydst; }; - struct hlist_node bysrc; + union { + struct hlist_node dev_gclist; + struct hlist_node bysrc; + }; struct hlist_node byspi; struct hlist_node byseq; refcount_t refcnt; @@ -99216,6 +100218,8 @@ struct xfrm_state { u32 mapping_maxage; struct xfrm_encap_tmpl *encap; struct sock *encap_sk; + u32 nat_keepalive_interval; + time64_t nat_keepalive_expiration; xfrm_address_t *coaddr; struct xfrm_state *tunnel; atomic_t tunnel_users; @@ -100914,7 +101918,7 @@ typedef void (*btf_trace_ext4_collapse_range)(void *, struct inode *, loff_t, lo typedef void (*btf_trace_ext4_da_release_space)(void *, struct inode *, int); -typedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *); +typedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *, int); typedef void (*btf_trace_ext4_da_update_reserve_space)(void *, struct inode *, int, int); @@ -100940,7 +101944,7 @@ typedef void (*btf_trace_ext4_es_find_extent_range_enter)(void *, struct inode * typedef void (*btf_trace_ext4_es_find_extent_range_exit)(void *, struct inode *, struct extent_status *); -typedef void (*btf_trace_ext4_es_insert_delayed_block)(void *, struct inode *, struct extent_status *, bool); +typedef void (*btf_trace_ext4_es_insert_delayed_extent)(void *, struct inode *, struct extent_status *, bool, bool); typedef void (*btf_trace_ext4_es_insert_extent)(void *, struct inode *, struct extent_status *); @@ -101346,7 +102350,7 @@ typedef void (*btf_trace_jbd2_write_superblock)(void *, journal_t *, blk_opf_t); typedef void (*btf_trace_kfree)(void *, long unsigned int, const void *); -typedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason); +typedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *); typedef void (*btf_trace_kmalloc)(void *, long unsigned int, const void *, size_t, size_t, gfp_t, int); @@ -101636,9 +102640,9 @@ typedef void (*btf_trace_page_fault_user)(void *, long unsigned int, struct pt_r typedef void (*btf_trace_page_pool_release)(void *, const struct page_pool *, s32, u32, u32); -typedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, const struct page *, u32); +typedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, netmem_ref, u32); -typedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, const struct page *, u32); +typedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, netmem_ref, u32); typedef void (*btf_trace_page_pool_update_nid)(void *, const struct page_pool *, int); @@ -101846,12 +102850,38 @@ typedef void (*btf_trace_tasklet_entry)(void *, struct tasklet_struct *, void *) typedef void (*btf_trace_tasklet_exit)(void *, struct tasklet_struct *, void *); +typedef void (*btf_trace_tcp_ao_handshake_failure)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_key_not_found)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_mismatch)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_rcv_sne_update)(void *, const struct sock *, __u32); + +typedef void (*btf_trace_tcp_ao_rnext_request)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_snd_sne_update)(void *, const struct sock *, __u32); + +typedef void (*btf_trace_tcp_ao_synack_no_key)(void *, const struct sock *, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_wrong_maclen)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + typedef void (*btf_trace_tcp_bad_csum)(void *, const struct sk_buff *); typedef void (*btf_trace_tcp_cong_state_set)(void *, struct sock *, const u8); typedef void (*btf_trace_tcp_destroy_sock)(void *, struct sock *); +typedef void (*btf_trace_tcp_hash_ao_required)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_bad_header)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_md5_mismatch)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_md5_required)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_md5_unexpected)(void *, const struct sock *, const struct sk_buff *); + typedef void (*btf_trace_tcp_probe)(void *, struct sock *, struct sk_buff *); typedef void (*btf_trace_tcp_rcv_space_adjust)(void *, struct sock *); @@ -102148,6 +103178,8 @@ typedef size_t (*iov_ustep_f)(void *, size_t, size_t, void *, void *); typedef void ip6_icmp_send_t(struct sk_buff *, u8, u8, __u32, const struct in6_addr *, const struct inet6_skb_parm *); +typedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *); + typedef void k_handler_fn(struct vc_data *, unsigned char, char); typedef int (*list_cmp_func_t)(void *, const struct list_head *, const struct list_head *); @@ -102200,6 +103232,8 @@ typedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *); typedef int (*sendmsg_func)(struct sock *, struct msghdr *); +typedef void (*serial8250_isa_config_fn)(int, struct uart_port *, u32 *); + typedef int (*set_callee_state_fn)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *, int); typedef struct scatterlist *sg_alloc_fn(unsigned int, gfp_t); @@ -102234,12 +103268,16 @@ typedef int (*tg_visitor)(struct task_group *, void *); typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); -typedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, void *); +typedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmigr_walk *); typedef int wait_bit_action_f(struct wait_bit_key *, int); typedef int (*writepage_t)(struct folio *, struct writeback_control *, void *); +struct net_bridge; + +struct nf_bridge_frag_data; + struct bpf_iter; struct creds; @@ -102248,9 +103286,151 @@ struct fscrypt_inode_info; struct fsverity_info; -struct net_bridge; -struct nf_bridge_frag_data; +/* BPF kfuncs */ +#ifndef BPF_NO_KFUNC_PROTOTYPES +extern void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) __weak __ksym; +extern void cgroup_rstat_flush(struct cgroup *cgrp) __weak __ksym; +extern struct bpf_key *bpf_lookup_user_key(u32 serial, u64 flags) __weak __ksym; +extern struct bpf_key *bpf_lookup_system_key(u64 id) __weak __ksym; +extern void bpf_key_put(struct bpf_key *bkey) __weak __ksym; +extern bool bpf_session_is_return() __weak __ksym; +extern __u64 *bpf_session_cookie() __weak __ksym; +extern void *bpf_obj_new_impl(u64 local_type_id__k, 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_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; +extern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym; +extern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym; +extern int bpf_list_push_front_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym; +extern int bpf_list_push_back_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym; +extern struct bpf_list_node *bpf_list_pop_front(struct bpf_list_head *head) __weak __ksym; +extern struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __weak __ksym; +extern struct task_struct *bpf_task_acquire(struct task_struct *p) __weak __ksym; +extern void bpf_task_release(struct task_struct *p) __weak __ksym; +extern struct bpf_rb_node *bpf_rbtree_remove(struct bpf_rb_root *root, struct bpf_rb_node *node) __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 cgroup *bpf_cgroup_acquire(struct cgroup *cgrp) __weak __ksym; +extern void bpf_cgroup_release(struct cgroup *cgrp) __weak __ksym; +extern struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __weak __ksym; +extern struct cgroup *bpf_cgroup_from_id(u64 cgid) __weak __ksym; +extern long int bpf_task_under_cgroup(struct task_struct *task, struct cgroup *ancestor) __weak __ksym; +extern struct cgroup *bpf_task_get_cgroup1(struct task_struct *task, int hierarchy_id) __weak __ksym; +extern struct task_struct *bpf_task_from_pid(s32 pid) __weak __ksym; +extern void bpf_throw(u64 cookie) __weak __ksym; +extern void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym; +extern void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; +extern void bpf_rcu_read_lock() __weak __ksym; +extern void bpf_rcu_read_unlock() __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_iter_num_new(struct bpf_iter_num *it, int start, int end) __weak __ksym; +extern int *bpf_iter_num_next(struct bpf_iter_num *it) __weak __ksym; +extern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym; +extern int bpf_iter_task_vma_new(struct bpf_iter_task_vma *it, struct task_struct *task, u64 addr) __weak __ksym; +extern struct vm_area_struct *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) __weak __ksym; +extern void bpf_iter_task_vma_destroy(struct bpf_iter_task_vma *it) __weak __ksym; +extern int bpf_iter_css_task_new(struct bpf_iter_css_task *it, struct cgroup_subsys_state *css, unsigned int flags) __weak __ksym; +extern struct task_struct *bpf_iter_css_task_next(struct bpf_iter_css_task *it) __weak __ksym; +extern void bpf_iter_css_task_destroy(struct bpf_iter_css_task *it) __weak __ksym; +extern int bpf_iter_css_new(struct bpf_iter_css *it, struct cgroup_subsys_state *start, unsigned int flags) __weak __ksym; +extern struct cgroup_subsys_state *bpf_iter_css_next(struct bpf_iter_css *it) __weak __ksym; +extern void bpf_iter_css_destroy(struct bpf_iter_css *it) __weak __ksym; +extern int bpf_iter_task_new(struct bpf_iter_task *it, struct task_struct *task__nullable, unsigned int flags) __weak __ksym; +extern struct task_struct *bpf_iter_task_next(struct bpf_iter_task *it) __weak __ksym; +extern void bpf_iter_task_destroy(struct bpf_iter_task *it) __weak __ksym; +extern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __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 __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym; +extern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym; +extern int bpf_modify_return_test_tp(int nonce) __weak __ksym; +extern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym; +extern int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (*callback_fn)(void *, int *, void *), unsigned int flags, void *aux__ign) __weak __ksym; +extern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym; +extern void bpf_preempt_disable() __weak __ksym; +extern void bpf_preempt_enable() __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; +extern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym; +extern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym; +extern s64 bpf_map_sum_elem_count(const struct bpf_map *map) __weak __ksym; +extern void *bpf_arena_alloc_pages(void *p__map, void *addr__ign, u32 page_cnt, int node_id, u64 flags) __weak __ksym; +extern void bpf_arena_free_pages(void *p__map, void *ptr__ign, u32 page_cnt) __weak __ksym; +extern struct bpf_cpumask *bpf_cpumask_create() __weak __ksym; +extern void bpf_cpumask_release(struct bpf_cpumask *cpumask) __weak __ksym; +extern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym; +extern u32 bpf_cpumask_first(const struct cpumask *cpumask) __weak __ksym; +extern u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __weak __ksym; +extern u32 bpf_cpumask_first_and(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; +extern void bpf_cpumask_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym; +extern void bpf_cpumask_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym; +extern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym; +extern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym; +extern bool bpf_cpumask_test_and_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym; +extern void bpf_cpumask_setall(struct bpf_cpumask *cpumask) __weak __ksym; +extern void bpf_cpumask_clear(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 void bpf_cpumask_or(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; +extern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; +extern bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; +extern bool bpf_cpumask_intersects(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; +extern bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; +extern bool bpf_cpumask_empty(const struct cpumask *cpumask) __weak __ksym; +extern bool bpf_cpumask_full(const struct cpumask *cpumask) __weak __ksym; +extern void bpf_cpumask_copy(struct bpf_cpumask *dst, const struct cpumask *src) __weak __ksym; +extern u32 bpf_cpumask_any_distribute(const struct cpumask *cpumask) __weak __ksym; +extern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym; +extern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym; +extern struct bpf_crypto_ctx *bpf_crypto_ctx_create(const struct bpf_crypto_params *params, u32 params__sz, int *err) __weak __ksym; +extern void bpf_crypto_ctx_release(struct bpf_crypto_ctx *ctx) __weak __ksym; +extern struct bpf_crypto_ctx *bpf_crypto_ctx_acquire(struct bpf_crypto_ctx *ctx) __weak __ksym; +extern int bpf_crypto_decrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym; +extern int bpf_crypto_encrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym; +extern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym; +extern void bpf_put_file(struct file *file) __weak __ksym; +extern int bpf_path_d_path(struct path *path, char *buf, size_t buf__sz) __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 int bpf_dynptr_from_skb(struct __sk_buff *s, 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 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_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_destroy(struct sock_common *sock) __weak __ksym; +extern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx, u64 *timestamp) __weak __ksym; +extern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, u32 *hash, enum xdp_rss_hash_type *rss_type) __weak __ksym; +extern int bpf_xdp_metadata_rx_vlan_tag(const struct xdp_md *ctx, __be16 *vlan_proto, u16 *vlan_tci) __weak __ksym; +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_fentry_test1(int a) __weak __ksym; +extern void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p) __weak __ksym; +extern void bpf_kfunc_call_memb_release(struct prog_test_member *p) __weak __ksym; +extern struct nf_conn___init *bpf_xdp_ct_alloc(struct xdp_md *xdp_ctx, struct bpf_sock_tuple *bpf_tuple, u32 tuple__sz, struct bpf_ct_opts *opts, u32 opts__sz) __weak __ksym; +extern struct nf_conn *bpf_xdp_ct_lookup(struct xdp_md *xdp_ctx, struct bpf_sock_tuple *bpf_tuple, u32 tuple__sz, struct bpf_ct_opts *opts, u32 opts__sz) __weak __ksym; +extern struct nf_conn___init *bpf_skb_ct_alloc(struct __sk_buff *skb_ctx, struct bpf_sock_tuple *bpf_tuple, u32 tuple__sz, struct bpf_ct_opts *opts, u32 opts__sz) __weak __ksym; +extern struct nf_conn *bpf_skb_ct_lookup(struct __sk_buff *skb_ctx, struct bpf_sock_tuple *bpf_tuple, u32 tuple__sz, struct bpf_ct_opts *opts, u32 opts__sz) __weak __ksym; +extern struct nf_conn *bpf_ct_insert_entry(struct nf_conn___init *nfct_i) __weak __ksym; +extern void bpf_ct_release(struct nf_conn *nfct) __weak __ksym; +extern void bpf_ct_set_timeout(struct nf_conn___init *nfct, u32 timeout) __weak __ksym; +extern int bpf_ct_change_timeout(struct nf_conn *nfct, u32 timeout) __weak __ksym; +extern int bpf_ct_set_status(const struct nf_conn___init *nfct, u32 status) __weak __ksym; +extern int bpf_ct_change_status(struct nf_conn *nfct, u32 status) __weak __ksym; +extern int bpf_skb_set_fou_encap(struct __sk_buff *skb_ctx, struct bpf_fou_encap *encap, int type) __weak __ksym; +extern int bpf_skb_get_fou_encap(struct __sk_buff *skb_ctx, struct bpf_fou_encap *encap) __weak __ksym; +extern void cubictcp_init(struct sock *sk) __weak __ksym; +extern u32 cubictcp_recalc_ssthresh(struct sock *sk) __weak __ksym; +extern void cubictcp_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym; +extern void cubictcp_state(struct sock *sk, u8 new_state) __weak __ksym; +extern void cubictcp_cwnd_event(struct sock *sk, enum tcp_ca_event event) __weak __ksym; +extern void cubictcp_acked(struct sock *sk, const struct ack_sample *sample) __weak __ksym; +extern u32 tcp_reno_ssthresh(struct sock *sk) __weak __ksym; +extern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym; +extern u32 tcp_reno_undo_cwnd(struct sock *sk) __weak __ksym; +extern u32 tcp_slow_start(struct tcp_sock *tp, u32 acked) __weak __ksym; +extern void tcp_cong_avoid_ai(struct tcp_sock *tp, u32 w, u32 acked) __weak __ksym; +extern struct xfrm_state *bpf_xdp_get_xfrm_state(struct xdp_md *ctx, struct bpf_xfrm_state_opts *opts, u32 opts__sz) __weak __ksym; +extern void bpf_xdp_xfrm_state_release(struct xfrm_state *x) __weak __ksym; +#endif #ifndef BPF_NO_PRESERVE_ACCESS_INDEX #pragma clang attribute pop diff --git a/.github/actions/vmtest/action.yml b/.github/actions/vmtest/action.yml index fcd1a780b..6bf6cdb16 100644 --- a/.github/actions/vmtest/action.yml +++ b/.github/actions/vmtest/action.yml @@ -13,6 +13,10 @@ inputs: description: 'pahole rev or master' required: true default: 'master' + llvm-version: + description: 'llvm version' + required: false + default: '17' runs: using: "composite" steps: @@ -38,6 +42,7 @@ runs: with: pahole: ${{ inputs.pahole }} arch: ${{ inputs.arch }} + llvm-version: ${{ inputs.llvm-version }} # 1. download CHECKPOINT kernel source - name: Get checkpoint commit shell: bash @@ -93,6 +98,7 @@ runs: with: repo-path: '.kernel' kernel: ${{ inputs.kernel }} + llvm-version: ${{ inputs.llvm-version }} # 4. prepare rootfs - name: prepare rootfs uses: libbpf/ci/prepare-rootfs@main diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 12860c7a0..4ace0e689 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,22 +13,22 @@ concurrency: jobs: vmtest: runs-on: ${{ matrix.runs_on }} - name: Kernel ${{ matrix.kernel }} on ${{ matrix.runs_on }} + selftests + name: Kernel ${{ matrix.kernel }} on ${{ matrix.arch }} + selftests strategy: fail-fast: false matrix: include: - kernel: 'LATEST' - runs_on: ubuntu-20.04 + runs_on: ubuntu-24.04 arch: 'x86_64' - kernel: '5.5.0' - runs_on: ubuntu-20.04 + runs_on: ubuntu-24.04 arch: 'x86_64' - kernel: '4.9.0' - runs_on: ubuntu-20.04 + runs_on: ubuntu-24.04 arch: 'x86_64' - kernel: 'LATEST' - runs_on: s390x + runs_on: ["s390x", "docker-noble-main"] arch: 's390x' steps: - uses: actions/checkout@v4 diff --git a/BPF-CHECKPOINT-COMMIT b/BPF-CHECKPOINT-COMMIT index a63dd8738..71d9e0784 100644 --- a/BPF-CHECKPOINT-COMMIT +++ b/BPF-CHECKPOINT-COMMIT @@ -1 +1 @@ -e1533b6319ab9c3a97dad314dd88b3783bc41b69 +b408473ea01b2e499d23503e2bf898416da9d7ac diff --git a/CHECKPOINT-COMMIT b/CHECKPOINT-COMMIT index 0205e2ace..bbef93051 100644 --- a/CHECKPOINT-COMMIT +++ b/CHECKPOINT-COMMIT @@ -1 +1 @@ -ec5b8c76ab1c6d163762d60cfbedcd27e7527144 +2ad6d23f465a4f851e3bcf6d74c315ce7b2c205b diff --git a/ci/vmtest/configs/DENYLIST b/ci/vmtest/configs/DENYLIST index d2d725dc0..e50557f68 100644 --- a/ci/vmtest/configs/DENYLIST +++ b/ci/vmtest/configs/DENYLIST @@ -12,3 +12,4 @@ xdp_bonding/xdp_bonding_features # started failing after net merge from 359e tc_redirect/tc_redirect_dtime # uapi breakage after net-next commit 885c36e59f46 ("net: Re-use and set mono_delivery_time bit for userspace tstamp packets") migrate_reuseport/IPv4 TCP_NEW_SYN_RECV reqsk_timer_handler # flaky, under investigation migrate_reuseport/IPv6 TCP_NEW_SYN_RECV reqsk_timer_handler # flaky, under investigation +verify_pkcs7_sig # keeps failing diff --git a/ci/vmtest/run_selftests.sh b/ci/vmtest/run_selftests.sh index 0e5ac17f8..7ddcb45b8 100755 --- a/ci/vmtest/run_selftests.sh +++ b/ci/vmtest/run_selftests.sh @@ -67,12 +67,14 @@ local_configs_path=${PROJECT_NAME}/vmtest/configs DENYLIST=$(read_lists \ "$configs_path/DENYLIST" \ "$configs_path/DENYLIST.${ARCH}" \ + "$local_configs_path/DENYLIST" \ "$local_configs_path/DENYLIST-${KERNEL}" \ "$local_configs_path/DENYLIST-${KERNEL}.${ARCH}" \ ) ALLOWLIST=$(read_lists \ "$configs_path/ALLOWLIST" \ "$configs_path/ALLOWLIST.${ARCH}" \ + "$local_configs_path/ALLOWLIST" \ "$local_configs_path/ALLOWLIST-${KERNEL}" \ "$local_configs_path/ALLOWLIST-${KERNEL}.${ARCH}" \ ) diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index 35bcf52db..f329ee446 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h @@ -7512,4 +7512,13 @@ struct bpf_iter_num { __u64 __opaque[1]; } __attribute__((aligned(8))); +/* + * Flags to control BPF kfunc behaviour. + * - BPF_F_PAD_ZEROS: Pad destination buffer with zeros. (See the respective + * helper documentation for details.) + */ +enum bpf_kfunc_flags { + BPF_F_PAD_ZEROS = (1ULL << 0), +}; + #endif /* _UAPI__LINUX_BPF_H__ */ diff --git a/include/uapi/linux/if_xdp.h b/include/uapi/linux/if_xdp.h index 638c606df..2f082b01f 100644 --- a/include/uapi/linux/if_xdp.h +++ b/include/uapi/linux/if_xdp.h @@ -41,6 +41,10 @@ */ #define XDP_UMEM_TX_SW_CSUM (1 << 1) +/* Request to reserve tx_metadata_len bytes of per-chunk metadata. + */ +#define XDP_UMEM_TX_METADATA_LEN (1 << 2) + struct sockaddr_xdp { __u16 sxdp_family; __u16 sxdp_flags; diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index 3a64499b0..4842c36fd 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h @@ -1349,12 +1349,14 @@ union perf_mem_data_src { #define PERF_MEM_LVLNUM_L2 0x02 /* L2 */ #define PERF_MEM_LVLNUM_L3 0x03 /* L3 */ #define PERF_MEM_LVLNUM_L4 0x04 /* L4 */ -/* 5-0x7 available */ +#define PERF_MEM_LVLNUM_L2_MHB 0x05 /* L2 Miss Handling Buffer */ +#define PERF_MEM_LVLNUM_MSC 0x06 /* Memory-side Cache */ +/* 0x7 available */ #define PERF_MEM_LVLNUM_UNC 0x08 /* Uncached */ #define PERF_MEM_LVLNUM_CXL 0x09 /* CXL */ #define PERF_MEM_LVLNUM_IO 0x0a /* I/O */ #define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */ -#define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */ +#define PERF_MEM_LVLNUM_LFB 0x0c /* LFB / L1 Miss Handling Buffer */ #define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */ #define PERF_MEM_LVLNUM_PMEM 0x0e /* PMEM */ #define PERF_MEM_LVLNUM_NA 0x0f /* N/A */ diff --git a/src/Makefile b/src/Makefile index 547bafb4a..e3bfafe91 100644 --- a/src/Makefile +++ b/src/Makefile @@ -119,13 +119,13 @@ $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION): $(SHARED_OBJS) -Wl,-soname,libbpf.so.$(LIBBPF_MAJOR_VERSION) \ $^ $(ALL_LDFLAGS) -o $@ -$(OBJDIR)/libbpf.pc: force +$(OBJDIR)/libbpf.pc: force | $(OBJDIR) $(Q)sed -e "s|@PREFIX@|$(PREFIX)|" \ -e "s|@LIBDIR@|$(LIBDIR_PC)|" \ -e "s|@VERSION@|$(LIBBPF_VERSION)|" \ < libbpf.pc.template > $@ -$(STATIC_OBJDIR) $(SHARED_OBJDIR): +$(OBJDIR) $(STATIC_OBJDIR) $(SHARED_OBJDIR): $(call msg,MKDIR,$@) $(Q)mkdir -p $@ diff --git a/src/btf.c b/src/btf.c index 32c00db3b..40aae244e 100644 --- a/src/btf.c +++ b/src/btf.c @@ -996,6 +996,7 @@ static struct btf *btf_new_empty(struct btf *base_btf) btf->base_btf = base_btf; btf->start_id = btf__type_cnt(base_btf); btf->start_str_off = base_btf->hdr->str_len; + btf->swapped_endian = base_btf->swapped_endian; } /* +1 for empty string at offset 0 */ @@ -5394,6 +5395,9 @@ int btf__distill_base(const struct btf *src_btf, struct btf **new_base_btf, new_base = btf__new_empty(); if (!new_base) return libbpf_err(-ENOMEM); + + btf__set_endianness(new_base, btf__endianness(src_btf)); + dist.id_map = calloc(n, sizeof(*dist.id_map)); if (!dist.id_map) { err = -ENOMEM; diff --git a/src/btf_dump.c b/src/btf_dump.c index 5dbca76b9..894860111 100644 --- a/src/btf_dump.c +++ b/src/btf_dump.c @@ -1559,10 +1559,12 @@ static void btf_dump_emit_type_chain(struct btf_dump *d, * Clang for BPF target generates func_proto with no * args as a func_proto with a single void arg (e.g., * `int (*f)(void)` vs just `int (*f)()`). We are - * going to pretend there are no args for such case. + * going to emit valid empty args (void) syntax for + * such case. Similarly and conveniently, valid + * no args case can be special-cased here as well. */ - if (vlen == 1 && p->type == 0) { - btf_dump_printf(d, ")"); + if (vlen == 0 || (vlen == 1 && p->type == 0)) { + btf_dump_printf(d, "void)"); return; } diff --git a/src/btf_relocate.c b/src/btf_relocate.c index 17f8b32f9..4f7399d85 100644 --- a/src/btf_relocate.c +++ b/src/btf_relocate.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) /* Copyright (c) 2024, Oracle and/or its affiliates. */ #ifndef _GNU_SOURCE diff --git a/src/elf.c b/src/elf.c index c92e02394..b5ab1cb13 100644 --- a/src/elf.c +++ b/src/elf.c @@ -28,6 +28,9 @@ int elf_open(const char *binary_path, struct elf_fd *elf_fd) int fd, ret; Elf *elf; + elf_fd->elf = NULL; + elf_fd->fd = -1; + if (elf_version(EV_CURRENT) == EV_NONE) { pr_warn("elf: failed to init libelf for %s\n", binary_path); return -LIBBPF_ERRNO__LIBELF; diff --git a/src/libbpf.c b/src/libbpf.c index a3be6f8fa..d3a542649 100644 --- a/src/libbpf.c +++ b/src/libbpf.c @@ -496,8 +496,6 @@ struct bpf_program { }; struct bpf_struct_ops { - const char *tname; - const struct btf_type *type; struct bpf_program **progs; __u32 *kern_func_off; /* e.g. struct tcp_congestion_ops in bpf_prog's btf format */ @@ -1083,11 +1081,14 @@ static int bpf_object_adjust_struct_ops_autoload(struct bpf_object *obj) continue; for (j = 0; j < obj->nr_maps; ++j) { + const struct btf_type *type; + map = &obj->maps[j]; if (!bpf_map__is_struct_ops(map)) continue; - vlen = btf_vlen(map->st_ops->type); + type = btf__type_by_id(obj->btf, map->st_ops->type_id); + vlen = btf_vlen(type); for (k = 0; k < vlen; ++k) { slot_prog = map->st_ops->progs[k]; if (prog != slot_prog) @@ -1121,8 +1122,8 @@ static int bpf_map__init_kern_struct_ops(struct bpf_map *map) int err; st_ops = map->st_ops; - type = st_ops->type; - tname = st_ops->tname; + type = btf__type_by_id(btf, st_ops->type_id); + tname = btf__name_by_offset(btf, type->name_off); err = find_struct_ops_kern_types(obj, tname, &mod_btf, &kern_type, &kern_type_id, &kern_vtype, &kern_vtype_id, @@ -1423,8 +1424,6 @@ static int init_struct_ops_maps(struct bpf_object *obj, const char *sec_name, memcpy(st_ops->data, data->d_buf + vsi->offset, type->size); - st_ops->tname = tname; - st_ops->type = type; st_ops->type_id = type_id; pr_debug("struct_ops init: struct %s(type_id=%u) %s found at offset %u\n", @@ -7906,16 +7905,19 @@ static int bpf_object_init_progs(struct bpf_object *obj, const struct bpf_object } static struct bpf_object *bpf_object_open(const char *path, const void *obj_buf, size_t obj_buf_sz, + const char *obj_name, const struct bpf_object_open_opts *opts) { - const char *obj_name, *kconfig, *btf_tmp_path, *token_path; + const char *kconfig, *btf_tmp_path, *token_path; struct bpf_object *obj; - char tmp_name[64]; int err; char *log_buf; size_t log_size; __u32 log_level; + if (obj_buf && !obj_name) + return ERR_PTR(-EINVAL); + if (elf_version(EV_CURRENT) == EV_NONE) { pr_warn("failed to init libelf for %s\n", path ? : "(mem buf)"); @@ -7925,16 +7927,12 @@ static struct bpf_object *bpf_object_open(const char *path, const void *obj_buf, if (!OPTS_VALID(opts, bpf_object_open_opts)) return ERR_PTR(-EINVAL); - obj_name = OPTS_GET(opts, object_name, NULL); + obj_name = OPTS_GET(opts, object_name, NULL) ?: obj_name; if (obj_buf) { - if (!obj_name) { - snprintf(tmp_name, sizeof(tmp_name), "%lx-%lx", - (unsigned long)obj_buf, - (unsigned long)obj_buf_sz); - obj_name = tmp_name; - } path = obj_name; pr_debug("loading object '%s' from buffer\n", obj_name); + } else { + pr_debug("loading object from %s\n", path); } log_buf = OPTS_GET(opts, kernel_log_buf, NULL); @@ -8018,9 +8016,7 @@ bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts) if (!path) return libbpf_err_ptr(-EINVAL); - pr_debug("loading %s\n", path); - - return libbpf_ptr(bpf_object_open(path, NULL, 0, opts)); + return libbpf_ptr(bpf_object_open(path, NULL, 0, NULL, opts)); } struct bpf_object *bpf_object__open(const char *path) @@ -8032,10 +8028,15 @@ struct bpf_object * bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, const struct bpf_object_open_opts *opts) { + char tmp_name[64]; + if (!obj_buf || obj_buf_sz == 0) return libbpf_err_ptr(-EINVAL); - return libbpf_ptr(bpf_object_open(NULL, obj_buf, obj_buf_sz, opts)); + /* create a (quite useless) default "name" for this memory buffer object */ + snprintf(tmp_name, sizeof(tmp_name), "%lx-%zx", (unsigned long)obj_buf, obj_buf_sz); + + return libbpf_ptr(bpf_object_open(NULL, obj_buf, obj_buf_sz, tmp_name, opts)); } static int bpf_object_unload(struct bpf_object *obj) @@ -8445,11 +8446,13 @@ static int bpf_object__resolve_externs(struct bpf_object *obj, static void bpf_map_prepare_vdata(const struct bpf_map *map) { + const struct btf_type *type; struct bpf_struct_ops *st_ops; __u32 i; st_ops = map->st_ops; - for (i = 0; i < btf_vlen(st_ops->type); i++) { + type = btf__type_by_id(map->obj->btf, st_ops->type_id); + for (i = 0; i < btf_vlen(type); i++) { struct bpf_program *prog = st_ops->progs[i]; void *kern_data; int prog_fd; @@ -9712,6 +9715,7 @@ static struct bpf_map *find_struct_ops_map_by_offset(struct bpf_object *obj, static int bpf_object__collect_st_ops_relos(struct bpf_object *obj, Elf64_Shdr *shdr, Elf_Data *data) { + const struct btf_type *type; const struct btf_member *member; struct bpf_struct_ops *st_ops; struct bpf_program *prog; @@ -9771,13 +9775,14 @@ static int bpf_object__collect_st_ops_relos(struct bpf_object *obj, } insn_idx = sym->st_value / BPF_INSN_SZ; - member = find_member_by_offset(st_ops->type, moff * 8); + type = btf__type_by_id(btf, st_ops->type_id); + member = find_member_by_offset(type, moff * 8); if (!member) { pr_warn("struct_ops reloc %s: cannot find member at moff %u\n", map->name, moff); return -EINVAL; } - member_idx = member - btf_members(st_ops->type); + member_idx = member - btf_members(type); name = btf__name_by_offset(btf, member->name_off); if (!resolve_func_ptr(btf, member->type, NULL)) { @@ -13758,29 +13763,13 @@ static int populate_skeleton_progs(const struct bpf_object *obj, int bpf_object__open_skeleton(struct bpf_object_skeleton *s, const struct bpf_object_open_opts *opts) { - DECLARE_LIBBPF_OPTS(bpf_object_open_opts, skel_opts, - .object_name = s->name, - ); struct bpf_object *obj; int err; - /* Attempt to preserve opts->object_name, unless overriden by user - * explicitly. Overwriting object name for skeletons is discouraged, - * as it breaks global data maps, because they contain object name - * prefix as their own map name prefix. When skeleton is generated, - * bpftool is making an assumption that this name will stay the same. - */ - if (opts) { - memcpy(&skel_opts, opts, sizeof(*opts)); - if (!opts->object_name) - skel_opts.object_name = s->name; - } - - obj = bpf_object__open_mem(s->data, s->data_sz, &skel_opts); - err = libbpf_get_error(obj); - if (err) { - pr_warn("failed to initialize skeleton BPF object '%s': %d\n", - s->name, err); + obj = bpf_object_open(NULL, s->data, s->data_sz, s->name, opts); + if (IS_ERR(obj)) { + err = PTR_ERR(obj); + pr_warn("failed to initialize skeleton BPF object '%s': %d\n", s->name, err); return libbpf_err(err); }