]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic/linux: update kernel headers from v6.13-rc6
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 6 Jan 2025 14:10:22 +0000 (23:10 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 6 Jan 2025 23:35:14 +0000 (23:35 +0000)
This also removes README and moves the explanation about the header
modification to the script.

src/basic/linux/README [deleted file]
src/basic/linux/bpf.h
src/basic/linux/btrfs.h
src/basic/linux/ethtool.h
src/basic/linux/if_link.h
src/basic/linux/netfilter/nf_tables.h
src/basic/linux/nl80211.h
src/basic/linux/pkt_sched.h
src/basic/linux/rtnetlink.h
src/basic/linux/stddef.h
src/basic/linux/update.sh

diff --git a/src/basic/linux/README b/src/basic/linux/README
deleted file mode 100644 (file)
index 1419051..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-The headers in this directory are from kernel v6.10-rc1 (1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0),
-and the following modifications are applied:
-- auto_dev-ioctl.h: set AUTOFS_DEV_IOCTL_VERSION_MINOR to 0
-- btrfs.h: guard linux/fs.h include to avoid conflict with glibc 2.36
-- dm-ioctl.h: set DM_VERSION_MINOR to 27
-- ethtool.h: add casts in ethtool_cmd_speed()
index aa381a3d982da5f193c278479f16550647616bd3..5abdd4fb9522bdf3fa7da964d2b1952405cd68c8 100644 (file)
@@ -1116,6 +1116,7 @@ enum bpf_attach_type {
        BPF_NETKIT_PRIMARY,
        BPF_NETKIT_PEER,
        BPF_TRACE_KPROBE_SESSION,
+       BPF_TRACE_UPROBE_SESSION,
        __MAX_BPF_ATTACH_TYPE
 };
 
@@ -1973,6 +1974,8 @@ union bpf_attr {
  *             program.
  *     Return
  *             The SMP id of the processor running the program.
+ *     Attributes
+ *             __bpf_fastcall
  *
  * long bpf_skb_store_bytes(struct sk_buff *skb, u32 offset, const void *from, u32 len, u64 flags)
  *     Description
@@ -3104,10 +3107,6 @@ union bpf_attr {
  *             with the **CONFIG_BPF_KPROBE_OVERRIDE** configuration
  *             option, and in this case it only works on functions tagged with
  *             **ALLOW_ERROR_INJECTION** in the kernel code.
- *
- *             Also, the helper is only available for the architectures having
- *             the CONFIG_FUNCTION_ERROR_INJECTION option. As of this writing,
- *             x86 architecture is the only one to support this feature.
  *     Return
  *             0
  *
@@ -5372,7 +5371,7 @@ union bpf_attr {
  *             Currently, the **flags** must be 0. Currently, nr_loops is
  *             limited to 1 << 23 (~8 million) loops.
  *
- *             long (\*callback_fn)(u32 index, void \*ctx);
+ *             long (\*callback_fn)(u64 index, void \*ctx);
  *
  *             where **index** is the current index in the loop. The index
  *             is zero-indexed.
index 265093c125f912b47180c6232b6bf218ec571f52..c00a5b41f487418ae2153393651f11b002e96c41 100644 (file)
@@ -1049,6 +1049,29 @@ struct btrfs_ioctl_encoded_io_args {
 #define BTRFS_ENCODED_IO_ENCRYPTION_NONE 0
 #define BTRFS_ENCODED_IO_ENCRYPTION_TYPES 1
 
+/*
+ * Wait for subvolume cleaning process. This queries the kernel queue and it
+ * can change between the calls.
+ *
+ * - FOR_ONE   - specify the subvolid
+ * - FOR_QUEUED - wait for all currently queued
+ * - COUNT     - count number of queued
+ * - PEEK_FIRST - read which is the first in the queue (to be cleaned or being
+ *               cleaned already), or 0 if the queue is empty
+ * - PEEK_LAST  - read the last subvolid in the queue, or 0 if the queue is empty
+ */
+struct btrfs_ioctl_subvol_wait {
+       __u64 subvolid;
+       __u32 mode;
+       __u32 count;
+};
+
+#define BTRFS_SUBVOL_SYNC_WAIT_FOR_ONE         (0)
+#define BTRFS_SUBVOL_SYNC_WAIT_FOR_QUEUED      (1)
+#define BTRFS_SUBVOL_SYNC_COUNT                        (2)
+#define BTRFS_SUBVOL_SYNC_PEEK_FIRST           (3)
+#define BTRFS_SUBVOL_SYNC_PEEK_LAST            (4)
+
 /* Error codes as returned by the kernel */
 enum btrfs_err_code {
        BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1,
@@ -1181,6 +1204,8 @@ enum btrfs_err_code {
                                    struct btrfs_ioctl_encoded_io_args)
 #define BTRFS_IOC_ENCODED_WRITE _IOW(BTRFS_IOCTL_MAGIC, 64, \
                                     struct btrfs_ioctl_encoded_io_args)
+#define BTRFS_IOC_SUBVOL_SYNC_WAIT _IOW(BTRFS_IOCTL_MAGIC, 65, \
+                                       struct btrfs_ioctl_subvol_wait)
 
 #ifdef __cplusplus
 }
index a32293ba206ee3c0b4fc79449f804e2eafd1e42c..b26d7674bd43e60fd3cd91cff9facc6f978524d1 100644 (file)
@@ -2524,6 +2524,11 @@ struct ethtool_link_settings {
        __u8    master_slave_state;
        __u8    rate_matching;
        __u32   reserved[7];
+       /* Linux builds with -Wflex-array-member-not-at-end but does
+        * not use the "link_mode_masks" member. Leave it defined for
+        * userspace for now, and when userspace wants to start using
+        * -Wfamnae, we'll need a new solution.
+        */
        __u32   link_mode_masks[];
        /* layout of link_mode_masks fields:
         * __u32 map_supported[link_mode_masks_nwords];
index 987efeddc30e987e1fd1b2d39dfc2024c644645f..be6cd764adf7447045f9cdd542a59f7681299409 100644 (file)
@@ -377,6 +377,7 @@ enum {
        IFLA_GSO_IPV4_MAX_SIZE,
        IFLA_GRO_IPV4_MAX_SIZE,
        IFLA_DPLL_PIN,
+       IFLA_MAX_PACING_OFFLOAD_HORIZON,
        __IFLA_MAX
 };
 
@@ -1290,6 +1291,19 @@ enum netkit_mode {
        NETKIT_L3,
 };
 
+/* NETKIT_SCRUB_NONE leaves clearing skb->{mark,priority} up to
+ * the BPF program if attached. This also means the latter can
+ * consume the two fields if they were populated earlier.
+ *
+ * NETKIT_SCRUB_DEFAULT zeroes skb->{mark,priority} fields before
+ * invoking the attached BPF program when the peer device resides
+ * in a different network namespace. This is the default behavior.
+ */
+enum netkit_scrub {
+       NETKIT_SCRUB_NONE,
+       NETKIT_SCRUB_DEFAULT,
+};
+
 enum {
        IFLA_NETKIT_UNSPEC,
        IFLA_NETKIT_PEER_INFO,
@@ -1297,6 +1311,8 @@ enum {
        IFLA_NETKIT_POLICY,
        IFLA_NETKIT_PEER_POLICY,
        IFLA_NETKIT_MODE,
+       IFLA_NETKIT_SCRUB,
+       IFLA_NETKIT_PEER_SCRUB,
        __IFLA_NETKIT_MAX,
 };
 #define IFLA_NETKIT_MAX        (__IFLA_NETKIT_MAX - 1)
@@ -1940,6 +1956,7 @@ struct ifla_rmnet_flags {
 enum {
        IFLA_MCTP_UNSPEC,
        IFLA_MCTP_NET,
+       IFLA_MCTP_PHYS_BINDING,
        __IFLA_MCTP_MAX,
 };
 
index 9e9079321380ab7a302338d590309a0b6982c060..49c944e78463f3039c59848af4b1599125956485 100644 (file)
@@ -564,16 +564,26 @@ enum nft_immediate_attributes {
 /**
  * enum nft_bitwise_ops - nf_tables bitwise operations
  *
- * @NFT_BITWISE_BOOL: mask-and-xor operation used to implement NOT, AND, OR and
- *                    XOR boolean operations
+ * @NFT_BITWISE_MASK_XOR: mask-and-xor operation used to implement NOT, AND, OR
+ *                        and XOR boolean operations
  * @NFT_BITWISE_LSHIFT: left-shift operation
  * @NFT_BITWISE_RSHIFT: right-shift operation
+ * @NFT_BITWISE_AND: and operation
+ * @NFT_BITWISE_OR: or operation
+ * @NFT_BITWISE_XOR: xor operation
  */
 enum nft_bitwise_ops {
-       NFT_BITWISE_BOOL,
+       NFT_BITWISE_MASK_XOR,
        NFT_BITWISE_LSHIFT,
        NFT_BITWISE_RSHIFT,
+       NFT_BITWISE_AND,
+       NFT_BITWISE_OR,
+       NFT_BITWISE_XOR,
 };
+/*
+ * Old name for NFT_BITWISE_MASK_XOR.  Retained for backwards-compatibility.
+ */
+#define NFT_BITWISE_BOOL NFT_BITWISE_MASK_XOR
 
 /**
  * enum nft_bitwise_attributes - nf_tables bitwise expression netlink attributes
@@ -586,6 +596,7 @@ enum nft_bitwise_ops {
  * @NFTA_BITWISE_OP: type of operation (NLA_U32: nft_bitwise_ops)
  * @NFTA_BITWISE_DATA: argument for non-boolean operations
  *                     (NLA_NESTED: nft_data_attributes)
+ * @NFTA_BITWISE_SREG2: second source register (NLA_U32: nft_registers)
  *
  * The bitwise expression supports boolean and shift operations.  It implements
  * the boolean operations by performing the following operation:
@@ -609,6 +620,7 @@ enum nft_bitwise_attributes {
        NFTA_BITWISE_XOR,
        NFTA_BITWISE_OP,
        NFTA_BITWISE_DATA,
+       NFTA_BITWISE_SREG2,
        __NFTA_BITWISE_MAX
 };
 #define NFTA_BITWISE_MAX       (__NFTA_BITWISE_MAX - 1)
index f97f5adc8d51868e7d6329c1ac17f107be0c413e..6d11437596b9109f9dc320cf7fa8978233cb24f2 100644 (file)
@@ -2868,6 +2868,9 @@ enum nl80211_commands {
  *     nested item, it contains attributes defined in
  *     &enum nl80211_if_combination_attrs.
  *
+ * @NL80211_ATTR_VIF_RADIO_MASK: Bitmask of allowed radios (u32).
+ *     A value of 0 means all radios.
+ *
  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3416,6 +3419,8 @@ enum nl80211_attrs {
        NL80211_ATTR_WIPHY_RADIOS,
        NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS,
 
+       NL80211_ATTR_VIF_RADIO_MASK,
+
        /* add attributes here, update the policy in nl80211.c */
 
        __NL80211_ATTR_AFTER_LAST,
@@ -4698,6 +4703,7 @@ enum nl80211_survey_info {
  *     overrides all other flags.
  * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address
  *     and ACK incoming unicast packets.
+ * @NL80211_MNTR_FLAG_SKIP_TX: do not pass local tx packets
  *
  * @__NL80211_MNTR_FLAG_AFTER_LAST: internal use
  * @NL80211_MNTR_FLAG_MAX: highest possible monitor flag
@@ -4710,6 +4716,7 @@ enum nl80211_mntr_flags {
        NL80211_MNTR_FLAG_OTHER_BSS,
        NL80211_MNTR_FLAG_COOK_FRAMES,
        NL80211_MNTR_FLAG_ACTIVE,
+       NL80211_MNTR_FLAG_SKIP_TX,
 
        /* keep last */
        __NL80211_MNTR_FLAG_AFTER_LAST,
@@ -8031,6 +8038,8 @@ enum nl80211_ap_settings_flags {
  * @NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION: Supported interface
  *     combination for this radio. Attribute may be present multiple times
  *     and contains attributes defined in &enum nl80211_if_combination_attrs.
+ * @NL80211_WIPHY_RADIO_ATTR_ANTENNA_MASK: bitmask (u32) of antennas
+ *     connected to this radio.
  *
  * @__NL80211_WIPHY_RADIO_ATTR_LAST: Internal
  * @NL80211_WIPHY_RADIO_ATTR_MAX: Highest attribute
@@ -8041,6 +8050,7 @@ enum nl80211_wiphy_radio_attrs {
        NL80211_WIPHY_RADIO_ATTR_INDEX,
        NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE,
        NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION,
+       NL80211_WIPHY_RADIO_ATTR_ANTENNA_MASK,
 
        /* keep last */
        __NL80211_WIPHY_RADIO_ATTR_LAST,
index a3cd0c2dc9956f8c873f35c7b33b2bcf93feb2f1..25a9a47001cdde59cf052ea658ba1ac26f4c34e8 100644 (file)
@@ -836,6 +836,8 @@ enum {
 
        TCA_FQ_WEIGHTS,         /* Weights for each band */
 
+       TCA_FQ_OFFLOAD_HORIZON, /* dequeue paced packets within this horizon immediately (us units) */
+
        __TCA_FQ_MAX
 };
 
index 4e6c8e14cc300a5e14bfe06481bc349de0f9bb6e..1cb71e76208fcfe3a3a90a57c6f3a5af08a95e69 100644 (file)
@@ -174,7 +174,7 @@ enum {
 #define RTM_GETLINKPROP        RTM_GETLINKPROP
 
        RTM_NEWVLAN = 112,
-#define RTM_NEWNVLAN   RTM_NEWVLAN
+#define RTM_NEWVLAN    RTM_NEWVLAN
        RTM_DELVLAN,
 #define RTM_DELVLAN    RTM_DELVLAN
        RTM_GETVLAN,
index 96aa341942b05003e605c05d69bc68b0eb528b2e..e1416f793738f56beb5b47447f1c422eb103da72 100644 (file)
@@ -8,6 +8,13 @@
 #define __always_inline __inline__
 #endif
 
+/* Not all C++ standards support type declarations inside an anonymous union */
+#ifndef __cplusplus
+#define __struct_group_tag(TAG)                TAG
+#else
+#define __struct_group_tag(TAG)
+#endif
+
 /**
  * __struct_group() - Create a mirrored named and anonyomous struct
  *
  * and size: one anonymous and one named. The former's members can be used
  * normally without sub-struct naming, and the latter can be used to
  * reason about the start, end, and size of the group of struct members.
- * The named struct can also be explicitly tagged for layer reuse, as well
- * as both having struct attributes appended.
+ * The named struct can also be explicitly tagged for layer reuse (C only),
+ * as well as both having struct attributes appended.
  */
 #define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
        union { \
                struct { MEMBERS } ATTRS; \
-               struct TAG { MEMBERS } ATTRS NAME; \
+               struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
        } ATTRS
 
 #ifdef __cplusplus
index d5ae26312c91511c6421eee4a7f7cf1212c16207..6c1732523792e3d0779b5413e7873dbe0bdaba00 100755 (executable)
@@ -18,16 +18,20 @@ for i in *.h */*.h; do
 
     case "$i" in
         auto_dev-ioctl.h)
+            # set AUTOFS_DEV_IOCTL_VERSION_MINOR to 0
             sed -r -i '/^#define[[:space:]]+AUTOFS_DEV_IOCTL_VERSION_MINOR/ s/[0-9]+/0/' "$i"
             ;;
         btrfs.h)
+            # guard linux/fs.h include to avoid conflict with glibc 2.36
             sed -r -i 's/^(#include <linux\/fs\.h>)/#if WANT_LINUX_FS_H\n\1\n#endif/' "$i"
             ;;
-        ethtool.h)
-            sed -r -i '/return (ep->speed_hi << 16) | ep->speed;/ s/return .*;/return ((__u32) ep->speed_hi << 16) | (__u32) ep->speed;/' "$i"
-            ;;
         dm-ioctl.h)
+            # set DM_VERSION_MINOR to 27
             sed -r -i '/^#define[[:space:]]+DM_VERSION_MINOR/ s/[0-9]+/27/' "$i"
             ;;
+        ethtool.h)
+            # add casts in ethtool_cmd_speed()
+            sed -r -i '/return (ep->speed_hi << 16) | ep->speed;/ s/return .*;/return ((__u32) ep->speed_hi << 16) | (__u32) ep->speed;/' "$i"
+            ;;
     esac
 done