]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
include: update kernel headers from v7.1-rc4
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 20 May 2026 19:57:21 +0000 (04:57 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 20 May 2026 22:07:37 +0000 (07:07 +0900)
It seems there is no notable changes to us.

13 files changed:
src/include/uapi/linux/bpf.h
src/include/uapi/linux/btrfs_tree.h
src/include/uapi/linux/const.h
src/include/uapi/linux/ethtool.h
src/include/uapi/linux/fs.h
src/include/uapi/linux/if_link.h
src/include/uapi/linux/input-event-codes.h
src/include/uapi/linux/liveupdate.h
src/include/uapi/linux/mount.h
src/include/uapi/linux/netfilter/nf_tables.h
src/include/uapi/linux/nl80211.h
src/include/uapi/linux/nsfs.h
src/include/uapi/linux/prctl.h

index 14c80da5df87f43cfde6b7c1367e8e6c92a48737..2ae9d05cb4e156bf220c9763991c4260c8a03b9c 100644 (file)
@@ -4645,7 +4645,9 @@ union bpf_attr {
  *     Description
  *             Discard reserved ring buffer sample, pointed to by *data*.
  *             If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification
- *             of new data availability is sent.
+ *             of new data availability is sent. Discarded records remain in
+ *             the ring buffer until consumed by user space, so a later submit
+ *             using adaptive wakeup might not wake up the consumer.
  *             If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification
  *             of new data availability is sent unconditionally.
  *             If **0** is specified in *flags*, an adaptive notification
index 0507f9309523b9d0ed752cd4953ee4e77885d9f9..e7b75f9206ecde012664e026c6b505ebbfac876c 100644 (file)
@@ -1241,7 +1241,8 @@ struct btrfs_free_space_info {
        __le32 flags;
 } __attribute__ ((__packed__));
 
-#define BTRFS_FREE_SPACE_USING_BITMAPS (1ULL << 0)
+#define BTRFS_FREE_SPACE_USING_BITMAPS (1UL << 0)
+#define BTRFS_FREE_SPACE_FLAGS_MASK    (BTRFS_FREE_SPACE_USING_BITMAPS)
 
 #define BTRFS_QGROUP_LEVEL_SHIFT               48
 static __inline__ __u16 btrfs_qgroup_level(__u64 qgroupid)
index 95ede2334204048d49b228284e9fbc1561337a16..c6a9d0c9835cae62a97209ca393ee2b8e930469f 100644 (file)
 
 #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
 
+/*
+ * Divide positive or negative dividend by positive or negative divisor
+ * and round to closest integer. Result is undefined for negative
+ * divisors if the dividend variable type is unsigned and for negative
+ * dividends if the divisor variable type is unsigned.
+ */
+#define __KERNEL_DIV_ROUND_CLOSEST(x, divisor)         \
+({                                                     \
+       __typeof__(x) __x = x;                          \
+       __typeof__(divisor) __d = divisor;              \
+                                                       \
+       (((__typeof__(x))-1) > 0 ||                     \
+        ((__typeof__(divisor))-1) > 0 ||               \
+        (((__x) > 0) == ((__d) > 0))) ?                \
+               (((__x) + ((__d) / 2)) / (__d)) :       \
+               (((__x) - ((__d) / 2)) / (__d));        \
+})
+
 #endif /* _LINUX_CONST_H */
index 5cfcf2b858ee7ea833ede73c1a98c6f5a648d61b..fc439ea218f8616e36a03c00b36546c3a9225eb7 100644 (file)
@@ -225,7 +225,7 @@ enum tunable_id {
        ETHTOOL_ID_UNSPEC,
        ETHTOOL_RX_COPYBREAK,
        ETHTOOL_TX_COPYBREAK,
-       ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
+       ETHTOOL_PFC_PREVENTION_TOUT, /* both pause and pfc, see man ethtool */
        ETHTOOL_TX_COPYBREAK_BUF_SIZE,
        /*
         * Add your fresh new tunable attribute above and remember to update
index 19d04b50e662580fa4ee5b362763d9c67a71f152..6e9a44969f22980cf718cfb951974ddd564f0ca1 100644 (file)
@@ -653,4 +653,16 @@ struct procmap_query {
        __u64 build_id_addr;            /* in */
 };
 
+/*
+ * Shutdown the filesystem.
+ */
+#define FS_IOC_SHUTDOWN _IOR('X', 125, __u32)
+
+/*
+ * Flags for FS_IOC_SHUTDOWN
+ */
+#define FS_SHUTDOWN_FLAGS_DEFAULT      0x0
+#define FS_SHUTDOWN_FLAGS_LOGFLUSH     0x1     /* flush log but not data*/
+#define FS_SHUTDOWN_FLAGS_NOLOGFLUSH   0x2     /* don't flush log nor data */
+
 #endif /* _LINUX_FS_H */
index 2037afbc4b3303862d8de956a8ed1fc17dcac3fe..a8c64be26f2caa7f56f10f5c393f253a05c50547 100644 (file)
@@ -742,6 +742,11 @@ enum in6_addr_gen_mode {
  * @IFLA_BR_FDB_MAX_LEARNED
  *   Set the number of max dynamically learned FDB entries for the current
  *   bridge.
+ *
+ * @IFLA_BR_STP_MODE
+ *   Set the STP mode for the bridge, which controls how the bridge
+ *   selects between userspace and kernel STP. The valid values are
+ *   documented below in the ``BR_STP_MODE_*`` constants.
  */
 enum {
        IFLA_BR_UNSPEC,
@@ -794,11 +799,45 @@ enum {
        IFLA_BR_MCAST_QUERIER_STATE,
        IFLA_BR_FDB_N_LEARNED,
        IFLA_BR_FDB_MAX_LEARNED,
+       IFLA_BR_STP_MODE,
        __IFLA_BR_MAX,
 };
 
 #define IFLA_BR_MAX    (__IFLA_BR_MAX - 1)
 
+/**
+ * DOC: Bridge STP mode values
+ *
+ * @BR_STP_MODE_AUTO
+ *   Default. The kernel invokes the ``/sbin/bridge-stp`` helper to hand
+ *   the bridge to a userspace STP daemon (e.g. mstpd). Only attempted in
+ *   the initial network namespace; in other namespaces this falls back to
+ *   kernel STP.
+ *
+ * @BR_STP_MODE_USER
+ *   Directly enable userspace STP (``BR_USER_STP``) without invoking the
+ *   ``/sbin/bridge-stp`` helper. Works in any network namespace.
+ *   Userspace is responsible for ensuring an STP daemon manages the
+ *   bridge.
+ *
+ * @BR_STP_MODE_KERNEL
+ *   Directly enable kernel STP (``BR_KERNEL_STP``) without invoking the
+ *   helper.
+ *
+ * The mode controls how the bridge selects between userspace and kernel
+ * STP when STP is enabled via ``IFLA_BR_STP_STATE``. It can only be
+ * changed while STP is disabled (``IFLA_BR_STP_STATE`` == 0), returns
+ * ``-EBUSY`` otherwise. The default value is ``BR_STP_MODE_AUTO``.
+ */
+enum br_stp_mode {
+       BR_STP_MODE_AUTO,
+       BR_STP_MODE_USER,
+       BR_STP_MODE_KERNEL,
+       __BR_STP_MODE_MAX
+};
+
+#define BR_STP_MODE_MAX (__BR_STP_MODE_MAX - 1)
+
 struct ifla_bridge_id {
        __u8    prio[2];
        __u8    addr[6]; /* ETH_ALEN */
@@ -1294,6 +1333,11 @@ enum netkit_mode {
        NETKIT_L3,
 };
 
+enum netkit_pairing {
+       NETKIT_DEVICE_PAIR,
+       NETKIT_DEVICE_SINGLE,
+};
+
 /* 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.
@@ -1318,6 +1362,7 @@ enum {
        IFLA_NETKIT_PEER_SCRUB,
        IFLA_NETKIT_HEADROOM,
        IFLA_NETKIT_TAILROOM,
+       IFLA_NETKIT_PAIRING,
        __IFLA_NETKIT_MAX,
 };
 #define IFLA_NETKIT_MAX        (__IFLA_NETKIT_MAX - 1)
@@ -1566,6 +1611,8 @@ enum {
        IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
        IFLA_BOND_SLAVE_PRIO,
        IFLA_BOND_SLAVE_ACTOR_PORT_PRIO,
+       IFLA_BOND_SLAVE_AD_CHURN_ACTOR_STATE,
+       IFLA_BOND_SLAVE_AD_CHURN_PARTNER_STATE,
        __IFLA_BOND_SLAVE_MAX,
 };
 
index 32bc46b55f61192cbdc9f7d433572015ad695676..593fb257ce54bf4e1f0247040a1f8b7491b5062c 100644 (file)
 #define KEY_EPRIVACY_SCREEN_ON         0x252
 #define KEY_EPRIVACY_SCREEN_OFF                0x253
 
+#define KEY_ACTION_ON_SELECTION                0x254   /* AL Action on Selection (HUTRR119) */
+#define KEY_CONTEXTUAL_INSERT          0x255   /* AL Contextual Insertion (HUTRR119) */
+#define KEY_CONTEXTUAL_QUERY           0x256   /* AL Contextual Query (HUTRR119) */
+
 #define KEY_KBDINPUTASSIST_PREV                0x260
 #define KEY_KBDINPUTASSIST_NEXT                0x261
 #define KEY_KBDINPUTASSIST_PREVGROUP           0x262
index 30bc66ee9436a0a052ce038a6418c2998bcd6ace..bef962adbf3ef1b9d5dd4178e6b44b6216869037 100644 (file)
@@ -8,8 +8,8 @@
  * Pasha Tatashin <pasha.tatashin@soleen.com>
  */
 
-#ifndef _UAPI_LIVEUPDATE_H
-#define _UAPI_LIVEUPDATE_H
+#ifndef _LIVEUPDATE_H
+#define _LIVEUPDATE_H
 
 #include <linux/ioctl.h>
 #include <linux/types.h>
@@ -213,4 +213,4 @@ struct liveupdate_session_finish {
 #define LIVEUPDATE_SESSION_FINISH                                      \
        _IO(LIVEUPDATE_IOCTL_TYPE, LIVEUPDATE_CMD_SESSION_FINISH)
 
-#endif /* _UAPI_LIVEUPDATE_H */
+#endif /* _LIVEUPDATE_H */
index 96f2d20e78d64c0fcca521998c06d9f29af5b274..719b46f6d5102ca6a2842ec32a32e21e200eed7a 100644 (file)
@@ -110,6 +110,7 @@ enum fsconfig_command {
  * fsmount() flags.
  */
 #define FSMOUNT_CLOEXEC                0x00000001
+#define FSMOUNT_NAMESPACE      0x00000002      /* Create the mount in a new mount namespace */
 
 /*
  * Mount attributes.
index 45c71f7d21c253421381ab5026d62b5383660a66..1b915e32c99908bb4e8c38b84e262f7862137996 100644 (file)
@@ -46,6 +46,7 @@ enum nft_registers {
 };
 #define NFT_REG_MAX    (__NFT_REG_MAX - 1)
 
+
 #define NFT_REG_SIZE   16
 #define NFT_REG32_SIZE 4
 #define NFT_REG32_COUNT        (NFT_REG32_15 - NFT_REG32_00 + 1)
@@ -884,7 +885,7 @@ enum nft_exthdr_flags {
  * @NFT_EXTHDR_OP_TCPOPT: match against tcp options
  * @NFT_EXTHDR_OP_IPV4: match against ipv4 options
  * @NFT_EXTHDR_OP_SCTP: match against sctp chunks
- * @NFT_EXTHDR_OP_DCCP: match against dccp otions
+ * @NFT_EXTHDR_OP_DCCP: match against dccp options
  */
 enum nft_exthdr_op {
        NFT_EXTHDR_OP_IPV6,
index b63f718509060dd4b7b59e2d6cc2aad280acaa22..3d55bf4be36fe5f55b8e7171c825c476f56c9926 100644 (file)
  * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP
  *     (or GO) interface (i.e. hostapd) to ask for unexpected frames to
  *     implement sending deauth to stations that send unexpected class 3
- *     frames. Also used as the event sent by the kernel when such a frame
- *     is received.
+ *     frames. For NAN_DATA interfaces, this is used to report frames from
+ *     unknown peers (A2 not assigned to any active NDP).
+ *     Also used as the event sent by the kernel when such a frame is received.
  *     For the event, the %NL80211_ATTR_MAC attribute carries the TA and
  *     other attributes like the interface index are present.
  *     If used as the command it must have an interface index and you can
  *     user space that the NAN new cluster has been joined. The cluster ID is
  *     indicated by %NL80211_ATTR_MAC.
  *
+ * @NL80211_CMD_INCUMBENT_SIGNAL_DETECT: Once any incumbent signal is detected
+ *     on the operating channel in 6 GHz band, userspace is notified with the
+ *     signal interference bitmap using
+ *     %NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP. The current channel
+ *     definition is also sent.
+ *
+ * @NL80211_CMD_NAN_SET_LOCAL_SCHED: Set the local NAN schedule. NAN must be
+ *     operational (%NL80211_CMD_START_NAN was executed). Must contain
+ *     %NL80211_ATTR_NAN_TIME_SLOTS and %NL80211_ATTR_NAN_AVAIL_BLOB, but
+ *     %NL80211_ATTR_NAN_CHANNEL is optional (for example in case of a channel
+ *     removal, that channel won't be provided).
+ *     If %NL80211_ATTR_NAN_SCHED_DEFERRED is set, the command is a request
+ *     from the device to perform an announced schedule update. See
+ *     %NL80211_ATTR_NAN_SCHED_DEFERRED for more details.
+ *     If not set, the schedule should be applied immediately.
+ * @NL80211_CMD_NAN_SCHED_UPDATE_DONE: Event sent to user space to notify that
+ *     a deferred local NAN schedule update (requested with
+ *     %NL80211_CMD_NAN_SET_LOCAL_SCHED and %NL80211_ATTR_NAN_SCHED_DEFERRED)
+ *     has been completed. The presence of %NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS
+ *     indicates that the update was successful.
+ * @NL80211_CMD_NAN_SET_PEER_SCHED: Set the peer NAN schedule. NAN
+ *     must be operational (%NL80211_CMD_START_NAN was executed).
+ *     Required attributes: %NL80211_ATTR_MAC (peer NMI address) and
+ *     %NL80211_ATTR_NAN_COMMITTED_DW.
+ *     Optionally, the full schedule can be provided by including all of:
+ *     %NL80211_ATTR_NAN_SEQ_ID, %NL80211_ATTR_NAN_CHANNEL (one or more), and
+ *     %NL80211_ATTR_NAN_PEER_MAPS (see &enum nl80211_nan_peer_map_attrs).
+ *     If any of these three optional attributes is provided, all three must
+ *     be provided.
+ *     Each peer channel must be compatible with at least one local channel
+ *     set by %NL80211_CMD_SET_LOCAL_NAN_SCHED. Different maps must not
+ *     contain compatible channels.
+ *     For single-radio devices (n_radio <= 1), different maps must not
+ *     schedule the same time slot, as the device cannot operate on multiple
+ *     channels simultaneously.
+ *     When updating an existing peer schedule, the full new schedule must be
+ *     provided - partial updates are not supported. The new schedule will
+ *     completely replace the previous one.
+ *     The peer schedule is automatically removed when the NMI station is
+ *     removed.
+ * @NL80211_CMD_NAN_ULW_UPDATE: Notification from the driver to user space
+ *     with the updated ULW blob of the device. User space can use this blob
+ *     to attach to frames sent to peers. This notification contains
+ *     %NL80211_ATTR_NAN_ULW with the ULW blob.
+ * @NL80211_CMD_NAN_CHANNEL_EVAC: Notification to indicate that a NAN
+ *     channel has been evacuated due to resource conflicts with other
+ *     interfaces. This can happen when another interface sharing the channel
+ *     resource with NAN needs to move to a different channel (e.g., channel
+ *     switch or link switch on a BSS interface).
+ *     The notification contains %NL80211_ATTR_NAN_CHANNEL attribute
+ *     identifying the evacuated channel.
+ *     User space may reconfigure the local schedule in response to this
+ *     notification.
  * @NL80211_CMD_MAX: highest used command number
  * @__NL80211_CMD_AFTER_LAST: internal use
  */
@@ -1624,6 +1678,18 @@ enum nl80211_commands {
        NL80211_CMD_NAN_NEXT_DW_NOTIFICATION,
        NL80211_CMD_NAN_CLUSTER_JOINED,
 
+       NL80211_CMD_INCUMBENT_SIGNAL_DETECT,
+
+       NL80211_CMD_NAN_SET_LOCAL_SCHED,
+
+       NL80211_CMD_NAN_SCHED_UPDATE_DONE,
+
+       NL80211_CMD_NAN_SET_PEER_SCHED,
+
+       NL80211_CMD_NAN_ULW_UPDATE,
+
+       NL80211_CMD_NAN_CHANNEL_EVAC,
+
        /* add new commands above here */
 
        /* used to define NL80211_CMD_MAX below */
@@ -2651,7 +2717,8 @@ enum nl80211_commands {
  *      a flow is assigned on each round of the DRR scheduler.
  * @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from
  *     association request when used with NL80211_CMD_NEW_STATION). Can be set
- *     only if %NL80211_STA_FLAG_WME is set.
+ *     only if %NL80211_STA_FLAG_WME is set (except for NAN, which uses WME
+ *     anyway).
  *
  * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include
  *     in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing
@@ -2983,6 +3050,95 @@ enum nl80211_commands {
  * @NL80211_ATTR_DISABLE_UHR: Force UHR capable interfaces to disable
  *     this feature during association. This is a flag attribute.
  *     Currently only supported in mac80211 drivers.
+ * @NL80211_ATTR_NAN_CHANNEL: This is a nested attribute. There can be multiple
+ *     attributes of this type, each one represents a channel definition and
+ *     consists of top-level attributes like %NL80211_ATTR_WIPHY_FREQ.
+ *     When used with %NL80211_CMD_NAN_SET_LOCAL_SCHED, it specifies
+ *     the channel definitions on which the radio needs to operate during
+ *     specific time slots. All of the channel definitions should be mutually
+ *     incompatible. With this command, %NL80211_ATTR_NAN_CHANNEL_ENTRY and
+ *     %NL80211_ATTR_NAN_RX_NSS are mandatory.
+ *     When used with %NL80211_CMD_NAN_SET_PEER_SCHED, it configures the
+ *     peer NAN channels. In that case, the channel definitions can be
+ *     compatible to each other, or even identical just with different RX NSS.
+ *     With this command, %NL80211_ATTR_NAN_CHANNEL_ENTRY and
+ *     %NL80211_ATTR_NAN_RX_NSS are mandatory.
+ *     The number of channels should fit the current configuration of channels
+ *     and the possible interface combinations.
+ *     If an existing NAN channel is changed but the chandef isn't, the
+ *     channel entry must also remain unchanged.
+ *     When used with %NL80211_CMD_NAN_CHANNEL_EVAC, this identifies the
+ *     channels that were evacuated.
+ * @NL80211_ATTR_NAN_CHANNEL_ENTRY: a byte array of 6 bytes. contains the
+ *     Channel Entry as defined in Wi-Fi Aware (TM) 4.0 specification Table
+ *     100 (Channel Entry format for the NAN Availability attribute).
+ * @NL80211_ATTR_NAN_RX_NSS: (u8) RX NSS used for a NAN channel. This is
+ *     used with %NL80211_ATTR_NAN_CHANNEL when configuring NAN channels with
+ *     %NL80211_CMD_NAN_SET_LOCAL_SCHED or %NL80211_CMD_NAN_SET_PEER_SCHED.
+ * @NL80211_ATTR_NAN_TIME_SLOTS: an array of u8 values and 32 cells. each value
+ *     maps a time slot to the chandef on which the radio should operate on in
+ *     that time. %NL80211_NAN_SCHED_NOT_AVAIL_SLOT indicates unscheduled.
+ *     The chandef is represented using its index, where the index is the
+ *     sequential number of the %NL80211_ATTR_NAN_CHANNEL attribute within all
+ *     the attributes of this type.
+ *     Each slots spans over 16TUs, hence the entire schedule spans over
+ *     512TUs. Other slot durations and periods are currently not supported.
+ * @NL80211_ATTR_NAN_AVAIL_BLOB: (Binary) The NAN Availability attribute blob,
+ *     including the attribute header, as defined in Wi-Fi Aware (TM) 4.0
+ *     specification Table 93 (NAN Availability attribute format). Required with
+ *     %NL80211_CMD_NAN_SET_LOCAL_SCHED to provide the raw NAN Availability
+ *     attribute. Used by the device to publish Schedule Update NAFs.
+ * @NL80211_ATTR_NAN_SCHED_DEFERRED: Flag attribute used with
+ *     %NL80211_CMD_NAN_SET_LOCAL_SCHED. When present, the command is a
+ *     request from the device to perform an announced schedule update. This
+ *     means that it needs to send the updated NAN availability to the peers,
+ *     and do the actual switch on the right time (i.e. at the end of the slot
+ *     after the slot in which the updated NAN Availability was sent). Since
+ *     the slots management is done in the device, the update to the peers
+ *     needs to be sent by the device, so it knows the actual switch time.
+ *     If the flag is not set, the schedule should be applied immediately.
+ *     When this flag is set, the total number of NAN channels from both the
+ *     old and new schedules must not exceed the allowed number of local NAN
+ *     channels, because with deferred scheduling the old channels cannot be
+ *     removed before adding the new ones to free up space.
+ * @NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS: flag attribute used with
+ *     %NL80211_CMD_NAN_SCHED_UPDATE_DONE to indicate that the deferred
+ *     schedule update completed successfully. If this flag is not present,
+ *     the update failed.
+ * @NL80211_ATTR_NAN_NMI_MAC: The address of the NMI station to which this NDI
+ *     station belongs. Used with %NL80211_CMD_NEW_STATION when adding an NDI
+ *     station.
+ * @NL80211_ATTR_NAN_ULW: (Binary) The initial ULW(s) as published by the
+ *     peer, as defined in the Wi-Fi Aware (TM) 4.0 specification Table 109
+ *     (Unaligned Schedule attribute format). Used to configure the device
+ *     with the initial ULW(s) of a peer, before the device starts tracking it.
+ * @NL80211_ATTR_NAN_COMMITTED_DW: (u16) The committed DW as published by the
+ *     peer, as defined in the Wi-Fi Aware (TM) 4.0 specification Table 80
+ *     (Committed DW Information field format).
+ * @NL80211_ATTR_NAN_SEQ_ID: (u8) The sequence ID of the peer schedule that
+ *     %NL80211_CMD_NAN_SET_PEER_SCHED defines. The device follows the
+ *     sequence ID in the frames to identify newer schedules. Once a schedule
+ *     with a higher sequence ID is received, the device may stop communicating
+ *     with that peer until a new peer schedule with a matching sequence ID is
+ *     received.
+ * @NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME: (u16) The maximum channel switch
+ *     time, in microseconds.
+ * @NL80211_ATTR_NAN_PEER_MAPS: Nested array of peer schedule maps.
+ *     Used with %NL80211_CMD_NAN_SET_PEER_SCHED. Contains up to 2 entries,
+ *     each containing nested attributes from &enum nl80211_nan_peer_map_attrs.
+ *
+ * @NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP: u32 attribute specifying
+ *     the signal interference bitmap detected on the operating bandwidth for
+ *     %NL80211_CMD_INCUMBENT_SIGNAL_DETECT. Each bit represents a 20 MHz
+ *     segment, lowest bit corresponds to the lowest 20 MHz segment, in the
+ *     operating bandwidth where the interference is detected. Punctured
+ *     sub-channels are included in the bitmap structure; however, since
+ *     interference detection is not performed on these sub-channels, their
+ *     corresponding bits are consistently set to zero.
+ *
+ * @NL80211_ATTR_UHR_OPERATION: Full UHR Operation element, as it appears in
+ *     association response etc., since it's abridged in the beacon. Used
+ *     for START_AP etc.
  *
  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
  * @NL80211_ATTR_MAX: highest attribute number currently defined
@@ -3557,6 +3713,26 @@ enum nl80211_attrs {
        NL80211_ATTR_UHR_CAPABILITY,
        NL80211_ATTR_DISABLE_UHR,
 
+       NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP,
+
+       NL80211_ATTR_UHR_OPERATION,
+
+       NL80211_ATTR_NAN_CHANNEL,
+       NL80211_ATTR_NAN_CHANNEL_ENTRY,
+       NL80211_ATTR_NAN_TIME_SLOTS,
+       NL80211_ATTR_NAN_RX_NSS,
+       NL80211_ATTR_NAN_AVAIL_BLOB,
+       NL80211_ATTR_NAN_SCHED_DEFERRED,
+       NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS,
+
+       NL80211_ATTR_NAN_NMI_MAC,
+
+       NL80211_ATTR_NAN_ULW,
+       NL80211_ATTR_NAN_COMMITTED_DW,
+       NL80211_ATTR_NAN_SEQ_ID,
+       NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME,
+       NL80211_ATTR_NAN_PEER_MAPS,
+
        /* add attributes here, update the policy in nl80211.c */
 
        __NL80211_ATTR_AFTER_LAST,
@@ -3650,6 +3826,9 @@ enum nl80211_attrs {
  * @NL80211_IFTYPE_OCB: Outside Context of a BSS
  *     This mode corresponds to the MIB variable dot11OCBActivated=true
  * @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev)
+ * @NL80211_IFTYPE_NAN_DATA: NAN data interface type (netdev); NAN data
+ *     interfaces can only be brought up (IFF_UP) when a NAN interface
+ *     already exists and NAN has been started (using %NL80211_CMD_START_NAN).
  * @NL80211_IFTYPE_MAX: highest interface type number currently defined
  * @NUM_NL80211_IFTYPES: number of defined interface types
  *
@@ -3671,6 +3850,7 @@ enum nl80211_iftype {
        NL80211_IFTYPE_P2P_DEVICE,
        NL80211_IFTYPE_OCB,
        NL80211_IFTYPE_NAN,
+       NL80211_IFTYPE_NAN_DATA,
 
        /* keep last */
        NUM_NL80211_IFTYPES,
@@ -4359,6 +4539,46 @@ enum nl80211_band_attr {
 
 #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
 
+/**
+ * enum nl80211_nan_phy_cap_attr - NAN PHY capabilities attributes
+ * @__NL80211_NAN_PHY_CAP_ATTR_INVALID: attribute number 0 is reserved
+ * @NL80211_NAN_PHY_CAP_ATTR_HT_MCS_SET: 16-byte attribute containing HT MCS set
+ * @NL80211_NAN_PHY_CAP_ATTR_HT_CAPA: HT capabilities (u16)
+ * @NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_FACTOR: HT A-MPDU factor (u8)
+ * @NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_DENSITY: HT A-MPDU density (u8)
+ * @NL80211_NAN_PHY_CAP_ATTR_VHT_MCS_SET: 8-byte attribute containing VHT MCS set
+ * @NL80211_NAN_PHY_CAP_ATTR_VHT_CAPA: VHT capabilities (u32)
+ * @NL80211_NAN_PHY_CAP_ATTR_HE_MAC: HE MAC capabilities
+ * @NL80211_NAN_PHY_CAP_ATTR_HE_PHY: HE PHY capabilities
+ * @NL80211_NAN_PHY_CAP_ATTR_HE_MCS_SET: HE supported NSS/MCS combinations
+ * @NL80211_NAN_PHY_CAP_ATTR_HE_PPE: HE PPE thresholds
+ * @NL80211_NAN_PHY_CAP_ATTR_MAX: highest NAN PHY cap attribute number
+ * @__NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST: internal use
+ */
+enum nl80211_nan_phy_cap_attr {
+       __NL80211_NAN_PHY_CAP_ATTR_INVALID,
+
+       /* HT capabilities */
+       NL80211_NAN_PHY_CAP_ATTR_HT_MCS_SET,
+       NL80211_NAN_PHY_CAP_ATTR_HT_CAPA,
+       NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_FACTOR,
+       NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_DENSITY,
+
+       /* VHT capabilities */
+       NL80211_NAN_PHY_CAP_ATTR_VHT_MCS_SET,
+       NL80211_NAN_PHY_CAP_ATTR_VHT_CAPA,
+
+       /* HE capabilities */
+       NL80211_NAN_PHY_CAP_ATTR_HE_MAC,
+       NL80211_NAN_PHY_CAP_ATTR_HE_PHY,
+       NL80211_NAN_PHY_CAP_ATTR_HE_MCS_SET,
+       NL80211_NAN_PHY_CAP_ATTR_HE_PPE,
+
+       /* keep last */
+       __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST,
+       NL80211_NAN_PHY_CAP_ATTR_MAX = __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST - 1
+};
+
 /**
  * enum nl80211_wmm_rule - regulatory wmm rule
  *
@@ -4480,6 +4700,10 @@ enum nl80211_wmm_rule {
  *     as a non-primary subchannel. Only applicable to S1G channels.
  * @NL80211_FREQUENCY_ATTR_NO_UHR: UHR operation is not allowed on this channel
  *     in current regulatory domain.
+ * @NL80211_FREQUENCY_ATTR_CAC_START_TIME: Channel Availability Check (CAC)
+ *     start time (CLOCK_BOOTTIME, nanoseconds). Only present when CAC is
+ *     currently in progress on this channel.
+ * @NL80211_FREQUENCY_ATTR_PAD: attribute used for padding for 64-bit alignment
  * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
  *     currently defined
  * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4530,6 +4754,8 @@ enum nl80211_frequency_attr {
        NL80211_FREQUENCY_ATTR_NO_16MHZ,
        NL80211_FREQUENCY_ATTR_S1G_NO_PRIMARY,
        NL80211_FREQUENCY_ATTR_NO_UHR,
+       NL80211_FREQUENCY_ATTR_CAC_START_TIME,
+       NL80211_FREQUENCY_ATTR_PAD,
 
        /* keep last */
        __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -5466,6 +5692,8 @@ enum nl80211_bss_status {
  * @NL80211_AUTHTYPE_FILS_SK_PFS: Fast Initial Link Setup shared key with PFS
  * @NL80211_AUTHTYPE_FILS_PK: Fast Initial Link Setup public key
  * @NL80211_AUTHTYPE_EPPKE: Enhanced Privacy Protection Key Exchange
+ * @NL80211_AUTHTYPE_IEEE8021X: IEEE 802.1X authentication utilizing
+ *     Authentication frames
  * @__NL80211_AUTHTYPE_NUM: internal
  * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm
  * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by
@@ -5482,6 +5710,7 @@ enum nl80211_auth_type {
        NL80211_AUTHTYPE_FILS_SK_PFS,
        NL80211_AUTHTYPE_FILS_PK,
        NL80211_AUTHTYPE_EPPKE,
+       NL80211_AUTHTYPE_IEEE8021X,
 
        /* keep last */
        __NL80211_AUTHTYPE_NUM,
@@ -6795,6 +7024,11 @@ enum nl80211_feature_flags {
  *     frames in both non‑AP STA and AP mode as specified in
  *     "IEEE P802.11bi/D3.0, 12.16.6".
  *
+ * @NL80211_EXT_FEATURE_IEEE8021X_AUTH: Driver supports IEEE 802.1X
+ *     authentication utilizing Authentication frames with user space SME
+ *     (NL80211_CMD_AUTHENTICATE) in non-AP STA mode, as specified in
+ *     "IEEE P802.11bi/D4.0, 12.16.5".
+ *
  * @NUM_NL80211_EXT_FEATURES: number of extended features.
  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
  */
@@ -6873,6 +7107,7 @@ enum nl80211_ext_feature_index {
        NL80211_EXT_FEATURE_BEACON_RATE_EHT,
        NL80211_EXT_FEATURE_EPPKE,
        NL80211_EXT_FEATURE_ASSOC_FRAME_ENCRYPTION,
+       NL80211_EXT_FEATURE_IEEE8021X_AUTH,
 
        /* add new features before the definition below */
        NUM_NL80211_EXT_FEATURES,
@@ -8517,6 +8752,8 @@ enum nl80211_s1g_short_beacon_attrs {
  * @NL80211_NAN_CAPA_CAPABILITIES: u8 attribute containing the
  *     capabilities of the device as defined in Wi-Fi Aware (TM)
  *     specification Table 79 (Capabilities field).
+ * @NL80211_NAN_CAPA_PHY: nested attribute containing band-agnostic
+ *     capabilities for NAN data path. See &enum nl80211_nan_phy_cap_attr.
  * @__NL80211_NAN_CAPABILITIES_LAST: Internal
  * @NL80211_NAN_CAPABILITIES_MAX: Highest NAN capability attribute.
  */
@@ -8529,9 +8766,38 @@ enum nl80211_nan_capabilities {
        NL80211_NAN_CAPA_NUM_ANTENNAS,
        NL80211_NAN_CAPA_MAX_CHANNEL_SWITCH_TIME,
        NL80211_NAN_CAPA_CAPABILITIES,
+       NL80211_NAN_CAPA_PHY,
        /* keep last */
        __NL80211_NAN_CAPABILITIES_LAST,
        NL80211_NAN_CAPABILITIES_MAX = __NL80211_NAN_CAPABILITIES_LAST - 1,
 };
 
+/**
+ * enum nl80211_nan_peer_map_attrs - NAN peer schedule map attributes
+ *
+ * Nested attributes used within %NL80211_ATTR_NAN_PEER_MAPS to define
+ * individual peer schedule maps.
+ *
+ * @__NL80211_NAN_PEER_MAP_ATTR_INVALID: Invalid
+ * @NL80211_NAN_PEER_MAP_ATTR_MAP_ID: (u8) The map ID for this schedule map.
+ * @NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS: An array of u8 values with 32 cells.
+ *     Each value maps a time slot to a channel index within the schedule's
+ *     channel list (%NL80211_ATTR_NAN_CHANNEL attributes).
+ *     %NL80211_NAN_SCHED_NOT_AVAIL_SLOT indicates unscheduled.
+ * @__NL80211_NAN_PEER_MAP_ATTR_LAST: Internal
+ * @NL80211_NAN_PEER_MAP_ATTR_MAX: Highest peer map attribute
+ */
+enum nl80211_nan_peer_map_attrs {
+       __NL80211_NAN_PEER_MAP_ATTR_INVALID,
+
+       NL80211_NAN_PEER_MAP_ATTR_MAP_ID,
+       NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS,
+
+       /* keep last */
+       __NL80211_NAN_PEER_MAP_ATTR_LAST,
+       NL80211_NAN_PEER_MAP_ATTR_MAX = __NL80211_NAN_PEER_MAP_ATTR_LAST - 1,
+};
+
+#define NL80211_NAN_SCHED_NOT_AVAIL_SLOT 0xff
+
 #endif /* __LINUX_NL80211_H */
index a25e38d1c8747da2fa4124668e2fa0f7a4fb4022..96bd591feb67862a124f4f3e679072ed373d51ff 100644 (file)
@@ -53,9 +53,6 @@ enum init_ns_ino {
        TIME_NS_INIT_INO        = 0xEFFFFFFAU,
        NET_NS_INIT_INO         = 0xEFFFFFF9U,
        MNT_NS_INIT_INO         = 0xEFFFFFF8U,
-#ifdef __KERNEL__
-       MNT_NS_ANON_INO         = 0xEFFFFFF7U,
-#endif
 };
 
 struct nsfs_file_handle {
@@ -76,9 +73,6 @@ enum init_ns_id {
        TIME_NS_INIT_ID         = 6ULL,
        NET_NS_INIT_ID          = 7ULL,
        MNT_NS_INIT_ID          = 8ULL,
-#ifdef __KERNEL__
-       NS_LAST_INIT_ID         = MNT_NS_INIT_ID,
-#endif
 };
 
 enum ns_type {
index 55b0446fff9d95ab223f1e604097505d1829b065..b6ec6f6937195f2e9b32dc606535342f3a1ebd9b 100644 (file)
@@ -397,30 +397,23 @@ struct prctl_mm_map {
 # define PR_RSEQ_SLICE_EXT_ENABLE              0x01
 
 /*
- * Get the current indirect branch tracking configuration for the current
- * thread, this will be the value configured via PR_SET_INDIR_BR_LP_STATUS.
+ * Get or set the control flow integrity (CFI) configuration for the
+ * current thread.
+ *
+ * Some per-thread control flow integrity settings are not yet
+ * controlled through this prctl(); see for example
+ * PR_{GET,SET,LOCK}_SHADOW_STACK_STATUS
  */
-#define PR_GET_INDIR_BR_LP_STATUS      80
-
+#define PR_GET_CFI     80
+#define PR_SET_CFI     81
 /*
- * Set the indirect branch tracking configuration. PR_INDIR_BR_LP_ENABLE will
- * enable cpu feature for user thread, to track all indirect branches and ensure
- * they land on arch defined landing pad instruction.
- * x86 - If enabled, an indirect branch must land on an ENDBRANCH instruction.
- * arch64 - If enabled, an indirect branch must land on a BTI instruction.
- * riscv - If enabled, an indirect branch must land on an lpad instruction.
- * PR_INDIR_BR_LP_DISABLE will disable feature for user thread and indirect
- * branches will no more be tracked by cpu to land on arch defined landing pad
- * instruction.
- */
-#define PR_SET_INDIR_BR_LP_STATUS      81
-# define PR_INDIR_BR_LP_ENABLE            (1UL << 0)
-
-/*
- * Prevent further changes to the specified indirect branch tracking
- * configuration.  All bits may be locked via this call, including
- * undefined bits.
+ * Forward-edge CFI variants (excluding ARM64 BTI, which has its own
+ * prctl()s).
  */
-#define PR_LOCK_INDIR_BR_LP_STATUS      82
+#define PR_CFI_BRANCH_LANDING_PADS     0
+/* Return and control values for PR_{GET,SET}_CFI */
+# define PR_CFI_ENABLE         _BITUL(0)
+# define PR_CFI_DISABLE                _BITUL(1)
+# define PR_CFI_LOCK           _BITUL(2)
 
 #endif /* _LINUX_PRCTL_H */