2026-02-10  Dmitry V. Levin  <ldv@strace.io>

	Prepare for 6.19 release.
	* NEWS: Update for 6.19 release.

	Update copyright headers.
	Headers updated automatically using maint/update_copyright_years.sh
	script.

	Update copyright year number range.
	* COPYING: Update copyright year number range.
	* tests/COPYING: Likewise.
	* debian/copyright: Likewise.

2026-02-10  Dmitry V. Levin  <ldv@strace.io>

	Fix preprocessor indentation.
	Indent the C preprocessor directives to reflect their nesting
	using the following script:

	$ cppi -l $(git grep -El '^[[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif|define|pragma)[[:space:]]' src tests |grep -Ev '\.(md|sh|test)$') |while read f; do
		cppi < "$f" > "$f".cppi; mv "$f".cppi "$f"
	done

2026-02-09  Dmitry V. Levin  <ldv@strace.io>

	tests: fix printing of btf_log_true_size field of BPF_BTF_LOAD command.
	When printing expected value of btf_log_true_size, do not assume it
	remains unchanged after initialization, print the actual value instead.

	* tests/bpf.c (print_BPF_BTF_LOAD_attr2): New function.
	(BPF_BTF_LOAD_checks[]): Use it.

	Fixes: v6.18~12 "bpf: decode btf_log_true_size field of BPF_BTF_LOAD command"
	Resolves: https://github.com/strace/strace/issues/370

2026-02-09  Dmitry V. Levin  <ldv@strace.io>

	tests: workaround glibc 2.43+ failures on aarch64.
	Starting with glibc 2.43, support for 2MB transparent huge pages
	has been enabled by default in malloc on aarch64.

	Disable it to avoid unexpected madvise() and close() invocations
	that break tests.

	* tests/init-once.sh (GLIBC_TUNABLES): Set glibc.malloc.hugetlb=0.

2026-02-08  Dmitry V. Levin  <ldv@strace.io>

	tests: workaround --secontext=mismatch failures on F44+
	Starting with F44, linkat--secontext_mismatch and
	linkat--secontext_full_mismatch tests fail with the following
	diagnostics:

	  FAIL: linkat--secontext_mismatch.gen
	  linkat.c:200: Context mismatch not detected: [default_t]

	  FAIL: linkat--secontext_full_mismatch.gen
	  linkat.c:200: Context mismatch not detected: [system_u:object_r:default_t:s0]

	Workaround this issue by resetting secontext on the current working
	directory.

	* tests/linkat.c (main): Call reset_secontext_file() on the current
	working directory before calling mangle_secontext_field() on it.

	Resolves: https://github.com/strace/strace/issues/354
	Resolves: https://bugzilla.redhat.com/2435125

2026-02-08  Dmitry V. Levin  <ldv@strace.io>

	tests: fix secontext mismatch diagnostics.
	* tests/linkat.c (main): Use error_msg_and_fail() instead of
	perror_msg_and_fail() to print context mismatch diagnostics.

2026-02-03  Andrea Bolognani  <abologna@redhat.com>

	tests: Skip legacy_syscall_info on riscv64 with kernel 6.6.49+ too.
	Back in late 2024, strace commit ba41bc0da4b841d9 made it so that
	this test is skipped when running on kernel 6.11+, which is the
	first release containing kernel commit 61119394631f219e ("riscv:
	entry: always initialize regs->a0 to -ENOSYS"), the one that
	broke the legacy API on riscv64.

	What I failed to realize at the time is that the change had also
	been backported to the 6.6 tree as kernel commit 84557cd61182edf7,
	part of 6.6.49 stable kernel release. So we need to update our
	check to take that into account too, otherwise machines running
	an up-to-date LTS kernel will be unable to successfully build
	strace.

	This theoretically makes us lose coverage for the 6.7 - 6.10
	kernel range, but in reality 99% of riscv64 machines are running
	either the latest upstream kernel or a vendor kernel based on 6.6,
	so nothing really changes in practice.

2026-01-29  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	ptp: add support for PTP_SYS_OFFSET_{PRECISE, EXTENDED}_CYCLES commands.
	* src/ptp.c (ptp_ioctl): Handle PTP_SYS_OFFSET_PRECISE_CYCLES and
	PTP_SYS_OFFSET_EXTENDED_CYCLES.
	* tests/ioctl_ptp.c (test_no_device): Add PTP_SYS_OFFSET_PRECISE_CYCLES
	and PTP_SYS_OFFSET_EXTENDED_CYCLES to expected ioctl tables.

	Update ioctl entries from linux v6.19.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v6.19-rc7 using
	ioctls_gen.sh.
	* src/linux/32/ioctls_inc_align32.h: Likewise.
	* src/linux/32/ioctls_inc_align64.h: Likewise.
	* src/linux/64/ioctls_inc.h: Likewise.
	* src/linux/x32/ioctls_inc0.h: Likewise.
	* NEWS: Mention this change.

	maint: update for linux v6.19-rc7.
	* maint/ioctls_sym.sh (process_file): Add a workaround for the
	linux/gpib_ioctl.h header.

	Update ioctl entries from linux v6.18 and fix affected tests.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v6.18 using
	ioctls_gen.sh.
	* src/linux/32/ioctls_inc_align32.h: Likewise.
	* src/linux/32/ioctls_inc_align64.h: Likewise.
	* src/linux/64/ioctls_inc.h: Likewise.
	* src/linux/x32/ioctls_inc0.h: Likewise.
	* src/linux/powerpc/ioctls_arch0.h: Likewise.
	* tests/ioctl_tee.c (main): Print TEE_IOC_SHM_REGISTER_FD instead of
	raw _IOC value in expected output.
	* tests/ioctl_ptp.c (test_no_device): Update unknown ioctl numbers.

	maint: update for linux v6.18.
	* maint/ioctls_sym.sh (process_file): Bypass asm/cpufeature-macros.h
	on riscv architectures.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: decode SOCKET_URING_OP_* for socket descriptors.
	Implement decoding of socket operations introduced by Linux kernel
	commit v6.6-rc1~152^2~38.

	* src/xlat/uring_socket_ops.in: New file.
	* src/io_uring.c: Include "xlat/uring_socket_ops.h".
	(is_op_cmd_sqe, print_io_uring_sqe_off): New functions.
	(print_io_uring_sqe): Use them to decode "off" field as a socket
	operation.
	* tests/io_uring_register.c (test_IORING_REGISTER_SEND_MSG_RING): Check
	it.
	* NEWS: Mention this change.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: implement 128-byte SQE support.
	Implement decoding of 128-byte SQEs introduced by Linux kernel commit
	v5.19-rc1~247^2~21.  The decoder detects 128-byte SQEs based on opcode
	(IORING_OP_NOP128, IORING_OP_URING_CMD128) and decodes the additional
	cmd[] array.

	* src/io_uring.c (is_128_byte_sqe): New helper function to detect
	128-byte SQEs based on opcode.
	(print_io_uring_sqe): Use it to decode cmd[] array for 128-byte SQEs.
	* tests/io_uring_register.c (test_IORING_REGISTER_SEND_MSG_RING):
	Check decoding of IORING_OP_NOP128 and IORING_OP_URING_CMD128 opcodes
	with cmd[] array data.
	* NEWS: Mention this change.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: decode ioprio as flags for send/recv opcodes.
	Extend print_io_uring_sqe_ioprio to decode ioprio as flags
	introduced by Linux kernel commit v5.19-rc1~251^2~39 for
	send and recv opcodes.

	* src/xlat/uring_recvsend_flags.in: New file.
	* src/io_uring.c: Include "xlat/uring_recvsend_flags.h".
	(print_io_uring_sqe_ioprio): Handle send/recv opcodes.
	* tests/io_uring_register.c (test_IORING_REGISTER_SEND_MSG_RING):
	Add tests for SEND and RECV with flags in ioprio.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: decode ioprio as flags for ACCEPT opcode.
	Extend print_io_uring_sqe_ioprio to decode ioprio as flags introduced
	by Linux kernel commit v5.19-rc1~251^2~14 for IORING_OP_ACCEPT opcode.

	* src/xlat/uring_accept_flags.in: New file.
	* src/io_uring.c: Include "xlat/uring_accept_flags.h".
	(print_io_uring_sqe_ioprio): Handle IORING_OP_ACCEPT.
	* tests/io_uring_register.c (test_IORING_REGISTER_SEND_MSG_RING):
	Add test for ACCEPT with flags in ioprio.
	* NEWS: Mention this change.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: introduce print_io_uring_sqe_ioprio helper.
	Refactor ioprio field printing in print_io_uring_sqe into a separate
	helper function to prepare for opcode-specific ioprio decoding.

	* src/io_uring.c (print_io_uring_sqe_ioprio): New function.
	(print_io_uring_sqe): Use it to print ioprio field of
	struct io_uring_sqe.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: decode install_fd_flags for IORING_OP_FIXED_FD_INSTALL opcode
	Extend print_io_uring_sqe_flags_union to decode install_fd_flags
	introduced by Linux kernel commit v6.8-rc1~120^2~6 for
	IORING_OP_FIXED_FD_INSTALL opcode.  Also add PIPE opcode to the switch
	statement with ATTRIBUTE_FALLTHROUGH to default since no flags are
	currently defined for it.

	* src/xlat/uring_fixed_fd_flags.in: New file.
	* src/io_uring.c: Include "xlat/uring_fixed_fd_flags.h".
	(print_io_uring_sqe_flags_union): Handle IORING_OP_FIXED_FD_INSTALL,
	add IORING_OP_PIPE with ATTRIBUTE_FALLTHROUGH to default.
	* tests/io_uring_register.c (test_IORING_REGISTER_SEND_MSG_RING):
	Add test for FIXED_FD_INSTALL with flags.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: decode nop_flags for IORING_OP_NOP* opcodes.
	Extend print_io_uring_sqe_flags_union to decode nop_flags introduced
	by Linux kernel commit v6.10-rc1~220^2 for IORING_OP_NOP and
	IORING_OP_NOP128 opcodes.

	* src/xlat/uring_nop_flags.in: New file.
	* src/io_uring.c: Include "xlat/uring_nop_flags.h".
	(print_io_uring_sqe_flags_union): Handle IORING_OP_NOP and
	IORING_OP_NOP128.
	* tests/io_uring_register.c (test_IORING_REGISTER_SEND_MSG_RING):
	Update existing NOP test to expect nop_flags decoding, add new test
	for NOP with flags.
	* NEWS: Mention this change.

2026-01-20  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: introduce print_io_uring_sqe_flags_union helper.
	Refactor flags union decoding in print_io_uring_sqe into a separate
	helper function to prepare for opcode-specific flag decoding.

	* src/io_uring.c (print_io_uring_sqe_flags_union): New function.
	(print_io_uring_sqe): Use it to decode flags union of
	struct io_uring_sqe.

2026-01-15  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_register: implement decoding of attr_ptr and attr_type_mask.
	The io_uring_sqe structure contains a union that starting with linux
	kernel commit v6.14-rc1~201^2~32 can also be interpreted as attr_ptr and
	attr_type_mask.  When IORING_RW_ATTR_FLAG_PI is set in attr_type_mask,
	the attr_ptr field points to an io_uring_attr_pi structure that should
	be decoded for RW operations (read/write/send/recv) that actually use
	__io_prep_rw.

	* src/xlat/uring_rw_attr_flags.in: New file.
	* src/io_uring.c: Include "xlat/uring_rw_attr_flags.h".
	(print_io_uring_attr_pi, print_io_uring_attr_ptr): New functions.
	(print_io_uring_sqe): Use them to conditionally decode attr_ptr and
	attr_type_mask.
	* tests/io_uring_register.c (test_IORING_REGISTER_SEND_MSG_RING): Check
	it.
	* NEWS: Mention this change.

2026-01-14  Dmitry V. Levin  <ldv@strace.io>

	tests/prctl-sched-core: remove unused definition.
	* tests/prctl-sched-core.c (struct op_str): Remove.

	tests/syslog: use struct strval32 instead of open-coding it.
	* tests/syslog.c (main): Define no_args[], two_args[], and levels[]
	as arrays of struct strval32.

2026-01-13  Dmitry V. Levin  <ldv@strace.io>

	tests/fcntl-common: use struct strval64 instead of open-coding it.
	* tests/fcntl-common.c (test_rw_hint_pair): Define hints[] as an array
	of struct strval64.

	Fixes: v6.18-25-gad96b2d04 "fcntl: implement decoders for F_*_RW_HINT commands"

2026-01-13  Dmitry V. Levin  <ldv@strace.io>

	tests: workaround fcntl kernel bug.
	Linux kernel used to silently truncate invalid arguments of
	F_SET_RW_HINT command.  This was fixed by Linux kernel commit
	v6.9-rc1~12^2~16.

	* tests/fcntl-common.c (test_rw_hint_pair): If F_SET_* succeeded
	due to argument truncation, skip the corresponding F_GET_* invocation.

2026-01-12  Dmitry V. Levin  <ldv@strace.io>

	tests/time_enjoyment.h: fix compilation warning.
	Workaround the following warning generated by gcc 16:

	  time_enjoyment.h: In function 'enjoy_time':
	  time_enjoyment.h:27:22: error: variable 'dummy' set but not used [-Werror=unused-but-set-variable=]
	     27 |         volatile int dummy = 0;
	        |                      ^~~~~

	* tests/time_enjoyment.h (enjoy_time): Use value of variable 'dummy'.

2026-01-12  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	Implement decoding of listns syscall.
	This new syscall was introduced by Linux kernel commits
	v6.19-rc1~248^2~6^2~53 and v6.19-rc1~248^2~6^2~52.

	* src/xlat/ns_type.in: New file.
	* src/xlat/listns_user_ns_id.in: Likewise.
	* src/listns.c: New file.
	* src/Makefile.am (libstrace_a_SOURCES): Add listns.c.
	* src/linux/generic/syscallent-common.h [BASE_NR + 470]: Wire up listns.
	* tests/listns.c: New file.
	* tests/listns-success.c: Likewise.
	* tests/pure_executables.list: Add listns and listns-success.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (listns, listns-success): New tests.
	* NEWS: Mention this change.

2026-01-12  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	doc: add a guide for adding new syscall support.
	Add a comprehensive howto document for implementing decoding of new
	Linux syscalls in strace.  The guide documents the complete process
	based on analysis of 28 recent implementation commits, including
	wiring up syscalls, implementing decoding functions, creating xlat
	files, adding path tracing support, writing tests, and handling
	special cases like two-phase decoding, array printing, and reusable
	helper functions.

	* doc/HOWTO_ADD_SYSCALL.md: New file.

2026-01-12  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring_enter: implement decoding of extended argument structures.
	The io_uring_enter syscall supports extended argument structures when
	IORING_ENTER_EXT_ARG or IORING_ENTER_EXT_ARG_REG flags are set.  When
	IORING_ENTER_EXT_ARG is set, the sigset argument is actually a pointer
	to struct io_uring_getevents_arg containing sigmask, timespec, and
	minimum wait time.  When IORING_ENTER_EXT_ARG_REG is set, the sigset
	argument is a byte offset into a registered wait region in kernel
	memory.

	* src/io_uring.c (print_io_uring_getevents_arg): New function to
	decode struct io_uring_getevents_arg.
	(SYS_FUNC(io_uring_enter)): Conditionally decode arguments 4 and 5
	based on IORING_ENTER_EXT_ARG and IORING_ENTER_EXT_ARG_REG flags.
	When IORING_ENTER_EXT_ARG is set, decode as io_uring_getevents_arg
	structure.  When IORING_ENTER_EXT_ARG_REG is set, print the byte
	offset value.  When neither flag is set or both are set (invalid
	case), use traditional sigset decoding for backward compatibility.
	* tests/io_uring_enter.c: Include "kernel_timespec.h",
	"kernel_time_types.h", and <linux/io_uring.h>.
	(main): Check decoding of IORING_ENTER_EXT_ARG and
	IORING_ENTER_EXT_ARG_REG flags.
	* NEWS: Mention this change.

2026-01-09  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring: decode IORING_REGISTER_ZCRX_CTRL.
	Implement decoder for the IORING_REGISTER_ZCRX_CTRL opcode introduced
	by Linux kernel commit d663976dad68d
	("io_uring/zcrx: introduce IORING_REGISTER_ZCRX_CTRL").

	This opcode allows auxiliary configuration of zero-copy receive (ZCRX)
	functionality, providing control operations for managing ZCRX resources
	such as flushing refill queues and exporting ZCRX resources.

	* src/xlat/uring_zcrx_ctrl_ops.in: New file with ZCRX_CTRL_* constants
	introduced by Linux kernel commits v6.19-rc1~169^2~6^2~5 and
	v6.19-rc1~169^2~6^2~2.
	* src/io_uring.c: Include "xlat/uring_zcrx_ctrl_ops.h".
	(print_zcrx_ctrl_flush_rq): New function to decode struct
	zcrx_ctrl_flush_rq.
	(print_zcrx_ctrl_export): New function to decode struct
	zcrx_ctrl_export.
	(print_io_uring_zcrx_ctrl): New function to decode struct zcrx_ctrl.
	(print_ioring_register_zcrx_ctrl): New wrapper function.
	(SYS_FUNC(io_uring_register)): Add case handler for
	IORING_REGISTER_ZCRX_CTRL opcode introduced by Linux kernel commit
	v6.19-rc1~169^2~6^2~6.
	* tests/io_uring_register.c (test_IORING_REGISTER_ZCRX_CTRL): New
	function to test decoding of the IORING_REGISTER_ZCRX_CTRL opcode.
	(main): Use it.
	* NEWS: Mention this change.

2026-01-08  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	tests: refactor io_uring_register.c to have separate test function for each opcode
	Extract test logic for each IORING_REGISTER_* opcode into dedicated
	functions following the naming convention test_IORING_REGISTER_OPCODE.
	This improves code organization and maintainability.

	* tests/io_uring_register.c (test_IORING_REGISTER_BUFFERS,
	test_IORING_REGISTER_FILES, test_IORING_REGISTER_FILES_UPDATE,
	test_IORING_REGISTER_PROBE, test_IORING_REGISTER_RESTRICTIONS,
	test_IORING_REGISTER_FILES2_BUFFERS2,
	test_IORING_REGISTER_FILES_UPDATE2_BUFFERS_UPDATE,
	test_IORING_REGISTER_IOWQ_AFF, test_IORING_REGISTER_IOWQ_MAX_WORKERS,
	test_IORING_REGISTER_RING_FDS, test_IORING_REGISTER_PBUF_RING,
	test_IORING_REGISTER_SYNC_CANCEL, test_IORING_REGISTER_FILE_ALLOC_RANGE,
	test_IORING_REGISTER_PBUF_STATUS, test_IORING_REGISTER_NAPI,
	test_IORING_REGISTER_CLOCK, test_IORING_REGISTER_CLONE_BUFFERS,
	test_IORING_REGISTER_SEND_MSG_RING, test_IORING_REGISTER_ZCRX_IFQ,
	test_IORING_REGISTER_RESIZE_RINGS, test_IORING_REGISTER_MEM_REGION):
	New functions.
	(main): Use them.

2026-01-07  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring: decode IORING_REGISTER_QUERY.
	Implement decoder for the IORING_REGISTER_QUERY opcode introduced in
	Linux commit c265ae75f900 ("io_uring: introduce io_uring querying").

	This opcode allows querying various aspects of io_uring, such as
	supported opcodes, flags, and ring sizes.  It uses a linked list
	structure where each entry contains a header and query-specific data.

	* src/xlat/uring_query_ops.in: New file with IO_URING_QUERY_*
	operation type constants introduced by Linux kernel commits
	v6.18-rc1~137^2~32, v6.19-rc1~169^2~7^2~1, and v6.19-rc1~169^2~7^2.
	* src/io_uring.c: Include <linux/io_uring/query.h> and
	"xlat/uring_query_ops.h".
	(print_io_uring_query_opcode): New function to decode struct
	io_uring_query_opcode.
	(print_io_uring_query_zcrx): New function to decode struct
	io_uring_query_zcrx.
	(print_io_uring_query_scq): New function to decode struct
	io_uring_query_scq.
	(print_io_uring_query_list): New function to decode linked list
	of query headers.
	(print_ioring_register_query): New wrapper function.
	(SYS_FUNC(io_uring_register)): Add case handler for
	IORING_REGISTER_QUERY opcode introduced by Linux kernel commit
	v6.18-rc1~137^2~32.
	* tests/io_uring_register.c (test_IORING_REGISTER_QUERY): New function
	to test decoding of the IORING_REGISTER_QUERY opcode.
	(main): Use it.
	* NEWS: Mention this change.

2026-01-07  Dmitry V. Levin  <ldv@strace.io>

	bundled: add uapi/linux/io_uring/query.h.
	* bundled/linux/include/uapi/linux/io_uring/query.h: New file,
	imported from headers_install'ed Linux kernel v6.19-rc4.
	* bundled/Makefile.am (EXTRA_DIST): Add
	linux/include/uapi/linux/io_uring/query.h.

2026-01-06  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring: decode IORING_REGISTER_MEM_REGION.
	Implement decoder for the IORING_REGISTER_MEM_REGION opcode introduced
	in Linux commit 93238e661855 ("io_uring: add memory region
	registration").

	This opcode registers a memory region with io_uring.  It takes a pointer
	to a single struct io_uring_mem_region_reg as the argument.

	* src/xlat/uring_mem_region_reg_flags.in: New file with
	IORING_MEM_REGION_REG_* flag constants introduced by Linux kernel
	commit v6.13-rc1~210^2~2.
	* src/io_uring.c: Include "xlat/uring_mem_region_reg_flags.h".
	(print_io_uring_mem_region_reg): New function to decode struct
	io_uring_mem_region_reg.
	(print_ioring_register_mem_region): New wrapper function.
	(SYS_FUNC(io_uring_register)): Add case handler for
	IORING_REGISTER_MEM_REGION.
	* tests/io_uring_register.c (main): Add test cases for
	IORING_REGISTER_MEM_REGION opcode.
	* NEWS: Mention this change.

2026-01-05  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring: decode IORING_REGISTER_RESIZE_RINGS.
	Implement decoder for the IORING_REGISTER_RESIZE_RINGS opcode
	introduced in Linux commit 79cfe9e59c2a ("io_uring/register: add
	IORING_REGISTER_RESIZE_RINGS").

	This opcode allows resizing the CQ and SQ rings after creation.  It
	takes a pointer to a single struct io_uring_params as the argument,
	similar to io_uring_setup, but only the input fields (sq_entries,
	cq_entries, flags, etc.) are relevant.

	* src/io_uring.c (print_io_uring_params_input): New helper function
	to decode input fields of struct io_uring_params.
	(print_ioring_register_resize_rings): New wrapper function.
	(SYS_FUNC(io_uring_register)): Add case handler for
	IORING_REGISTER_RESIZE_RINGS.
	* tests/io_uring_register.c (main): Add test cases for
	IORING_REGISTER_RESIZE_RINGS opcode.
	* NEWS: Mention this change.

2026-01-05  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring: decode IORING_REGISTER_ZCRX_IFQ.
	Implement decoder for the IORING_REGISTER_ZCRX_IFQ opcode introduced
	in Linux commit 6f377873cb23 ("io_uring/zcrx: add interface queue and
	refill queue").

	This opcode registers a zero-copy receive/transmit interface queue.
	It takes a pointer to a single struct io_uring_zcrx_ifq_reg as the
	argument.

	* src/xlat/uring_zcrx_reg_flags.in: New file with ZCRX_REG_* flag
	constants introduced by Linux kernel commit v6.15-rc1~124^2~16.
	* src/xlat/uring_zcrx_area_flags.in: New file with IORING_ZCRX_AREA_*
	flag constants introduced by Linux kernel commit v6.15-rc1~124^2~16.
	* src/io_uring.c (print_io_uring_zcrx_offsets): New helper function.
	(print_io_uring_zcrx_ifq_reg): New function to decode struct
	io_uring_zcrx_ifq_reg.
	(print_ioring_register_zcrx_ifq): New wrapper function.
	(SYS_FUNC(io_uring_register)): Add case handler for
	IORING_REGISTER_ZCRX_IFQ.
	* tests/io_uring_register.c (main): Add test cases for
	IORING_REGISTER_ZCRX_IFQ opcode.
	* NEWS: Mention this change.

2026-01-05  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	io_uring: decode IORING_REGISTER_SEND_MSG_RING.
	Implement decoder for the IORING_REGISTER_SEND_MSG_RING opcode
	introduced in Linux commit a377132154ab ("io_uring/msg_ring: add support
	for sending a sync message").

	This opcode allows sending a MSG_RING message without having a source
	ring. It takes a pointer to a single struct io_uring_sqe as the argument.

	* src/xlat/uring_msg_ring_flags.in: New file with IORING_MSG_RING_*
	flag constants introduced by Linux kernel commit v6.13-rc1~210^2~71.
	* src/io_uring.c: Include "xlat/uring_msg_ring_flags.h".
	(print_io_uring_sqe, print_ioring_register_send_msg_ring): New functions
	to decode and print struct io_uring_sqe for
	IORING_REGISTER_SEND_MSG_RING.
	(SYS_FUNC(io_uring_register)): Add case handler for
	IORING_REGISTER_SEND_MSG_RING.
	* tests/io_uring_register.c (main): Check decoding of
	IORING_REGISTER_SEND_MSG_RING opcode.
	* NEWS: Mention this change.

2026-01-05  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	fcntl: implement decoders for F_GETDELEG and F_SETDELEG commands.
	Implement decoders for F_GETDELEG and F_SETDELEG fcntl commands
	introduced in Linux commit 1602bad16d7df ("vfs: expose delegation
	support to userland").

	* src/xlat/fcntlcmds.in (F_GETDELEG, F_SETDELEG): New constants
	introduced by Linux kernel commit v6.19-rc1~241^2~2^2.
	* src/fcntl.c (print_delegation): New helper function to decode and
	print struct delegation.
	(print_fcntl): Use it to decode F_GETDELEG and F_SETDELEG commands.
	* tests/fcntl-common.c (test_delegation_invalid_pointers,
	test_delegation_fields, test_delegation): New functions to test decoding
	of F_GETDELEG and F_SETDELEG commands.
	(main): Use test_delegation.
	* NEWS: Mention this change.

2026-01-05  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	fcntl: implement decoders for F_*_RW_HINT commands.
	Implement decoders for F_GET_RW_HINT, F_SET_RW_HINT, F_GET_FILE_RW_HINT,
	and F_SET_FILE_RW_HINT fcntl commands introduced in Linux commit
	c75b1d9421f80 ("fs: add fcntl() interface for setting/getting write life
	time hints").

	* src/xlat/fcntlcmds.in (F_GET_RW_HINT, F_SET_RW_HINT,
	F_GET_FILE_RW_HINT, F_SET_FILE_RW_HINT): New constant introduced by
	Linux kernel commit v4.13-rc1~212^2~51.
	* src/xlat/rwh_write_life_hints.in: New xlat file for write life hint
	values (RWH_WRITE_LIFE_*).
	* src/fcntl.c: Include "xlat/rwh_write_life_hints.h".
	(print_rw_hint): New helper function to decode and print write life
	hint values.
	(print_fcntl): Use it to decode F_*_RW_HINT commands.
	* tests/fcntl-common.c (test_rw_hint_invalid_pointers,
	test_rw_hint_pair, test_rw_hints): New functions to tests decoding
	of F_*_RW_HINT commands.
	(main): Use test_rw_hints.
	* NEWS: Mention this change.

2026-01-05  Dmitry V. Levin  <ldv@strace.io>

	xlat: update PERF_ATTR_SIZE_* constants.
	* src/xlat/perf_attr_size.in (PERF_ATTR_SIZE_VER8): New constant
	introduced by Linux kernel commit v6.16-rc1~196^2~1.
	(PERF_ATTR_SIZE_VER9): New constant introduced by Linux kernel commit
	v6.19-rc1~205^2~4.
	* tests/perf_event_open.c (main): Check it.
	* NEWS: Mention this change.

	xlat: update V4L2_* constants.
	* src/xlat/v4l2_meta_fmts.in (V4L2_META_FMT_MALI_C55_PARAMS):
	New constant introduced by Linux kernel commit v6.19-rc1~159^2~19.

	xlat: update ABS_* constants.
	* src/xlat/evdev_abs.in (ABS_SND_PROFILE): New constant introduced
	by Linux kernel commit v6.19-rc2~2^2~2.
	* NEWS: Mention this change.

	bundled: update linux UAPI headers to v6.19-rc4.
	* bundled/linux/include/uapi/linux/input-event-codes.h: Update to
	headers_install'ed Linux kernel v6.19-rc4.
	* bundled/linux/include/uapi/linux/mptcp.h: Likewise.

2026-01-04  Dmitry V. Levin  <ldv@strace.io>

	xlat: update V4L2_* constants.
	* src/xlat/v4l2_control_id_bases.in (V4L2_CID_USER_MALI_C55_BASE):
	New constant introduced by Linux kernel commit v6.19-rc1~159^2~27.
	* src/xlat/v4l2_meta_fmts.in (V4L2_META_FMT_MALI_C55_STATS):
	New constant introduced by Linux kernel commit v6.19-rc1~159^2~23.
	* NEWS: Mention this change.

	xlat: update TLS_* constants.
	* src/xlat/sock_tls_options.in (TLS_TX_ZEROCOPY_RO): New constant
	introduced by Linux kernel commit v5.19-rc2~25^2~3.
	(TLS_RX_EXPECT_NO_PAD): New constant introduced by Linux kernel commit
	v6.0-rc1~141^2~193^2~2.
	(TLS_TX_MAX_PAYLOAD_LEN): New constant introduced by Linux kernel commit
	v6.19-rc1~170^2~312.
	* src/xlat/inet_diag_ulp_info_tls_attrs.in (TLS_INFO_TX_MAX_PAYLOAD_LEN):
	New constant introduced by Linux kernel commit v6.19-rc1~170^2~312.
	* tests/nlattr_inet_diag_msg.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update KVM_EXIT_* constants.
	* src/xlat/kvm_exit_reason.in (KVM_EXIT_TDX): New constant introduced
	by Linux kernel commit v6.16-rc3~7^2~1.
	(KVM_EXIT_ARM_SEA): New constant introduced by Linux kernel commit
	v6.19-rc1~103^2~1^2~2^2~2.
	* NEWS: Mention this change.

	xlat: update KVM_CAP_* constants.
	* src/xlat/kvm_cap.in (KVM_CAP_ARM_SEA_TO_USER): New constant
	introduced by Linux kernel commit v6.19-rc1~103^2~1^2~2^2~2.
	(KVM_CAP_S390_USER_OPEREXEC): New constant introduced by Linux kernel
	commits v6.19-rc1~103^2^2~4 and v6.19-rc1~103^2.
	* NEWS: Mention this change.

	xlat: update IORING_SETUP_* constants.
	* src/xlat/uring_setup_flags.in (IORING_SETUP_SQE_MIXED): New constant
	introduced by Linux kernel commit v6.19-rc1~169^2~48.
	* tests/io_uring_setup.c (main): Update expected output.

	xlat: update IORING_REGISTER_* constants.
	* src/xlat/uring_register_opcodes.in (IORING_REGISTER_ZCRX_CTRL): New
	constant introduced by Linux kernel commit v6.19-rc1~169^2~6^2~6.
	* tests/io_uring_register.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update *_MAGIC constants.
	* src/xlat/fsmagic.in (GUEST_MEMFD_MAGIC): New constant introduced
	by Linux kernel commit v6.19-rc1~103^2~10^2~11.
	* NEWS: Mention this change.

	xlat: update ETH_P_* constants.
	* src/xlat/ethernet_protocols.in (ETH_P_MXLGSW): New constant introduced
	by Linux kernel commit v6.19-rc1~170^2~42.
	(ETH_P_YT921X): New constant introduced by Linux kernel commit
	v6.19-rc1~170^2~338^2~2.
	* NEWS: Mention this change.

	xlat: update ETHTOOL_MSG_* constants.
	* src/xlat/genl_ethtool_msg_recv.in (ETHTOOL_MSG_MSE_GET_REPLY): New
	constant introduced by Linux kernel commit v6.19-rc1~170^2~251^2~2.
	* src/xlat/genl_ethtool_msg_send.in (ETHTOOL_MSG_MSE_GET): Likewise.
	introduced by Linux kernel commit v6.17-rc1~126^2~84^2~10.
	* tests/netlink_nlctrl.c (test_nla_ops_family): Check it.
	* NEWS: Mention this change.

2026-01-02  Dmitry V. Levin  <ldv@strace.io>

	tests: workaround issues with recent glibc on platforms lacking vDSO.
	When running the testsuite on platforms lacking vDSO support, the glibc
	malloc implementation might issue some clock_gettime64(CLOCK_MONOTONIC)
	calls.  Since those calls cannot be distinguished from expected calls,
	workaround the issue by sanitizing the whole lot.

	* tests/init-once.sh (test_pure_prog_set) [SIZEOF_LONG == 4]: When
	the test execuable doesn't have linux-vdso.so.1 loaded, filter out
	clock_gettime64(CLOCK_MONOTONIC) calls.

	Resolves: https://github.com/strace/strace/issues/355
	Resolves: https://github.com/strace/strace/issues/372

2026-01-01  dependabot[bot]  <49699333+dependabot[bot]@users.noreply.github.com>

	build(deps): bump actions/upload-artifact from 5 to 6.
	Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
	- [Release notes](https://github.com/actions/upload-artifact/releases)
	- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

	---
	updated-dependencies:
	- dependency-name: actions/upload-artifact
	  dependency-version: '6'
	  dependency-type: direct:production
	  update-type: version-update:semver-major
	...

2025-12-24  Dmitry V. Levin  <ldv@strace.io>

	xlat: workaround SCM_DEVMEM_* kernel change on hppa.
	* src/xlat/scmvals.in [__hppa__] (SCM_DEVMEM_LINEAR, SCM_DEVMEM_DMABUF):
	Redefine to new values introduced by Linux kernel commit
	v6.15-rc1~160^2^2~4.

	Resolves: https://github.com/strace/strace/issues/371

2025-12-17  Dmitry V. Levin  <ldv@strace.io>

	mount_setattr: fix return value type.
	The mount_setattr syscall has a regular return value semantics.

	* src/mount_setattr.c (SYS_FUNC(mount_setattr)): Do not add RVAL_FD flag
	to the return value.

	Resolves: https://github.com/strace/strace/issues/368

2025-12-17  Dmitry V. Levin  <ldv@strace.io>

	xlat: update BPF_* constants.
	* src/xlat/bpf_file_flags.in (BPF_F_RB_OVERWRITE): New constant
	introduced by Linux kernel commit v6.19-rc1~171^2~73.
	* src/xlat/bpf_map_types.in (BPF_MAP_TYPE_ARENA): New constant
	introduced by Linux kernel commit v6.19-rc1~171^2~52^2~11.
	* tests/bpf.c: Check it.
	* NEWS: Mention this change.

2025-12-16  Dmitry V. Levin  <ldv@strace.io>

	Update decoding of struct perf_event_attr.
	* bundled/linux/include/uapi/linux/perf_event.h: Update to
	headers_install'ed Linux kernel v6.19-rc1.
	* src/perf_event_struct.h (struct perf_event_attr): Add config4 field
	introduced by Linux kernel commit v6.19-rc1~205^2~4.
	* src/perf.c (print_perf_event_attr): Print it.
	* tests/perf_event_open.c (print_event_attr): Check it.
	* NEWS: Mention this change.

2025-12-15  Dmitry V. Levin  <ldv@strace.io>

	xlat: update IORING_OP_* constants.
	* bundled/linux/include/uapi/linux/io_uring.h: Update to
	headers_install'ed Linux kernel v6.19-rc1.
	* src/xlat/uring_ops.in (IORING_OP_NOP128, IORING_OP_URING_CMD128): New
	constants introduced by Linux kernel commit v6.19-rc1~169^2~48.
	* tests/io_uring_register.c (main): Update expected output.
	* NEWS: Mention this change.

2025-12-14  Dmitry V. Levin  <ldv@strace.io>

	bundled: update linux UAPI headers to v6.19-rc1.
	The update of linux/io_uring.h is delayed because the change
	in enum io_uring_op requires a synchronous update of the header,
	the parser and the test.

	Likewise, the update of linux/perf_event.h is delayed because the change
	in struct perf_event_attr requires a synchronous update of the header,
	the parser and the test.

	* bundled/linux/include/uapi/linux/blktrace_api.h: Update
	to headers_install'ed Linux kernel v6.19-rc1.
	* bundled/linux/include/uapi/linux/blkzoned.h: Likewise.
	* bundled/linux/include/uapi/linux/btrfs.h: Likewise.
	* bundled/linux/include/uapi/linux/devlink.h: Likewise.
	* bundled/linux/include/uapi/linux/ethtool.h: Likewise.
	* bundled/linux/include/uapi/linux/ethtool_netlink_generated.h: Likewise.
	* bundled/linux/include/uapi/linux/fcntl.h: Likewise.
	* bundled/linux/include/uapi/linux/fs.h: Likewise.
	* bundled/linux/include/uapi/linux/if_ether.h: Likewise.
	* bundled/linux/include/uapi/linux/mptcp.h: Likewise.
	* bundled/linux/include/uapi/linux/mptcp_pm.h: Likewise.
	* bundled/linux/include/uapi/linux/netdev.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nf_tables.h: Likewise.
	* bundled/linux/include/uapi/linux/nsfs.h: Likewise.
	* bundled/linux/include/uapi/linux/tee.h: Likewise.
	* bundled/linux/include/uapi/linux/tls.h: Likewise.
	* bundled/linux/include/uapi/linux/v4l2-controls.h: Likewise.
	* bundled/linux/include/uapi/linux/version.h: Likewise.
	* bundled/linux/include/uapi/linux/videodev2.h: Likewise.

2025-12-10  Dmitry V. Levin  <ldv@strace.io>

	Update decoding of struct mnt_id_req.
	* bundled/linux/include/uapi/linux/mount.h: Update to headers_install'ed
	Linux kernel v6.18.
	* src/listmount.c (print_mnt_id_req): Print struct mnt_id_req.mnt_ns_fd
	field introduced by Linux kernel commit v6.18-rc7~32^2~2.
	* src/statmount.c (print_mnt_id_req): Likewise.
	* tests/listmount.c (main): Check it.
	* tests/statmount.c (test_req): Likewise.
	* NEWS: Mention this change.

2025-12-09  Dmitry V. Levin  <ldv@strace.io>

	bundled: update linux/input-event-codes.h to v6.18.
	* bundled/linux/include/uapi/linux/input-event-codes.h: Update
	to headers_install'ed Linux kernel v6.18.
	* src/xlat/evdev_prop.in (INPUT_PROP_HAPTIC_TOUCHPAD): Rename
	to INPUT_PROP_PRESSUREPAD.

2025-12-08  Dmitry V. Levin  <ldv@strace.io>

	Post-release administrivia.
	* NEWS: Add a header line for the next release.
	* debian/changelog.in: Add a changelog entry for 6.18-1.
	* strace.spec.in: Likewise.

2025-12-07  Dmitry V. Levin  <ldv@strace.io>

	Prepare for 6.18 release.
	* NEWS: Update for 6.18 release.

2025-12-04  Dmitry V. Levin  <ldv@strace.io>

	GPG-KEY: add the key that is going to be used for signing releases.

	Update copyright headers.
	Headers updated automatically using maint/update_copyright_years.sh
	script.

2025-12-03  Dmitry V. Levin  <ldv@strace.io>

	tests/errno2name: provide fallback definitions for internal linux constants
	Linux include/linux/errno.h claims that errno constants starting with
	512 should never be seen by user programs, but here you are:

	    commit d90ad28e8aa482e397150e22f3762173d918a724
	    Author: Andrey Albershteyn <aalbersh@redhat.com>
	    Date:   Wed Oct 8 14:44:18 2025 +0200

	        fs: return EOPNOTSUPP from file_setattr/file_getattr syscalls

	        These syscalls call to vfs_fileattr_get/set functions which return
	        ENOIOCTLCMD if filesystem doesn't support setting file attribute on an
	        inode. For syscalls EOPNOTSUPP would be more appropriate return error.

	* tests/errno2name.c: Provide fallback definitions for internal linux
	constants.

2025-12-03  Dmitry V. Levin  <ldv@strace.io>

	tests: update BPF_PROG_LOAD expected output in bpf-obj_get_info_by_fd.
	* tests/bpf-obj_get_info_by_fd.c (print_prog_load): Update expected
	output.

	Fixes: v6.17-111-g76b8b33b9 "bpf: decode core_relo* fields of BPF_PROG_LOAD command"
	Fixes: v6.17-112-g5d819ac1d "bpf: decode log_true_size field of BPF_PROG_LOAD command"
	Fixes: v6.17-113-gba767105a "bpf: decode prog_token_fd field of BPF_PROG_LOAD command"
	Fixes: v6.17-114-g7aa3ee241 "bpf: decode fd_array_cnt field of BPF_PROG_LOAD command"
	Fixes: v6.17-115-ga4d65215f "bpf: decode signature* fields of BPF_PROG_LOAD command"

2025-12-03  Dmitry V. Levin  <ldv@strace.io>

	tests: update BPF_MAP_CREATE expected output in bpf-obj_get_info_by_fd.
	* tests/bpf-obj_get_info_by_fd.c (print_map_create): Update expected
	output.

	Fixes: v6.17-108-g0c0df8e3b "bpf: decode value_type_btf_obj_fd field of BPF_MAP_CREATE command"
	Fixes: v6.17-109-g169fd03b0 "bpf: decode map_token_fd field of BPF_MAP_CREATE command"
	Fixes: v6.17-110-g3e4ddc088 "bpf: decode excl_prog_hash fields of BPF_MAP_CREATE command"

2025-12-02  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	bpf: decode hash and hash_size fields of bpf_map_info.
	* src/bpf_attr.h (bpf_map_info_struct): Add hash and hash_size fields
	introduced by Linux commit v6.18-rc1~175^2~31.
	(bpf_map_info_struct_size, expected_bpf_map_info_struct_size): Update.
	* src/bpf.c (print_bpf_map_info): Decode hash and hash_size fields.
	* tests/bpf-obj_get_info_by_fd.c (main): Update expected output.
	* NEWS: Mention this change.

	bpf: decode btf_vmlinux_id field of bpf_map_info.
	* src/bpf_attr.h (bpf_map_info_struct): Rename pad to btf_vmlinux_id
	introduced by Linux commit v6.9-rc1~159^2~423^2~10^2~8.
	* src/bpf.c (print_bpf_map_info): Decode btf_vmlinux_id field.
	* tests/bpf-obj_get_info_by_fd.c (main): Update expected output.

	bpf: decode attach_btf_obj_id and attach_btf_id fields of bpf_prog_info.
	* src/bpf_attr.h (bpf_prog_info_struct): Add attach_btf_obj_id and
	attach_btf_id fields introduced by Linux commit
	v6.0-rc1~141^2~163^2~30^2~6.
	(bpf_prog_info_struct_size, expected_bpf_prog_info_struct_size): Update.
	* src/bpf.c (print_bpf_prog_info): Decode attach_btf_obj_id and
	attach_btf_id fields.
	* tests/bpf-obj_get_info_by_fd.c (main): Update expected output.
	* NEWS: Mention this change.

	bpf: decode map_extra field of bpf_map_info.
	* src/bpf.c (print_bpf_map_info): Decode map_extra field introduced
	by Linux commit v5.16-rc1~159^2~2^2~20^2~4.
	* tests/bpf-obj_get_info_by_fd.c (main): Update expected output.

2025-12-01  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	bpf: implement decoding of BPF_PROG_STREAM_READ_BY_FD command.
	* src/bpf_attr.h (BPF_PROG_STREAM_READ_BY_FD_struct): New structure
	introduced by Linux kernel commit v6.17-rc1~125^2~36^2~10.
	(BPF_PROG_STREAM_READ_BY_FD_struct_size,
	expected_BPF_PROG_STREAM_READ_BY_FD_struct_size): New macros.
	* src/bpf.c (BEGIN_BPF_CMD_DECODER(BPF_PROG_STREAM_READ_BY_FD)): New
	function.
	(SYS_FUNC(bpf)) <bpf_cmd_decoders[]>: Use it.
	* tests/bpf.c (union bpf_attr_data): Add
	BPF_ATTR_DATA_FIELD(BPF_PROG_STREAM_READ_BY_FD).
	(init_BPF_PROG_STREAM_READ_BY_FD_attr): New function.
	(BPF_PROG_STREAM_READ_BY_FD_checks): New checks array.
	(main) <checks>: Add CHK(BPF_PROG_STREAM_READ_BY_FD).
	* NEWS: Mention this change.

	bpf: decode btf_flags and btf_token_fd fields of BPF_BTF_LOAD command.
	* src/bpf_attr.h (struct BPF_BTF_LOAD_struct): Add btf_flags and
	btf_token_fd fields introduced by Linux kernel commit
	v6.9-rc1~159^2~423^2~4^2~25.
	* src/bpf.c (BEGIN_BPF_CMD_DECODER(BPF_BTF_LOAD)): Decode btf_flags
	and btf_token_fd fields.
	* tests/bpf.c (BPF_BTF_LOAD_checks): Check decoding of btf_flags
	and btf_token_fd fields.

	bpf: decode btf_log_true_size field of BPF_BTF_LOAD command.
	* src/bpf_attr.h (struct BPF_BTF_LOAD_struct): Add btf_log_true_size
	field introduced by Linux kernel commit v6.4-rc1~132^2~87^2~19^2~7.
	* src/bpf.c (BEGIN_BPF_CMD_DECODER(BPF_BTF_LOAD)): Decode
	btf_log_true_size field.
	* tests/bpf.c (BPF_BTF_LOAD_checks): Check decoding of
	btf_log_true_size field.
	* NEWS: Mention this change.

	bpf: decode struct cgroup of BPF_LINK_CREATE command.
	* src/bpf_attr.h (struct BPF_LINK_CREATE_struct): Add struct cgroup
	member introduced by Linux kernel commit v6.17-rc1~125^2~101^2~3.
	* src/bpf.c (BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE)): Decode struct
	cgroup for BPF_CGROUP_* attach types.
	tests/bpf.c (BPF_LINK_CREATE_checks): Add tests for decoding of
	struct cgroup.
	(special_attach_types): Update.

	bpf: decode struct netkit of BPF_LINK_CREATE command.
	* src/bpf_attr.h (struct BPF_LINK_CREATE_struct): Add struct netkit
	member introduced by Linux kernel commit v6.7-rc1~160^2~22^2~6^2~6.
	* src/bpf.c (BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE)): Decode struct
	netkit for BPF_NETKIT_PRIMARY and BPF_NETKIT_PEER attach types.
	tests/bpf.c (BPF_LINK_CREATE_checks): Add tests for decoding of
	struct netkit.
	(special_attach_types): Update.

2025-12-01  dependabot[bot]  <49699333+dependabot[bot]@users.noreply.github.com>

	build(deps): bump actions/checkout from 5 to 6.
	Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
	- [Release notes](https://github.com/actions/checkout/releases)
	- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
	- [Commits](https://github.com/actions/checkout/compare/v5...v6)

	---
	updated-dependencies:
	- dependency-name: actions/checkout
	  dependency-version: '6'
	  dependency-type: direct:production
	  update-type: version-update:semver-major
	...

2025-11-26  Dmitry V. Levin  <ldv@strace.io>

	ioctl: fix C23 const correctness issue.
	* src/ioctl.c (ioctl_lookup): Add const qualifier to the structure
	pointed by the variable that holds the result returned by bsearch.

	Reported-by: Frédéric Bérat <fberat@redhat.com>
	Reported-by: Florian Weimer <fweimer@redhat.com>
	Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2416774

2025-11-25  Dmitry V. Levin  <ldv@strace.io>
	    auto@cursor.ai

	bpf: decode uprobe_multi struct of BPF_LINK_CREATE command.
	* src/xlat/bpf_link_create_uprobe_multi_flags.in: New file.
