2020-06-01  Dmitry V. Levin  <ldv@altlinux.org>

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

	.mailmap: add more entries to avoid duplication in CREDITS.

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

2020-06-01  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v5.7.
	* linux/32/ioctls_inc_align16.h: Update from linux v5.7
	using ioctls_gen.sh.
	* linux/32/ioctls_inc_align32.h: Likewise.
	* linux/32/ioctls_inc_align64.h: Likewise.
	* linux/64/ioctls_inc.h: Likewise.
	* linux/s390/ioctls_arch0.h: Likewise.
	* linux/s390x/ioctls_arch0.h: Likewise.
	* linux/x32/ioctls_inc0.h: Likewise.
	* NEWS: Mention this.

2020-05-31  Dmitry V. Levin  <ldv@altlinux.org>

	tests: increase default TIMEOUT_DURATION.
	* tests/init.sh (TIMEOUT_DURATION): Increase from 600 to 1500.
	* .travis.yml (matrix): Remove TIMEOUT_DURATION.

2020-05-31  Dmitry V. Levin  <ldv@altlinux.org>

	configure.ac: robustify linux headers checks.
	Some linux headers used to require other headers to be included
	beforehand.  While these linux headers are no longer insufficient
	nowadays, configure checks need to handle old headers properly.

	* configure.ac (AC_CHECK_TYPES): Include <sys/socket.h> before
	<linux/fib_rules.h>.
	(AC_CHECK_HEADERS): Include <sys/socket.h> and <linux/types.h>
	before linux/if_addr.h, linux/if_link.h, linux/neighbour.h.
	Include <linux/types.h> before other linux headers.

2020-05-31  Dmitry V. Levin  <ldv@altlinux.org>

	Include <linux/types.h> before <linux/fiemap.h> and <linux/hiddev.h>
	<linux/fiemap.h> and <linux/hiddev.h> used to require <linux/types.h>
	to be included beforehand.

	* file_ioctl.c [HAVE_LINUX_FIEMAP_H]: Include <linux/types.h>
	before <linux/fiemap.h>.
	* tests/file_ioctl.c: Likewise.
	* tests/ioctl.c: Include <linux/types.h> before <linux/hiddev.h>.

2020-05-31  Dmitry V. Levin  <ldv@altlinux.org>

	debian/rules: fix build-udeb/Makefile target.
	* debian/rules (build-udeb/Makefile): Rename --without-stacktrace
	to --disable-stacktrace.

2020-05-30  Dmitry V. Levin  <ldv@altlinux.org>

	Turn getfdpath and printfd functions into static inline wrappers.
	* defs.h (printfd): Copy here from util.c, turn into an inline wrapper.
	(getfdpath): Copy here from pathtrace.c, turn into an inline wrapper.
	* pathtrace.c (getfdpath): Remove.
	* util.c (printfd): Remove.

2020-05-30  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	tests/pidfd_getfd.c: test decoding of targetfd.
	* tests/pidfd_getfd.c (k_pidfd_getfd): Rename pid argument to pidfd.
	(main): Test decoding of targetfd.
	* tests/gen_tests.in: Add "-e signal=none" argument to pidfd_getfd
	tests.

2020-05-30  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	pidfd_getfd: fix decoder.
	The decoder incorrectly assumed the first argument being a pid,
	but actually it is a pidfd.

	The patch also makes the decoder be able to decode the targetfd
	(-y and -yy options).

	* pidfd_getfd.c: Include "number_set.h".
	(SYS_FUNC(pidfd_getfd)): Rewrite using pidfd_get_pid.

	Fixes: v5.6~46 "Implement pidfd_getfd syscall decoding"

2020-05-30  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	util.c: add pidfd_get_pid.
	* defs.h (pidfd_get_pid): New function declaration.
	* utils.c (pidfd_get_pid): New function, returns the pid of a pidfd.
	(printpidfd): Rewrite using pidfd_get_pid.
	(printfd_pid): Change printpidfd arguments.

2020-05-30  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	Rename print_pid_fd to printfd_pid_tracee_ns.
	To avoid confusion with the new printfd_pid fucntion.

	defs.h (print_pid_fd): Rename to printfd_pid_tracee_ns.
	util.c: Likewise.  All users updated.

2020-05-30  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	util.c: add printfd_pid.
	defs.h (printfd_pid): New function definition.
	util.c (printfd_pid): New function printing the fd of an other process.
	(printfd): Rewritten using printfd_pid.

	pathtrace.c: add getfdpath_pid.
	* defs.h (getfdpath_pid): New function definition.
	* pathtrace.c (getfdpath_pid): New function, returns the path
	associated with fd of the process with pid.
	(getfdpath): Rewrite using getfdpath_pid.

2020-05-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: annotate btrfs_compress_types with #enum.
	* xlat/btrfs_compress_types.in: Add #enum, #include <stdio.h>,
	and #include <linux/btrfs.h>
	* configure.ac (AC_CHECK_DECL(BTRFS_COMPRESS_*)): Remove.

2020-05-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: annotate rtnl_ifla_xdp_attached_mode with #enum.
	And use proper checks in tests/nlattr_ifla_xdp.c.

	* xlat/rtnl_ifla_xdp_attached_mode.in: Add #enum, #include <netinet/in.h>,
	and #include <linux/rtnetlink.h> annotations.
	* tests/nlattr_ifla_xdp.c [!XDP_ATTACHED_NONE] (XDP_ATTACHED_NONE):
	Remove.
	[!XDP_ATTACHED_MULTI] (XDP_ATTACHED_MULTI): Remove.
	[!HAVE_DECL_XDP_ATTACHED_NONE] (XDP_ATTACHED_NONE): New enum definition.
	[!HAVE_DECL_XDP_ATTACHED_MULTI] (XDP_ATTACHED_MULTI): Likewise.

2020-05-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	rtnl_link: support IFLA_XDP_EXPECTED_FD attribute decoding.
	Introduced by Linux commit v5.7-rc1~146^2~10^2~13^2~3.

	* xlat/rtnl_ifla_xdp_attrs.in: Add #enum, #include <netlink/in.h>,
	and #include <linux/rtnetlink.h> annotations.
	(IFLA_XDP_EXPECTED_FD): New constant.
	* rtnl_link.c (ifla_xdp_nla_decoders): Add [IFLA_XDP_EXPECTED_FD], set
	value to decode_nla_fd.
	* tests/nlattr_ifla_xdp-y.c: New file.
	* tests/.gitignore: Add nlattr_ifla_xdp-y.
	* tests/Makefile.am (check_PROGRAMS): Likewise.
	* tests/gen_tests.in: Add nlattr_ifla_xdp-y test.
	* tests/nlattr_ifla_xdp.c: Include "xlat/rtnl_ifla_xdp_attrs.h" under
	XLAT_MACROS_ONLY definition.
	(IFLA_XDP_FD, IFLA_XDP_ATTACHED, IFLA_XDP_PROG_ID, IFLA_XDP_DRV_PROG_ID,
	IFLA_XDP_SKB_PROG_ID, IFLA_XDP_HW_PROG_ID): Remove.
	[!FD9_PATH] (FD9_PATH): New macro, define to empty string.
	(main): Add checks for IFLA_XDP_EXPECTED_FD.

2020-05-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: support -y mode for sockfd printing.
	* tests/test_nlattr.h [!PRINT_SOCK] (PRINT_SOCK): New macro, define to 0.
	(print_sockfd): New function.
	(TEST_NLATTR_EX_): Call print_sockfd for sock fd printing.

	rtnl_tc_action: implement TCA_ACT_HW_STATS and TCA_ACT_USED_HW_STATS decoding
	* xlat/rtnl_tca_act_hw_stats.in: New file.
	* rtnl_tc_action.c: Include "xlat/rtnl_tca_act_hw_stats.h".
	(decode_tca_act_hw_stats): New function.
	(tcamsg_nla_decoders): Add [TCA_ACT_HW_STATS]
	and [TCA_ACT_USED_HW_STATS], set them to decode_tca_act_hw_stats.
	* tests/nlattr_tcamsg.c: Add checks, update expected output.
	* xlat/rtnl_tc_action_attrs.in (TCA_ACT_HW_STATS): New constant,
	introduced by Linux commit v5.7-rc1~146^2~230^2 and renamed in Linux
	commit v5.7-rc1~146^2~101.
	(TCA_ACT_USED_HW_STATS): New constant, introduced by Linux commit
	v5.7-rc1~146^2~25^2.

	xlat: annotate rtnl_tca_stab_attrs with #enum.
	* xlat/rtnl_tca_stab_attrs.in: Add #enum, #include <linux/types.h>,
	 #include <linux/pkt_sched.h>.
	* configure.ac (AC_CHECK_DECLS(TCA_STAB_DATA)): Remove.

	xlat: annotate rtnl_tca_stats_attrs with #enum.
	* xlat/rtnl_tca_stats_attrs.in: Add #enum, #include <linux/gen_stats.h>.
	* configure.ac (AC_CHECK_DECL(TCA_STATS_PKT64)): Remove.

	xlat: add #enum to v4l2 xlats.
	* xlat/v4l2_buf_types.in: Add #enum, #include <sys/time.h>, #include
	<linux/ioctl.h>, #include <linux/types.h>, and #include
	<linux/videodev2.h>.
	* xlat/v4l2_colorspaces.in: Likewise.
	* xlat/v4l2_control_types.in: Likewise.
	* xlat/v4l2_fields.in: Likewise.
	* xlat/v4l2_framesize_types.in: Likewise.
	* xlat/v4l2_memories.in: Likewise.
	* xlat/v4l2_tuner_types.in: Likewise.
	* configure.ac (AC_CHECK_DECL(V4L2_*)): Remove.

	xlat: annotate rtnl_link_attrs with #enum.
	* xlat/rtnl_link_attrs.in: Add #enum, #include <sys/socket.h>, #include
	<linux/rtnetlink.h>.
	* configure.ac (AC_CHECK_DECL(IFLA_*)): Remove.

	xlat: annotate rtnl_tc_action_attrs with #enum.
	* xlat/rtnl_tc_action_attrs.in: Add #enum, #include <linux/pkt_cls.h>
	* configure.ac (AC_CHECK_DECL(TCA_ACT_*)): Remove.

	xlat: annotate sysctl xlats with #enum.
	* configure.ac (AC_CHECK_DECL(CTL_* KERN_* NET_* VM_*)): Remove.
	* xlat/sysctl_kern.in: Add #enum, #include <sys/types.h>, #include
	<linux/sysctl.h> descriptors.
	* xlat/sysctl_net.in: Likewise.
	* xlat/sysctl_net_core.in: Likewise.
	* xlat/sysctl_net_ipv4.in: Likewise.
	* xlat/sysctl_net_ipv4_conf.in: Likewise.
	* xlat/sysctl_net_ipv4_route.in: Likewise.
	* xlat/sysctl_net_ipv6.in: Likewise.
	* xlat/sysctl_net_ipv6_route.in: Likewise.
	* xlat/sysctl_net_unix.in: Likewise.
	* xlat/sysctl_root.in: Likewise.
	* xlat/sysctl_vm.in: Likewise.

2020-05-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	configure: annotate waitid_types with #enum.
	This also syncs up the configure checks with the actual list of xlat
	values.

	* xlat/waitid_types.in: Add #enum, #include <sys/types.h>, and #include
	<sys/wait.h>.
	* configure.ac (AC_CHECK_DECL(P_*)): Remove.

	Complements: v5.4~82 "xlat: update waitid_types"

2020-05-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: mark loop_flags_options as #enum.
	* xlat/loop_flags_options.in: Add #enum and #include <linux/loop.h>
	descriptors.
	* configure.ac (AC_CHECK_DECLS(LO_FLAGS_*)): Remove.

	xlat: generate m4 checks for enumerations.
	* xlat/gen.sh (print_m4_record, gen_m4_entry): New functions.
	(print_xlat_pair): Accept macro name in the third argument.
	(print_xlat, print_xlat_pair): Call print_m4_record.
	(cond_xlat): Pass $m to print_xlat_pair call. Set first_enum to 0.
	(gen_header, gen_make, gen_git): Output the "generating ..." line
	to stderr.
	(gen_header): Get output_m4 as the fourth parameter, redirect fd 3
	to stdout, set enum to 1 if #enum is present and $output_m4 is set,
	append #include argument to includes, generate $output_m4 is $enum
	is set to 1, pass macro name to print_xlat_pair call, close fd 3.
	(gen_git): Add st_check_enums.m4 and "/*.m4".
	(main): Allow passing $output_m4 as the third argument, pass m4 file
	name as the fourth argument to gen_header calls, pipe gen_header output
	to gen_m4_entry in case of no-argument invocation, redirect gen_header
	output to /dev/null in case of single-file invocation.
	* Makefile.am (ACLOCAL_AMFLAGS): Add "-I xlat".
	* configure.ac: Add st_CHECK_ENUMS.

2020-05-30  Pierre Marsais  <pierre.marsais@lse.epita.fr>

	configure.ac: remove unused checks.
	Those unused configure.ac checks were found with the following commands:

	$ ./bootstrap
	$ ./configure
	$ grep '^#undef HAVE' config.h.in | cut -d' ' -f2 | sort >in_configure
	$ find -iname '*.[ch]' -exec ifnames \{\} + | grep ^HAVE | \
	  cut -d' ' -f1 | sort >in_source
	$ comm -23 in_configure in_source | grep -vE '^HAVE_(UNION|STRUCT)'

	* configure.ac (AC_CHECK_FUNCS): Remove utimensat, the last user was
	removed by commit 589cff6.  Remove strsignal, the last user was
	removed by commit 2c4fb90.
	(AC_CHECK_HEADERS): Remove sys/conf.h, the last user was removed by
	commit 811bda6.  Remove inttypes.h, the last user was removed by commit
	a6d91de.  Remove stropts.h, the last user was removed by commit a56a81c.
	(AC_CHECK_DECLS): remove P_PPID, P_PGID, P_SID, P_CID, P_UID, P_GID,
	P_ALL, and P_LWPID, the last user was removed by commit 7da9d19.

2020-05-29  Dmitry V. Levin  <ldv@altlinux.org>

	maint: remove ioctl duplicates generated from linux/dma-buf.h.
	Starting with commit v5.7-rc4~13^2~2^2~7, linux/dma-buf.h defines
	DMA_BUF_SET_NAME_A and DMA_BUF_SET_NAME_B constants, and
	DMA_BUF_SET_NAME equals to one of them.

	* maint/ioctls_sym.sh: Edit linux/dma-buf.h to omit DMA_BUF_SET_NAME.

2020-05-29  Dmitry V. Levin  <ldv@altlinux.org>

	maint: force time64 based definitions in linux/videodev2.h.
	Starting with commit v5.6-rc1~93^2~103, linux/videodev2.h provides either
	time32 or time64 based definitions depending on the flavour provided by
	libc headers.  While media/v4l2-ioctl.h already provides time32 based
	definitions, linux/videodev2.h has to be twisted to force time64 based
	definitions.

	* maint/ioctls_sym.sh: Edit linux/videodev2.h to force time64 based API.

2020-05-29  Dmitry V. Levin  <ldv@altlinux.org>

	xlat: add 1<<_UFFDIO_WRITEPROTECT to uffd_register_ioctl_flags.
	* xlat/uffd_register_ioctl_flags.in (1<<_UFFDIO_WRITEPROTECT): New
	constant introduced by Linux kernel commit v5.7-rc1~58^2~113.

2020-05-28  Dmitry V. Levin  <ldv@altlinux.org>

	Replace struct v4l2_event with a reliable alternative definition.
	Since the definition of struct v4l2_event provided by the kernel depends
	on the flavour of struct timespec provided by libc, we cannot use the
	definition provided by the kernel, neither in the decoder nor in tests.

	* kernel_v4l2_types.h: Include "kernel_timespec.h".
	(kernel_v4l2_event_t): New type.
	* linux/32/ioctls_inc_align16.h (VIDIOC_DQEVENT): Update.
	* linux/32/ioctls_inc_align32.h: Likewise.
	* linux/32/ioctls_inc_align64.h: Likewise.
	* xlat/v4l2_ioctl_cmds.in (VIDIOC_DQEVENT): Redefine.
	* v4l2.c (kernel_v4l2_event_t): Mpersify.

2020-05-28  Dmitry V. Levin  <ldv@altlinux.org>

	v4l2: move redefinitions of v4l2_buffer based constants to xlat.
	* kernel_v4l2_types.h: Include "types/v4l2.h".
	* v4l2.c (VIDIOC_QUERYBUF, VIDIOC_QBUF, VIDIOC_DQBUF,
	VIDIOC_PREPARE_BUF): Move redefinitions ...
	* xlat/v4l2_ioctl_cmds.in: ... here.
	* tests/ioctl_v4l2.c: Include "xlat/v4l2_ioctl_cmds.h"
	in XLAT_MACROS_ONLY mode.
	(VIDIOC_QUERYBUF, VIDIOC_QBUF, VIDIOC_DQBUF, VIDIOC_PREPARE_BUF): Remove.
	(main): Check for HAVE_STRUCT_V4L2_FRMSIZEENUM,
	HAVE_STRUCT_V4L2_FRMIVALENUM, and HAVE_STRUCT_V4L2_CREATE_BUFFERS
	instead of VIDIOC_ENUM_FRAMESIZES, VIDIOC_ENUM_FRAMEINTERVALS, and
	VIDIOC_CREATE_BUFS as the latter are always defined now.
	* tests/ioctl_v4l2-success.c: Likewise.

2020-05-27  Dmitry V. Levin  <ldv@altlinux.org>

	Update NEWS.

	tests: robustify strace-D.test against personality mismatch issues.
	* tests/print_ppid_tracerpid.c: New file.
	* tests/.gitignore: Add print_ppid_tracerpid.
	* tests/Makefile.am (check_PROGRAMS): Likewise.
	* tests/strace-D.test: Use print_ppid_tracerpid instead of
	"sed -r -n '/^(P|Tracer)Pid:/p' /proc/self/status" to avoid
	unrelated issues caused by potential personality mismatch.

	tests: robustify pc.test against personality mismatch issues.
	* tests/pc.test: Pass --quiet=attach,personality option to strace
	to suppress some unrelated diagnostics that can confuse scripts
	that parse strace output.

2020-05-27  Dmitry V. Levin  <ldv@altlinux.org>

	ci: re-enable testing with the latest mainline kernel headers.
	There should be no issues with v5.7-rc7.
	This reverts commit dc6a196f3a83103e8ba21b6809246d37356ffd3d.

	* .github/workflows/ci.yml (env): Remove KBRANCH.
	* .gitlab-ci.yml (variables): Likewise.
	* .travis.yml (env:global): Likewise.

2020-05-27  Dmitry V. Levin  <ldv@altlinux.org>

	clone: implement decoding of cgroup field in struct clone_args.
	* configure.ac (AC_CHECK_MEMBERS): Check for struct clone_args.cgroup
	instead of struct clone_args.set_tid_size.
	* clone.c (struct strace_clone_args): Add cgroup field.
	(SYS_FUNC(clone3)): Decode cgroup field of struct clone_args introduced
	by Linux kernel commit v5.7-rc1~107^2~9.
	* NEWS: Mention this change.
	* tests/clone3.c: Check HAVE_STRUCT_CLONE_ARGS_CGROUP instead of
	HAVE_STRUCT_CLONE_ARGS_SET_TID_SIZE.
	(struct test_clone_args): Add cgroup field.
	(main): Check decoding of cgroup field.

	xlat: update CLONE_* constants.
	* xlat/clone3_flags.in (CLONE_INTO_CGROUP): New constant, introduced
	by Linux kernel commit v5.7-rc1~107^2~9.
	* NEWS: Mention this.
	* tests/clone3.c (main): Update the expected output.

	x32: workaround syscall(2) limitations in PTRACE_GET_SYSCALL_INFO check.
	* ptrace_syscall_info.c (test_ptrace_get_syscall_info)
	[SIZEOF_KERNEL_LONG_T > SIZEOF_LONG]: Cast elements of info.entry.args
	array to (unsigned long).
	* tests/ptrace_syscall_info.c (test_entry): Likewise.

2020-05-27  Dmitry V. Levin  <ldv@altlinux.org>

	tests: silence compilation warnings in pc.test.
	Silence the following compilation warnings produced by fresh gcc+glibc:

	In file included from pc.c:9:
	pc.c: In function 'main':
	pc.c:30:9: warning: argument 2 is null but the corresponding size argument 3 value is 16 [-Wnonnull]
	   30 |  assert(write(-1, NULL, 2 * sizeof(void *)) < 0);
	      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	In file included from pc.c:12:
	/usr/include/unistd.h:367:16: note: in a call to function 'write' declared with attribute 'read_only (2, 3)'
	  367 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
	      |                ^~~~~

	* tests/pc.c (main): Use 8UL instead of NULL as a marker.
	* tests/pc.test: Update expected output.

2020-05-26  Dmitry V. Levin  <ldv@altlinux.org>

	Replace struct v4l2_buffer with a reliable alternative definition.
	Starting with Linux kernel commit v5.6-rc1~93^2~102, the definition
	of struct v4l2_buffer provided by the kernel depends on the flavour
	of struct timeval provided by libc.  This effectively means that we
	cannot use the definition provided by the kernel, neither in the decoder
	nor in tests.

	* kernel_v4l2_types.h: New file.
	* Makefile.am (libstrace_a_SOURCES): Add it.
	* types/v4l2.h (struct_v4l2_buffer): Remove.
	* v4l2.c: Include "kernel_v4l2_types.h".
	Replace struct_v4l2_buffer with kernel_v4l2_buffer_t.
	(VIDIOC_QUERYBUF, VIDIOC_QBUF, VIDIOC_DQBUF, VIDIOC_PREPARE_BUF):
	Redefine.
	(print_v4l2_buffer): Use print_timeval64_data_size to print timestamp
	field.
	* linux/32/ioctls_inc_align16.h (VIDIOC_QUERYBUF, VIDIOC_QBUF,
	VIDIOC_DQBUF, VIDIOC_PREPARE_BUF): Update.
	* linux/32/ioctls_inc_align32.h: Likewise.
	* linux/32/ioctls_inc_align64.h: Likewise.
	* xlat/v4l2_ioctl_cmds.in (VIDIOC_QUERYBUF, VIDIOC_QBUF,
	VIDIOC_DQBUF, VIDIOC_PREPARE_BUF): Comment out.
	* tests/ioctl_v4l2.c: Include "kernel_v4l2_types.h".
	(main): Replace struct_v4l2_buffer with kernel_v4l2_buffer_t.
	(VIDIOC_QUERYBUF, VIDIOC_QBUF, VIDIOC_DQBUF, VIDIOC_PREPARE_BUF):
	Redefine.
	* tests/ioctl_v4l2-success.c: Likewise.

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

2020-05-26  Dmitry V. Levin  <ldv@altlinux.org>

	configure: move AM_PROG_AR after AC_USE_SYSTEM_EXTENSIONS.
	This fixes the following autoreconf warning:
	configure.ac:41: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS

	* configure.ac: Move AM_PROG_AR after AC_USE_SYSTEM_EXTENSIONS.

	Fixes: v5.6-65-g81e11a9b8 "configure: check AR variable for 'ar' tool"

2020-05-02  Mike Gilbert  <floppym@gentoo.org>

	configure: check AR variable for 'ar' tool.
	Without this, automake always hardcodes 'AR = ar' in Makefile.in

	Bug: https://bugs.gentoo.org/720712

2020-05-02  Dmitry V. Levin  <ldv@altlinux.org>

	configure.ac: do not check for perl.
	The last user of this check was removed by commit v4.7~160.

	* configure.ac (AC_PATH_PROG): Remove perl.

	Complements: v4.7~160 "Manual removal of non-Linux source, documentation, etc."

2020-04-27  Dmitry V. Levin  <ldv@altlinux.org>

	configure.ac: fix dladdr check.
	* configure.ac: Check for the library providing dladdr using
	AC_SEARCH_LIBS instead of AC_CHECK_LIB to handle the case when dladdr
	is a part of libc.

2020-04-24  Dmitry V. Levin  <ldv@altlinux.org>

	Rewrite decoders of dup, dup2, and dup3 syscalls.
	* dup.c: New file.
	* Makefile.am (libstrace_a_SOURCES): Add it.
	* desc.c (do_dup2, SYS_FUNC(dup), SYS_FUNC(dup2), SYS_FUNC(dup3)):
	Remove.

	tests: check decoding of dup3 syscall in -y, -yy, and -P modes.
	* tests/dup3.c: Rewrite.
	* tests/dup3-P.c: New file.
	* tests/dup3-y.c: Likewise.
	* tests/dup3-yy.c: Likewise.
	* tests/gen_tests.in (dup3): Add 7>>/dev/full.
	(dup3-P, dup3-y, dup3-yy): New entries.
	* tests/pure_executables.list: Add dup3-P, dup3-y, and dup3-yy.
	* tests/.gitignore: Likewise.

	tests: check decoding of dup2 syscall in -y, -yy, and -P modes.
	* tests/dup2.c: Rewrite.
	* tests/dup2-P.c: New file.
	* tests/dup2-y.c: Likewise.
	* tests/dup2-yy.c: Likewise.
	* tests/gen_tests.in (dup2): Add 9>>/dev/full.
	(dup2-P, dup2-y, dup2-yy): New entries.
	* tests/pure_executables.list: Add dup2-P, dup2-y, and dup2-yy.
	* tests/.gitignore: Likewise.

	tests: check decoding of dup syscall in -y, -yy, and -P modes.
	* tests/dup.c: Rewrite.
	* tests/dup-P.c: New file.
	* tests/dup-y.c: Likewise.
	* tests/dup-yy.c: Likewise.
	* tests/gen_tests.in (dup): Add 9>>/dev/full.
	(dup-P, dup-y, dup-yy): New entries.
	* tests/pure_executables.list: Add dup-P, dup-y, and dup-yy.
	* tests/.gitignore: Likewise.

2020-04-24  Niklas Cathor  <niklas.cathor@gmx.de>

	strace.1: fix description of "open" example.
	* strace.1.in (DESCRIPTION): In the example of "open" syscall with three
	arguments, the rest of the sentence talks about the `flag` and the
	`mode` arguments, not just about the `mode`.

	Resolves: https://gitlab.com/strace/strace/merge_requests/1

2020-04-24  Dmitry V. Levin  <ldv@altlinux.org>

	github: add gcc-10 jobs.
	* .github/workflows/ci.yml (gcc10-x86_64-kheaders, gcc10-x86_64-dw,
	gcc10-x86_64-unwind, gcc10-x32-kheaders, gcc10-x32-nostacktrace,
	gcc10-x86-kheaders, gcc10-x86-nostacktrace): New jobs.

2020-04-23  Maxim Akhmedov  <max42@yandex-team.ru>
	    Dmitry V. Levin  <ldv@altlinux.org>

	Implement interval specification in syscall tampering expressions.
	Before this change, strace allows syscall tampering only for syscalls
	with 1) fixed invocation index or 2) all invocations starting from n-th
	(possibly with some step).

	These two options do not cover a useful scenario of testing
	retrying/backoffing policy of traced program, which may be done by
	introducing delays/errors on first n invocations, and then stopping
	tampering.

	This change adds possibility to invoke strace like the following:

	  strace -e inject=recvfrom:delay_exit=100000:when=3,100 ./bin

	which results in invocations from third to hundredth (inclusive) being
	tampered.  Formally, syntax now looks like `when=first[..last][+step]`.

	This change does not affect the existing behavior.

	* defs.h (INJECT_LAST_INF): New macro.
	(struct inject_opts): Add "last" field.
	* filter_qualify.c (parse_inject_token) <when>: Add interval support.
	(qualify_inject_common): Initialize struct inject_opts.last.
	* syscall.c (tamper_with_syscall_entering): Handle
	struct inject_opts.last.
	* strace.1.in (Tampering): Document the new feature.
	* strace.c (usage): Likewise.
	* NEWS: Mention this change.
	* tests/qual_fault-syntax.test: Check handling of invalid "when"
	intervals.
	* tests/qual_inject-syntax.test: Likewise.
	* tests/qual_fault.c (last): New variable.
	(main): Take "last" argument, handle it.
	* tests/qual_fault.test: Check handling of valid "when" intervals.

	Resolves: https://github.com/strace/strace/pull/136

2020-04-21  Dmitry V. Levin  <ldv@altlinux.org>

	pathtrace: fix matching of openat2 syscall.
	* pathtrace.c (pathtrace_match_set): Handle SEN_openat2.

	Fixes: v5.6~48 "open: implement openat2 syscall decoding"

2020-04-19  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add BTRFS_COMPRESS_ZSTD to btrfs_compress_types.
	* xlat/btrfs_compress_types.in (BTRFS_COMPRESS_ZSTD): New constant,
	introduced by Linux commit v4.14-rc1~22^2~1.
	* tests/btrfs.c (BTRFS_COMPRESS_TYPES): Change value to 3.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>

	tests/xetitimer: Use syscalls instead of libc functions.
	The new glibc implementation for y2038 safe arches (32-bit arch with
	64-bit time_t) will set the itimerval struct inside libc instead of
	inside the kernel. This is because the kernel expects a 32-bit version
	of timeval while libc exposes a 64-bit version. As libc sets this, when
	we pass a faulting pointer we will get a segfault instead of the kernel
	reporint EFAULT back.

	To avoid a seg fault let's use the kernel's equivalent of struct
	__kernel_old_itimerval in the tests and call the syscall directly
	instead of using libc. This way we can trigger the kernels EFAULT
	response correctly.


	* tests/xetitimer.c: Include "kernel_timeval.h"
	(kernel_old_itimerval_t): New type.
	(main): Use it instead of struct itimerval, replace getitimer with
	syscall(__NR_getitimer), replace setitimer with syscall(__NR_setitimer).

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>
	    Dmitry V. Levin  <ldv@altlinux.org>

	tests/semtimedop: Skip tests if semtimedop syscall is not available.
	New y2038 safe 32-bit architectures don't have the __NR_semtimedop
	syscall, so let's skip the test.


	* tests/semtimedop.c: Include "scno.h".
	[!(__NR_semtimedop || __NR_socketcall)]: Skip the test.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>

	tests/xettimeofday: Skip tests if __NR_gettimeofday syscall is not defined
	New y2038 safe 32-bit architectures don't have the
	__NR_gettimeofday/__NR_settimeofday syscalls, so let's skip the test.


	* tests/xettimeofday.c: Include "scno.h".
	[!__NR_gettimeofday]: Skip the test.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>

	tests/wait4: Skip tests if __NR_wait4 syscall is not defined.
	New y2038 safe 32-bit architectures don't have the __NR_wait4 syscall,
	so let's skip the test.


	* tests/wait4.c: Include "scno.h".
	[!__NR_wait4]: Skip the test.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>

	tests/msg_control: Use old time structures for old timestamps.
	The SO_TIMESTAMP_OLD returns a timeval that matches the struct
	kernel_old_timeval_t instead of the struct timeval. This is different
	on new 32-bit architectures (like RV32) where timeval uses 64-bit time_t
	while kernel_old_timeval_t uses 32-bit.

	To fix overflow errors let's use kernel_old_timeval_t instead of
	the libc struct timeval.


	Likewise, SO_TIMESTAMPNS_OLD and SO_TIMESTAMPING_OLD return
	kernel_old_timespec_t.

	* tests/msg_control.c: Include "kernel_timeval.h" and
	"kernel_old_timespec.h".
	(test_scm_timestamp_old): Replace struct timeval with
	kernel_old_timeval_t.
	(test_scm_timestampns_old, test_scm_timestamping_old): Replace
	struct timespec with kernel_old_timespec_t.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>

	tests/sockopt-timestamp: Use old time structures for old timestamps.
	The SO_TIMESTAMP_OLD returns a timeval that matches the struct
	kernel_old_timeval_t instead of the struct timeval. This is different
	on new 32-bit architectures (like RV32) where timeval uses 64-bit time_t
	while kernel_old_timeval_t uses 32-bit.

	To fix overflow errors let's use kernel_old_timeval_t instead of
	the libc struct timeval.


	Likewise, SO_TIMESTAMPNS_OLD returns kernel_old_timespec_t.

	* tests/sockopt-timestamp.c: Include "kernel_timeval.h" and
	"kernel_old_timespec.h".
	(print_timestamp_old): Replace struct timeval with kernel_old_timeval_t.
	(print_timestampns_old): Replace struct timespec with
	kernel_old_timespec_t.

2020-04-19  Dmitry V. Levin  <ldv@altlinux.org>

	Rework printing of SO_TIMESTAMPNS_OLD and SO_TIMESTAMPING_OLD timestamps
	On architectures with 32-bit kernel_long_t the kernel sends 32-bit
	timespecs in SO_TIMESTAMPNS_OLD and SO_TIMESTAMPING_OLD messages.
	Unfortunately, this applies to all 32-bit architectures including
	those (like RV32) that do not define __ARCH_WANT_TIME32_SYSCALLS.

	* print_timespec.c: Remove.
	* Makefile.am (libstrace_a_SOURCES): Remove it.
	* linux/arch_defs_.h (ARCH_TIMESIZE): Remove.
	(MIN_KLONGSIZE, HAVE_ARCH_TIMESPEC32): New macros.
	* linux/x32/arch_defs_.h (ARCH_TIMESIZE): Remove.
	* defs.h (print_timespec32_data_size, print_timespec32_array_data_size):
	Declare for [HAVE_ARCH_TIMESPEC32].
	* kernel_timespec.h (kernel_timespec32_t): Define for
	[HAVE_ARCH_TIMESPEC32].
	* print_timespec32.c (TIMESPEC_T, PRINT_TIMESPEC_DATA_SIZE,
	PRINT_TIMESPEC_ARRAY_DATA_SIZE): Define for [HAVE_ARCH_TIMESPEC32].
	* msghdr.c (PRINT_TIMESPEC_DATA_SIZE, PRINT_TIMESPEC_ARRAY_DATA_SIZE):
	Define.
	(print_scm_timestampns_old): Use PRINT_TIMESPEC_DATA_SIZE
	instead of print_struct_timespec_data_size.
	(print_scm_timestamping_old): Use PRINT_TIMESPEC_ARRAY_DATA_SIZE
	instead of print_struct_timespec_array_data_size.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>

	tests/waitid: Correctly use the long types from the rusage struct.
	The kernel's rusage struct uses the kernel's __kernel_old_timeval which
	means that even for 32-bit archs with 64-bit time_t (like RV32) the time
	values are 32-bit.

	We can fix this by making sure we don't use libc's rusage struct and
	instead use our own with the kernel's old timeval.


	* configure.ac (AC_CHECK_MEMBERS): Do not check for members of struct
	rusage.
	* tests/waitid.c: Include "kernel_rusage.h" instead of <sys/resource.h>.
	(RU_MAXRSS, RU_IXRSS, RU_IDRSS, RU_ISRSS, RU_MINFLT, RU_MAJFLT,
	RU_NSWAP, RU_INBLOCK, RU_OUBLOCK, RU_MSGSND, RU_MSGRCV, RU_NSIGNALS,
	RU_NVCSW, RU_NIVCSW): Remove.
	(sprint_rusage): Replace struct rusage with kernel_rusage_t.
	Use the respective ru_* field names instead of removed macros.
	(do_waitid, main): Replace struct rusage with kernel_rusage_t.

	This partially reverts commit v5.6~192.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>
	    Dmitry V. Levin  <ldv@altlinux.org>

	tests/getrusage: Correctly use the long types from the rusage struct.
	The kernel's rusage struct uses the kernel's __kernel_old_timeval which
	means that even for 32-bit archs with 64-bit time_t (like RV32) the time
	values are 32-bit.

	We can fix this by making sure we don't use libc's rusage struct and
	instead use our own with the kernel's old timeval.


	* tests/getrusage.c: Include "kernel_rusage.h".
	(invoke_print): Replace struct rusage with kernel_rusage_t,
	cast member values from kernel_long_t to unsigned long long
	using zero_extend_signed_to_ull, update format strings.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>
	    Dmitry V. Levin  <ldv@altlinux.org>

	kernel_rusage.h: introduce kernel_rusage_t.

	* printrusage.c: Include "kernel_rusage.h" instead of "kernel_timeval.h".
	(rusage_t): Rename to kernel_rusage_t, move the definition to ...
	* kernel_rusage.h: ... new file.
	* Makefile.am (libstrace_a_SOURCES): Add it.

2020-04-19  Alistair Francis  <alistair.francis@wdc.com>
	    Dmitry V. Levin  <ldv@altlinux.org>

	time: Protect the print_timezone() function.
	To avoid the following error:
	time.c:17:1: error: 'print_timezone' defined but not used [-Werror=unused-function]

	ensure that print_timezone is only defined if we are going to use it.


	* time.c (print_timezone): Place under
	[HAVE_ARCH_TIME32_SYSCALLS || HAVE_ARCH_OLD_TIME64_SYSCALLS] guard.

	Complements: v5.6~28 "linux/32: move wait4 and [gs]ettimeofday from syscallent.h to syscallent-time32.h"

2020-04-18  Kemeng Shi  <shikemeng@huawei.com>

	tests: correct error message in io_uring_register test.
	* tests/io_uring_register.c (main): If path_full failed to open,
	print its name instead of mistakenly used path_null.

2020-04-18  Paul Chaignon  <paul@cilium.io>

	bpf: support new commands BPF_LINK_{CREATE,UPDATE}
	* xlat/bpf_commands.in (BPF_LINK_CREATE): New constant introduced by Linux
	commit v5.7-rc1~146^2~10^2^2~3.
	(BPF_LINK_UPDATE): New constant introduced by Linux commit
	v5.7-rc1~146^2~10^2^2~2.
	* bpf.c (BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE),
	BEGIN_BPF_CMD_DECODER(BPF_LINK_UPDATE)): Decode the new commands.
	(SYS_FUNC(bpf)): Decode the new commands.
	* bpf_attr.h (BPF_LINK_CREATE_struct): New structure introduced by Linux
	commit v5.7-rc1~146^2~10^2^2~3.
	(BPF_LINK_UPDATE_struct): New structure introduced by Linux commit
	v5.7-rc1~146^2~10^2^2~2.
	(BPF_LINK_CREATE_struct_size, BPF_LINK_UPDATE_struct_size): New macros.
	* NEWS: Mention this.
	* tests/bpf.c (BPF_LINK_CREATE_checks, BPF_LINK_UPDATE_checks): Tests for
	the new commands.

2020-04-18  Dmitry V. Levin  <ldv@altlinux.org>

	types: do not generate TYPES_M4_FILES variable.
	* types/gen.sh (gen_makefile): Do not generate TYPES_M4_FILES variable,
	it isn't used anywhere.

2020-04-17  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	Add test for %clock trace class.
	* tests/Makefile.am (EXTRA_DIST): Add trace_clock.in.
	* tests/gen_tests.in (trace_clock): New entry.
	* tests/trace_clock.in: New file.

2020-04-17  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	Add %clock trace class.
	The %clock class includes the syscalls that read or modify system clock.

	linux/*/syscallent*.h part is updated automatically by:
	sed -i -r '
	    /"(.*adjtime.*|.*clock_([gs]et|adj).*|.*[gs]ettimeofday.*|time)"/ {
	        s/(\{[^,]*,\t[^0][^,]*)/\1|TCL/
	        s/(\{[^,]*,\s*)0/\1TCL/
	    }
	' linux/*/syscallent*.h

	* basic_filters.c (loopup_class): Add %clock member to syscall_class[].
	* linux/32/syscallent-time32.h: Add TCL flag to clock related syscalls.
	* linux/64/syscallent.h: Likewise.
	* linux/alpha/syscallent.h: Likewise.
	* linux/arm/syscallent.h: Likewise.
	* linux/avr32/syscallent.h: Likewise.
	* linux/bfin/syscallent.h: Likewise.
	* linux/hppa/syscallent.h: Likewise.
	* linux/i386/syscallent.h: Likewise.
	* linux/ia64/syscallent.h: Likewise.
	* linux/m68k/syscallent.h: Likewise.
	* linux/microblaze/syscallent.h: Likewise.
	* linux/mips/syscallent-compat.h: Likewise.
	* linux/mips/syscallent-n32.h: Likewise.
	* linux/mips/syscallent-n64.h: Likewise.
	* linux/mips/syscallent-o32.h: Likewise.
	* linux/powerpc/syscallent.h: Likewise.
	* linux/powerpc64/syscallent.h: Likewise.
	* linux/s390/syscallent.h: Likewise.
	* linux/s390x/syscallent.h: Likewise.
	* linux/sh/syscallent.h: Likewise.
	* linux/sh64/syscallent.h: Likewise.
	* linux/sparc/syscallent.h: Likewise.
	* linux/sparc64/syscallent.h: Likewise.
	* linux/x32/syscallent.h: Likewise.
	* linux/x86_64/syscallent.h: Likewise.
	* linux/xtensa/syscallent.h: Likewise.
	* strace.1.in: Add %clock description.
	* strace.c (usage): Add %clock group to help message.
	* sysent.h (TRACE_CLOCK): New definition.
	* sysent_shorthand_defs.h (TC): Likewise.
	* sysent_shorthand_undefs.h (TC): Add undef.
	* NEWS: Mention this.

2020-04-17  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	sysent_shorthand_undefs.h: add missing undefs.
	Add undefs that were missing from sysent_shorthand_undefs.h
	(mirroring defs in sysent_shorthand_defs.h).

	* sysent_shorthand_undefs.h (PU): Add undef.
	(TSD): Likewise.
	(TC): Likewise.

	Fixes: v4.21~29 "Add pure syscall flag"
	Fixes: v5.3~36 "Add seccomp filter syscall flag"
	Fixes: v5.5~100 "Implement %creds trace class"

2020-04-17  Dmitry V. Levin  <ldv@altlinux.org>

	tests: use create_tmpfile.
	* tests/fchmod.c (main): Use create_tmpfile instead of open+unlink.
	* tests/preadv.c: Likewise.
	* tests/sendfile.c: Likewise.
	* tests/sendfile64.c: Likewise.
	* tests/fcntl-common.c (create_sample): Use create_tmpfile instead of
	mkstemp.

2020-04-17  Dmitry V. Levin  <ldv@altlinux.org>

	tests: introduce create_tmpfile function.
	There are few cases in tests where a file is created and immediately
	unlinked.  Add a function to perform this action in a more systematic
	way.

	* tests/tests.h (create_tmpfile): New prototype.
	* tests/create_tmpfile.c: New file.
	* tests/Makefile.am (libtests_a_SOURCES): Add create_tmpfile.c.

2020-04-16  Dmitry V. Levin  <ldv@altlinux.org>

	Extend memory caching of umove* functions.
	* ucopy.c (cached_raddr): Double the size.
	(get_next_unused_idx, lookup_cached_raddr_idx, set_cached_raddr_idx):
	New functions.
	(vm_read_mem): Use them.  When the data to be fetched resides in
	up to 4 adjacent memory pages, fetch these pages and cache them.
	* tests/umovestr_cached_adjacent.c: New file.
	* tests/pure_executables.list: Add umovestr_cached_adjacent.
	* tests/.gitignore: Likewise.
	* tests/umovestr_cached.test: Handle the first argument.
	* tests/gen_tests.in (umovestr_cached_adjacent): New test.

2020-04-15  Dmitry V. Levin  <ldv@altlinux.org>

	filter_seccomp: implement on systems without <linux/seccomp.h>
	Provide fallback definitions required to implement seccomp-assisted
	syscall filtering.

	* filter_seccomp.c [!HAVE_LINUX_SECCOMP_H]: Include
	"xlat/prctl_options.h", "xlat/seccomp_mode.h" and
	"xlat/seccomp_ret_action.h" in XLAT_MACROS_ONLY mode, remove #warning.
	[!HAVE_LINUX_SECCOMP_H] (struct seccomp_data): Define.
	[!HAVE_LINUX_SECCOMP_H] (check_seccomp_filter_properties,
	init_seccomp_filter, seccomp_filter_restart_operator): Remove stubs.

	Complements: v5.3~7 "Introduce seccomp-assisted syscall filtering"

2020-04-15  Dmitry V. Levin  <ldv@altlinux.org>

	x86_64: provide a fallback definition of __X32_SYSCALL_BIT.
	Make sure __X32_SYSCALL_BIT is defined on __x86_64__,
	move fallback definitions from various files to x86_64/arch_defs_.h.

	* linux/x86_64/arch_defs_.h [!__X32_SYSCALL_BIT] (__X32_SYSCALL_BIT):
	Define.
	* linux/x86_64/arch_get_personality.c [!__X32_SYSCALL_BIT]
	(__X32_SYSCALL_BIT): Remove.
	* linux/x86_64/get_scno.c: Likewise.
	* tests/filter_seccomp-flag.c [__x86_64__]: Likewise.

	Complements: v5.3~7 "Introduce seccomp-assisted syscall filtering"

2020-04-15  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add UFFDIO_COPY_MODE_WP to uffd_copy_flags.
	* xlat/uffd_copy_flags.in (UFFDIO_COPY_MODE_WP): New constant,
	introduced by Linux commit v5.7-rc1~58^2~121.
	(UFFDIO_COPY_MODE_DONTWAKE): Add fall-back value.
	* tests/ioctl_uffdio.c: Add a check for the new flag.

	xlat: update mremap_flags.
	* xlat/mremap_flags.in: Add fallback values.
	(MREMAP_DONTUNMAP): New constant, introduced by Linux commit
	v5.7-rc1~124^2~49.

	xlat: update lwtunnel_encap_types.
	* xlat/lwtunnel_encap_types.in (LWTUNNEL_ENCAP_SEG6_LOCAL): New
	constant, introduced by Linux commit v4.14-rc1~130^2~348^2~2.
	(LWTUNNEL_ENCAP_RPL): New constant, introduced by Linux commit
	v5.7-rc1~146^2~38^2.

	xlat: add XDP_FLAGS_REPLACE to xdp_flags.
	* xlat/xdp_flags.in: Add leading zeroes to fallback values.
	(XDP_FLAGS_REPLACE): New constant, introduced by Linux commit
	v5.7-rc1~146^2~10^2~13^2~3.

	xlat: add FAN_DIR_MODIFY to fan_event_flags.
	* xlat/fan_event_flags.in (FAN_DIR_MODIFY): New constant, introduced
	by Linux commit v5.7-rc1~72^2~5.
	* tests/fanotify_mark.c: Update expected output.

	xlat: update v4l2_pix_fmts.
	* xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_SBGGR14, V4L2_PIX_FMT_SGBRG14,
	V4L2_PIX_FMT_SGRBG14, V4L2_PIX_FMT_SRGGB14): New constants, introduced
	by Linux commit v5.7-rc1~193^2~35.
	(V4L2_PIX_FMT_Y14): New constant, introduced by Linux commit
	v5.7-rc1~193^2~34.

	xlat: update uring_ops.
	* xlat/uring_ops.in (IORING_OP_SPLICE): New constant, introduced
	by Linux commit v5.7-rc1~201^2~46.
	(IORING_OP_PROVIDE_BUFFERS): New constant, introduced by Linux commit
	v5.7-rc1~201^2~23.
	(IORING_OP_REMOVE_BUFFERS): New constant, introduced by Linux commit
	v5.7-rc1~201^2~18.
	* tests/io_uring_register.c: Update expected output.

	xlat: add SECCOMP_FILTER_FLAG_TSYNC_ESRCH to seccomp_filter_flags.
	* xlat/seccomp_filter_flags.in: Use (1<<BIT) syntax.
	(SECCOMP_FILTER_FLAG_TSYNC_ESRCH): New constant, introduced by Linux
	commit v5.7-rc1~198^2~1.
	* tests/seccomp-filter.c: Update expected output.
	* tests/seccomp-filter-v.c: Likewise.

	xlat: add IORING_FEAT_FAST_POLL to uring_setup_features.
	* xlat/uring_setup_features.in (IORING_FEAT_FAST_POLL): New constant,
	introduced by Linux commit v5.7-rc1~201^2~36.

	xlat: add V4L2_CID_USER_ATMEL_ISC_BASE to v4l2_control_id_bases.
	* xlat/v4l2_control_id_bases.in (V4L2_CID_USER_ATMEL_ISC_BASE): New
	constant, introdued by Linux commit v5.7-rc1~193^2~219.

	xlat: add KVM_CAP_S390_PROTECTED and KVM_CAP_PPC_SECURE_GUEST to kvm_cap
	* xlat/kvm_cap.in (KVM_CAP_S390_PROTECTED): New constant, introduced
	by Linux commit v5.7-rc1~121^2~15^2~4.
	(KVM_CAP_PPC_SECURE_GUEST): New constant, introduced by Linux commit
	v5.7-rc1~121^2~12^2.

