summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tests: expand symlink test, add symlink-P testesyr/trace-fdsEugene Syromyatnikov2023-04-065-3/+45
| | | | | | | | | | | * tests/.gitignore: Add symlink-P. * tests/Makefile.am (check_PROGRAMS): Likewise. * tests/gen_tests.in (symlink): Change the alignment from 32 to 20 columns. (symlink-P): New test. * tests/symlink-P.c: New file. * tests/symlink.c: Add checks, print the output based on the presence of the PATH_TRACING macro.
* tests: expand link test, add link-P testEugene Syromyatnikov2023-04-065-5/+48
| | | | | | | | | | * tests/.gitignore: Add link-P. * tests/Makefile.am (check_PROGRAMS): Likewise. * tests/gen_tests.in (link): Add -a17 option. (link-P): New test. * tests/link-P.c: New file. * tests/link.c: Add checks, print the output based on the presence of the PATH_TRACING macro.
* Implement an ability to filter syscalls that operate on specific FDsEugene Syromyatnikov2023-04-0533-106/+448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce -e trace-fds= qualifier that allows specifying a set of FDs of interest, operations on which are to be traced. Works in conjunction (or, more specifically, inclusive disjunction) with the path tracing functionality. * src/defs.h: Include "number_set.h". (tracing_fds): New external variable. (pathtrace_match_set): Add new fdset argument to the declaration. (pathtrace_match): Pass trace_fd_set in the new argument to the pathtrace_match_set call. (qualify_trace_fd): New function declaration. * src/filter_qualify.c (trace_fd_set): New variable. (qualify_trace_fd): New function. (qual_options): Add various FD tracing-related items. * src/number_set.h (trace_fd_set): New external variable declaration. * src/pathtrace.c (pathmatch, upathmatch): Bail out if set is NULL. (fdmatch): Add fdset argument, check fd for non-negativity and presence in fdset if fdset is non-NULL. (match_xselect_args): Add fdset argument, pass it to the fdmatch call. (pathtrace_match_set): Add fdset argument, pass it to fdmatch and match_xselect_args calls. * src/syscall.c (syscall_entering_trace): Check tracing_fds in addition to tracing_paths as a predicate for performing pathtrace_match check. * src/strace.c (tracing_fds): New variable. (init) <GETOPT_QUAL_TRACE_FD>: New enum item. (init) <longopts>: Add"trace-fds" option. (init) <case GETOPT_QUAL_TRACE_FD>: Call qualify_trace_fd. (usage): Document -e trace-fds. * doc/strace.1.in: Likewise. * tests/.gitignore: Add dup-trace-fds-0, dup-trace-fds-0-9, dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9, dup2-e-fd-0-P, dup2-e-fd-not-9, ppoll-e-trace-fds-23, ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P, select-trace-fd-7, select-trace-fd-7-9, and select-trace-fd-7-P. * tests/Makefile.am (check_PROGRAMS): Add ppoll-e-trace-fds-23, ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P, select-trace-fd-7, select-trace-fd-7-9, and select-trace-fd-7-P. * tests/dup-P.c (PATH_TRACING): Set to 1. * tests/dup2-P.c (PATH_TRACING): Likewise. * tests/dup.c: Accommodate test for checking tracing-fds functionality. * tests/dup2.c: Likewise. * tests/ppoll.c: Likewise. * tests/xselect.c: Likewise. * tests/gen_tests.in (dup-trace-fds-0, dup-trace-fds-0-9, dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9, dup2-e-fd-0-P, dup2-e-fd-not-9, ppoll-e-trace-fds-23, ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P, select-trace-fd-7, select-trace-fd-7-9, select-trace-fd-7-P): New tests. * tests/options-syntax.test: Add trace-fds-related option syntax checks. * tests/pure_executables.list: Add dup-trace-fds-0, dup-trace-fds-0-9, dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9, dup2-e-fd-0-P, and dup2-e-fd-not-9. * tests/dup-trace-fds-0-9.c: New file. * tests/dup-trace-fds-0-P.c: Likewise. * tests/dup-trace-fds-0.c: Likewise. * tests/dup-trace-fds-not-9.c: Likewise. * tests/dup2-e-fd-0-9.c: Likewise. * tests/dup2-e-fd-0-P.c: Likewise. * tests/dup2-e-fd-0.c: Likewise. * tests/dup2-e-fd-not-9.c: Likewise. * tests/ppoll-e-trace-fds-23-42.c: Likewise. * tests/ppoll-e-trace-fds-23.c: Likewise. * tests/ppoll-e-trace-fds-not-9-42-P.c: Likewise. * tests/select-trace-fd-7-9.c: Likewise. * tests/select-trace-fd-7-P.c: Likewise. * tests/select-trace-fd-7.c: Likewise. * NEWS: Mention it. Suggested-by: Marty Leisner <maleisner@gmail.com> Link: https://lists.strace.io/pipermail/strace-devel/2023-March/011209.html
* strauss: add a couple of new tipsEugene Syromyatnikov2023-04-051-0/+17
| | | | | | * src/strauss.c (tips_tricks_tweaks): Add a note about the historical handling of "(deleted)" in file paths got from procfs and about system time accounting.
* strauss: rely on strace--tips test instead of forcibly trimming linesEugene Syromyatnikov2023-04-051-2/+2
| | | | | | | | | | | | | | | | | The regression introduced in commit v5.19~99 "strauss: tips whitespace and phrasing cleanups" (and subsequently fixed in v6.2-6-g5b4f05f42 "strauss: add missing line separators") highlights the issue with the current approach with respect to tips formatting: it masks the issues related to overlong lines in favor to the pretty formatting; however, the presence of a (working) strace--tips test, that checks the correctness of the tips rendering, makes this trimming superfluous. Drop it and rely on the testing with respect to the guaranteeing the proper wrapping of (overly) long tip lines. * src/strauss.c (print_totd): Do not provide precision to the format specification that prints tip line. References: v6.2-6-g5b4f05f42 "strauss: add missing line separators"
* tests: fix strace--tips testEugene Syromyatnikov2023-04-051-23/+30
| | | | | | | | | | | | | | | | | | | | Apparently, it has been broken in many places and checked the output incorrectly, so it was basically useless. Make it a bit less broken by properly escaping all the regular expressions and implement the logic that actually checks the output against the expected patterns. * tests/strace--tips.test (IFS): Set the variable to avoid stripping whitespace from the read lines. (grep_ere_escape): A variant of sed_re_escape that also escapes "{", "}", and "|" characters. Add "-r" option to the read call to avoid interpreting backslashes, especially at the end of the line; escape "|", "/", and "\" characters in $pat/$end/$btm definitions and fix the whitespace usage in there; use grep_ere_escape instead of sed_re_escape; break after matching one last line against $btm if TIPS_FULL is not set; pass "-x" option to the grep calls. Fixes: v5.18~38 "Raise strace awareness"
* Make --tips more easily availableDmitry V. Levin2023-04-015-1/+21
| | | | | | | | | | | | | | Allow --tips option to be used without any tracing, so that tips, tricks and tweaks could be displayed without running any program or attaching to any process. * src/strace.c (init): When --tips is specified without running any program or attaching to any process, show the tips and exit. * tests/strace--tips-0.exp: New file. * tests/Makefile.am (check_DATA): Add it. * tests/strace--tips.test: Check that simple "strace --tips=0" works as expected. * tests/options-syntax.test: Update expected output.
* treewide: fix unnecessary $ on arithmetic variablesDmitry V. Levin2023-03-3020-31/+31
| | | | This silences shellcheck SC2004.
* Update ioctl entries from linux v6.3Gleb Fotengauer-Malinovskiy2023-03-278-405/+101
| | | | | | | | | | | | * src/linux/32/ioctls_inc_align16.h: Update from linux v6.3-rc4 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.
* debian/control: fix wording in descriptionadrien-n2023-03-201-3/+3
| | | | | | | | | This commit incorporates a change from Debian's packaging: "a another" is replaced with "another". Note that there is another change in Debian packaging which I'm skipping on purpose since it is not correct as far as I know: "tracer, i.e." becoming "tracer: i.e.".
* strauss: add missing line separatorsJakub Wilk2023-03-101-4/+4
| | | | | | | * src/strauss.c (tips_tricks_tweaks): Add missing line separators. (MAX_TIP_LINES): Bump. Resolves: https://github.com/strace/strace/pull/245
* Add config3 field to struct perf_event_attrSven Schnelle2023-03-094-1/+20
| | | | | | | | | | | | | | | | Linux kernel commit 09519ec3b19 ("perf: Add perf_event_attr::config3") aka v6.3-rc1~29^2~13 added a new config3 field to struct perf_event_attr. Add this field and implement its decoding in strace, which also fixes compilation of tests because of an array out-of-bounds warning in tests/perf_event.c. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> * bundled/linux/include/uapi/linux/perf_event.h: Update to headers_install'ed Linux kernel v6.3-rc1. * src/perf_event_struct.h (struct perf_event_attr): Add config3 field. * src/perf.c (print_perf_event_attr): Print config3 field. * tests/perf_event_open.c (print_event_attr): Check it.
* Add a configure flag for installing testsElvira Khabirova2023-03-052-0/+20
| | | | | | | | | | | | | | | | | | | | --enable-install-tests=yes installs binaries and scripts from the test suite to $libexec/strace. This flag does not install everything necessary to run the test suite (no harness), but at least installs the binaries and the scripts. This can be useful when debugging various targets and how strace behaves on them. This can also be extended later with a standalone test harness that would allow for an easier testing. * configure.ac: Add --enable-install-tests. * tests/Makefile.am [ENABLE_INSTALL_TESTS] (testslibexecdir, testslibexec_PROGRAMS, testslibexec_DATA, testslibexec_SCRIPTS): New variables. Signed-off-by: Elvira Khabirova <lineprinter0@gmail.com>
* tests: split EXTRA_DISTElvira Khabirova2023-03-051-77/+86
| | | | | | | | | | | | | Split EXTRA_DIST into check_SCRIPTS, check_DATA and EXTRA_DIST. Place scripts required for running the tests into check_SCRIPTS, auxiliary files required for running the tests into check_DATA, and everything else (= build-time required) into EXTRA_DIST. * tests/Makefile.am (check_SCRIPTS, check_DATA): New variables. (EXTRA_DIST): Shrink. Use check_SCRIPTS and check_DATA. Signed-off-by: Elvira Khabirova <lineprinter0@gmail.com>
* mips: fix raw_syscall_0Elvira Khabirova2023-03-051-3/+13
| | | | | | | | | | | | | | | | | | | | | Some of the tests use a custom function (raw_syscall_0) for syscall invocation. The implementation for mips was flawed: it unconditionally clobbered "hi" and "lo", which is not valid for MIPS R6, because these targets lack those registers w/o DSP extension. GCC 10+ refuses to compile such constructs: [1], [2]. Fix the syscall invocation implementation for mips. [1] https://gcc.gnu.org/git/?p=gcc.git&a=commit;h=0a59215131c02dee4c8829f93d1ee678647614da [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91233 * src/linux/mips/raw_syscall.h (SYSCALL_CLOBBERLIST): Define. (raw_syscall_0): Use it. Signed-off-by: Elvira Khabirova <lineprinter0@gmail.com>
* Post-release administriviaDmitry V. Levin2023-02-273-0/+14
| | | | | | * NEWS: Add a header line for the next release. * debian/changelog.in: Add a changelog entry for 6.2-1. * strace.spec.in: Likewise.
* Prepare for 6.2 releasev6.2Dmitry V. Levin2023-02-261-1/+1
| | | | * NEWS: Update for 6.2 release.
* Update copyright headersDmitry V. Levin2023-02-2660-54/+60
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* Fix build on alphaDmitry V. Levin2023-02-244-8/+13
| | | | | | | | | | | | | | Workaround a bug in glibc headers that fail to provide si_trapno field in their definition of siginfo_t on alpha. Link: https://sourceware.org/bugzilla/show_bug.cgi?id=30173 Resolves: https://github.com/strace/strace/issues/220 * configure.ac (AC_CHECK_MEMBERS): Add siginfo_t.si_trapno. * src/printsiginfo.c [ALPHA]: Guard use of si_trapno with HAVE_SIGINFO_T_SI_TRAPNO. * tests/ptrace.c [ALPHA]: Likewise. * NEWS: Mention this fix.
* filter_seccomp: do not call PR_SET_NO_NEW_PRIVS if privileged enoughDmitry V. Levin2023-02-231-5/+11
| | | | | | | | | If strace process is privileged enough to add SECCOMP_MODE_FILTER without PR_SET_NO_NEW_PRIVS, there is no need to do the latter. * src/filter_seccomp.c (init_seccomp_filter): Try to add SECCOMP_MODE_FILTER first, and if it failed with EACCES, do PR_SET_NO_NEW_PRIVS and try to add SECCOMP_MODE_FILTER again.
* NEWS: mention collision resolution for overlapping ioctl commandsMasatake YAMATO2023-02-221-0/+2
| | | | | | Resolves: https://github.com/strace/strace/pull/239 Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* dyxlat: make the type of the xlat created by dyxlat_alloc customizableMasatake YAMATO2023-02-213-4/+4
| | | | | | | | | | * src/defs.h (dyxlat_alloc): Add xlat_type argument. * src/dyxlat.c (dyxlat_alloc): Likewise. * src/socketutils.c (genl_families_xlat): Pass XT_NORMAL to dyxlat_alloc invocation. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* ioctl: use finfo as hints for resolving overlapping ioctl commandsMasatake YAMATO2023-02-205-8/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Such an overlapping can be observed, e.g. when running vi under strace: ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 ... After this change, when the file descriptor corresponds to a terminal device, strace would be able to resolve the collision between ioctl commands from different subsystems: ioctl(0, TCSETS, {B38400 ... * src/defs.h (term_ioctl_decode_command_number): New function declaration. * src/ioctl.c (ioctl_decode_command_number): Add a new argument for passing finfo that can be used as hints for decoding ioctl commands. Handle the code `T'. (SYS_FUNC(ioctl)): Pass finfo as hints to ioctl_decode_command_number. * src/term.c: Include "xlat/term_cmds_overlapping.h". (term_ioctl_decode_command_number): Decode the command in this earlier stage if the corresponding file descriptor corresponds to a terminal device. * src/xlat/term_cmds_overlapping.in: New file listing overlapping tty ioctl commands. * tests/ioctl_termios.c (main): Extend cmds[] in checks[]. (main::checks::cmds): Add new member "pass_invalid_fd". Omit " or ..." substring in case of TCSETS, TCSETSW, and TCSETSF for a valid tty descriptor. Add test commands for invalid descriptors. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* ioctl: pass finfo to ioctl_decode() as hints for decodingMasatake YAMATO2023-02-201-3/+8
| | | | | | | | | | Just pass the data, a real use case comes in subsequent commits. * src/ioctl.c (ioctl_decode): Add "finfo" argument. (SYS_FUNC(ioctl)): Pass the finfo for the target fd to ioctl_decode. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* ioctl: prepare finfo only when ioctl command can overlapMasatake YAMATO2023-02-201-1/+12
| | | | | | | | | | | | If an ioctl decoder does not deal with overlapping commands, avoid issuing extra syscalls required to obtain finfo. * src/ioctl.c (ioctl_command_overlaps): New function. (SYS_FUNC(ioctl)): Call getfdpath_pid only when ioctl_command_overlaps returns true. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* ioctl: collect finfo just before decoding ioctl commandMasatake YAMATO2023-02-203-2/+22
| | | | | | | | | | | | | | | This way finfo can be used as hints for decoding ioctl commands. * src/defs.h (get_finfo_for_dev): New declaration. (printfd_with_finfo): New inline function - a thin wrapper around printfd_pid_with_finfo. * src/util.c (get_finfo_for_dev): Remove static modifier to make it reusable the ioctl syscall decoder. (SYS_FUNC(ioctl)): Call get_finfo_for_dev and printfd_with_finfo instead of calling printfd. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* Allow to pass pre-filled finfo data to printdev() from upper layersMasatake YAMATO2023-02-192-8/+20
| | | | | | | | | | | | | | | | | | printdev() used to collect struct finfo data just before printing. However, if the finfo data can be filled somewhere else, printdev() does not have to collect the finfo data by itself. * src/defs.h (printfd_pid_with_finfo): New function declaration. (printfd_pid): Turn into a thin wrapper around printfd_pid_with_finfo. (struct finfo): New member "deleted". * src/util.c (get_finfo_for_dev): Initialize "deleted" member of finfo. (printdev): Add finfo argument. If non-NULL is specified as finfo argument, omit get_finfo_for_dev invocation. (printfd_pid): Rename to printfd_pid_with_finfo, add finfo argument and pass it on to printdev. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* util: introduce get_finfo_for_dev functionMasatake YAMATO2023-02-192-7/+47
| | | | | | | | | | | | | | | | printdev() function does two things: it first obtains the information about the given fd and then prints it. Introduce get_finfo_for_dev() to implement the first part of printdev(). struct finfo is a new data structure for keeping information passed from get_finfo_for_dev() to printdev(). * src/defs.h (struct finfo): New data structure. * src/utils.c (get_finfo_for_dev): New function derived from printdev. (printdev): Use it. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Dmitry V. Levin <ldv@strace.io>
* tests: enhance ptrace_syscall_info error diagnosticsDmitry V. Levin2023-02-191-57/+51
| | | | | | * tests/ptrace_syscall_info.c (test_none, test_entry, test_exit): In case of a fatal mismatch, print more expected output before termination, this helps in diagnostics of linux kernel bugs.
* Update .mailmapDmitry V. Levin2023-02-181-1/+1
| | | | * .mailmap: Update email addresses of Elvira Khabirova.
* tests: remove getpid and getppid from check_PROGRAMSElvira Khabirova2023-02-181-2/+0
| | | | | | | | | | getpid and getppid are already listed in $(PURE_EXECUTABLES). Remove the duplicate entries. * tests/Makefile.am (check_PROGRAMS): Remove getpid and getppid. Fixes: v4.17~123 ("tests: add tests for getpid and getppid syscalls") Signed-off-by: Elvira Khabirova <lineprinter0@gmail.com>
* strace: declare nflag variable as staticDmitry V. Levin2023-02-151-1/+1
| | | | | | | | | | Apparently, nflag is not used outside the compilation unit where it is defined. * src/strace.c (nflag): Add static qualifier. Reported-by: Masatake YAMATO <yamato@redhat.com> Fixes: v5.9~55 "strace: add an option for printing syscall numbers"
* treewide: replace "sed -r" with "sed -E"Dmitry V. Levin2023-02-1419-38/+38
| | | | | | | | | Use -E option instead of -r to enable use extended regular expression syntax in sed expressions. It has been supported for years by GNU sed, and is now included in POSIX. Link: https://www.austingroupbugs.net/view.php?id=528 Resolves: https://github.com/strace/strace/issues/216
* xlat: update V4L2_CTRL_TYPE_* constantsDmitry V. Levin2023-02-132-2/+11
| | | | | | | | | | | | | * src/xlat/v4l2_control_types.in (V4L2_CTRL_TYPE_MPEG2_QUANTISATION, V4L2_CTRL_TYPE_MPEG2_SEQUENCE, V4L2_CTRL_TYPE_MPEG2_PICTURE): New constants introduced by Linux kernel commit v5.14-rc1~165^2~241. (V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR, V4L2_CTRL_TYPE_VP9_FRAME): New constants introduced by Linux kernel commit v5.17-rc1~114^2~207. (V4L2_CTRL_TYPE_HEVC_SPS, V4L2_CTRL_TYPE_HEVC_PPS, V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS, V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX, V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS): New constants introduced by Linux kernel commit v6.0-rc1~139^2~93. * NEWS: Mention this change.
* xlat: update V4L2_CTRL_FLAG_* constantsDmitry V. Levin2023-02-133-5/+9
| | | | | | | * src/xlat/v4l2_control_flags.in (V4L2_CTRL_FLAG_DYNAMIC_ARRAY): New constant introduced by Linux kernel commit v6.0-rc1~139^2~104. * tests/ioctl_v4l2-success.c (main): Update expected output. * NEWS: Mention this change.
* xlat: update V4L2_PIX_FMT_* constantsDmitry V. Levin2023-02-132-1/+9
| | | | | | | | | | | | | | | | * src/xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_P010): New constant introduced by Linux kernel commit v6.0-rc1~139^2~420. (V4L2_PIX_FMT_YUVA32, V4L2_PIX_FMT_YUVX32): New constants introduced by Linux kernel commit v6.0-rc1~139^2~126. (V4L2_PIX_FMT_HEVC_SLICE): New constant introduced by Linux kernel commit v6.0-rc1~139^2~94. (V4L2_PIX_FMT_P010_4L4): New constant introduced by Linux kernel commit v6.0-rc1~139^2~73. (V4L2_PIX_FMT_AJPG): New constant introduced by Linux kernel commit v6.2-rc1~125^2~249^2~13. V4L2_PIX_FMT_NV12_8L128, V4L2_PIX_FMT_NV12_10BE_8L128): New constants introduced by Linux kernel commit v6.2-rc1~125^2~50. * NEWS: Mention this change.
* xlat: update V4L2_CID_* constantsDmitry V. Levin2023-02-133-1/+5
| | | | | | | | | | | | * src/xlat/v4l2_control_id_bases.in (V4L2_CID_USER_ISL7998X_BASE): New constant introduced by Linux kernel commit v5.18-rc1~153^2~82^2~6. (V4L2_CID_USER_DW100_BASE): New constant introduced by Linux kernel commit v6.1-rc1~130^2~98. (V4L2_CID_USER_ASPEED_BASE): New constant introduced by Linux kernel commit v6.2-rc1~125^2~249^2~12. * src/xlat/v4l2_control_ids.in (V4L2_CID_COLORFX_RGB): New constant introduced by Linux kernel commit v5.17-rc1~114^2~388. * NEWS: Mention this change.
* xlat: update NFT_MSG_* constantsDmitry V. Levin2023-02-123-1/+3
| | | | | | | * src/xlat/nf_nftables_msg_types.in (NFT_MSG_GETRULE_RESET): New constant introduced by Linux kernel commit v6.2-rc1~99^2~210^2~2. * src/netlink.c (decode_nlmsg_flags_netfilter) Handle it. * NEWS: Mention this change.
* xlat: update NTF_EXT_* constantsDmitry V. Levin2023-02-113-3/+6
| | | | | | | * src/xlat/neighbor_cache_entry_ext_flags.in (NTF_EXT_LOCKED): New constant introduced by Linux kernel commit v6.2-rc1~99^2~297^2~1. * tests/nlattr_ndmsg.c (main): Update expected output. * NEWS: Mention this change.
* xlat: update LANDLOCK_ACCESS_FS_* constantsDmitry V. Levin2023-02-104-5/+6
| | | | | | | | * src/xlat/landlock_ruleset_access_fs.in (LANDLOCK_ACCESS_FS_TRUNCATE): New constant introduced by Linux kernel commit v6.2-rc1~138^2~8. * tests/landlock_add_rule.c (main): Update expected output. * tests/landlock_create_ruleset.c: Likewise. * NEWS: Mention this change.
* xlat: update KVM_* constantsDmitry V. Levin2023-02-092-1/+4
| | | | | | | | * src/xlat/kvm_cap.in (KVM_CAP_S390_PROTECTED_ASYNC_DISABLE): New constant introduced by Linux kernel commit v6.2-rc1~77^2~5^2~5. (KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP): New constant introduced by Linux kernel commit v6.2-rc1~77^2~4. * NEWS: Mention this change.
* Revert "Update .mailmap"Dmitry V. Levin2023-02-081-1/+0
| | | | | | * .mailmap: Remove email addresses of Sven Schnelle per request. This reverts commit 3c26d12962a8d907f276d218bf9acc2e522e9340.
* tests: check umovestr return value when the string crosses a page boundaryDmitry V. Levin2023-02-071-0/+19
| | | | * tests/ioctl_kd.c (check_kbdsent): New check.
* ucopy: fix umovestr return value when the string crosses page boundariesDmitry V. Levin2023-02-061-1/+1
| | | | | | | * src/ucopy.c (umovestr): When the string crosses page boundaries, take the length on each page into account. Resolves: https://github.com/strace/strace/issues/217
* src: fix typo in commentsDmitry V. Levin2023-02-051-2/+2
| | | | * src/util.c: Replace umovenstr with umovestr in comments.
* pc.test: Fix up order of strace messages againHelge Deller2023-01-311-1/+1
| | | | | | | | | | It seems I managed to swap two lines with my last patch. This fixes it up again and brings it in the correct logical order. There is no functional change. The testcase succeeds in both cases. Fixes: 1b828bb0f48a ("hppa: Fix pc.test testcase on hppa architecture") Signed-off-by: Helge Deller <deller@gmx.de>
* membarrier: add MEMBARRIER_CMD_GET_REGISTRATIONS flagSven Schnelle2023-01-303-1/+12
| | | | | | | | | Signed-off-by: Sven Schnelle <svens@linux.ibm.com> * src/xlat/membarrier_cmds.in (MEMBARRIER_CMD_GET_REGISTRATIONS): New constant which is likely to be introduced in Linux kernel v6.3. * tests/membarrier.c (main): Update expected output. * NEWS: Mention the change.
* Update ioctl entries from linux v6.2Gleb Fotengauer-Malinovskiy2023-01-3013-9/+66
| | | | | | | | | | | | | | | | | * src/linux/32/ioctls_inc_align16.h: Update from linux v6.2-rc6 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.
* hppa: Fix pc.test testcase on hppa architectureHelge Deller2023-01-291-2/+3
| | | | | | | | | | | | | | On hppa the lowest 2 bits of an address encodes the (parisc-specific) address space in which a program runs. For userspace processes the space number is 3, which is why an instruction at e.g. 0x100 shows up in the address registers as 0x103. This behaviour is different than on other architectures, which is why the pc.test testcase fails on hppa. Fix the testcase by simply dropping the last nibble of the address when comparing the output, e.g. search for "0x10?" instead of "0x100". Signed-off-by: Helge Deller <deller@gmx.de>
* hppa: Drop special handling of fanotify syscalls on pariscHelge Deller2023-01-292-9/+0
| | | | | | | | The fanotify syscall in the parisc kernel has been fixed by Linux kernel commit v3.16-rc5~6^2~1 and now behaves like the other architectures, so drop the special workaround for hppa. Signed-off-by: Helge Deller <deller@gmx.de>