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

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

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

2025-03-25  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 '\.(sh|test)$') |while read f; do
		cppi < "$f" > "$f".cppi; mv "$f".cppi "$f"
	done

2025-03-24  Masatake YAMATO  <yamato@redhat.com>

	tests: verify the auxstr of clone3(2) with -e namespace=new option.
	* tests/gen_tests.in (clone3-report-ns-id): New test.
	* tests/pure_executables.list: Add clone3-report-ns-id.
	* tests/clone3-report-ns-id.c: New file.
	* tests/.gitignore: Add clone3-report-ns-id.

	Changes in v3 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Don't wait for the child process exiting in the parent process.

	Changes in v4 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Fix the comment,
	* Fix the type of variable receiving the result of readlink(),
	* Don't include sys/syscall.h,
	* Skip the test case if clone3(2) is not available,
	* Skip the test case if /proc/self/ns/user is not available,
	* Add the file name to the error message reported when readlink(2)
	  fails,
	* Unify the function calls printing the expected output.

	Changes in v5 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Add a missing period in comment,
	* Update Copyright years,
	* Skip the test case if clone3(2) fails.

2025-03-24  Masatake YAMATO  <yamato@redhat.com>

	tests: verify the auxstr of clone(2) with -e namespace=new option.
	Instead of adding a new test program, I extended tests/clone-flags.c
	for the testing the auxstr.

	* tests/clone-flags.c: (retrieve_userns): New function.
	(wait_cloned) <userns_buf, userns_buflen>: New parameters for
	returning the id of the user namespace.
	(do_clone_newns): New macro.
	(main): Call do_clone_newns for making a process in a new namespace.
	* tests/clone-flags.test (run_strace_match_diff): Append
	-e namespace=new to the command line.

	Changes in v3 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Don't wait for the child process exiting in the parent process.

	Changes in v4 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Fix the type of variable receiving the result of readlink(),
	* Reuse a local variable (buf),
	* Don't skip running the test case even if creating an user
	  namespace,
	* Don't make the test "failed" even if readlink() fails.
	* Add missing free(3) call.

	Changes in v5 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Remove the duplicate lines mistakenly introduced in the last change,
	* Use tabs for indenting the lines.

2025-03-24  Masatake YAMATO  <yamato@redhat.com>

	tests: verify the auxstr of setns(2) when --namespace=new is given.
	* tests/gen_tests.in (setns-report-ns-id): New test.
	* tests/pure_executables.list: Add setns-report-ns-id.
	* tests/setns-report-ns-id.c: New file.
	* tests/.gitignore: Add setns-report-ns-id.

	Changes in v2 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Call unshare in the parent process instead of the child process.

	Changes in v3 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Don't do fork.

	Changes in v4 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Fix the type of variable receiving the result of readlink(),
	* Call skip_if_unavailable() with pre-defined string literal,
	* Make the test case failure if readlink() reports error,
	* Use puts() instead of printf().

	Changes in v5 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Add a missing period in comment,
	* Update Copyright years.

2025-03-24  Masatake YAMATO  <yamato@redhat.com>

	tests: verify the auxstr of unshare(2) with -e namespace=new option.
	* tests/gen_tests.in (unshare-report-ns-id): New test.
	* tests/pure_executables.list: Add unshare-report-ns-id.
	* tests/unshare-report-ns-id.c: New file just including unshare.c.
	* tests/unshare.c (main): Extend `unshare_flags' array for testing
	'-e namespace=new' option.
	(main::PRINT_NAMESPACE): print the namespace as a part of auxstr
	after changing the current directory to /proc/self/ns.
	* tests/.gitignore: Add unshare-report-ns-id.

	Changes in v3 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Implement unshare-report-ns-id.c by including unshare.c.

	Changes in v4 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Fix the style of conditional expressions,
	* Fix the type of variable receiving the result of readlink(),
	* Include the file name to the error messages reported when
	  readlink() fails.

2025-03-24  Masatake YAMATO  <yamato@redhat.com>

	tests: verify the argument passed to "-e namespace=..."
	* tests/options-syntax.test: Check error diagnostics when
	-e namespace=/--namespace= is specified with an invalid option
	argument.

2025-03-24  Masatake YAMATO  <yamato@redhat.com>

	auxstr: show namespaces when -e namespace=new is given.
	    $ src/strace -qq -e signal=none -e unshare -e namespace=new unshare --user --net /bin/true
	    unshare(CLONE_NEWUSER|CLONE_NEWNET)     = 0 (net:[4026537408], user:[4026537407])
	    $ src/strace -qq -f -e signal=none -e unshare,clone -e namespace=new \
	      		 podman run --rm -ti registry.access.redhat.com/ubi7/ubi:latest /bin/true
	    [pid 1089104] clone(child_stack=NULL, flags=CLONE_NEWNS|CLONE_NEWUSER|SIGCHLD) = 1089110 (mnt:[4026531841], user:[4026531837])
	    [pid 1089104] clone(child_stack=NULL, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 1089111
	    ERRO[0000] running `/usr/bin/newuidmap 1089110 0 1000 1 1 100000 65536`: newuidmap: write to uid_map failed: Operation not permitted
	    Error: cannot set up namespace using "/usr/bin/newuidmap": exit status 1

	* src/clone.c: Include "xstring.h" and <unistd.h>.
	(show_namespace): New variable.
	(namespace_auxstr_init, read_namespace_id, get_namespace_auxstr): New
	functions.
	(SYS_FUNC(clone)): Don't add RVAL_DECODED to the return
	value if the clone makes new namespaces (entering).
	Set the value returned from get_namespace_auxstr() to the auxstr
	member of tcp if the clone makes new namespaces, and add RVAL_STR to
	the return value (leaving).
	(SYS_FUNC(clone3), SYS_FUNC(setns), SYS_FUNC(unshare)): Likewise.
	* src/defs.h (qualify_namespace, namespace_auxstr_init): New
	declaration.
	* src/filter_qualify.c (qualify_namespace): New function.
	(qual_options): Add "namespace".
	* src/strace.c (usage): Describe -e namespace=new option.
	(init) <namespace_qual>: New constant.
	(init) <GETOPT_QUAL_NAMESPACE>: New enumerator.
	(init) <longopts>: Add "namespace".
	(init): Call qualify_namespace when --namespace is specified.
	* doc/strace1.n (-e namespace=new): Document the option.

	Changes in v2 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Consider CLONE_INTO_CGROUP flag, and
	* Use an array instead of a sequence of if-statements in
	  get_namespace_auxstr(),
	* Remove unnecessary cast operations,
	* Translate pids with translate_pid() before passing them
	  to get_namespace_auxstr.

	Changes in v4 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Use syserror() instead of comparing tcp->u_rval with 0,
	* Fix the style of conditional expressions.

	Changes in v5 (Suggested by Dmitry V. Levin <ldv@strace.io>):
	* Move the NEWS entry,
	* Update the formatting of the man page,
	* Don't cast tcp->u_rval to int when calling get_namespace_auxstr.

2025-03-24  Masatake YAMATO  <yamato@redhat.com>

	tests: (clone-flags) revise the way to handle the result of readlink.
	* tests/clone-flags.c (main): Use ssize_t instead of int for
	receiving a result of readlink(2).
	Add the file name to the error message reported when readlink(2)
	fails.

	Suggested by Dmitry V. Levin <ldv@strace.io> in a review
	comment of github#332.

2025-03-19  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v6.14.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v6.14-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.
	* src/linux/s390/ioctls_arch0.h: Likewise.
	* src/linux/s390x/ioctls_arch0.h: Likewise.
	* NEWS: Mention this.

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

	README.md: add repology badge.
	Show downstream usage for various versions of strace instead of listing
	a few binary repositories manually.

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

	README.md: update references to github CI.
	Link: https://github.com/github/docs/commit/f9b50ac4387b46f8a3ca80ede226fb15384ff7f3

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

	.github: remove x32 jobs.
	As ubuntu-20.04 images are being deprecated and later images do not
	support x32, remove x32 jobs.

	* .github/workflows/ci.yml (*-x32-*): Remove.

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

	.github: switch remaining x86_64 and x86 builder jobs away from ubuntu-20.04
	As ubuntu-20.04 images are being deprecated, switch the remaining x86_64
	and x86 builder jobs from ubuntu-20.04 to ubuntu-22.04.

	* .github/workflows/ci.yml (gcc10-x86_64-kheaders, gcc10-x86_64-dw,
	gcc10-x86_64-unwind, gcc9-x86_64-kheaders, gcc9-x86_64-dw,
	gcc9-x86_64-unwind, gcc10-x86-kheaders, gcc10-x86-nostacktrace,
	gcc9-x86-kheaders, gcc9-x86-nostacktrace, musl-x86_64-nostacktrace):
	Replace ubuntu-20.04 with ubuntu-22.04.

	Link: https://github.blog/changelog/2025-01-15-github-actions-ubuntu-20-runner-image-brownout-dates-and-other-breaking-changes/

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

	test_ptrace_seize: simplify PTRACE_SEIZE availability check.
	As PTRACE_SEIZE return code semantics has always been well-defined,
	there is no need to fork a process to find out whether PTRACE_SEIZE
	is supported.

	Before Linux kernel commit v3.1-rc1~308^2~28, PTRACE_SEIZE was
	an unrecognized operation and therefore used to fail with ESRCH.

	Starting with v3.1-rc1~308^2~28 and up to v3.4-rc1~109^2~20,
	PTRACE_SEIZE used to require PTRACE_SEIZE_DEVEL flag.
	Without that flag, PTRACE_SEIZE used to fail with EIO.

	Since v3.4-rc1~109^2~20, PTRACE_SEIZE of oneself fails with EPERM.

	Like any ptrace operation, PTRACE_SEIZE could also be filtered out
	by a syscall filter, but that is beyond the scope of this check.

2025-02-27  Dmitry V. Levin  <ldv@strace.io>

	tests/clone3.c: do not use XLAT_KNOWN(SIGCHLD, "SIGCHLD")
	* tests/clone3.c (main): Print XLAT_ARGS(SIGCHLD) using XLAT_FMT_U
	format instead.

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

	tests: check decoding of PTRACE_SET_SYSCALL_INFO.
	* tests/tests.h (XLAT_FMT_JD): New macro.
	* tests/ptrace_set_syscall_info.c: New file.
	* tests/ptrace_set_syscall_info-Xabbrev.c: Likewise.
	* tests/ptrace_set_syscall_info-Xraw.c: Likewise.
	* tests/ptrace_set_syscall_info-Xverbose.c: Likewise.
	* tests/pure_executables.list: Add ptrace_set_syscall_info,
	ptrace_set_syscall_info-Xabbrev, ptrace_set_syscall_info-Xraw,
	and ptrace_set_syscall_info-Xverbose.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (ptrace_set_syscall_info,
	ptrace_set_syscall_info-Xabbrev, ptrace_set_syscall_info-Xraw,
	ptrace_set_syscall_info-Xverbose): New tests.

	Fix PRINT_FIELD_SYSCALL_NAME for invalid syscall numbers.
	* src/syscall_name.c (syscall_name_arch): Change the type of syscall
	number from "kernel_ulong_t" to "unsigned long long", handle the case
	when these types differ in size.
	* src/print_fields.h (PRINT_FIELD_SYSCALL_NAME): Zero-extend the syscall
	number field before passing it on to syscall_name_arch.

2025-02-25  Dmitry V. Levin  <ldv@strace.io>

	tests/cur_audit_arch.h: introduce *_AUDIT_ARCH_STR.
	* tests/cur_audit_arch.h (CUR_AUDIT_ARCH_STR, PERS0_AUDIT_ARCH_STR,
	M32_AUDIT_ARCH_STR, MX32_AUDIT_ARCH_STR): New macros.
	* tests/ioctl_seccomp.c: Enable XLAT_MACROS_ONLY for "xlat/audit_arch.h".
	(main): Use *_AUDIT_ARCH_STR macros instead of sprintxval(audit_arch).
	* tests/ptrace.c: Likewise.

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

	ptrace: implement PTRACE_SET_SYSCALL_INFO decoder.
	* src/ptrace_syscall_info.h (print_ptrace_syscall_info): Add kernel_len
	argument.
	* src/ptrace_syscall_info.c (print_ptrace_syscall_info): Likewise.
	Print "reserved" and "flags" fields when they are non-zero.
	* src/ptrace.c (decode_ptrace_exiting): Likewise.
	(decode_ptrace_entering): Handle PTRACE_SET_SYSCALL_INFO.

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

	ptrace: update definitions for upcoming PTRACE_SET_SYSCALL_INFO API.
	* ptrace.h: [!PTRACE_SET_SYSCALL_INFO] (PTRACE_SET_SYSCALL_INFO): New
	macro.
	(struct ptrace_syscall_info): Split "pad" into "reserved" and "flags",
	add "reserved2" to "seccomp".
	* src/xlat/ptrace_cmds.in (PTRACE_SET_SYSCALL_INFO): New constant.

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

	ptrace: use local definition of ptrace_syscall_info structure.
	This opens the way to support ptrace features ahead of the mainline
	linux kernel.

	* configure.ac (AC_CHECK_TYPES): Remove struct __ptrace_syscall_info
	and struct ptrace_syscall_info.
	* src/ptrace.h [HAVE_STRUCT_PTRACE_SYSCALL_INFO ||
	HAVE_STRUCT___PTRACE_SYSCALL_INFO]: Remove.
	(struct ptrace_syscall_info): Rename to struct strace_ptrace_syscall_info
	to avoid potential conflict with definitions from <sys/ptrace.h> and
	<linux/ptrace.h>.

2025-02-13  Dmitry V. Levin  <ldv@strace.io>

	Update decoding of statx syscall.
	* src/xlat/statx_masks.in (STATX_DIO_READ_ALIGN): New constant
	introduced by Linux kernel commit v6.14-rc1~210^2^2~3.
	* src/statx.h (struct_statx): Add stx_dio_read_offset_align,
	update reserved space.
	* src/statx.c (SYS_FUNC(statx)): Print stx_dio_read_offset_align member
	of struct statx when STATX_DIO_READ_ALIGN bit is set.
	* tests/xstatx.c (print_stat, main): Check it.
	* NEWS: Mention this change.

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

	xlat: update SECBIT_* constants.
	* src/xlat/secbits.in (SECBIT_EXEC_RESTRICT_FILE,
	SECBIT_EXEC_RESTRICT_FILE_LOCKED, SECBIT_EXEC_DENY_INTERACTIVE,
	SECBIT_EXEC_DENY_INTERACTIVE_LOCKED): New constants introduced
	by Linux kernel commit v6.14-rc1~11^2~7.
	* tests/prctl-securebits.c (main): Update.
	* NEWS: Mention this change.

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

	netlink_route: decode RTM_{NEW,DEL}MULTICAST and RTM_{NEW,DEL}ANYCAST messages
	* src/xlat/nl_route_types.in (RTM_NEWMULTICAST, RTM_DELMULTICAST):
	New constants introduced by Linux kernel commit v6.14-rc1~162^2~224.
	(RTM_NEWANYCAST, RTM_DELANYCAST): New constants introduced
	by Linux kernel commit v6.14-rc1~162^2~115.
	* src/netlink_route.c (route_decoders): Add them.
	* tests/netlink_route.c (test_rtnl_addr): Check them.
	* NEWS: Mention this change.

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

	xlat: update NL80211_* constants.
	* src/xlat/genl_nl80211_cmd.in (NL80211_CMD_ASSOC_MLO_RECONF):
	New constant introduced by Linux kernel commit v6.14-rc1~162^2~20^2~22.
	(NL80211_CMD_EPCS_CFG): New constant introduced by Linux kernel commit
	v6.14-rc1~162^2~20^2~18.
	* tests/netlink_nlctrl.c (test_nla_ops_family): Update.
	* NEWS: Mention this change.

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

	tests/gen_tests.sh: use run_strace_match_diff for syscall tampering -y.
	As strace -y nees /proc filesystem, all tests that use strace -y have to
	be skipped if /proc is unavailable.  This is usually done by the tests
	themselves returning 77 if /proc is unavailable.  However, in the
	generated tests that use both -y and syscall tampering the return code
	was ignored.

	* tests/gen_tests.sh: Generate run_strace_match_diff invocations
	for the tests that use both -y and syscall tampering.

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

	tests/old_mmap-y: skip if /proc is unavailable.
	* tests/old_mmap.c (main) [PATH_TRACING]: Skip if /proc is unavailable.

	tests/ptrace-y: skip if /proc is unavailable.
	* tests/ptrace-y.c (SKIP_IF_PROC_IS_UNAVAILABLE): New macro.
	* tests/ptrace.c [!SKIP_IF_PROC_IS_UNAVAILABLE]
	(SKIP_IF_PROC_IS_UNAVAILABLE): Likewise.
	(main): Use it.

	tests/landlock_restrict_self-y: skip if /proc is unavailable.
	* tests/landlock_restrict_self-y.c (SKIP_IF_PROC_IS_UNAVAILABLE):
	New macro.

	tests/landlock_add_rule-y: skip if /proc is unavailable.
	* tests/landlock_add_rule-y.c (SKIP_IF_PROC_IS_UNAVAILABLE): New macro.

	tests/ioctl_seccomp-y: skip if /proc is unavailable.
	* tests/ioctl_seccomp-y.c (SKIP_IF_PROC_IS_UNAVAILABLE): New macro.
	* tests/ioctl_seccomp.c [!SKIP_IF_PROC_IS_UNAVAILABLE]
	(SKIP_IF_PROC_IS_UNAVAILABLE): Likewise.
	(main): Use it.

	tests/dup2-e-fd-0-P: skip if /proc is unavailable.
	* tests/dup2-e-fd-0-P.c: Include "dup-P.c" instead of "dup.c".
	(PATH_TRACING): Remove.

	tests/dup-trace-fds-0-P: skip if /proc is unavailable.
	* tests/dup-trace-fds-0-P.c: Include "dup-P.c" instead of "dup.c".
	(PATH_TRACING): Remove.

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

	Make sure ptrace_sci.op is properly initialized before startup_tcb()
	Otherwise ptrace_sci.op could be set to 0, suppressing
	PTRACE_GET_SYSCALL_INFO invocation from startup_tcb().

	Currently, it makes no practical difference, but in the future
	PTRACE_GET_SYSCALL_INFO may return more useful information also
	for tracees in PTRACE_EVENT_STOP state.

	* src/strace.c (next_event): Invoke clear_regs() before startup_tcb().

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

	strace.1: update "-b execve" description.
	* doc/strace.1.in: Note that "-b execve" includes both execve
	and execveat syscalls.

2025-02-06  Dmitry V. Levin  <ldv@strace.io>

	xlat: update IORING_FEAT_* constants.
	* src/xlat/uring_setup_features.in (IORING_FEAT_RW_ATTR): New constant
	introduced by Linux kernel commit v6.14-rc1~201^2~5.
	* NEWS: Mention this change.

	xlat: update KEY_* constants.
	* src/xlat/evdev_keycode.in (KEY_LINK_PHONE): New constant
	introduced by Linux kernel commit v6.14-rc1~117^2~33.
	* NEWS: Mention this change.

	xlat: update IPPROTO_* constants.
	* src/xlat/inet_protocols.in (IPPROTO_AGGFRAG): New constant introduced
	by Linux kernel commit v6.14-rc1~162^2~102^2~2^2~13.
	* tests/nlattr_inet_diag_req_v2.c (test_inet_diag_proto): Check it.
	* NEWS: Mention this change.

2025-02-05  Dmitry V. Levin  <ldv@strace.io>

	xlat: update RWF_* constants.
	* src/xlat/rwf_flags.in (RWF_DONTCACHE): New constant introduced
	by Linux kernel commit v6.14-rc1~216^2~6^2.
	* NEWS: Mention this change.

	Implement decoding of FRA_FLOWLABEL and FRA_FLOWLABEL_MASK netlink attributes
	* src/xlat/rtnl_rule_attrs.in (FRA_FLOWLABEL, FRA_FLOWLABEL_MASK):
	New constants introduced by Linux kernel commit v6.14-rc1~162^2~186^2~8.
	* src/rtnl_rule.c (fib_rule_hdr_nla_decoders): Add them.
	* NEWS: Mention this change.
	* src/nlattr.h (decode_nla_be32): New declaration, using DECL_NLA macro.
	* src/nlattr.c (decode_nla_be32): New function.
	* tests/nlattr_fib_rule_hdr.c: Include <arpa/inet.h>.
	(main): Check decoding of FRA_FLOWLABEL and FRA_FLOWLABEL_MASK.

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

	xlat: update AT_* constants.
	* src/xlat/execveat_flags.in: New file.
	* src/execve.c: Include <linux/fcntl.h> and "xlat/execveat_flags.h".
	(SYS_FUNC(execveat)): Use execveat_flags for flags decoding.
	* tests/execveat.c: Check AT_EXECVE_CHECK decoding.
	* NEWS: Mention this change.

	tests/execveat: introduce execveat wrapper.
	* tests/execveat.c (k_execveat): New function.
	(tests_with_existing_file, main): Use it.

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

	tests: assume __NR_execveat is always defined.
	It could be safely assumed that "scno.h" provides a definition.

	* tests/execveat.c [!__NR_execveat]: Remove.

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

	xlat: update FAN_* constants.
	* src/xlat/fan_event_flags.in (FAN_PRE_ACCESS): New constant
	introduced by Linux kernel commit v6.14-rc1~129^2~11.
	* tests/fanotify_mark.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update ETHTOOL_MSG_* constants.
	* src/xlat/genl_ethtool_msg_recv.in (ETHTOOL_MSG_TSCONFIG_GET_REPLY,
	ETHTOOL_MSG_TSCONFIG_SET_REPLY): New constants introduced by Linux
	kernel commit v6.14-rc1~162^2~211^2.
	* src/xlat/genl_ethtool_msg_send.in (ETHTOOL_MSG_TSCONFIG_GET,
	ETHTOOL_MSG_TSCONFIG_SET): Likewise.
	* tests/netlink_nlctrl.c (test_nla_ops_family): Check it.
	* NEWS: Mention this change.

	xlat: update AUDIT_* constants.
	* xlat/nl_audit_types.in (AUDIT_INTEGRITY_USERSPACE): New constant
	introduced by Linux kernel commit v6.14-rc1~11^2~1.
	* NEWS: Mention this change.

	bundled: update linux UAPI headers to v6.14-rc1.
	* bundled/linux/include/uapi/asm-generic/fcntl.h: Update to
	headers_install'ed Linux kernel v6.14-rc1.
	* bundled/linux/include/uapi/linux/dm-ioctl.h: Likewise.
	* bundled/linux/include/uapi/linux/ethtool.h: Likewise.
	* bundled/linux/include/uapi/linux/ethtool_netlink.h: Likewise.
	* bundled/linux/include/uapi/linux/fcntl.h: Likewise.
	* bundled/linux/include/uapi/linux/fib_rules.h: Likewise.
	* bundled/linux/include/uapi/linux/fiemap.h: Likewise.
	* bundled/linux/include/uapi/linux/fs.h: Likewise.
	* bundled/linux/include/uapi/linux/if_link.h: Likewise.
	* bundled/linux/include/uapi/linux/in.h: Likewise.
	* bundled/linux/include/uapi/linux/input-event-codes.h: Likewise.
	* bundled/linux/include/uapi/linux/io_uring.h: Likewise.
	* bundled/linux/include/uapi/linux/mptcp_pm.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nfnetlink_conntrack.h: Likewise.
	* bundled/linux/include/uapi/linux/nl80211.h: Likewise.
	* bundled/linux/include/uapi/linux/rtnetlink.h: Likewise.
	* bundled/linux/include/uapi/linux/securebits.h: Likewise.
	* bundled/linux/include/uapi/linux/stat.h: Likewise.
	* bundled/linux/include/uapi/linux/stddef.h: Likewise.
	* bundled/linux/include/uapi/linux/taskstats.h: Likewise.
	* bundled/linux/include/uapi/linux/thermal.h: Likewise.
	* bundled/linux/include/uapi/linux/version.h: Likewise.
	* bundled/linux/include/uapi/mtd/ubi-user.h: Likewise.
	* bundled/linux/include/uapi/linux/ethtool_netlink_generated.h: New
	file imported from headers_install'ed Linux kernel v6.14-rc1.
	* bundled/Makefile.am (EXTRA_DIST): Add
	/linux/include/uapi/linux/ethtool_netlink_generated.h.

2025-01-24  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.13-1.
	* strace.spec.in: Likewise.

2025-01-23  Dmitry V. Levin  <ldv@strace.io>

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

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	Update .mailmap.
	* .mailmap: Add both email addresses of dependabot to avoid duplication
	in CREDITS file.

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

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

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

	$ for f in tests/k_sockopt.[hc]; do
		cppi < "$f" > "$f".cppi; mv "$f".cppi "$f"
	done

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

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

	Fix a few typos found using codespell tool.
	* src/s390.c: Replace "valud" with "valid".
	* src/secontext.c: Replace "wihch" with "which".
	* tests/kill_child.c: Replace "unitialised" with "uninitialised".
	* tests/strace--tips.test: Replace "accross" with "across".

	tests: check decoding of removexattrat syscall.
	* tests/removexattrat.c: New file.
	* tests/removexattrat-P.c: Likewise.
	* tests/removexattrat-y.c: Likewise.
	* tests/removexattrat-yy.c: Likewise.
	* tests/pure_executables.list: Add removexattrat, removexattrat-P,
	removexattrat-y, and removexattrat-yy.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (removexattrat, removexattrat-P, removexattrat-y,
	removexattrat-yy): New tests.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	Implement decoding of removexattrat syscall.
	This new syscall was introduced by Linux kernel commit v6.13-rc1~217.

	* src/linux/generic/syscallent-common.h [BASE_NR + 466]: Wire up
	removexattrat.
	* src/xattr.c (SYS_FUNC(removexattrat)): New function.
	* src/pathtrace.c (pathtrace_match_set): Handle SEN_removexattrat.
	* NEWS: Mention this change.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	tests: check decoding of listxattrat syscall.
	* tests/listxattrat.c: New file.
	* tests/listxattrat-P.c: Likewise.
	* tests/listxattrat-y.c: Likewise.
	* tests/listxattrat-yy.c: Likewise.
	* tests/pure_executables.list: Add listxattrat, listxattrat-P,
	listxattrat-y, and listxattrat-yy.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (listxattrat, listxattrat-P, listxattrat-y,
	listxattrat-yy): New tests.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	Implement decoding of listxattrat syscall.
	This new syscall was introduced by Linux kernel commit v6.13-rc1~217.

	* src/linux/generic/syscallent-common.h [BASE_NR + 465]: Wire up
	listxattrat.
	* src/xattr.c (SYS_FUNC(listxattrat)): New function.
	* src/pathtrace.c (pathtrace_match_set): Handle SEN_listxattrat.
	* NEWS: Mention this change.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	tests: check decoding of getxattrat syscall.
	* tests/getxattrat.c: New file.
	* tests/getxattrat-P.c: Likewise.
	* tests/getxattrat-y.c: Likewise.
	* tests/getxattrat-yy.c: Likewise.
	* tests/pure_executables.set: Add getxattrat, getxattrat-P,
	getxattrat-y, and getxattrat-yy.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (getxattrat, getxattrat-P, getxattrat-y,
	getxattrat-yy): New tests.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	Implement decoding of getxattrat syscall.
	This new syscall was introduced by Linux kernel commit v6.13-rc1~217.

	* src/linux/generic/syscallent-common.h [BASE_NR + 464]: Wire up
	getxattrat.
	* src/xattr.c (SYS_FUNC(getxattrat)): New function.
	* src/pathtrace.c (pathtrace_match_set): Handle SEN_getxattrat.
	* NEWS: Mention this change.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	tests: check decoding of setxattrat syscall.
	* tests/setxattrat.c: New file.
	* tests/setxattrat-P.c: Likewise.
	* tests/setxattrat-y.c: Likewise.
	* tests/setxattrat-yy.c: Likewise.
	* tests/pure_executables.set: Add setxattrat, setxattrat-P,
	setxattrat-y, and setxattrat-yy.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (setxattrat, setxattrat-P, setxattrat-y,
	setxattrat-yy): New tests.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	Implement decoding of setxattrat syscall.
	This new syscall was introduced by Linux kernel commit v6.13-rc1~217.

	* src/linux/generic/syscallent-common.h [BASE_NR + 463]: Wire up
	setxattrat.
	* src/xlat/xattrat_flags.in: New file.
	* src/xattr.c: Include <linux/fcntl.h> and "xlat/xattrat_flags.h".
	(decode_dirfd_pathname_flags, decode_dirfd_pathname_flags_name,
	umove_xattr_args_or_printaddr, print_xattr_args, SYS_FUNC(setxattrat)):
	New functions.
	* src/pathtrace.c (pathtrace_match_set): Handle SEN_setxattrat.
	* NEWS: Mention this change.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	xattr: fix decoding of getxattr with zero size argument.
	* src/xattr.c (decode_getxattr_without_path): When the size argument is
	zero, do not print xattr value and decode the whole syscall on entering.
	* tests/xattr.c (main): Check it.

	xattr: refactor decoders for better code re-use.
	* src/xattr.c (print_xattr_val): Remove "insize" argument,
	do not print it.
	(decode_setxattr_without_path): New function.
	(SYS_FUNC(setxattr), SYS_FUNC(fsetxattr)): Use it.
	(decode_getxattr_without_path): New function.
	(SYS_FUNC(getxattr), SYS_FUNC(fgetxattr)): Use it.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

	xattr: Use <linux/xattr.h> instead of <sys/xattr.h>
	Now that linux/xattr.h is bundled, use it instead of potentially missing
	sys/xattr.h.

	* src/xattr.c: Include <linux/xattr.h> instead of <sys/xattr.h>
	* src/xlat/xattrflags.in: Add #unconditional, remove fallback
	definitions.

2025-01-22  Dmitry V. Levin  <ldv@strace.io>

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

	tests: extend xattr check.
	* tests/xattr.c (main): Update to check with a real attribute name.

2025-01-21  Andrea Bolognani  <abologna@redhat.com>

	tests: Reduce expected precision for relative-timestamps tests.
	Currently we have a very small amount of tolerance around the
	expected 1.0s sleep time, specifically 0.1s in either direction.

	If the machine is not very fast (e.g. StarFive VisionFive 2, a
	very popular and reasonably performant riscv64 board that's now
	a couple of years old) and is heavily loaded (e.g. because other
	builds are running at the same time or the test suite has been
	executed with 'make -j check'), then the test might fail because
	of an additional delay that's as small as 0.1s.

	Since the test is really intended to ensure that the timestamps
	are displayed using the requested precision, reporting a failure
	in this case is not very useful. Instead, we should tolerate
	delays of up to 1.0s as long as the timestamps are printed out
	using the expected format.

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

	tests: disable -Werror for useless warnings generated by gcc-15.
	Apparently, gcc-15 started to generate tons of useless warnings, some of
	them are also false positives.  For example, the warnings generated by
	-Wstringop-overflow are false positives, and the warnings generated by
	-Wunterminated-string-initialization are just useless:

	  msg_control.c: In function ‘test_sol_socket’:
	  msg_control.c:662:38: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
	    662 |         static const char text[16] = "0123456789abcdef";
	        |                                      ^~~~~~~~~~~~~~~~~~
	  msg_control.c: In function ‘main’:
	  msg_control.c:380:9: error: writing 16 bytes into a region of size 4 [-Werror=stringop-overflow=]
	    380 |         memcpy(CMSG_DATA(cmsg), &tv, sizeof(tv));
	        |         ^
	  In file included from /usr/include/sys/socket.h:33,
	                   from msg_control.c:18:
	  /usr/include/bits/socket.h:290:9: note: destination object ‘cmsg_level’ of size 4
	    290 |     int cmsg_level;             /* Originating protocol.  */
	        |         ^~~~~~~~~~
	  msg_control.c:427:9: error: writing 16 bytes into a region of size 4 [-Werror=stringop-overflow=]
	    427 |         memcpy(CMSG_DATA(cmsg), &ts, sizeof(ts));
	        |         ^
	  /usr/include/bits/socket.h:290:9: note: destination object ‘cmsg_level’ of size 4
	    290 |     int cmsg_level;             /* Originating protocol.  */
	        |         ^~~~~~~~~~
	  net-sockaddr.c: In function ‘check_ipx’:
	  net-sockaddr.c:286:30: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    286 |                 .sipx_node = "ABCDEF",
	        |                              ^~~~~~~~
	  net-sockaddr.c: In function ‘check_x25’:
	  net-sockaddr.c:464:32: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
	    464 |                 .sx25_addr = { "0123456789abcdef" },
	        |                                ^~~~~~~~~~~~~~~~~~
	  net-sockaddr.c: In function ‘check_ll’:
	  net-sockaddr.c:547:29: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    547 |                 .sll_addr = "abcdefgh"
	        |                             ^~~~~~~~~~
	  net-sockaddr.c: In function ‘check_sco’:
	  net-sockaddr.c:638:33: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    638 |                 .sco_bdaddr.b = "abcdef"
	        |                                 ^~~~~~~~
	  net-sockaddr.c: In function ‘check_rc’:
	  net-sockaddr.c:658:32: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    658 |                 .rc_bdaddr.b = "abcdef",
	        |                                ^~~~~~~~
	  net-sockaddr.c: In function ‘check_l2’:
	  net-sockaddr.c:682:32: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    682 |                 .l2_bdaddr.b = "abcdef",
	        |                                ^~~~~~~~
	  netlink_protocol.c: In function ‘send_query’:
	  netlink_protocol.c:39:26: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
	     39 |                 .magic = "abcd"
	        |                          ^~~~~~
	  nlattr_ifla_port.c: In function ‘main’:
	  nlattr_ifla_port.c:40:32: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	     40 |                 .vsi_type_id = "abc",
	        |                                ^~~~~
	  nlattr_ndmsg.c: In function ‘main’:
	  nlattr_ndmsg.c:123:39: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    123 |         static const uint8_t mac[6] = "\xf8\xc2\x49\x13\x57\xbd";
	        |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
	  nlattr_inet_diag_msg.c:170:13: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    170 |             "OH HAI THAR\0\1\2\3\4\5\6\7\3779876543210abcdefghijklmnopqrstuv"
	        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  pread64-pwrite64.c: In function ‘dump_str’:
	  pread64-pwrite64.c:21:38: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
	     21 |         static const char dots[16] = "................";
	        |                                      ^~~~~~~~~~~~~~~~~~
	  recv-MSG_TRUNC.c: In function ‘main’:
	  recv-MSG_TRUNC.c:34:37: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
	     34 |         static const char sbuf[2] = "AB";
	        |                                     ^~~~
	  read-write.c: In function ‘dump_str_ex’:
	  read-write.c:23:17: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
	     23 |                 "................................"
	        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  recvfrom-MSG_TRUNC.c: In function ‘main’:
	  recvfrom-MSG_TRUNC.c:17:37: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
	     17 |         static const char sbuf[2] = "AB";
	        |                                     ^~~~
	  sockaddr_xlat.c: In function ‘check_ll’:
	  sockaddr_xlat.c:199:29: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    199 |                 .sll_addr = "abcdefgh"
	        |                             ^~~~~~~~~~
	  sockaddr_xlat.c: In function ‘check_sco’:
	  sockaddr_xlat.c:349:33: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    349 |                 .sco_bdaddr.b = "abcdef"
	        |                                 ^~~~~~~~
	  sockaddr_xlat.c: In function ‘check_rc’:
	  sockaddr_xlat.c:387:32: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    387 |                 .rc_bdaddr.b = "abcdef",
	        |                                ^~~~~~~~
	  sockaddr_xlat.c: In function ‘check_rxrpc’:
	  sockaddr_xlat.c:507:49: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    507 |                                    { .s6_addr = "OH HAI THAR!\0\0\0\xf" } } } },
	        |                                                 ^~~~~~~~~~~~~~~~~~~~~~~
	  sockaddr_xlat.c:519:49: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    519 |                                    { .s6_addr = "OH HAI THAR!\0\0\0\xf" } } } },
	        |                                                 ^~~~~~~~~~~~~~~~~~~~~~~
	  sockaddr_xlat.c: In function ‘check_ieee802154’:
	  sockaddr_xlat.c:626:33: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    626 |                     { .hwaddr = "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" } } },
	        |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  sockaddr_xlat.c: In function ‘check_alg’:
	  sockaddr_xlat.c:736:42: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
	    736 |                 { { AF_ALG, .salg_type = "OH HAI\1\n\377\\\"\0\t\v",
	        |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~

	Since nobody is going to waste their time before the release by
	silencing new useless warnings in the code, disable -Werror
	for these warnings until gcc is fixed.

	* m4/st_warn_cflags.m4 (st_WARN_CFLAGS): Add
	-Wno-error=unterminated-string-initialization and
	-Wno-error=stringop-overflow to TEST_WARN_CFLAGS.
	* m4/mpers.m4 (st_MPERS): Wrap TEST_WARN_CFLAGS using pushdef/popdef.
	* m4/ax_prog_cc_for_build.m4 (AC_PROG_CC_FOR_BUILD): Likewise.
	* tests/Makefile.am (AM_CFLAGS): $(TEST_WARN_CFLAGS).

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

	ptrace_syscall_info: extend runtime test.
	On architectures that have 64-bit syscall arguments, check that the
	syscall arguments returned by PTRACE_GET_SYSCALL_INFO are not truncated
	in the kernel.

	At the same time, in PTRACE_GET_SYSCALL_INFO tests on architectures that
	have 32-bit syscall arguments, ignore extra bits in syscall arguments
	returned by PTRACE_GET_SYSCALL_INFO: there is no need to be more picky
	in the tests than in get_syscall_args() where these arguments are
	assigned to tcp->u_arg[] elements of type kernel_ulong_t.

	* src/ptrace_syscall_info.c (test_ptrace_get_syscall_info): Change the
	type of arguments passed to syscall() from unsigned long to
	kernel_ulong_t.  Change the constants used for this purpose
	to those that don't fit into 32-bit integers.  Cast info.entry.args[]
	elements to kernel_ulong_t in checks.
	* tests/ptrace_syscall_info.c: Likewise.

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

	mips: fix compilation warning.
	Fix the following compilation warning observable in some mips
	environments:

	In file included from kern_features.c:13:
	../src/linux/mips/raw_syscall.h:15:6: warning: "__mips_isa_rev" is not defined, evaluates to 0 [-Wundef]
	   15 | # if __mips_isa_rev >= 6
	      |      ^~~~~~~~~~~~~~
	In file included from inject-nf.c:17:
	../src/linux/mips/raw_syscall.h:15:6: warning: "__mips_isa_rev" is not defined, evaluates to 0 [-Wundef]
	   15 | # if __mips_isa_rev >= 6
	      |      ^~~~~~~~~~~~~~

	* src/linux/mips/raw_syscall.h: Make sure __mips_isa_rev is defined
	before using it in comparisons.

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

	mips n32: fix compilation warnings.
	Fix the following compilation warnings introduced as a side effect of the recent
	change of kernel_ulong_t type on mips n32:

	  linux/mips/get_scno.c:16:35: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'kernel_ulong_t' {aka 'long long unsigned int'} [-Wformat=]
	  ftruncate.c:24:36: warning: overflow in conversion from 'kernel_ulong_t' {aka 'long long unsigned int'} to '__off_t' {aka 'long int'} changes value from '1004211376030073054' to '195936478' [-Woverflow]
	  lseek.c:27:37: warning: overflow in conversion from 'kernel_ulong_t' {aka 'long long unsigned int'} to '__off_t' {aka 'long int'} changes value from '18072662652281011951' to '-559038737' [-Woverflow]
	  truncate.c:26:38: warning: overflow in conversion from 'kernel_ulong_t' {aka 'long long unsigned int'} to '__off_t' {aka 'long int'} changes value from '1004211376030073054' to '195936478' [-Woverflow]

	* src/linux/mips/get_scno.c (arch_get_scno): Print tcp->scno as
	an unsigned long long type.
	* tests/Makefile.am (ftruncate_CPPFLAGS, lseek_CPPFLAGS,
	truncate_CPPFLAGS): Add -D_FILE_OFFSET_BITS=64.

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

	kernel_types.h: fix definitions for MIPS n32.
	MIPS n32 is the only ILP32 architecture supported by the kernel that
	has 64-bit syscall arguments and at the same time 32-bit definitions
	of __kernel_long_t and __kernel_ulong_t types.

	Fix that inconsistency by making sure our kernel_long_t and
	kernel_ulong_t are 64-bit types on MIPS n32.

	* src/kernel_types.h (kernel_long_t, kernel_ulong_t): Prioritize
	[LINUX_MIPSN32] over [HAVE___KERNEL_LONG_T && HAVE___KERNEL_ULONG_T].

2025-01-14  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v6.13.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v6.13-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.
	* src/linux/s390/ioctls_arch0.h: Likewise.
	* src/linux/s390x/ioctls_arch0.h: Likewise.
	* NEWS: Mention this.

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

	xlat: update IORING_* constants.
	* src/xlat/uring_clone_buffers_flags.in (IORING_REGISTER_DST_REPLACE):
	New constant introduced by Linux kernel commit v6.13-rc1~11^2~37.
	* src/xlat/uring_enter_flags.in (IORING_ENTER_EXT_ARG_REG):
	New constant introduced by Linux kernel commit v6.13-rc1~11^2~54.
	* src/xlat/uring_register_opcodes.in (IORING_REGISTER_SEND_MSG_RING):
	New constant introduced by Linux kernel commit v6.13-rc1~11^2~81.
	(IORING_REGISTER_RESIZE_RINGS): New constant introduced by Linux kernel
	commit v6.13-rc1~11^2~58.
	(IORING_REGISTER_MEM_REGION): New constant introduced by Linux kernel
	commit v6.13-rc1~11^2~12.
	* src/xlat/uring_setup_flags.in (IORING_SETUP_HYBRID_IOPOLL):
	New constant introduced by Linux kernel commit v6.13-rc1~11^2~36.
	* tests/io_uring_enter.c (main): Update expected output.
	* tests/io_uring_register.c (main): Likewise.
	* tests/io_uring_setup.c (main): Likewise.
	* NEWS: Mention this change.

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

	rtnl_link: decode IFLA_MCTP_PHYS_BINDING attribute.
	* src/xlat/rtnl_ifla_af_spec_mctp_attrs.in (IFLA_MCTP_PHYS_BINDING): New
	constant introduced by Linux kernel commit v6.13-rc1~135^2~101.
	* src/rtnl_link.c (ifla_mctp_nla_decoders): Add IFLA_MCTP_PHYS_BINDING.
	* tests/nlattr_ifla_af_spec.c (main): Check it.
	* tests/test_nlattr.h (check_x8_nlattr): New function defined using
	DEF_NLATTR_INTEGER_CHECK_ macro.
	* NEWS: Mention this change.

2024-12-13  Dmitry V. Levin  <ldv@strace.io>

	xlat: update AT_* constants.
	* src/xlat/name_to_handle_at_flags.in (AT_HANDLE_MNT_ID_UNIQUE): New
	constant introduced by Linux kernel commit v6.12-rc1~215^2~3^2.
	(AT_HANDLE_CONNECTABLE): New constant introduced by Linux kernel
	commit v6.13-rc1~74^2^2~1.
	* tests/file_handle.c: Update expected output.
	* NEWS: Mention this change.

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

	xlat: update FAN_* constants.
	* src/xlat/fan_init_flags.in (FAN_REPORT_FD_ERROR): New constant
	introduced by Linux kernel commit v6.13-rc1~130^2~2.
	* tests/fanotify_init.c (main): Update expected output.
	* NEWS: Mention this change.

2024-12-11  Dmitry V. Levin  <ldv@strace.io>

	xlat: update NT_* constants.
	* src/xlat/nt_descriptor_types.in (NT_ARM_GCS): New constant
	introduced by Linux kernel commit v6.13-rc1~15^2~5^2~16.
	(NT_RISCV_TAGGED_ADDR_CTRL): New constant introduced by Linux kernel
	commit v6.13-rc1~56^2~3^2~4.
	* NEWS: Mention this change.

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

	netlink_crypto: decode CRYPTOCFGA_REPORT_SIG attribute.
	* src/xlat/crypto_nl_attrs.in (CRYPTOCFGA_REPORT_SIG): New constant
	introduced by Linux kernel commit v6.13-rc1~196^2~110.
	* src/netlink_crypto.c (crypto_user_alg_nla_decoders): Add
	CRYPTOCFGA_REPORT_SIG.
	* NEWS: Mention this change.
