commit 625043f

Michael Forney  ·  2026-04-30 00:33:11 +0000 UTC
parent 31ada59
linux-headers: Update to 7.0
7 files changed,  +179, -18
+1, -1
1@@ -13,7 +13,7 @@
2 /libbluray-1.3.4.tar.bz2
3 /libressl-4.2.1.tar.gz
4 /libtermkey-0.22.tar.gz
5-/linux-6.19.tar.xz
6+/linux-7.0.tar.xz
7 /lpeg-1.1.0.tar.gz
8 /lua-5.5.0.tar.gz
9 /make-4.4.1.tar.gz
+1, -1
1@@ -1 +1 @@
2-303079a8250b8f381f82b03f90463d12ac98d4f6b149b761ea75af1323521357  linux-6.19.tar.xz
3+bb7f6d80b387c757b7d14bb93028fcb90f793c5c0d367736ee815a100b3891f0  linux-7.0.tar.xz
+1, -1
1@@ -1 +1 @@
2-url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.19.tar.xz"
3+url = "https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.0.tar.xz"
+1, -1
1@@ -1 +1 @@
2-6.19
3+7.0
+13, -13
 1@@ -174,8 +174,8 @@
 2 #define HAVE_STRUCT_BPF_MAP_INFO_BTF_VALUE_TYPE_ID 1
 3 #define HAVE_STRUCT_BPF_MAP_INFO_BTF_VMLINUX_ID 1
 4 #define HAVE_STRUCT_BPF_MAP_INFO_BTF_VMLINUX_VALUE_TYPE_ID 1
 5-/* #undef HAVE_STRUCT_BPF_MAP_INFO_HASH */
 6-/* #undef HAVE_STRUCT_BPF_MAP_INFO_HASH_SIZE */
 7+#define HAVE_STRUCT_BPF_MAP_INFO_HASH 1
 8+#define HAVE_STRUCT_BPF_MAP_INFO_HASH_SIZE 1
 9 #define HAVE_STRUCT_BPF_MAP_INFO_ID 1
10 #define HAVE_STRUCT_BPF_MAP_INFO_IFINDEX 1
11 #define HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE 1
12@@ -312,13 +312,13 @@
13 #define HAVE_UNION_BPF_ATTR_CORE_RELO_REC_SIZE 1
14 /* #undef HAVE_UNION_BPF_ATTR_DUMMY */
15 #define HAVE_UNION_BPF_ATTR_ENABLE_STATS_TYPE 1
16-/* #undef HAVE_UNION_BPF_ATTR_EXCL_PROG_HASH */
17-/* #undef HAVE_UNION_BPF_ATTR_EXCL_PROG_HASH_SIZE */
18+#define HAVE_UNION_BPF_ATTR_EXCL_PROG_HASH 1
19+#define HAVE_UNION_BPF_ATTR_EXCL_PROG_HASH_SIZE 1
20 #define HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE 1
21 #define HAVE_UNION_BPF_ATTR_EXPECTED_REVISION 1
22 #define HAVE_UNION_BPF_ATTR_FD_ARRAY 1
23-/* #undef HAVE_UNION_BPF_ATTR_FD_ARRAY_CNT */
24-/* #undef HAVE_UNION_BPF_ATTR_FD_BY_ID_TOKEN_FD */
25+#define HAVE_UNION_BPF_ATTR_FD_ARRAY_CNT 1
26+#define HAVE_UNION_BPF_ATTR_FD_BY_ID_TOKEN_FD 1
27 #define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1
28 #define HAVE_UNION_BPF_ATTR_FLAGS 1
29 #define HAVE_UNION_BPF_ATTR_FUNC_INFO 1
30@@ -334,7 +334,7 @@
31 #define HAVE_UNION_BPF_ATTR_ITER_CREATE_LINK_FD 1
32 #define HAVE_UNION_BPF_ATTR_KERN_VERSION 1
33 #define HAVE_UNION_BPF_ATTR_KEY 1
34-/* #undef HAVE_UNION_BPF_ATTR_KEYRING_ID */
35+#define HAVE_UNION_BPF_ATTR_KEYRING_ID 1
36 #define HAVE_UNION_BPF_ATTR_KEY_SIZE 1
37 #define HAVE_UNION_BPF_ATTR_LICENSE 1
38 #define HAVE_UNION_BPF_ATTR_LINE_INFO 1
39@@ -400,10 +400,10 @@
40 #define HAVE_UNION_BPF_ATTR_PROG_ID 1
41 #define HAVE_UNION_BPF_ATTR_PROG_IFINDEX 1
42 #define HAVE_UNION_BPF_ATTR_PROG_NAME 1
43-/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_PROG_FD */
44-/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_BUF */
45-/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_BUF_LEN */
46-/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_ID */
47+#define HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_PROG_FD 1
48+#define HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_BUF 1
49+#define HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_BUF_LEN 1
50+#define HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_ID 1
51 #define HAVE_UNION_BPF_ATTR_PROG_TOKEN_FD 1
52 #define HAVE_UNION_BPF_ATTR_PROG_TYPE 1
53 #define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS 1
54@@ -425,8 +425,8 @@
55 #define HAVE_UNION_BPF_ATTR_RELATIVE_FD 1
56 #define HAVE_UNION_BPF_ATTR_RELATIVE_ID 1
57 #define HAVE_UNION_BPF_ATTR_REPLACE_BPF_FD 1
58-/* #undef HAVE_UNION_BPF_ATTR_SIGNATURE */
59-/* #undef HAVE_UNION_BPF_ATTR_SIGNATURE_SIZE */
60+#define HAVE_UNION_BPF_ATTR_SIGNATURE 1
61+#define HAVE_UNION_BPF_ATTR_SIGNATURE_SIZE 1
62 #define HAVE_UNION_BPF_ATTR_START_ID 1
63 #define HAVE_UNION_BPF_ATTR_TARGET_FD 1
64 #define HAVE_UNION_BPF_ATTR_TARGET_IFINDEX 1
+161, -0
  1@@ -0,0 +1,161 @@
  2+From 1dbddb172f6ab21504d462347c8fc8958a7590d2 Mon Sep 17 00:00:00 2001
  3+From: "Dmitry V. Levin" <ldv@strace.io>
  4+Date: Tue, 10 Mar 2026 08:00:00 +0000
  5+Subject: [PATCH] bundled: update linux/io_uring.h to v7.0-rc3
  6+
  7+* bundled/linux/include/uapi/linux/io_uring.h: Update to
  8+headers_install'ed Linux kernel v7.0-rc3.
  9+* src/io_uring.c (print_io_uring_zcrx_ifq_reg): Follow the rename
 10+of __resv2 field of struct io_uring_zcrx_ifq_reg to rx_buf_len.
 11+* tests/io_uring_register.c (test_IORING_REGISTER_ZCRX_IFQ): Update
 12+expected output.
 13+---
 14+ bundled/linux/include/uapi/linux/io_uring.h | 35 +++++++++++++++++++--
 15+ src/io_uring.c                              |  7 ++---
 16+ tests/io_uring_register.c                   |  8 ++---
 17+ 3 files changed, 39 insertions(+), 11 deletions(-)
 18+
 19+diff --git a/bundled/linux/include/uapi/linux/io_uring.h b/bundled/linux/include/uapi/linux/io_uring.h
 20+index b5b23c0d5..1ff16141c 100644
 21+--- a/bundled/linux/include/uapi/linux/io_uring.h
 22++++ b/bundled/linux/include/uapi/linux/io_uring.h
 23+@@ -188,7 +188,8 @@ enum io_uring_sqe_flags_bit {
 24+ /*
 25+  * If COOP_TASKRUN is set, get notified if task work is available for
 26+  * running and a kernel transition would be needed to run it. This sets
 27+- * IORING_SQ_TASKRUN in the sq ring flags. Not valid with COOP_TASKRUN.
 28++ * IORING_SQ_TASKRUN in the sq ring flags. Not valid without COOP_TASKRUN
 29++ * or DEFER_TASKRUN.
 30+  */
 31+ #define IORING_SETUP_TASKRUN_FLAG	(1U << 9)
 32+ #define IORING_SETUP_SQE128		(1U << 10) /* SQEs are 128 byte */
 33+@@ -237,6 +238,18 @@ enum io_uring_sqe_flags_bit {
 34+  */
 35+ #define IORING_SETUP_SQE_MIXED		(1U << 19)
 36+ 
 37++/*
 38++ * When set, io_uring ignores SQ head and tail and fetches SQEs to submit
 39++ * starting from index 0 instead from the index stored in the head pointer.
 40++ * IOW, the user should place all SQE at the beginning of the SQ memory
 41++ * before issuing a submission syscall.
 42++ *
 43++ * It requires IORING_SETUP_NO_SQARRAY and is incompatible with
 44++ * IORING_SETUP_SQPOLL. The user must also never change the SQ head and tail
 45++ * values and keep it set to 0. Any other value is undefined behaviour.
 46++ */
 47++#define IORING_SETUP_SQ_REWIND		(1U << 20)
 48++
 49+ enum io_uring_op {
 50+ 	IORING_OP_NOP,
 51+ 	IORING_OP_READV,
 52+@@ -700,6 +713,9 @@ enum io_uring_register_op {
 53+ 	/* auxiliary zcrx configuration, see enum zcrx_ctrl_op */
 54+ 	IORING_REGISTER_ZCRX_CTRL		= 36,
 55+ 
 56++	/* register bpf filtering programs */
 57++	IORING_REGISTER_BPF_FILTER		= 37,
 58++
 59+ 	/* this goes last */
 60+ 	IORING_REGISTER_LAST,
 61+ 
 62+@@ -805,6 +821,13 @@ struct io_uring_restriction {
 63+ 	__u32 resv2[3];
 64+ };
 65+ 
 66++struct io_uring_task_restriction {
 67++	__u16 flags;
 68++	__u16 nr_res;
 69++	__u32 resv[3];
 70++	__DECLARE_FLEX_ARRAY(struct io_uring_restriction, restrictions);
 71++};
 72++
 73+ struct io_uring_clock_register {
 74+ 	__u32	clockid;
 75+ 	__u32	__resv[3];
 76+@@ -1068,6 +1091,14 @@ enum zcrx_reg_flags {
 77+ 	ZCRX_REG_IMPORT	= 1,
 78+ };
 79+ 
 80++enum zcrx_features {
 81++	/*
 82++	 * The user can ask for the desired rx page size by passing the
 83++	 * value in struct io_uring_zcrx_ifq_reg::rx_buf_len.
 84++	 */
 85++	ZCRX_FEATURE_RX_PAGE_SIZE	= 1 << 0,
 86++};
 87++
 88+ /*
 89+  * Argument for IORING_REGISTER_ZCRX_IFQ
 90+  */
 91+@@ -1082,7 +1113,7 @@ struct io_uring_zcrx_ifq_reg {
 92+ 
 93+ 	struct io_uring_zcrx_offsets offsets;
 94+ 	__u32	zcrx_id;
 95+-	__u32	__resv2;
 96++	__u32	rx_buf_len;
 97+ 	__u64	__resv[3];
 98+ };
 99+ 
100+diff --git a/src/io_uring.c b/src/io_uring.c
101+index a479c9570..04de31651 100644
102+--- a/src/io_uring.c
103++++ b/src/io_uring.c
104+@@ -1254,11 +1254,8 @@ print_io_uring_zcrx_ifq_reg(struct tcb *tcp, const kernel_ulong_t addr)
105+ 	print_io_uring_zcrx_offsets(tcp, &arg.offsets);
106+ 	tprint_struct_next();
107+ 	PRINT_FIELD_U(arg, zcrx_id);
108+-
109+-	if (arg.__resv2) {
110+-		tprint_struct_next();
111+-		PRINT_FIELD_X(arg, __resv2);
112+-	}
113++	tprint_struct_next();
114++	PRINT_FIELD_U(arg, rx_buf_len);
115+ 
116+ 	if (!IS_ARRAY_ZERO(arg.__resv)) {
117+ 		tprint_struct_next();
118+diff --git a/tests/io_uring_register.c b/tests/io_uring_register.c
119+index cfaa93d20..9952f0370 100644
120+--- a/tests/io_uring_register.c
121++++ b/tests/io_uring_register.c
122+@@ -2058,7 +2058,7 @@ test_IORING_REGISTER_ZCRX_IFQ(int fd_null)
123+ 	       ", flags=" XLAT_FMT
124+ 	       ", area_ptr=%#llx, region_ptr=%#llx"
125+ 	       ", offsets={head=%u, tail=%u, rqes=%u}"
126+-	       ", zcrx_id=%u}, 1) = %s\n",
127++	       ", zcrx_id=%u, rx_buf_len=0}, 1) = %s\n",
128+ 	       fd_null, path_null,
129+ 	       XLAT_SEL(zcrx_ifq_ops.val, zcrx_ifq_ops.str),
130+ 	       zcrx_ifq->if_idx, zcrx_ifq->if_rxq, zcrx_ifq->rq_entries,
131+@@ -2073,9 +2073,9 @@ test_IORING_REGISTER_ZCRX_IFQ(int fd_null)
132+ 	memset(zcrx_ifq, 0, sizeof(*zcrx_ifq));
133+ 	zcrx_ifq->if_idx = 0xaaaa;
134+ 	zcrx_ifq->offsets.__resv2 = 0xbbbb;
135+-	zcrx_ifq->__resv2 = 0xcccc;
136+ 	zcrx_ifq->offsets.__resv[0] = 0xddddddddddddddddULL;
137+ 	zcrx_ifq->offsets.__resv[1] = 0xeeeeeeeeeeeeeeeeULL;
138++	zcrx_ifq->rx_buf_len = 0xcccc;
139+ 	zcrx_ifq->__resv[0] = 0x1111111111111111ULL;
140+ 	zcrx_ifq->__resv[1] = 0x2222222222222222ULL;
141+ 	zcrx_ifq->__resv[2] = 0x3333333333333333ULL;
142+@@ -2086,7 +2086,7 @@ test_IORING_REGISTER_ZCRX_IFQ(int fd_null)
143+ 	       ", area_ptr=NULL, region_ptr=NULL"
144+ 	       ", offsets={head=0, tail=0, rqes=0, __resv2=%#x"
145+ 	       ", __resv=[%#llx, %#llx]}"
146+-	       ", zcrx_id=0, __resv2=%#x"
147++	       ", zcrx_id=0, rx_buf_len=%u"
148+ 	       ", __resv=[%#llx, %#llx, %#llx]}, 1) = %s\n",
149+ 	       fd_null, path_null,
150+ 	       XLAT_SEL(zcrx_ifq_ops.val, zcrx_ifq_ops.str),
151+@@ -2094,7 +2094,7 @@ test_IORING_REGISTER_ZCRX_IFQ(int fd_null)
152+ 	       zcrx_ifq->offsets.__resv2,
153+ 	       (unsigned long long) zcrx_ifq->offsets.__resv[0],
154+ 	       (unsigned long long) zcrx_ifq->offsets.__resv[1],
155+-	       zcrx_ifq->__resv2,
156++	       zcrx_ifq->rx_buf_len,
157+ 	       (unsigned long long) zcrx_ifq->__resv[0],
158+ 	       (unsigned long long) zcrx_ifq->__resv[1],
159+ 	       (unsigned long long) zcrx_ifq->__resv[2],
160+-- 
161+2.49.0
162+
+1, -1
1@@ -1 +1 @@
2-6.19
3+6.19 r1