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

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

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

2022-08-11  Joubin Jabbari  <joubin@linux.com>

	README.md: update Fedora strace repo location.
	Resolves: https://github.com/strace/strace/pull/218

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: add PR_SVE_[GS]ET_VL checks.
	Re-purpose prct-sme.c for that, since these commands identical
	to PR_SME_[GS]ET_VL so far, save for s/SME/SVE/ in identifier names.
	Retain the original prct-sve.c to retain test coverage diversity.

	* tests/.gitignore: Add prctl-sve-Xabbrev, prctl-sve-Xraw,
	prctl-sve-Xverbose, prctl-sve-success, prctl-sve-success-Xabbrev,
	prctl-sve-success-Xraw, and prctl-sve-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add prctl-sve-success,
	prctl-sve-success-Xabbrev, prctl-sve-success-Xraw,
	and prctl-sve-success-Xverbose.
	* tests/gen_tests.in (prctl-sve-Xabbrev, prctl-sve-Xraw,
	prctl-sve-Xverbose, prctl-sve-success, prctl-sve-success-Xabbrev,
	prctl-sve-success-Xraw, prctl-sve-success-Xverbose): New tests.
	* tests/prctl-sme.c [!EXT] (EXT): New macro.
	(EXT_STR, GLUE_, GLUE, _): New macros.
	(print_sme_vl_arg, main): Use _ and EXT_STR macros.
	* tests/prctl-sve-Xabbrev.c: New file.
	* tests/prctl-sve-Xraw.c: Likewise.
	* tests/prctl-sve-Xverbose.c: Likewise.
	* tests/prctl-sve-success-Xabbrev.c: Likewise.
	* tests/prctl-sve-success-Xraw.c: Likewise.
	* tests/prctl-sve-success-Xverbose.c: Likewise.
	* tests/prctl-sve-success.c: Likewise.
	* tests/pure_executables.list: Add prctl-sve-Xabbrev, prctl-sve-Xraw,
	and prctl-sve-Xverbose.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: expand so_error test checks.
	Check decoding with various optlen values.

	* tests/so_error.c: Add checks.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	net: print unexpectedly short integer sockopts in hex.
	Since it makes little sence to print ASCII character codes when we know
	that the bytes are part of a number.

	* src/net.c (print_get_error, print_txrehash, print_getsockopt): Use
	printstr_ex with QUOTE_FORCE_HEX parameter instead of printstrn.
	* tests/sockopt-sol_socket.c: Update expected output.

2022-08-11  Dmitry V. Levin  <ldv@strace.io>

	net: print the data returned by SO_ERROR as a string if it is too short.
	The data returned by getsockopt SO_ERROR is an integer.  If the buffer
	size specified by userspace is less than sizeof(int), the data written
	by the kernel should not be interpreted as an integer.

	* src/net.c (print_get_error): Print the buffer as a string if its
	length is less than sizeof(int).

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	net: implement SO_TXREHASH socket option support.
	* src/xlat/sock_options.in (SO_TXREHASH): New constant, introduced
	by Linux commit v5.18-rc1~136^2~484^2~3.
	* src/xlat/sockopt_txrehash_vals.in: New file.
	* src/net.c: Include "xlat/sockopt_txrehash_vals.h".
	(print_txrehash): New function.
	(print_getsockopt, print_setsockopt) <case SO_TXREHASH>: Call
	print_txrehash.
	* tests/sockopt-sol_socket.c: Add checks for SO_TXREHASH decoding.
	* NEWS: Mention it.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	io_uring: add support for IORING_{,UN}REGISTER_PBUF_RING opcodes.
	Introduced by Linux commit v5.19-rc1~251^2~10.

	* src/xlat/uring_register_opcodes.in (IORING_REGISTER_PBUF_RING,
	IORING_UNREGISTER_PBUF_RING): New constants.
	* src/io_uring.c (print_io_uring_buf_reg): New function.
	(SYS_FUNC(io_uring_register)) <case IORING_REGISTER_PBUF_RING,
	case IORING_UNREGISTER_PBUF_RING>: Call print_io_uring_buf_reg
	for decoding.
	* tests/io_uring_register.c: Update expected output, add checks.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	io_uring: decode struct io_uring_rsrc_register.flags field.
	Introduced by Linux commit v5.19-rc1~251^2~20.

	* configure.ac: Remove struct io_uring_rsrc_register.resv check.
	* src/xlat/uring_register_rsrc_flags.in: New file.
	* src/io_uring.c: Include "xlat/uring_register_rsrc_flags.h".
	(print_io_uring_register_rsrc): Remove CHECK_TYPE_SIZE for arg.resv,
	decode flags field using PRINT_FIELD_FLAGS instead of optional decoding
	of no longer existing resv field.
	* tests/io_uring_register.c: Update expected output.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: fix ioctl_dm test with new kernel headers.
	Linux commit v5.19-rc2-1-g94dfc73e7cf4 replaced the zero-length array
	dm_target_msg.sector field declaration with a flexible-array declaration,
	which led to the following error when compiled with clang:

	    ../../../tests/ioctl_dm.c:53:25: error: field 'target_msg' with variable
	    sized type 'struct dm_target_msg' not at the end of a struct or class
	    is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end]
	                            struct dm_target_msg target_msg;
	                                                 ^
	    1 error generated.

	Work around it by removing the following field and adjusting
	the untyped message size.

	* tests/ioctl_dm.c (struct s): Remove tm.target_string field, adjust
	string field size.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	arch_prctl: decode ARCH_GET_XCOMP_SUPP, ARCH_{GET,REQ}_XCOMP{,_GUEST}_PERM
	* src/xlat/archvals.in (ARCH_GET_XCOMP_SUPP, ARCH_GET_XCOMP_PERM,
	ARCH_REQ_XCOMP_PERM): New constants, introduced by Linux commit
	v5.16-rc1~195^2~21.
	(ARCH_GET_XCOMP_GUEST_PERM, ARCH_REQ_XCOMP_GUEST_PERM): New constants,
	introduced by Linux commit v5.17-rc1~15^2~70.
	* src/xlat/x86_xfeature_bits.in: New file.
	* src/xlat/x86_xfeatures.in: Likewise.
	* src/prctl.c [X86_64 || X32 || I386]: Include
	"xlat/x86_xfeature_bits.h", "xlat/x86_xfeatures.h".
	* tests/.gitignore: Add arch_prctl, arch_prctl-Xabbrev, arch_prctl-Xraw,
	arch_prctl-Xverbose, arch_prctl-success, arch_prctl-success-Xabbrev,
	arch_prctl-success-Xraw, and arch_prctl-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add arch_prctl-success,
	arch_prctl-success-Xabbrev, arch_prctl-success-Xraw,
	and arch_prctl-success-Xverbose.
	* tests/arch_prctl.c: New file.
	* tests/arch_prctl-Xabbrev.c: Likewise.
	* tests/arch_prctl-Xraw.c: Likewise.
	* tests/arch_prctl-Xverbose.c: Likewise.
	* tests/arch_prctl-success.c: Likewise.
	* tests/arch_prctl-success-Xabbrev.c: Likewise.
	* tests/arch_prctl-success-Xraw.c: Likewise.
	* tests/arch_prctl-success-Xverbose.c: Likewise.
	* tests/arch_prctl.sh: Likewise.
	* tests/gen_tests.in (arch_prctl, arch_prctl-Xabbrev, arch_prctl-Xraw,
	arch_prctl-Xverbose, arch_prctl-success, arch_prctl-success-Xabbrev,
	arch_prctl-success-Xraw, arch_prctl-success-Xverbose): New tests.
	* tests/prctl-success.sh (PRCTL_SYSCALL, PRCTL_MARKER_RE): New vaiables.
	Handle "ARCH_PRCTL_INJECT_RETVALS" in addition to "PRCTL_INJECT_RETVALS",
	set PRCTL_SYSCALL and PRCTL_MARKER_RE accordingly;  use $PRCTL_SYSCALL
	and $PRCTL_MARKER_RE in run_strace and sed calls.
	* tests/pure_executables.list: Add arch_prctl, arch_prctl-Xabbrev,
	arch_prctl-Xraw, and arch_prctl-Xverbose.
	* NEWS: Mention it.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: change the license from LGPL to GPL in some newly added files.
	* tests/fork--pidns-translation.c (SPDX-License-Identifier): Change
	from "LGPL-2.1-or-later" to "GPL-2.0-or-later".
	* tests/fork--pidns-translation.test: Likewise.
	* tests/gettid--pidns-translation.test: Likewise.
	* tests/ioctl_block--pidns-translation.test: Likewise.
	* tests/netlink_audit--pidns-translation.test: Likewise.
	* tests/pidns.c: Likewise.
	* tests/pidns.h: Likewise.
	* tests/prctl.sh: Likewise.

	References: v4.26~53 "tests: change the license to GPL-2.0-or-later"
	Fixes: v5.9~49 "Implement testing framework for pidns"
	Fixes: v5.9~48 "Add tests for PID namespace translation"
	Fixes: v5.13~9 "tests: unify common code in prctl decoder tests"

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	prctl: implement PR_SME_[GS]ET_VL decoding.
	Introduced by Linux commit v5.19-rc1~38^2~8^2~22.

	* src/xlat/pr_sme_vl_flags.in: New file.
	* src/prctl.c: Include "xlat/pr_sme_vl_flags.h".
	(sprint_sme_val): New function.
	(SYS_FUNC(prctl)) <case PR_SME_SET_VL, case PR_SME_GET_VL>: Implement
	command decoders.
	* tests/.gitignore: Add prctl-sme, prctl-sme-Xabbrev, prctl-sme-Xraw,
	prctl-sme-Xverbose, prctl-sme-success, prctl-sme-success-Xabbrev,
	prctl-sme-success-Xraw, and prctl-sme-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add prctl-sme-success,
	prctl-sme-success-Xabbrev, prctl-sme-success-Xraw,
	and prctl-sme-success-Xverbose.
	* tests/gen_tests.in (prctl-sme, prctl-sme-Xabbrev, prctl-sme-Xraw,
	prctl-sme-Xverbose, prctl-sme-success, prctl-sme-success-Xabbrev,
	prctl-sme-success-Xraw, prctl-sme-success-Xverbose): New tests.
	* tests/prctl-sme.c: New file.
	* tests/prctl-sme-Xabbrev.c: Likewise.
	* tests/prctl-sme-Xraw.c: Likewise.
	* tests/prctl-sme-Xverbose.c: Likewise.
	* tests/prctl-sme-success.c: Likewise.
	* tests/prctl-sme-success-Xabbrev.c: Likewise.
	* tests/prctl-sme-success-Xraw.c: Likewise.
	* tests/prctl-sme-success-Xverbose.c: Likewise.
	* tests/pure_executables.list: Add prctl-sme, prctl-sme-Xabbrev,
	prctl-sme-Xraw, and prctl-sme-Xverbose.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	prctl: improve PR_SVE_[SG]ET_VL decoding.
	* src/prctl.c (sprint_sve_val): Add aux parameter, handle printing based
	on it.
	(SYS_FUNC(prctl)): <case PR_SVE_SET_VL>: Pass false as aux
	to sprint_sve_val.
	(SYS_FUNC(prctl)): <case PR_SVE_GET_VL>: Pass true as aux
	to sprint_sve_val; return RVAL_HEX flag.
	* NEWS: Mention it.

	tests/ptrace: add comments for specific siginfo decoding checks.
	* tests/ptrace.c: Add comments with the signal names being tested.

	printsiginfo: print si_trapno for SIGFPE on alpha.
	* src/printsiginfo.c [ALPHA] (print_si_info) <case SIGFPE>: Print
	si_trapno.
	* tests/ptrace.c: Update expected output.

	printsiginfo: print si_trapno for SIGILL on sparc.
	* src/printsiginfo.c [SPARC || SPARC64] (print_si_info) <case SIGILL>:
	Print si_trapno.
	* tests/ptrace.c: Update expected output.

	printsiginfo: print si_[su]time as clock_t values.
	* src/printsiginfo.c (print_si_info): Print si_utime and si_stime using
	PRINT_FIELD_CLOCK_T macro.
	* tests/clone_ptrace.c: Update expected output.
	* tests/siginfo.c: Likewise.
	* tests/waitid.c: Likewise.

	tests: move enjoy_time in a separate header.
	* tests/times.c (NUM_USER_ITERS_SQRT, NUM_USER_ITERS, READ_BUF_SIZE,
	READ_ITER, nsecs, enjoy_time): Move it...
	* tests/time_enjoyment.h: ...in a new file.
	* tests/Makefile.am (EXTRA_DIST): Add it.

	tests: move clock_t_str from nlattr_ifla_linkinfo.c into a separate file
	* tests/nlattr_ifla_linkinfo.c (clock_t_str): Move it...
	* tests/clock_t_str.c: ...to a new file.
	* tests/Makefile.am (libtests_a_SOURCES): Add it.
	(LDADD): Add ${m_LIBS} after libtests.a.
	(nlattr_ifla_linkinfo_LDADD): Remove.
	* tests/tests.h (clock_t_str): New declaration.

2022-08-09  Eugene Syromyatnikov  <evgsyr@gmail.com>

	printsiginfo: print relevant SI_SIGIO information.
	* src/printsiginfo.c (print_si_info) <case SI_SIGIO>: Print si_band
	and si_fd fields.
	* tests/ptrace.c: Add checks.

	printsiginfo: print si_fd for SIGIO signals.
	* src/printsiginfo.c (print_si_code, print_si_info): Use SIGIO instead
	of the SIGPOLL synonym in switch cases as that is what strace prints out.
	(print_si_info) <case SIGIO>: Print si_fd field.
	* tests/.gitignore: Add ptrace-y, ptrace-y-Xabbrev, ptrace-y-Xraw,
	and ptrace-y-Xverbose.
	* tests/pure_executables.list: Likewise.
	* tests/gen_tests.in (ptrace-y, ptrace-y-Xabbrev, ptrace-y-Xraw,
	ptrace-y-Xverbose): New tests.
	* tests/ptrace-y.c: New file.
	* tests/ptrace-y-Xabbrev.c: Likewise.
	* tests/ptrace-y-Xraw.c: Likewise.
	* tests/ptrace-y-Xverbose.c: Likewise.
	* tests/ptrace.c: Include <fcntl.h>.
	(NULL_FD, NULL_STR, NULL_FD_STR): New macros.
	(null_path): New constant variable.
	(main): Open null_path at NULL_FD fd, update expected SIGIO check
	output.

	printsiginfo: update SIGTRAP decoding.
	* src/xlat/alpha_trap_codes.in: New file.
	* src/xlat/sigtrap_perf_flags.in: Likewise.
	* configure.ac (AC_CHECK_MEMBERS): Add checks
	for siginfo_t.si_perf_data, siginfo_t.si_perf_type,
	and siginfo_t.si_perf_flags fields.
	* src/defs.h (perf_type_id): New extern definition.
	* src/printsiginfo.c [ALPHA]: Include "xlat/alpha_trap_codes.h".
	[HAVE_SIGINFO_T_SI_PERF_FLAGS]: Include "xlat/sigtrap_perf_flags.h".
	(print_si_info): Implement SIGTRAP case.
	* tests/ptrace.c: Add checks.

	printsiginfo: print si_lower/si_upper for SEGV_BNDERR signals.
	* configure.ac (AC_CHECK_MEMBERS): Add siginfo_t.si_lower
	and siginfo_t.si_upper checks.
	* src/printsiginfo.c (print_si_info): [!SEGV_STACKFLOW
	&& HAVE_SIGINFO_T_SI_LOWER] <case SIGSEGV>: Print si_lower
	and si_upper fields if si_code is SEGV_BNDERR.
	* tests/ptrace.c: Add checks.

	printsiginfo: print si_addr_lsb for BUS_MCEERR_A[RO] signals.
	* configure.ac (AC_CHECK_MEMBERS): Add siginfo_t.si_addr_lsb check.
	* src/printsiginfo.c (print_si_info) [!BUS_OPFETCH
	&& HAVE_SIGINFO_T_SI_ADDR_LSB] <case SIGBUS>: Print si_addr_lsb field
	is si_code is equal to BUS_MCEERR_AR or BUS_MCEERR_AO.
	* tests/ptrace.c: Add checks.
	* NEWS: Mention it.

	xlat: update NT_ARM_* constants in nt_descriptor_types.
	* src/xlat/nt_descriptor_types.in (NT_ARM_SSVE): New constant,
	introduced by Linux commit v5.19-rc1~38^2~8^2~13.
	(NT_ARM_ZA): New constant, introduced by Linux commit
	v5.19-rc1~38^2~8^2~12.

	xlat: switch perf xlats type from sorted to value_indexed.
	* src/xlat/hw_breakpoint_type.in: Change #sorted to #value_indexed
	* src/xlat/perf_hw_cache_id.in: Likewise.
	* src/xlat/perf_hw_cache_op_id.in: Likewise.
	* src/xlat/perf_hw_cache_op_result_id.in: Likewise.
	* src/xlat/perf_hw_id.in: Likewise.
	* src/xlat/perf_sw_ids.in: Likewise.
	* src/xlat/perf_type_id.in: Likewise.

	xlat: update v4l2_control_ids.
	* src/xlat/v4l2_control_ids.in
	(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD,
	V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE): New constants,
	introduced by Linux commit v5.19-rc1~179^2~221.
	* NEWS: Mention it.

	xlat: update v4l2_pix_fmts.
	* src/xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_IPU3_Y10): New constant,
	introduced by Linux commit v5.19-rc1~179^2~35.
	(V4L2_PIX_FMT_QC08C, V4L2_PIX_FMT_QC10C): New constants, introduced
	by Linux commit v5.19-rc1~179^2~227.
	(V4L2_PIX_FMT_VP9_FRAME): New constant, introduced by Linux commit
	v5.17-rc1~114^2~207.
	(V4L2_PIX_FMT_NV12M_10BE_8L128, V4L2_PIX_FMT_NV12M_8L128): New
	constants, introduced by Linux commit v5.18-rc1~153^2~81^2~10.
	* NEWS: Mention it.

2022-08-07  Dmitry V. Levin  <ldv@strace.io>

	tests/nlattr_inet_diag_msg: fix big-endian systems support.
	* tests/nlattr_inet_diag_msg.c (print_uint): Fix md5sig_vecs
	for big-endian systems.
	(main): Fix sockopts for big-endian systems.

	Fixes: v5.18-37-gd9606c5f6 "netlink_inet_diag: implement INET_DIAG_MD5SIG attribute decoding"

2022-08-07  Dmitry V. Levin  <ldv@strace.io>

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

	xlat: update SECCOMP_FILTER_FLAG_* constants.
	* src/xlat/seccomp_filter_flags.in
	(SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV): New constant introduced
	by Linux kernel commit v5.19-rc1~198^2~3.
	* tests/seccomp-filter.c (main): Update expected output.
	* tests/seccomp-filter-v.c: Likewise.
	* NEWS: Mention this change.

	xlat: update PR_* constants.
	* src/xlat/prctl_options.in (PR_SME_SET_VL, PR_SME_GET_VL): New
	constants introduced by Linux kernel commit v5.19-rc1~38^2~8^2~22.
	* NEWS: Mention this change.

	xlat: update NLM_F_* constants.
	* src/xlat/netlink_delete_flags.in (NLM_F_BULK): New constant introduced
	by Linux kernel commit v5.19-rc1~159^2~322^2~8.
	* tests/netlink_route.c (test_nlmsg_flags): Check it.
	* NEWS: Mention this change.

	xlat: update LANDLOCK_ACCESS_FS_* constants.
	* src/xlat/landlock_ruleset_access_fs.in (LANDLOCK_ACCESS_FS_REFER):
	New constant introduced by Linux kernel commit v5.19-rc1~195^2~6.
	* tests/landlock_add_rule.c (main): Update expected output.
	* tests/landlock_create_ruleset.c: Likewise.
	* NEWS: Mention this change.

	xlat: update IORING_* constants.
	* src/xlat/uring_ops.in (IORING_OP_FSETXATTR, IORING_OP_SETXATTR):
	New constants introduced by Linux kernel commit v5.19-rc1~250^2~3.
	(IORING_OP_FGETXATTR, IORING_OP_GETXATTR):  New constants introduced
	by Linux kernel commit v5.19-rc1~250^2~2.
	(IORING_OP_SOCKET): New constant introduced by Linux kernel commit
	v5.19-rc1~249^2~4.
	(IORING_OP_URING_CMD): New constant introduced by Linux kernel commit
	v5.19-rc1~247^2~8.
	* src/xlat/uring_register_opcodes.in (IORING_REGISTER_PBUF_RING,
	IORING_UNREGISTER_PBUF_RING): New constants introduced by Linux kernel
	commit v5.19-rc1~251^2~10.
	* tests/io_uring_register.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update IORING_SETUP_* constants.
	* src/xlat/uring_setup_flags.in (IORING_SETUP_COOP_TASKRUN):
	New constant introduced by Linux kernel commit v5.19-rc1~251^2~43.
	(IORING_SETUP_TASKRUN_FLAG): New constant introduced by Linux kernel
	commit v5.19-rc1~251^2~42.
	(IORING_SETUP_SQE128): New constant introduced by Linux kernel
	commit v5.19-rc1~247^2~21.
	(IORING_SETUP_CQE32): New constant introduced by Linux kernel
	commit v5.19-rc1~247^2~20.
	* tests/io_uring_setup.c (main): Update expected output.
	* NEWS: Mention this change.

2022-07-31  Dmitry V. Levin  <ldv@strace.io>

	rtnl_link: update decoding of struct rtnl_link_stats64.
	* src/rtnl_link.c (decode_nla_rtnl_link_stats64): Decode
	struct rtnl_link_stats64.rx_otherhost_dropped introduced by Linux kernel
	commit v5.19-rc1~159^2~379.
	* NEWS: Mention this.
	* tests/nlattr_ifinfomsg.c (main): Check it.
	* tests/nlattr_ifstats.c (print_stats_64): Update.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add DEVCONF_ACCEPT_UNTRACKED_NA to inet6_devconf_indices.
	* src/xlat/inet6_devconf_indices.in (DEVCONF_ACCEPT_UNTRACKED_NA): New
	constant, introduced by Linux commit v5.19-rc1~61^2~22.
	* NEWS: Mention it.

	xlat: add UFFD_FEATURE_WP_HUGETLBFS_SHMEM to uffd_api_features.
	* src/xlat/uffd_api_features.in (UFFD_FEATURE_WP_HUGETLBFS_SHMEM): New
	constant, introduced by Linux commit v5.19-rc1~138^2~148.
	* NEWS: Mention it.

	xlat: add KEXEC_ARCH_LOONGARCH to kexec_arch_values.
	* src/xlat/kexec_arch_values.in (KEXEC_ARCH_LOONGARCH): New constant,
	introduced by Linux commit v5.19-rc1~37^2~19.
	* NEWS: Mention it.

	rtnl_neigh: implement NDA_NDM_{STATE,FLAGS}_MASK decoding.
	* src/xlat/rtnl_neigh_attrs.in (NDA_NDM_STATE_MASK, NDA_NDM_FLAGS_MASK):
	New constants, introduced by Linux commit v5.19-rc1~159^2~322^2~2.
	* src/rtnl_neigh.c (decode_nda_ndm_states, decode_nda_ndm_flags): New
	functions.
	* tests/nlattr_ndmsg.c: Add checks.
	* NEWS: Mention it.

	rtnl_neigh: decode NDA_SRC_VNI as u32; similarly to NDA_VNI.
	* src/rtnl_neigh.c (ndmsg_nla_decoders) <[NDA_SRC_VNI]>: Set
	to decode_nla_u32.
	* tests/nlattr_ndmsg.c: Add checks.

	rtnl_neigh: implement NDA_FLAGS_EXT decoding.
	* src/xlat/neighbor_cache_entry_ext_flags.in: New file.
	* src/rtnl_neigh.c: Include "xlat/neighbor_cache_entry_ext_flags.h".
	(decode_nda_ext_flags): New function.
	(ndmsg_nla_decoders) <[NDA_FLAGS_EXT]>: New entry, calls
	decode_nda_ext_flags.
	* tests/nlattr_ndmsg.c: Add checks.
	* NEWS: Mention it.

	rtnl_neigh: implement NDA_FDB_EXT_ATTRS decoding.
	* src/xlat/fdb_notify_flags.in: New file.
	* src/xlat/rtnl_neigh_fdb_ext_attrs.in: Likewise.
	* src/rtnl_neigh.c: Include "xlat/fdb_notify_flags.h",
	"xlat/rtnl_neigh_fdb_ext_attrs.h".
	(decode_fdb_notify_flags, decode_nda_fdb_ext_attrs): New functions.
	(nda_fdb_ext_attrs_nla_decoders): New decoder array.
	(ndmsg_nla_decoders) <[NDA_FDB_EXT_ATTRS]>: New entry, calls
	decode_nda_fdb_ext_attrs.
	* tests/nlattr_ndmsg.c: Add checks.
	* NEWS: Mention it.

	inet: implement SO_RCVMARK socket option decoding.
	* src/xlat/sock_options.in (SO_RCVMARK): New constant, introduced
	by Linux commit v5.19-rc1~159^2~237.
	* src/xlat/sock_options.in (print_getsockopt. print_setsockopt) <case
	SO_RCVMARK>: Handle as an int-like socket option.
	* tests/sockopt-sol_socket.c: Update expected output.

	net: update handling of all int-like SOL_SOCKET options.
	* src/net.c (print_getsockopt) <case SO_DEBUG, case SO_REUSEADDR,
	case SO_DONTROUTE, case SO_BROADCAST, case SO_SNDBUF, case SO_RCVBUF,
	case SO_KEEPALIVE, case SO_OOBINLINE, case SO_NO_CHECK,
	case SO_PRIORITY, case SO_BSDCOMPAT, case SO_REUSEPORT,
	case SO_PASSCRED, case SO_RCVLOWAT, case SO_SNDLOWAT,
	case SO_DETACH_FILTER, case SO_TIMESTAMP_OLD, case SO_ACCEPTCONN,
	case SO_SNDBUFFORCE, case SO_RCVBUFFORCE, case SO_PASSSEC,
	case SO_TIMESTAMPNS_OLD, case SO_MARK, case SO_TIMESTAMPING_OLD,
	case SO_RXQ_OVFL, case SO_WIFI_STATUS, case SO_PEEK_OFF, case SO_NOFCS,
	case SO_LOCK_FILTER, case SO_SELECT_ERR_QUEUE, case SO_BUSY_POLL,
	case SO_INCOMING_CPU, case SO_CNX_ADVICE, case SO_INCOMING_NAPI_ID,
	case SO_ZEROCOPY, case SO_TIMESTAMP_NEW, case SO_TIMESTAMPNS_NEW,
	case SO_TIMESTAMPING_NEW, case SO_DETACH_REUSEPORT_BPF,
	case SO_PREFER_BUSY_POLL, case SO_BUSY_POLL_BUDGET, case
	SO_RESERVE_MEM>: Print only the integer value on any len larger than
	sizeof(int).
	(print_setsockopt) <case SO_DEBUG, case SO_REUSEADDR,
	case SO_DONTROUTE, case SO_BROADCAST, case SO_SNDBUF, case SO_RCVBUF,
	case SO_KEEPALIVE, case SO_OOBINLINE, case SO_NO_CHECK,
	case SO_PRIORITY, case SO_BSDCOMPAT, case SO_REUSEPORT,
	case SO_PASSCRED, case SO_RCVLOWAT, case SO_SNDLOWAT,
	case SO_DETACH_FILTER, case SO_TIMESTAMP_OLD, case SO_ACCEPTCONN,
	case SO_SNDBUFFORCE, case SO_RCVBUFFORCE, case SO_PASSSEC,
	case SO_TIMESTAMPNS_OLD, case SO_MARK, case SO_TIMESTAMPING_OLD,
	case SO_RXQ_OVFL, case SO_WIFI_STATUS, case SO_PEEK_OFF, case SO_NOFCS,
	case SO_LOCK_FILTER, case SO_SELECT_ERR_QUEUE, case SO_BUSY_POLL,
	case SO_INCOMING_CPU, case SO_CNX_ADVICE, case SO_INCOMING_NAPI_ID,
	case SO_ZEROCOPY, case SO_TIMESTAMP_NEW, case SO_TIMESTAMPNS_NEW,
	case SO_TIMESTAMPING_NEW, case SO_DETACH_REUSEPORT_BPF,
	case SO_PREFER_BUSY_POLL, case SO_BUSY_POLL_BUDGET, case
	SO_RESERVE_MEM>: Print address if len is less than sizeof(int),
	the integer value otherwise.
	* tests/sockopt-sol_socket.c: Update the expected output.

	tests: add [gs]etsockopt(SOL_SOCKET) tests.
	* tests/.gitignore: Add sockopt-sol_socket, sockopt-sol_socket-Xabbrev,
	sockopt-sol_socket-Xraw, sockopt-sol_socket-Xverbose,
	sockopt-sol_socket-success, sockopt-sol_socket-success-Xabbrev,
	sockopt-sol_socket-success-Xraw,
	and sockopt-sol_socket-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add sockopt-sol_socket-success,
	sockopt-sol_socket-success-Xabbrev, sockopt-sol_socket-success-Xraw,
	and sockopt-sol_socket-success-Xverbose.
	* tests/pure_executables.list: Add sockopt-sol_socket,
	sockopt-sol_socket-Xabbrev, sockopt-sol_socket-Xraw,
	and sockopt-sol_socket-Xverbose.
	* tests/gen_tests.in (sockopt-sol_socket, sockopt-sol_socket-Xabbrev,
	sockopt-sol_socket-Xraw, sockopt-sol_socket-Xverbose,
	sockopt-sol_socket-success, sockopt-sol_socket-success-Xabbrev,
	sockopt-sol_socket-success-Xraw, sockopt-sol_socket-success-Xverbose):
	New tests.
	* tests/sockopt-sol_socket.c: New file.
	* tests/sockopt-sol_socket-Xabbrev.c: Likewise.
	* tests/sockopt-sol_socket-Xraw.c: Likewise.
	* tests/sockopt-sol_socket-Xverbose.c: Likewise.
	* tests/sockopt-sol_socket-success.c: Likewise.
	* tests/sockopt-sol_socket-success-Xabbrev.c: Likewise.
	* tests/sockopt-sol_socket-success-Xraw.c: Likewise.
	* tests/sockopt-sol_socket-success-Xverbose.c: Likewise.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests/errno2name: enforce ENOTSUPP handling.
	This is needed for [gs]etsockopt(SOL_SOCKET) test, as some socket
	options (namely, SO_ZEROCOPY) tend to return it.

	* tests/errno2name.c [!ENOTSUPP] (ENOTSUPP): New macro constant.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add NT_LOONGARCH_* to nt_descriptor_types.
	* src/xlat/nt_descriptor_types.in (NT_LOONGARCH_CPUCFG,
	NT_LOONGARCH_CSR, NT_LOONGARCH_LSX, NT_LOONGARCH_LASX,
	NT_LOONGARCH_LBT): New constants, introduced by Linux commit
	v5.19-rc1~37^2~19.
	* NEWS: Mention it.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	rtnl_link: decode IFLA_TSO_MAX_SIZE and IFLA_TSO_MAX_SEGS attributes.
	Introduced by Linux commit v5.19-rc1~159^2~108^2~12.

	* src/xlat/rtnl_link_attrs.in (IFLA_TSO_MAX_SIZE, IFLA_TSO_MAX_SEGS):
	New constants.
	* src/rtnl_link.c (ifinfomsg_nla_decoders) <[IFLA_TSO_MAX_SIZE],
	[IFLA_TSO_MAX_SEGS]>: New entries, call decode_nla_u32.
	* NEWS: Mention it.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add FAN_MARK_EVICTABLE to fan_mark_flags.
	* src/xlat/fan_mark_flags.in (FAN_MARK_EVICTABLE): New constant,
	introduced by Linux commit v5.19-rc1~148^2~5.
	* tests/fanotify_mark.c: Update expected output.
	* NEWS: Mention it.

	xlat: add GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE to gpio_v2_line_flags.
	* src/xlat/gpio_v2_line_flags.in (GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE):
	New constant, introduced by Linux commit v5.19-rc1~16^2~9.
	* NEWS: Mention it.

	inet_diag: implement INET_DIAG_LOCALS and INET_DIAG_PEERS attributes decoding
	* src/netlink_inet_diag.c (print_sockaddr_array_member,
	decode_nla_sockaddrs): New functions.
	(inet_diag_msg_nla_decoders) <[INET_DIAG_LOCALS], [INET_DIAG_PEERS]>:
	Set the value to decode_nla_sockaddrs.
	* tests/nlattr_inet_diag_msg.c: Include <linux/atalk.h>, <netinet/in.h>.
	(print_sa): New function.
	(main): Add checks.
	* NEWS: Mention it.

	inet_diag: implement INET_DIAG_SOCKOPT attribute decoding.
	* src/netlink_inet_diag.c (decode_diag_sockopt): New function.
	(OPT_PRINT_FIELD_U): New macro.
	(inet_diag_msg_nla_decoders) <[INET_DIAG_SOCKOPT]>: New entry
	with the value of decode_diag_sockopt.
	* tests/nlattr_inet_diag_msg.c: Add checks.
	* NEWS: Mention it.

	inet_diag: implement INET_DIAG_CGROUP_ID attribute decoding.
	* src/netlink_inet_diag.c (inet_diag_msg_nla_decoders)
	<[INET_DIAG_CGROUP_ID]>: New entry, set to decode_nla_u64.
	* tests/nlattr_inet_diag_msg.c: Add checks for uint attributes.

	netlink_inet_diag: decode INET_DIAG_PROTOCOL using decode_nla_ip_proto.
	* src/netlink_inet_diag.c (inet_diag_msg_nla_decoders)
	<[INET_DIAG_PROTOCOL]>: Change the value from decode_nla_u8
	to decode_nla_ip_proto.
	* tests/nlattr_inet_diag_msg.c: Add checks.
	* NEWS: Mention it.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: update sysctl_net_ipv4_conf.
	NET_IPV4_CONF_ARP_EVICT_NOCARRIER has been introduced in Linux commit
	v5.16-rc1~159^2~3^2~2;  it ignores the previous short-lived existence
	of NET_IPV4_CONF_ACCEPT_LOCAL.

	* src/xlat/sysctl_net_ipv4_conf.in (NET_IPV4_CONF_ACCEPT_LOCAL,
	NET_IPV4_CONF_SRC_VMARK, NET_IPV4_CONF_PROXY_ARP_PVLAN): Comment out.
	(NET_IPV4_CONF_ARP_EVICT_NOCARRIER): New constant.
	* NEWS: Mention it.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	netlink_inet_diag: decode INET_DIAG_REQ_PROTOCOL attribute.
	INET_DIAG_REQ_PROTOCOL has been introduced in v5.9-rc1~133^2~292^2~3.

	* src/netlink_inet_diag.c (inet_diag_req_nla_decoders)
	<[INET_DIAG_REQ_NONE], [INET_DIAG_REQ_SK_BPF_STORAGES]>: Add entries,
	provide NULL as a decoder.
	(inet_diag_req_nla_decoders) <[INET_DIAG_REQ_PROTOCOL]>: Add entry,
	decode using decode_nla_ip_proto.
	* src/nlattr.c (decode_nla_ip_proto) <opts>: Remove size enforcement
	for the xval.
	* tests/nlattr_inet_diag_req_v2.c (test_unk_attrs,
	test_inet_diag_proto): New functions.
	(main): Call them.
	* NEWS: Mention it.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	inet_diag: implement INET_DIAG_SK_BPF_STORAGES attribute decoding.
	* src/xlat/inet_diag_bpf_storage_attrs.in: New file.
	* src/xlat/inet_diag_bpf_storages_attrs.in: Likewise.
	* src/netlink_inet_diag.c: Include "xlat/inet_diag_bpf_storage_attrs.h"
	and "xlat/inet_diag_bpf_storages_attrs.h".
	(decode_diag_bpf_storage, decode_diag_bpf_storages): New functions.
	(diag_bpf_storage_nla_decoders, diag_bpf_storages_nla_decoders): New
	static constants.
	(inet_diag_msg_nla_decoders) <[INET_DIAG_SK_BPF_STORAGES]>: New decoder,
	calls decode_diag_bpf_storages.
	* tests/nlattr_inet_diag_msg.c: Add checks.
	* NEWS: Mention it.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	nlattr: introduce decode_nla_xint.
	A dispatcher function that calls a decode_nla_x* decoder
	of the matching size, if there's any;  suitable for the cases
	when an integer-sized object is most likely an integer.

	* src/nlattr.h (decode_nla_xint): New declaration, using DECL_NLA macro.
	* src/nlattr.c (decode_nla_xint): New function.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	inet_diag: implement INET_DIAG_ULP_INFO attribute decoding.
	* bundled/linux/include/uapi/linux/in.h: New file.
	* bundled/linux/include/uapi/linux/mptcp.h: Likewise.
	* bundled/linux/include/uapi/linux/tls.h: Likewise.
	* bundled/Makefile.am (EXTRA_DIST): Add them.
	* src/xlat/inet_diag_ulp_info_attrs.in: New file.
	* src/xlat/inet_diag_ulp_info_mptcp_attrs.in: Likewise.
	* src/xlat/inet_diag_ulp_info_tls_attrs.in: Likewise.
	* src/xlat/mptcp_subflow_flags.in: Likewise.
	* src/xlat/tls_info_ciphers.in: Likewise.
	* src/xlat/tls_info_configs.in: Likewise.
	* src/xlat/tls_info_versions.in: Likewise.
	* src/netlink_inet_diag.c: Include <linux/tls.h>,
	"xlat/inet_diag_ulp_info_attrs.h", "xlat/inet_diag_ulp_info_mptcp_attrs.h",
	"xlat/inet_diag_ulp_info_tls_attrs.h", "xlat/mptcp_subflow_flags.h",
	"xlat/tls_info_ciphers.h", "xlat/tls_info_configs.h",
	and "xlat/tls_info_versions.h".
	(decode_tls_version, decode_tls_cipher, decode_tls_config,
	decode_diag_ulp_info_tls, decode_mptcp_subflow_flags,
	decode_diag_ulp_info_mptcp, decode_diag_ulp_info): New functions.
	(diag_ulp_info_tls_nla_decoders, diag_ulp_info_mptcp_nla_decoders,
	diag_ulp_info_nla_decoders): New static constants.
	(inet_diag_msg_nla_decoders) <[INET_DIAG_ULP_INFO]>: Decode using
	decode_diag_ulp_info.
	* tests/nlattr_inet_diag_msg.c: Add INET_DIAG_ULP_INFO attribute checks.
	* NEWS: Mention it.

	tests/test_nlattr: add check_x32_nlattr.
	* tests/test_nlattr.h (check_x32_nlattr): New function, defined using
	the DEF_NLATTR_INTEGER_CHECK_ macro.

	tests/test_nlattr: introduce TEST_NESTED_NLATTR_
	* tests/test_nlattr.h (tests/test_nlattr.h): New macro.
	(TEST_NESTED_NLATTR_OBJECT_EX_MINSZ_, TEST_NESTED_NLATTR_ARRAY_EX_):
	Rewrite using it.

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: put NUD_NONE first in neighbor_cache_entry_states.
	Otherwise it is never used.

	* src/xlat/neighbor_cache_entry_states.in: Move NUD_NONE first, add
	values.

	Fixes: v4.19~139 "netlink: add a basic rtnetlink parser of neigh messages"

2022-07-31  Eugene Syromyatnikov  <evgsyr@gmail.com>

	gpio: switch consumer and config printing order in struct gpio_v2_line_request
	Following the order they are declared in struct gpio_v2_line_request.

	* src/gpio_ioctl.c (print_gpio_v2_line_request): Decode the consumer
	field before the config field.
	* tests/ioctl_gpio.c: Update expected output.

	Fixes: v5.11~161 "Add GPIO v2 ioctl decoding"

2022-07-31  Dmitry V. Levin  <ldv@strace.io>

	bundled: update linux UAPI headers to v5.19.
	* bundled/linux/include/uapi/asm-generic/fcntl.h: Update to
	headers_install'ed Linux kernel v5.19.
	* bundled/linux/include/uapi/linux/version.h: Likewise.

2022-07-21  Dmitry V. Levin  <ldv@strace.io>

	.github: add gcc-12, clang-13, and clang-14 jobs.
	These new compilers are provided by the latest version of the OS
	currently available in ci, which apparently is not ubuntu-latest yet.

	* .github/workflows/ci.yml (gcc12-x86_64-kheaders, gcc12-x86_64-dw,
	gcc12-x86_64-unwind, clang14-x86_64-kheaders, clang14-x86_64-dw,
	clang14-x86_64-unwind, clang13-x86_64-kheaders, clang13-x86_64-dw,
	clang13-x86_64-unwind, gcc12-x32-kheaders, gcc12-x32-nostacktrace,
	gcc12-x86-kheaders, gcc12-x86-nostacktrace, clang14-x86-kheaders,
	clang14-x86-nostacktrace, clang13-x86-kheaders,
	clang13-x86-nostacktrace): New jobs.

2022-07-21  Eugene Syromyatnikov  <evgsyr@gmail.com>

	netlink_inet_diag: implement INET_DIAG_MD5SIG attribute decoding.
	* bundled/linux/include/uapi/linux/tcp.h: New file.
	* bundled/Makefile.am (EXTRA_DIST): Add it.
	* configure.ac: Check for struct tcp_diag_md5sig presence
	in <netinet/tcp.h>.
	* netlink_inet_diag.c: Include <linux/tcp.h>.
	(print_tcp_md5sig, decode_tcp_md5sig): New functions.
	(inet_diag_msg_nla_decoders) <[INET_DIAG_MD5SIG]>: New attribute,
	decoded by decode_tcp_md5sig.
	* tests/nlattr_inet_diag_msg.c: Check INET_DIAG_MD5SIG attribute
	decoding.
	* NEWS: Mention it.

	inet_diag: enhance INET_DIAG_SHUTDOWN attribute decoding.
	* src/xlat/inet_diag_shutdown_flags.in: New file.
	* src/netlink_inet_diag.c: Include "xlat/inet_diag_shutdown_flags.h"
	(decode_diag_shutdown): New function.
	(inet_diag_msg_nla_decoders) <[INET_DIAG_SHUTDOWN]>: Call
	decode_diag_shutdown.
	* tests/nlattr_inet_diag_msg.c: Update expected output.
	* NEWS: Mention it.

	netlink_inet_diag: factor out struct tcp{vegas,_dctcp,_bbr}_info printing
	* src/defs.h (struct tcpvegas_info, struct tcp_dctcp_info,
	struct tcp_bbr_info): New type declarations.
	(print_tcpvegas_info, print_tcp_dctcp_info, print_tcp_bbr_info): New
	function declarations.
	* src/netlink_inet_diag.c (print_tcpvegas_info): Factor out the printing
	code out of decode_tcpvegas_info.
	(decode_tcpvegas_info): Call print_tcpvegas_info for printing the retrieved
	structure.
	(print_tcp_dctcp_info): Factor out the printing code out
	of decode_tcp_dctcp_info.
	(decode_tcp_dctcp_info): Call print_tcp_dctcp_info for printing the retrieved
	structure.
	(print_tcp_bbr_info): Factor out the printing code out
	of decode_tcp_bbe_info.
	(decode_tcp_bbr_info): Call print_tcp_bbr_info for printing the retrieved
	structure.

	src: move MAYBE_PRINT_FIELD_LEN macro from net.c to print_fields.h.
	* src/net.c (MAYBE_PRINT_FIELD_LEN): Move it...
	* src/print_fields.h (MAYBE_PRINT_FIELD_LEN): ...here. Add parentheses
	around "where_" usages.

	print_fields: PRINT_FIELD_HEX_ARRAY_UPTO.
	* src/print_fields.h (PRINT_FIELD_HEX_ARRAY_UPTO): New macro.

	print_fields: add tprint_union_* functions.
	* src/print_fields.h (tprint_union_begin, tprint_union_next,
	tprint_union_end): New functions.

	print_fields: add tprint_{shift,or} to make xlat-like output more structured
	* src/print_fields.h (tprint_shift, tprint_or): New functions.

2022-07-19  Eugene Syromyatnikov  <evgsyr@gmail.com>

	print_fields: de-duplicate tprint_* functions definitions.
	There is an unnecessary (possibly error-prone) duplication of tprint_*
	functions definitions based on the presence of IN_STRACE macro,
	which can be handled by an appropriate definition of a string printing
	macro.

	* src/print_fields.h (STRACE_PRINTS): New macro function, define
	to an tprints call if IN_STRACE is defined, or to an fputs call
	otherwise.
	(tprint_struct_begin, tprint_struct_next, tprint_struct_end,
	tprint_array_begin, tprint_array_next, tprint_array_end,
	tprint_array_index_begin, tprint_array_index_end, tprint_arg_next,
	tprint_arg_end, tprint_bitset_begin, tprint_bitset_next,
	tprint_bitset_end, tprint_comment_begin, tprint_comment_end,
	tprint_indirect_begin, tprint_indirect_end, tprint_more_data_follows,
	tprint_value_changed, tprint_alternative_value, tprint_unavailable):
	Define once using STRACE_PRINTS, instead of two definitions that use
	either tprints or fputs.

	Complements: v5.11~157 "print_fields.h: introduce a few tprint_* helper inline functions"

2022-07-19  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests/init.sh: add --status to pidns strace call.
	The pidns test harness processes multi-process log output,
	which is inherently prone to ordering issues like this:

	    -7     get_robust_list(2 /* 7 in strace's PID NS */, [0x7ff3fc9a7a20], [24]) = 0
	    +7     get_robust_list(2 /* 7 in strace's PID NS */,  <unfinished ...>
	    +7     <... get_robust_list resumed>[0x7ff3fc9a7a20], [24]) = 0
	    FAIL xet_robust_list--pidns-translation.gen.test (exit status: 1)

	Try to avoid them by forcing the buffering of the syscall trace output
	with the --status option that excludes the "unavailable" status,
	that is not expected in the test output.

	* tests/init.sh (test_pidns_run_strace): Add "--status=!unavailable"
	option to the strace call.

2022-07-19  Eugene Syromyatnikov  <evgsyr@gmail.com>

	src/filter_qualify: move "s" qual_options record to its synonyms.
	There is little reason to have "status" before "s", which is a synonym
	for "signal", it is just confusing.

	* src/filter_qualify.c (qual_options) <"s">: Move up after "signal"
	and "signals".

2022-07-19  Eugene Syromyatnikov  <evgsyr@gmail.com>

	doc/strace.1: add all supported -e qualifier synonyms.
	It is mentioned in the general -e option description, but it is detached
	from the qualifier descriptions themselves now.

	* doc/strace.1.in (.SS Filtering) <-e trace>: Add "-e t" synonymous
	syntax.
	(.SS Filtering) <-e signal>: Add "-e signals" and "-e s" synonymous
	syntaxes.
	(.SS Output format) <-e abbrev>: Add "-e a" synonymous syntax.
	(.SS Output format) <-e verbose>: Add "-e v" synonymous syntax.
	(.SS Output format) <-e raw>: Add "-e x" synonymous syntax.
	(.SS Output format) <-e read>: Add "-e reads" and "-e r" synonymous
	syntaxes.
	(.SS Output format) <-e write>: Add "-e writes" and "-e w" synonymous
	syntaxes.
	(.SS Output format) <-e quiet>: Add "-e silent", "-e silence",
	and "-e q" synonymous syntaxes.

2022-07-19  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests/ksysent: silence compiler warnings about re-init of ksyslist elements
	The purpose of the test is to catch and report possible issues
	with syscall number definitions;  compiler diagnostics of possible array
	elements re-initialisation (that may happen when there are legacy __NR_*
	definition present along with the contemporary ones) only gets in the way
	here (has happened on el6 with gcc12):

	    ksysent.h:311:27: error: initialized field overwritten [-Werror=override-init]
	      311 | [__NR_madvise & 0xffff] = "madvise",
	          |                           ^~~~~~~~~
	    ksysent.h:311:27: note: (near initialization for 'ksyslist[219]')

	* tests/ksysent.c (ksyslist): Surround the definition
	with the DIAG_PUS_IGNORE_OVERRIDE_INIT/DIAG_POP_IGNORE_OVERRIDE_INIT
	pair.

2022-07-19  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: add clock_LIBS to bpf-obj_get_info_by_fd* libraries.
	* tests/Makefile.am (bpf_obj_get_info_by_fd_LDADD,
	bpf_obj_get_info_by_fd_v_LDADD, bpf_obj_get_info_by_fd_prog_LDADD,
	bpf_obj_get_info_by_fd_prog_v_LDADD): New variables.

	Fixes: v5.18~21 "bpf: provide approximate local time for prog_info.load_time"

2022-07-18  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v5.19.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v5.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.
	* src/linux/aarch64/ioctls_arch0.h: Likewise.
	* src/linux/i386/ioctls_arch0.h: Likewise.
	* src/linux/mips/ioctls_arch0.h: Likewise.
	* src/linux/powerpc/ioctls_arch0.h: Likewise.
	* src/linux/s390/ioctls_arch0.h: Likewise.
	* src/linux/s390x/ioctls_arch0.h: Likewise.
	* src/linux/x86_64/ioctls_arch0.h: Likewise.
	* NEWS: Mention this.

2022-07-17  Dmitry V. Levin  <ldv@strace.io>

	bundled: update linux UAPI headers to v5.19-rc7.
	* bundled/linux/arch/mips/include/uapi/asm/fcntl.h: Update to
	headers_install'ed Linux kernel v5.19-rc7.
	* bundled/linux/include/uapi/asm-generic/fcntl.h: Likewise.
	* bundled/linux/include/uapi/linux/btrfs_tree.h: Likewise.
	* bundled/linux/include/uapi/linux/gpio.h: Likewise.
	* bundled/linux/include/uapi/linux/if_link.h: Likewise.
	* bundled/linux/include/uapi/linux/input.h: Likewise.
	* bundled/linux/include/uapi/linux/io_uring.h: Likewise.
	* bundled/linux/include/uapi/linux/kexec.h: Likewise.
	* bundled/linux/include/uapi/linux/landlock.h: Likewise.
	* bundled/linux/include/uapi/linux/lirc.h: Likewise.
	* bundled/linux/include/uapi/linux/loop.h: Likewise.
	* bundled/linux/include/uapi/linux/neighbour.h: Likewise.
	* bundled/linux/include/uapi/linux/netlink.h: Likewise.
	* bundled/linux/include/uapi/linux/prctl.h: Likewise.
	* bundled/linux/include/uapi/linux/seccomp.h: Likewise.
	* bundled/linux/include/uapi/linux/socket.h: Likewise.
	* bundled/linux/include/uapi/linux/tee.h: Likewise.
	* bundled/linux/include/uapi/linux/types.h: Likewise.
	* bundled/linux/include/uapi/linux/userfaultfd.h: Likewise.
	* bundled/linux/include/uapi/linux/v4l2-controls.h: Likewise.
	* bundled/linux/include/uapi/linux/videodev2.h: Likewise.
	* bundled/linux/include/uapi/rdma/ib_user_verbs.h: Likewise.

2022-07-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	pathtrace, strace: refactor path trace options parsing and storing.
	In preparation for further changes.

	* src/defs.h (struct path_set_item): New type.
	(struct path_set): Use struct path_set_item for storing paths_selected.
	* src/pathtrace.c (pathmatch, storepath): Access specific paths using
	"path" field.
	* src/strace.c (struct pathtrace): New type.
	(add_path_trace): New function.
	(init): Replace pathtrace_paths, pathtrace_size, and pathtrace_count
	variables with pathtrace variable.
	(init) <case 'P'>: Call add_path_trace instead of open-coded
	pathtrace_paths array update.
	(init): Access pathtrace "paths" and "count" fields instead
	of pathtrace_paths and pathtrace_count, respectively.

2022-07-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests/bpf: fix sloppy low FD number usage.
	FD 42 can already be opened, so close it.  Otherwise, it may lead
	to the following test failure:

	    -bpf(BPF_LINK_CREATE, {link_create={prog_fd=0</dev/full>, target_fd=0</dev/full>, attach_type=BPF_TRACE_ITER, flags=0, iter_info=[{map={map_fd=0</dev/full>}}, {map={map_fd=42}}, {map={map_fd=314159265}}, {map={map_fd=-1159983635}}, {map={map_fd=-1}}], iter_info_len=5}}, 28) = 841540765612359407 (INJECTED)
	    +bpf(BPF_LINK_CREATE, {link_create={prog_fd=0</dev/full>, target_fd=0</dev/full>, attach_type=BPF_TRACE_ITER, flags=0, iter_info=[{map={map_fd=0</dev/full>}}, {map={map_fd=42</var/tmp/restraintd/logs/146893626/task.log>}}, {map={map_fd=314159265}}, {map={map_fd=-1159983635}}, {map={map_fd=-1}}], iter_info_len=5}}, 28) = 841540765612359407 (INJECTED)
	     bpf(BPF_LINK_CREATE, 0x3ff95574fe5, 28) = 841540765612359407 (INJECTED)
	    -bpf(BPF_LINK_CREATE, {link_create={prog_fd=0</dev/full>, target_fd=0</dev/full>, attach_type=BPF_TRACE_ITER, flags=0, iter_info=[{map={map_fd=0</dev/full>}}, {map={map_fd=42}}, {map={map_fd=314159265}}, {map={map_fd=-1159983635}}, {map={map_fd=-1}}, ... /* 0x3ff9555d000 */], iter_info_len=6}}, 28) = 841540765612359407 (INJECTED)
	    +bpf(BPF_LINK_CREATE, {link_create={prog_fd=0</dev/full>, target_fd=0</dev/full>, attach_type=BPF_TRACE_ITER, flags=0, iter_info=[{map={map_fd=0</dev/full>}}, {map={map_fd=42</var/tmp/restraintd/logs/146893626/task.log>}}, {map={map_fd=314159265}}, {map={map_fd=-1159983635}}, {map={map_fd=-1}}, ... /* 0x3ff9555d000 */], iter_info_len=6}}, 28) = 841540765612359407 (INJECTED)
	    [...]
	    FAIL bpf-success-long-y.test (exit status: 1)

	* tests/bpf.c (init_BPF_LINK_CREATE_attr7): Close iter_info_data[1] fd.

	Fixes: v5.18~18 "bpf: improve bpf(BPF_LINK_CREATE) decoding"
	Reported-by: Lenka Špačková <lkuprova@redhat.com>
	Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2103137

2022-07-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	strace.spec.in: cater to some distros with special SPDX identifier needs
	* strace.spec.in (License): Define to "LGPL-2.1-or-later and GPL-2.0-or-later"
	for distributions that have voluntarily decided not to recognise
	the deprecated SPDX license identifiers everyone else is fine with.

	Complements: v5.3~47 "strace.spec.in: use SPDX shortname format in License: tag"
	Reported-by: Lenka Špačková <lkuprova@redhat.com>

2022-07-04  Eugene Syromyatnikov  <evgsyr@gmail.com>

	secontext: fix expected SELinux context check for unlinked FDs.
	selinux_getfdcon open-coded a part of getfdpath_pid since it tries
