History

Merge tag 'v6.15' into rdma.git for-next

Following patches need the RDMA rc branch since we are past the RC cycle now. Merge conflicts resolved based on Linux-next: - For RXE odp changes keep for-next version and fixup new places that need to call is_odp_mr() https://lore.kernel.org/r/20250422143019.500201bd@canb.auug.org.au https://lore.kernel.org/r/20250514122455.3593b083@canb.auug.org.au - irdma is keeping the while/kfree bugfix from -rc and the pf/cdev_info change from for-next https://lore.kernel.org/r/20250513130630.280ee6c5@canb.auug.org.au

Jason Gunthorpe committed 1 year ago

Commit ef223382 parents 260ce16 0ff41df1920 files · +26599 −12627Browse files

Showing the changes to include/uapi (9 of 1920 files). Show all

Unified · Split

9 files
  1. include/uapi/cxl/features.h +15 −6
  2. include/uapi/drm/ivpu_accel.h +2 −2
  3. include/uapi/linux/bpf.h +3 −0
  4. include/uapi/linux/ethtool_netlink_generated.h +0 −5
  5. include/uapi/linux/io_uring.h +3 −1
  6. include/uapi/linux/landlock.h +57 −30
  7. include/uapi/linux/taskstats.h +29 −18
  8. include/uapi/linux/vhost.h +2 −2
  9. include/uapi/linux/virtio_pci.h +1 −0
include/uapi/cxl/features.h+15−6
@@ -8,10 +8,19 @@ · 7 unmodified lines
88 #define _UAPI_CXL_FEATURES_H_
99
1010 #include <linux/types.h>
11−#ifndef __KERNEL__
12−#include <uuid/uuid.h>
13−#else
11+
12+typedef unsigned char __uapi_uuid_t[16];
13+
14+#ifdef __KERNEL__
1415 #include <linux/uuid.h>
16+/*
17+ * Note, __uapi_uuid_t is 1-byte aligned on modern compilers and 4-byte
18+ * aligned on others. Ensure that __uapi_uuid_t in a struct is placed at
19+ * a 4-byte aligned offset, or the structure is packed, to ensure
20+ * consistent padding.
21+ */
22+static_assert(sizeof(__uapi_uuid_t) == sizeof(uuid_t));
23+#define __uapi_uuid_t uuid_t
1524 #endif
1625
1726 /*
@@ -60,7 +69,7 @@ struct cxl_mbox_get_sup_feats_in { · 42 unmodified lines
6069 * Get Supported Features Supported Feature Entry
6170 */
6271 struct cxl_feat_entry {
63− uuid_t uuid;
72+ __uapi_uuid_t uuid;
6473 __le16 id;
6574 __le16 get_feat_size;
6675 __le16 set_feat_size;
@@ -110,7 +119,7 @@ struct cxl_mbox_get_sup_feats_out { · 43 unmodified lines
110119 * CXL spec r3.2 section 8.2.9.6.2 Table 8-99
111120 */
112121 struct cxl_mbox_get_feat_in {
113− uuid_t uuid;
122+ __uapi_uuid_t uuid;
114123 __le16 offset;
115124 __le16 count;
116125 __u8 selection;
@@ -143,7 +152,7 @@ enum cxl_get_feat_selection { · 26 unmodified lines
143152 */
144153 struct cxl_mbox_set_feat_in {
145154 __struct_group(cxl_mbox_set_feat_hdr, hdr, /* no attrs */,
146− uuid_t uuid;
155+ __uapi_uuid_t uuid;
147156 __le32 flags;
148157 __le16 offset;
149158 __u8 version;
include/uapi/drm/ivpu_accel.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
22 /*
3− * Copyright (C) 2020-2024 Intel Corporation
3+ * Copyright (C) 2020-2025 Intel Corporation
44 */
55
66 #ifndef __UAPI_IVPU_DRM_H__
@@ -147,7 +147,7 @@ struct drm_ivpu_param { · 140 unmodified lines
147147 * platform type when executing on a simulator or emulator (read-only)
148148 *
149149 * %DRM_IVPU_PARAM_CORE_CLOCK_RATE:
150− * Current PLL frequency (read-only)
150+ * Maximum frequency of the NPU data processing unit clock (read-only)
151151 *
152152 * %DRM_IVPU_PARAM_NUM_CONTEXTS:
153153 * Maximum number of simultaneously existing contexts (read-only)
include/uapi/linux/bpf.h+3−0
@@ -4968,6 +4968,9 @@ union bpf_attr { · 4967 unmodified lines
49684968 * the netns switch takes place from ingress to ingress without
49694969 * going through the CPU's backlog queue.
49704970 *
4971+ * *skb*\ **->mark** and *skb*\ **->tstamp** are not cleared during
4972+ * the netns switch.
4973+ *
49714974 * The *flags* argument is reserved and must be 0. The helper is
49724975 * currently only supported for tc BPF program types at the
49734976 * ingress hook and for veth and netkit target device types. The
include/uapi/linux/ethtool_netlink_generated.h+0−5
@@ -31,11 +31,6 @@ enum ethtool_header_flags { · 30 unmodified lines
3131 ETHTOOL_FLAG_STATS = 4,
3232 };
3333
34−enum {
35− ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
36− ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
37−};
38−
3934 enum ethtool_tcp_data_split {
4035 ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
4136 ETHTOOL_TCP_DATA_SPLIT_DISABLED,
include/uapi/linux/io_uring.h+3−1
@@ -1010,7 +1010,9 @@ struct io_uring_zcrx_ifq_reg { · 1009 unmodified lines
10101010 __u64 region_ptr; /* struct io_uring_region_desc * */
10111011
10121012 struct io_uring_zcrx_offsets offsets;
1013− __u64 __resv[4];
1013+ __u32 zcrx_id;
1014+ __u32 __resv2;
1015+ __u64 __resv[3];
10141016 };
10151017
10161018 #ifdef __cplusplus
include/uapi/linux/landlock.h+57−30
@@ -53,43 +53,70 @@ struct landlock_ruleset_attr { · 52 unmodified lines
5353 __u64 scoped;
5454 };
5555
56−/*
57− * sys_landlock_create_ruleset() flags:
56+/**
57+ * DOC: landlock_create_ruleset_flags
58+ *
59+ * **Flags**
5860 *
59− * - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
60− * version.
61− * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
61+ * %LANDLOCK_CREATE_RULESET_VERSION
62+ * Get the highest supported Landlock ABI version (starting at 1).
63+ *
64+ * %LANDLOCK_CREATE_RULESET_ERRATA
65+ * Get a bitmask of fixed issues for the current Landlock ABI version.
6266 */
6367 /* clang-format off */
6468 #define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
6569 #define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
6670 /* clang-format on */
6771
68−/*
69− * sys_landlock_restrict_self() flags:
70− *
71− * - %LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF: Do not create any log related to the
72− * enforced restrictions. This should only be set by tools launching unknown
73− * or untrusted programs (e.g. a sandbox tool, container runtime, system
74− * service manager). Because programs sandboxing themselves should fix any
75− * denied access, they should not set this flag to be aware of potential
76− * issues reported by system's logs (i.e. audit).
77− * - %LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON: Explicitly ask to continue
78− * logging denied access requests even after an :manpage:`execve(2)` call.
79− * This flag should only be set if all the programs than can legitimately be
80− * executed will not try to request a denied access (which could spam audit
81− * logs).
82− * - %LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF: Do not create any log related
83− * to the enforced restrictions coming from future nested domains created by
84− * the caller or its descendants. This should only be set according to a
85− * runtime configuration (i.e. not hardcoded) by programs launching other
86− * unknown or untrusted programs that may create their own Landlock domains
87− * and spam logs. The main use case is for container runtimes to enable users
88− * to mute buggy sandboxed programs for a specific container image. Other use
89− * cases include sandboxer tools and init systems. Unlike
90− * %LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF,
91− * %LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF does not impact the requested
92− * restriction (if any) but only the future nested domains.
72+/**
73+ * DOC: landlock_restrict_self_flags
74+ *
75+ * **Flags**
76+ *
77+ * By default, denied accesses originating from programs that sandbox themselves
78+ * are logged via the audit subsystem. Such events typically indicate unexpected
79+ * behavior, such as bugs or exploitation attempts. However, to avoid excessive
80+ * logging, access requests denied by a domain not created by the originating
81+ * program are not logged by default. The rationale is that programs should know
82+ * their own behavior, but not necessarily the behavior of other programs. This
83+ * default configuration is suitable for most programs that sandbox themselves.
84+ * For specific use cases, the following flags allow programs to modify this
85+ * default logging behavior.
86+ *
87+ * The %LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF and
88+ * %LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON flags apply to the newly created
89+ * Landlock domain.
90+ *
91+ * %LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF
92+ * Disables logging of denied accesses originating from the thread creating
93+ * the Landlock domain, as well as its children, as long as they continue
94+ * running the same executable code (i.e., without an intervening
95+ * :manpage:`execve(2)` call). This is intended for programs that execute
96+ * unknown code without invoking :manpage:`execve(2)`, such as script
97+ * interpreters. Programs that only sandbox themselves should not set this
98+ * flag, so users can be notified of unauthorized access attempts via system
99+ * logs.
100+ *
101+ * %LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON
102+ * Enables logging of denied accesses after an :manpage:`execve(2)` call,
103+ * providing visibility into unauthorized access attempts by newly executed
104+ * programs within the created Landlock domain. This flag is recommended
105+ * only when all potential executables in the domain are expected to comply
106+ * with the access restrictions, as excessive audit log entries could make
107+ * it more difficult to identify critical events.
108+ *
109+ * %LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF
110+ * Disables logging of denied accesses originating from nested Landlock
111+ * domains created by the caller or its descendants. This flag should be set
112+ * according to runtime configuration, not hardcoded, to avoid suppressing
113+ * important security events. It is useful for container runtimes or
114+ * sandboxing tools that may launch programs which themselves create
115+ * Landlock domains and could otherwise generate excessive logs. Unlike
116+ * ``LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF``, this flag only affects
117+ * future nested domains, not the one being created. It can also be used
118+ * with a @ruleset_fd value of -1 to mute subdomain logs without creating a
119+ * domain.
93120 */
94121 /* clang-format off */
95122 #define LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF (1U << 0)
include/uapi/linux/taskstats.h+29−18
@@ -34,7 +34,7 @@ · 33 unmodified lines
3434 */
3535
3636
37−#define TASKSTATS_VERSION 15
37+#define TASKSTATS_VERSION 16
3838 #define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN
3939 * in linux/sched.h */
4040
@@ -72,8 +72,6 @@ struct taskstats { · 31 unmodified lines
7272 */
7373 __u64 cpu_count __attribute__((aligned(8)));
7474 __u64 cpu_delay_total;
75− __u64 cpu_delay_max;
76− __u64 cpu_delay_min;
7775
7876 /* Following four fields atomically updated using task->delays->lock */
7977
@@ -82,14 +80,10 @@ struct taskstats { · 2 unmodified lines
8280 */
8381 __u64 blkio_count;
8482 __u64 blkio_delay_total;
85− __u64 blkio_delay_max;
86− __u64 blkio_delay_min;
8783
8884 /* Delay waiting for page fault I/O (swap in only) */
8985 __u64 swapin_count;
9086 __u64 swapin_delay_total;
91− __u64 swapin_delay_max;
92− __u64 swapin_delay_min;
9387
9488 /* cpu "wall-clock" running time
9589 * On some architectures, value will adjust for cpu time stolen
@@ -172,14 +166,11 @@ struct taskstats { · 76 unmodified lines
172166 /* Delay waiting for memory reclaim */
173167 __u64 freepages_count;
174168 __u64 freepages_delay_total;
175− __u64 freepages_delay_max;
176− __u64 freepages_delay_min;
169+
177170
178171 /* Delay waiting for thrashing page */
179172 __u64 thrashing_count;
180173 __u64 thrashing_delay_total;
181− __u64 thrashing_delay_max;
182− __u64 thrashing_delay_min;
183174
184175 /* v10: 64-bit btime to avoid overflow */
185176 __u64 ac_btime64; /* 64-bit begin time */
@@ -187,8 +178,6 @@ struct taskstats { · 1 unmodified line
187178 /* v11: Delay waiting for memory compact */
188179 __u64 compact_count;
189180 __u64 compact_delay_total;
190− __u64 compact_delay_max;
191− __u64 compact_delay_min;
192181
193182 /* v12 begin */
194183 __u32 ac_tgid; /* thread group ID */
@@ -210,15 +199,37 @@ struct taskstats { · 15 unmodified lines
210199 /* v13: Delay waiting for write-protect copy */
211200 __u64 wpcopy_count;
212201 __u64 wpcopy_delay_total;
213− __u64 wpcopy_delay_max;
214− __u64 wpcopy_delay_min;
215202
216203 /* v14: Delay waiting for IRQ/SOFTIRQ */
217204 __u64 irq_count;
218205 __u64 irq_delay_total;
219− __u64 irq_delay_max;
220− __u64 irq_delay_min;
221− /* v15: add Delay max */
206+
207+ /* v15: add Delay max and Delay min */
208+
209+ /* v16: move Delay max and Delay min to the end of taskstat */
210+ __u64 cpu_delay_max;
211+ __u64 cpu_delay_min;
212+
213+ __u64 blkio_delay_max;
214+ __u64 blkio_delay_min;
215+
216+ __u64 swapin_delay_max;
217+ __u64 swapin_delay_min;
218+
219+ __u64 freepages_delay_max;
220+ __u64 freepages_delay_min;
221+
222+ __u64 thrashing_delay_max;
223+ __u64 thrashing_delay_min;
224+
225+ __u64 compact_delay_max;
226+ __u64 compact_delay_min;
227+
228+ __u64 wpcopy_delay_max;
229+ __u64 wpcopy_delay_min;
230+
231+ __u64 irq_delay_max;
232+ __u64 irq_delay_min;
222233 };
223234
224235
include/uapi/linux/vhost.h+2−2
@@ -28,10 +28,10 @@ · 27 unmodified lines
2828
2929 /* Set current process as the (exclusive) owner of this file descriptor. This
3030 * must be called before any other vhost command. Further calls to
31− * VHOST_OWNER_SET fail until VHOST_OWNER_RESET is called. */
31+ * VHOST_SET_OWNER fail until VHOST_RESET_OWNER is called. */
3232 #define VHOST_SET_OWNER _IO(VHOST_VIRTIO, 0x01)
3333 /* Give up ownership, and reset the device to default values.
34− * Allows subsequent call to VHOST_OWNER_SET to succeed. */
34+ * Allows subsequent call to VHOST_SET_OWNER to succeed. */
3535 #define VHOST_RESET_OWNER _IO(VHOST_VIRTIO, 0x02)
3636
3737 /* Set up/modify memory layout */
include/uapi/linux/virtio_pci.h+1−0
@@ -246,6 +246,7 @@ struct virtio_pci_cfg_cap { · 245 unmodified lines
246246 #define VIRTIO_ADMIN_CMD_LIST_USE 0x1
247247
248248 /* Admin command group type. */
249+#define VIRTIO_ADMIN_GROUP_TYPE_SELF 0x0
249250 #define VIRTIO_ADMIN_GROUP_TYPE_SRIOV 0x1
250251
251252 /* Transitional device admin command. */