include: update Linux kernel headers from v7.3-rc1

This commit is contained in:
Yu Watanabe
2026-08-31 19:43:10 +09:00
parent d1697c4ff8
commit 6ce2db8dc2
15 changed files with 197 additions and 37 deletions
+105 -12
View File
@@ -3038,8 +3038,34 @@ union bpf_attr {
*
* * **BPF_F_ADJ_ROOM_DECAP_L3_IPV4**,
* **BPF_F_ADJ_ROOM_DECAP_L3_IPV6**:
* Indicate the new IP header version after decapsulating the outer
* IP header. Used when the inner and outer IP versions are different.
* Indicate the new IP header version after decapsulating the
* outer IP header. Used when the inner and outer IP versions
* are different. These flags only trigger a protocol change
* without clearing any tunnel-specific GSO flags.
*
* * **BPF_F_ADJ_ROOM_DECAP_L4_GRE**:
* Clear GRE tunnel GSO flags (SKB_GSO_GRE and SKB_GSO_GRE_CSUM)
* when decapsulating a GRE tunnel.
*
* * **BPF_F_ADJ_ROOM_DECAP_L4_UDP**:
* Clear UDP tunnel GSO flags (SKB_GSO_UDP_TUNNEL and
* SKB_GSO_UDP_TUNNEL_CSUM) when decapsulating a UDP tunnel.
*
* * **BPF_F_ADJ_ROOM_DECAP_IPXIP4**:
* Clear IPIP/SIT tunnel GSO flag (SKB_GSO_IPXIP4) when decapsulating
* a tunnel with an outer IPv4 header (IPv4-in-IPv4 or IPv6-in-IPv4).
*
* * **BPF_F_ADJ_ROOM_DECAP_IPXIP6**:
* Clear IPv6 encapsulation tunnel GSO flag (SKB_GSO_IPXIP6) when
* decapsulating a tunnel with an outer IPv6 header (IPv6-in-IPv6
* or IPv4-in-IPv6).
*
* When using the decapsulation flags above, the skb->encapsulation
* flag is automatically cleared if all tunnel-specific GSO flags
* (SKB_GSO_UDP_TUNNEL, SKB_GSO_UDP_TUNNEL_CSUM, SKB_GSO_GRE,
* SKB_GSO_GRE_CSUM, SKB_GSO_IPXIP4, SKB_GSO_IPXIP6) have been
* removed from the packet. This handles cases where all tunnel
* layers have been decapsulated.
*
* A call to this helper is susceptible to change the underlying
* packet buffer. Therefore, at load time, all checks on pointers
@@ -3532,6 +3558,47 @@ union bpf_attr {
* Use the mark present in *params*->mark for the fib lookup.
* This option should not be used with BPF_FIB_LOOKUP_DIRECT,
* as it only has meaning for full lookups.
* **BPF_FIB_LOOKUP_VLAN**
* If the fib lookup resolves to a VLAN device whose
* parent is a real (non-VLAN) device, set
* *params*->h_vlan_proto and *params*->h_vlan_TCI from
* the VLAN device and replace *params*->ifindex with the
* parent's ifindex. *params*->h_vlan_TCI carries the VID
* only, with PCP and DEI bits zero; a consumer wanting to
* set egress priority writes PCP itself. *params*->smac is
* the VLAN device's own address, which can differ from the
* parent's. Only the immediate parent is resolved; if it
* is itself a VLAN device (QinQ) or in another namespace,
* the egress cannot be reduced to a physical device plus
* one tag and the lookup returns
* **BPF_FIB_LKUP_RET_VLAN_FAILURE** with *params*->ifindex
* left at the input. To obtain the VLAN device's own
* ifindex, repeat the lookup without
* **BPF_FIB_LOOKUP_VLAN**, re-initializing *params*
* first: output fields overwrite the inputs they share
* storage with. The swap and the vlan fields
* are written only on success; other output fields keep
* the helper's existing behaviour, so a frag-needed result
* still reports the route mtu in *params*->mtu_result.
* This flag is only valid for XDP programs; tc programs
* receive -EINVAL since they can redirect to the VLAN
* device directly.
* **BPF_FIB_LOOKUP_VLAN_INPUT**
* Treat *params*->h_vlan_proto and *params*->h_vlan_TCI
* as an input VLAN tag and run the lookup as if ingress
* had happened on the VLAN subinterface carrying that tag
* on *params*->ifindex. The VID is the low 12 bits of
* *params*->h_vlan_TCI; *params*->h_vlan_proto must be
* ETH_P_8021Q or ETH_P_8021AD in network byte order, else
* **-EINVAL**. If *params*->ifindex is itself a VLAN
* device, its inner (QinQ) subinterface is matched; for a
* bond or team, pass the master's ifindex. An unmatched
* tag, a down device, or one in another namespace returns
* **BPF_FIB_LKUP_RET_NOT_FWDED**, mirroring real ingress.
* A VID of 0 is looked up literally, so do not set this
* flag for priority-tagged frames. Cannot be combined with
* **BPF_FIB_LOOKUP_TBID** or **BPF_FIB_LOOKUP_OUTPUT**
* (returns **-EINVAL**).
*
* *ctx* is either **struct xdp_md** for XDP programs or
* **struct sk_buff** tc cls_act programs.
@@ -4694,6 +4761,7 @@ union bpf_attr {
* * **BPF_RB_RING_SIZE**: The size of ring buffer.
* * **BPF_RB_CONS_POS**: Consumer position (can wrap around).
* * **BPF_RB_PROD_POS**: Producer(s) position (can wrap around).
* * **BPF_RB_OVERWRITE_POS**: Overwrite position (can wrap around).
*
* Data returned is just a momentary snapshot of actual values
* and could be inaccurate, so this facility should be used to
@@ -5079,17 +5147,19 @@ union bpf_attr {
* Description
* Redirect the packet to another net device of index *ifindex*.
* This helper is somewhat similar to **bpf_redirect**\ (), except
* that the redirection happens to the *ifindex*' peer device and
* the netns switch takes place from ingress to ingress without
* going through the CPU's backlog queue.
* that the redirection happens to the *ifindex*' peer device. If
* *flags* is 0, the netns switch takes place from ingress to
* ingress without going through the CPU's backlog queue. If the
* **BPF_F_EGRESS** flag is provided then redirection happens in
* the egress direction of the peer device.
*
* *skb*\ **->mark** and *skb*\ **->tstamp** are not cleared during
* the netns switch.
*
* The *flags* argument is reserved and must be 0. The helper is
* currently only supported for tc BPF program types at the
* ingress hook and for veth and netkit target device types. The
* peer device must reside in a different network namespace.
* If the *flags* argument is 0, the helper is currently only
* supported for tc BPF program types at the ingress hook and for
* veth and netkit target device types. The peer device must reside
* in a different network namespace.
* Return
* The helper returns **TC_ACT_REDIRECT** on success or
* **TC_ACT_SHOT** on error.
@@ -6239,7 +6309,7 @@ enum {
};
/* BPF_FUNC_skb_adjust_room flags. */
enum {
enum bpf_adj_room_flags {
BPF_F_ADJ_ROOM_FIXED_GSO = (1ULL << 0),
BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = (1ULL << 1),
BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = (1ULL << 2),
@@ -6249,6 +6319,10 @@ enum {
BPF_F_ADJ_ROOM_ENCAP_L2_ETH = (1ULL << 6),
BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = (1ULL << 7),
BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = (1ULL << 8),
BPF_F_ADJ_ROOM_DECAP_L4_GRE = (1ULL << 9),
BPF_F_ADJ_ROOM_DECAP_L4_UDP = (1ULL << 10),
BPF_F_ADJ_ROOM_DECAP_IPXIP4 = (1ULL << 11),
BPF_F_ADJ_ROOM_DECAP_IPXIP6 = (1ULL << 12),
};
enum {
@@ -6336,9 +6410,10 @@ enum {
/* Flags for bpf_redirect and bpf_redirect_map helpers */
enum {
BPF_F_INGRESS = (1ULL << 0), /* used for skb path */
BPF_F_EGRESS = (1ULL << 1), /* used for skb path */
BPF_F_BROADCAST = (1ULL << 3), /* used for XDP path */
BPF_F_EXCLUDE_INGRESS = (1ULL << 4), /* used for XDP path */
#define BPF_F_REDIRECT_FLAGS (BPF_F_INGRESS | BPF_F_BROADCAST | BPF_F_EXCLUDE_INGRESS)
#define BPF_F_REDIRECT_FLAGS (BPF_F_INGRESS | BPF_F_EGRESS | BPF_F_BROADCAST | BPF_F_EXCLUDE_INGRESS)
};
#define __bpf_md_ptr(type, name) \
@@ -6839,6 +6914,15 @@ struct bpf_link_info {
__u32 flags;
__u32 pid;
} uprobe_multi;
struct {
__u32 attach_type;
__u32 count; /* in/out: tracing_multi target count */
__u32 btf_obj_id;
__u32 :32;
__aligned_u64 ids;
__aligned_u64 addrs;
__aligned_u64 cookies;
} tracing_multi;
struct {
__u32 type; /* enum bpf_perf_event_type */
__u32 :32;
@@ -7327,6 +7411,8 @@ enum {
BPF_FIB_LOOKUP_TBID = (1U << 3),
BPF_FIB_LOOKUP_SRC = (1U << 4),
BPF_FIB_LOOKUP_MARK = (1U << 5),
BPF_FIB_LOOKUP_VLAN = (1U << 6),
BPF_FIB_LOOKUP_VLAN_INPUT = (1U << 7),
};
enum {
@@ -7340,6 +7426,7 @@ enum {
BPF_FIB_LKUP_RET_NO_NEIGH, /* no neighbor entry for nh */
BPF_FIB_LKUP_RET_FRAG_NEEDED, /* fragmentation required to fwd */
BPF_FIB_LKUP_RET_NO_SRC_ADDR, /* failed to derive IP src addr */
BPF_FIB_LKUP_RET_VLAN_FAILURE, /* VLAN egress, parent unresolvable */
};
struct bpf_fib_lookup {
@@ -7393,7 +7480,13 @@ struct bpf_fib_lookup {
union {
struct {
/* output */
/*
* output with BPF_FIB_LOOKUP_VLAN: set from the
* resolved egress VLAN device (see the flag); zeroed
* on other successful lookups. input with
* BPF_FIB_LOOKUP_VLAN_INPUT: the VLAN tag to scope
* the lookup by.
*/
__be16 h_vlan_proto;
__be16 h_vlan_TCI;
};
+6 -6
View File
@@ -102,9 +102,9 @@ struct vfs_ns_cap_data {
/**
** POSIX-draft defined capabilities.
**/
/*
* POSIX-draft defined capabilities.
*/
/* In a system with the [_POSIX_CHOWN_RESTRICTED] option defined, this
overrides the restriction of changing file ownership and group
@@ -157,9 +157,9 @@ struct vfs_ns_cap_data {
#define CAP_SETUID 7
/**
** Linux-specific capabilities
**/
/*
* Linux-specific capabilities
*/
/* Without VFS support for capabilities:
* Transfer any capability in your permitted set to any pid,
+2 -2
View File
@@ -13,7 +13,7 @@
* leave it unchanged in asm.
*/
#ifdef __ASSEMBLY__
#ifdef __ASSEMBLER__
#define _AC(X,Y) X
#define _AT(T,X) X
#else
@@ -28,7 +28,7 @@
#define _BITUL(x) (_UL(1) << (x))
#define _BITULL(x) (_ULL(1) << (x))
#if !defined(__ASSEMBLY__)
#if !defined(__ASSEMBLER__)
/*
* Missing __asm__ support
*
+6
View File
@@ -2013,7 +2013,13 @@ enum ethtool_link_mode_bit_indices {
ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39,
ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40,
ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41,
/* Despite the "baseCR" in 10000baseCR, this is not an IEEE 802.3 baseCR
* It represents SFF-8431 Appendix-E SFP+ Direct Attach (10G-SFI-DA).
* The name is kept as-is for uAPI backward compatibility.
*/
ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42,
ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43,
ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44,
ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45,
+1
View File
@@ -467,6 +467,7 @@ typedef int __bitwise __kernel_rwf_t;
#define PAGE_IS_HUGE (1 << 6)
#define PAGE_IS_SOFT_DIRTY (1 << 7)
#define PAGE_IS_GUARD (1 << 8)
#define PAGE_IS_ACCESSED (1 << 9)
/*
* struct page_region - Page region with flags
-1
View File
@@ -30,7 +30,6 @@
#define FSCRYPT_MODE_SM4_CTS 8
#define FSCRYPT_MODE_ADIANTUM 9
#define FSCRYPT_MODE_AES_256_HCTR2 10
/* If adding a mode number > 10, update FSCRYPT_MODE_MAX in fscrypt_private.h */
/*
* Legacy policy version; ad-hoc KDF and no key verification.
+2 -2
View File
@@ -35,7 +35,7 @@
#define LMI_CCITT 3 /* ITU-T Annex A */
#define LMI_CISCO 4 /* The "original" LMI, aka Gang of Four */
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLER__
typedef struct {
unsigned int clock_rate; /* bits per second */
@@ -90,5 +90,5 @@ typedef struct {
/* PPP doesn't need any info now - supply length = 0 to ioctl */
#endif /* __ASSEMBLY__ */
#endif /* __ASSEMBLER__ */
#endif /* __HDLC_IOCTL_H__ */
+1
View File
@@ -36,6 +36,7 @@ enum {
IFA_RT_PRIORITY, /* u32, priority/metric for prefix route */
IFA_TARGET_NETNSID,
IFA_PROTO, /* u8, address protocol */
IFA_MC_USERS, /* u32, multicast group users */
__IFA_MAX,
};
+4
View File
@@ -69,6 +69,10 @@
#define IFF_NAPI_FRAGS 0x0020
/* Used in TUNSETIFF to bring up tun/tap without carrier */
#define IFF_NO_CARRIER 0x0040
/* Stop the queue instead of dropping when the internal ring is full, so an
* attached qdisc applies backpressure instead of being bypassed.
*/
#define IFF_BACKPRESSURE 0x0080
#define IFF_NO_PI 0x1000
/* This flag has no real effect */
#define IFF_ONE_QUEUE 0x2000
+1
View File
@@ -105,5 +105,6 @@
#define PID_FS_MAGIC 0x50494446 /* "PIDF" */
#define GUEST_MEMFD_MAGIC 0x474d454d /* "GMEM" */
#define NULL_FS_MAGIC 0x4E554C4C /* "NULL" */
#define FAIL_FS_MAGIC 0x4641494C /* "FAIL" */
#endif /* __LINUX_MAGIC_H__ */
+1 -1
View File
@@ -16,7 +16,7 @@
*/
/* Policies */
enum {
enum mempolicy_mode {
MPOL_DEFAULT,
MPOL_PREFERRED,
MPOL_BIND,
+3
View File
@@ -83,6 +83,9 @@ enum {
/* u32; read-only; whether any driver collects HW stats */
NHA_HW_STATS_USED,
/* be16; UDP destination port for an fdb nexthop (e.g. VXLAN) */
NHA_DST_PORT,
__NHA_MAX,
};
+36 -10
View File
@@ -922,13 +922,15 @@
* and wasn't already in a 4-addr VLAN. The event will be sent similarly
* to the %NL80211_CMD_UNEXPECTED_FRAME event, to the same listener.
*
* @NL80211_CMD_PROBE_CLIENT: Probe an associated station on an AP interface
* by sending a null data frame to it and reporting when the frame is
* acknowledged. This is used to allow timing out inactive clients. Uses
* %NL80211_ATTR_IFINDEX and %NL80211_ATTR_MAC. The command returns a
* direct reply with an %NL80211_ATTR_COOKIE that is later used to match
* up the event with the request. The event includes the same data and
* has %NL80211_ATTR_ACK set if the frame was ACKed.
* @NL80211_CMD_PROBE_PEER: Probe a connected peer by sending a null data
* frame and reporting when the frame is acknowledged.
* In AP/GO mode, %NL80211_ATTR_MAC is required to identify the client.
* In STA/P2P-client mode, %NL80211_ATTR_MAC must be omitted (the AP is
* implied); the driver must advertise %NL80211_EXT_FEATURE_PROBE_AP.
* The command returns a direct reply with an %NL80211_ATTR_COOKIE that
* is later used to match up the event with the request. The event
* includes the same data and has %NL80211_ATTR_ACK set if the frame
* was ACKed.
*
* @NL80211_CMD_REGISTER_BEACONS: Register this socket to receive beacons from
* other BSSes when any interfaces are in AP mode. This helps implement
@@ -1558,7 +1560,7 @@ enum nl80211_commands {
NL80211_CMD_UNEXPECTED_FRAME,
NL80211_CMD_PROBE_CLIENT,
NL80211_CMD_PROBE_PEER,
NL80211_CMD_REGISTER_BEACONS,
@@ -1729,6 +1731,7 @@ enum nl80211_commands {
#define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG
#define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG
#define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE
#define NL80211_CMD_PROBE_CLIENT NL80211_CMD_PROBE_PEER
/**
* enum nl80211_attrs - nl80211 netlink attributes
@@ -3165,6 +3168,23 @@ enum nl80211_commands {
* @NL80211_ATTR_NPCA_PRIMARY_FREQ: NPCA primary channel (u32)
* @NL80211_ATTR_NPCA_PUNCT_BITMAP: NPCA puncturing bitmap (u32)
*
* @NL80211_ATTR_STA_DUMP_LINK_STATS: Request flag for %NL80211_CMD_GET_STATION
* (dump mode only). When set on an MLD station, the dump produces two
* %NL80211_CMD_NEW_STATION messages per station per dump call:
*
* 1. An aggregated-stats message whose top-level %NL80211_ATTR_STA_INFO
* contains MLO-combined statistics (same content as a dump without
* this flag).
*
* 2. For each active link, a per-link message containing
* %NL80211_ATTR_MLO_LINKS with a single link entry. Each entry holds
* %NL80211_ATTR_MLO_LINK_ID, the link-specific %NL80211_ATTR_MAC,
* and %NL80211_ATTR_STA_INFO with per-link statistics (see
* &enum nl80211_sta_info).
*
* The aggregated message always precedes the per-link messages for the
* same station within a dump sequence.
*
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3763,6 +3783,8 @@ enum nl80211_attrs {
NL80211_ATTR_NPCA_PRIMARY_FREQ,
NL80211_ATTR_NPCA_PUNCT_BITMAP,
NL80211_ATTR_STA_DUMP_LINK_STATS,
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
@@ -4474,8 +4496,8 @@ enum nl80211_mpath_info {
* capabilities IE
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as
* defined in HE capabilities IE
* @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),
* given for all 6 GHz band channels
* @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities,
* given for all 6 GHz band channels (binary, element content)
* @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are
* advertised on this band/for this iftype (binary)
* @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC: EHT MAC capabilities as in EHT
@@ -7085,6 +7107,9 @@ enum nl80211_feature_flags {
* LTF key seed via %NL80211_KEY_LTF_SEED. The seed is used to generate
* secure LTF keys for secure LTF measurement sessions.
*
* @NL80211_EXT_FEATURE_PROBE_AP: Driver supports probing the associated AP
* in STA mode using @NL80211_CMD_PROBE_PEER.
*
* @NUM_NL80211_EXT_FEATURES: number of extended features.
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
*/
@@ -7166,6 +7191,7 @@ enum nl80211_ext_feature_index {
NL80211_EXT_FEATURE_IEEE8021X_AUTH,
NL80211_EXT_FEATURE_ROC_ADDR_FILTER,
NL80211_EXT_FEATURE_SET_KEY_LTF_SEED,
NL80211_EXT_FEATURE_PROBE_AP,
/* add new features before the definition below */
NUM_NL80211_EXT_FEATURES,
+4 -3
View File
@@ -90,9 +90,10 @@ enum ns_type {
* struct ns_id_req - namespace ID request structure
* @size: size of this structure
* @spare: reserved for future use
* @filter: filter mask
* @ns_id: last namespace id
* @user_ns_id: owning user namespace ID
* @ns_id: last namespace ID
* @ns_type: bit mask of namespace types to include
* @spare2: reserved for future use
* @user_ns_id: filter on this user namespace ID (or 0)
*
* Structure for passing namespace ID and miscellaneous parameters to
* statns(2) and listns(2).
+25
View File
@@ -399,6 +399,7 @@ enum rtattr_type_t {
RTA_DPORT,
RTA_NH_ID,
RTA_FLOWLABEL,
RTA_DEL_REASON,
__RTA_MAX
};
@@ -407,6 +408,30 @@ enum rtattr_type_t {
#define RTM_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct rtmsg))))
#define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct rtmsg))
/* RTA_DEL_REASON: why the kernel deleted the route. u32.
* Emitted only on RTM_DELROUTE notifications, and only when the deletion
* path records a cause. Absence means either an older kernel or a
* deletion path that does not (yet) record its cause - consumers must
* treat "absent" and "unspec" identically. New causes may be appended.
* Currently only IPv6 deletion paths record a cause.
*
* The attribute is notification-only: the kernel rejects it in
* requests, so a notification must not be echoed back verbatim.
*
* The value space is family-agnostic: a value must never be
* reinterpreted per address family. A cause that only one family can
* produce still gets its own value rather than reusing another
* family's.
*/
enum rt_del_reason {
RT_DEL_REASON_UNSPEC, /* cause not recorded */
RT_DEL_REASON_EXPIRED, /* RTF_EXPIRES lifetime ran out (GC) */
RT_DEL_REASON_RA_WITHDRAWN, /* zero-lifetime RA / PIO / RIO */
__RT_DEL_REASON_MAX
};
#define RT_DEL_REASON_MAX (__RT_DEL_REASON_MAX - 1)
/* RTM_MULTIPATH --- array of struct rtnexthop.
*
* "struct rtnexthop" describes all necessary nexthop information,