summaryrefslogtreecommitdiff
path: root/tests/pure_executables.list
Commit message (Collapse)AuthorAgeFilesLines
* rtnl_tc_action: fix tcamsg attribute decoderEugene Syromyatnikov2023-05-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It used the wrong attribute table initially. An example of an actual usage: tc actions add action simple sdata "foobar" index 1 * src/xlat/rtnl_tca_root_attrs.in: New file. * src/xlat/rtnl_tca_root_flags.in: Likewise. * src/rtnl_tc_action.c: Include "xlat/rtnl_tca_root_flags.h" and "xlat/rtnl_tca_root_attrs.h". (tcamsg_nla_decoders): Rename to... (tca_act_nla_decoders): ...this. (decode_tca_action, decode_tca_root_act_tab, decode_tca_root_act_flags, decode_tca_msecs): New functions. (tcamsg_nla_decoders): New decoder table. (decode_tcamsg): Use rtnl_tca_root_attrs and "TCA_ROOT_???" as xlat and dflt arguments in the decode_nlattr call. respectively. * tests/.gitignore: Add nlattr_tcamsg-Xabbrev, nlattr_tcamsg-Xraw, and nlattr_tcamsg-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (nlattr_tcamsg-Xabbrev, nlattr_tcamsg-Xraw, nlattr_tcamsg-Xverbose): New tests. * tests/nlattr_tcamsg-Xabbrev.c: New file. * tests/nlattr_tcamsg-Xraw.c: Likewise. * tests/nlattr_tcamsg-Xverbose.c: Likewise. * tests/nlattr_tcamsg.c: Update the expected output.
* tests: bring lists back to the sorted orderDmitry V. Levin2023-05-061-1/+1
| | | | | | | * tests/Makefile.am (DECODER_TESTS, MISC_TESTS, check_SCRIPTS, check_DATA, EXTRA_DIST): Make the list sorted again. * tests/gen_tests.in: Likewise. * tests/pure_executables.list: Likewise.
* mem: handle hppa MADV_* UAPI breakageEugene Syromyatnikov2023-04-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux commit v6.2-rc1~39^2~7 has broken UAPI on PA-RISC by changing the values of some MADV_* constants; that forces some special handling for them, since we cannot have any assumptions about the version of the kernel headers and/or kernel both strace and tracees are built and/or being run on. * src/mem.c: Include "xlat/madvise_hppa_generic_cmds.h". [HPPA]: Include "xlat/madvise_hppa_old_cmds.h". (SYS_FUNC(madvise)) <advice>: New local variable, set to tcp->u_arg[2]. [HPPA] (SYS_FUNC(madvise)): Check madvise_hppa_old_cmds for the advice value and print it appropriately if it is there; then check madvise_hppa_generic_cmds and print it appropriately if it is there; then fallback to printing advice as madvise_cmds xval. [!HPPA] (SYS_FUNC(madvise)): Print advice as madvise_cmds and madvise_hppa_generic_cmds xval. * src/xlat/madvise_cmds.in: Add sorted; remove "Generated ..." comment; move hppa-specific values to madvise_hppa_old_cmds.in and their generic counterparts to madvise_hppa_generic_cmds.in. * src/xlat/madvise_hppa_generic_cmds.in: New file. * src/xlat/madvise_hppa_old_cmds.in: Likewise. * tests/.gitignore: Add madvise-Xabbrev, madvise-Xraw, and madvise-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (advise-Xabbrev, madvise-Xraw, madvise-Xverbos): New tests. * tests/madvise.c: Add checks for the advice argument decoding. * tests/madvise-Xabbrev.c: New file. * tests/madvise-Xraw.c: Likewise. * tests/madvise-Xverbose.c: Likewise. * NEWS: Mention it. Reported-by: Matoro Mahri <matoro@users.noreply.github.com> Closes: https://github.com/strace/strace/issues/241
* Update copyright headersDmitry V. Levin2023-04-301-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* Implement decoding of signal masks associated with signalfd file descriptorsleedagee2023-04-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When signalfds are used, normal signal handling method is usually disabled, leaving strace without signals to catch and decode. This patch adds decoding of signal masks associated with signalfd file descriptors. Decoding the signalfd_siginfo struct requires additional work mentioned in github#199. Signed-off-by: leedagee <leedageea@gmail.com> * NEWS: Mention this change. * doc/strace.1.in: Document --decode-fds=signalfd. * src/strace.c (usage): Likewise. * src/number_set.h (enum decode_fd_bits): Add DECODE_FD_SIGNALFD. * src/filter_qualify.c (decode_fd_str_to_uint): Handle signalfd. * src/util.c (print_fdinfo_sigmask, printsignalfd): New functions. (printfd_pid_with_finfo): Use printsignalfd when DECODE_FD_SIGNALFD is set in decode_fd_set. * tests/signalfd4.c [PRINT_SIGNALFD]: Check decoding of signal masks associated with signalfd file descriptors. * tests/signalfd4-yy.c: New file. * tests/pure_executables.list: Add signalfd4-yy. * tests/.gitignore: Likewise. * tests/gen_tests.in (signalfd4): Add -a32. (signalfd4-yy): New test. Co-authored-by: Dmitry V. Levin <ldv@strace.io>
* net: implement IP_LOCAL_PORT_RANGE socket option decodingEugene Syromyatnikov2023-04-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced by Linux kernel commit v6.3-rc1~162^2~206^2~1. * src/net.c (print_port_range): New function. (print_getsockopt) <case SOL_IP> <case IP_LOCAL_PORT_RANGE>: Call it. (print_setsockopt) <case SOL_IP> <case IP_LOCAL_PORT_RANGE>: Ditto. * tests/.gitignore: Add ip_local_port_range, ip_local_port_range-Xabbrev, ip_local_port_range-Xraw, ip_local_port_range-Xverbose, ip_local_port_range-success, ip_local_port_range-success-Xabbrev, ip_local_port_range-success-Xraw, and ip_local_port_range-success-Xverbose. * tests/Makefile.am (check_PROGRAMS): Add ip_local_port_range-success, ip_local_port_range-success-Xabbrev, ip_local_port_range-success-Xraw, and ip_local_port_range-success-Xverbose. * tests/gen_tests.in (ip_local_port_range, ip_local_port_range-Xabbrev, ip_local_port_range-Xraw, ip_local_port_range-Xverbose, ip_local_port_range-success, ip_local_port_range-success-Xabbrev, ip_local_port_range-success-Xraw, ip_local_port_range-success-Xverbose): New tests. * tests/pure_executables.list: Add ip_local_port_range, ip_local_port_range-Xabbrev, ip_local_port_range-Xraw, and ip_local_port_range-Xverbose. * tests/ip_local_port_range.c: New file. * tests/ip_local_port_range-Xabbrev.c: Likewise. * tests/ip_local_port_range-Xraw.c: Likewise. * tests/ip_local_port_range-Xverbose.c: Likewise. * tests/ip_local_port_range-success-Xabbrev.c: Likewise. * tests/ip_local_port_range-success-Xraw.c: Likewise. * tests/ip_local_port_range-success-Xverbose.c: Likewise. * tests/ip_local_port_range-success.c: Likewise. * NEWS: Mention it.
* Implement an ability to filter syscalls that operate on specific FDsEugene Syromyatnikov2023-04-221-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Reduce sysctl decoder to the bare minimumDmitry V. Levin2022-12-101-0/+1
| | | | | | | | | | | | | | | Given that sysctl syscall was removed by Linux kernel commit v5.5-rc1~102^2, do not spend limited resources on the incomplete decoder of sysctl syscall and reduce it to the bare minimum. At the same time, add mpers support and a test for the new decoder to make sure it works properly. * src/sysctl.c: Rewrite. * src/xlat/sysctl_*.in: Remove. * tests/sysctl.c: New file. * tests/gen_tests.in (sysctl): New test. * tests/pure_executables.list: Add sysctl. * tests/.gitignore: Likewise.
* tests: add struct termios-related ioctl command testEugene Syromyatnikov2022-11-131-0/+2
|
* tests: check decoding of ioctl TIOCM* commandsDmitry V. Levin2022-11-061-0/+1
| | | | | | | * tests/ioctl_tiocm.c: New file. * tests/gen_tests.in (ioctl_tiocm): New test. * tests/pure_executables.list: Add ioctl_tiocm. * tests/.gitignore: Likewise.
* tests: check decoding of ioctl TIOC[GS]WINSZ commandsDmitry V. Levin2022-11-051-0/+1
| | | | | | | * tests/ioctl_winsize.c: New file. * tests/gen_tests.in (ioctl_winsize): New test. * tests/pure_executables.list: Add ioctl_winsize. * tests/.gitignore: Likewise.
* ptp: update decoderEugene Syromyatnikov2022-08-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CHECK_*_SIZE checks are added as minimum safe-guards against implicit decoding breakages, since the types infrastructure, that would allow proper checking, has been removed in v5.11~8. * src/xlat/ptp_pin_funcs.in: New file. * src/ptp.c: Include "xlat/ptp_pin_funcs.h". (print_ptp_clock_time): Add rtc argument that signifies that the clock data is RTC-like, so it is worthy of pretty-printing; print reserved field if it is non-zero; print time in the ISO 8601 format only if rtc argument is set and the xlat decoding format is not raw. (print_ptp_clock_time_am): Pass true in the rtc argument to print_ptp_clock_time. (print_ptp_clock_time3_am): New function. (PRINT_RSV): New macro. (ptp_ioctl): Re-order switch cases to reflect the ioctl macros declaration order. (ptp_ioctl) <case PTP_CLOCK_GETCAPS, case PTP_CLOCK_GETCAPS2>: Add size checks; print n_pins, cross_timestamping, adjust_phase, and non-zero rsv fields. (ptp_ioctl) <case PTP_EXTTS_REQUEST, case PTP_EXTTS_REQUEST2>: Add size checks; print index field as unsigned; print non-zero rsv field for PTP_EXTTS_REQUEST2. (ptp_ioctl) <case PTP_PEROUT_REQUEST, case PTP_PEROUT_REQUEST2>: Add size checks; print either phase (non-RTC) or start (RTC) field depending on the presence of PTP_PEROUT_PHASE among flags; print period as non-RTC value; print index as unsigned; print "PTP_PEROUT_???" instead of "PTP_???" as flags fallback value; print either on field or non-zero rsv field (only for PTP_PEROUT_REQUEST2) depending on presence of PTP_PEROUT_DUTY_CYCLE among flags. (ptp_ioctl) <case PTP_ENABLE_PPS, case PTP_ENABLE_PPS>: Print arg as unsigned. (ptp_ioctl) <case PTP_SYS_OFFSET, case PTP_SYS_OFFSET2>: Add size checks; print non-zero rsv field on entering; do not interpret the structure as unavailable in case of syscall error; use MIN macro for n_samples calculation instead of open-coding it. (ptp_ioctl) <case PTP_PIN_GETFUNC, case PTP_PIN_GETFUNC2, case PTP_PIN_SETFUNC, case PTP_PIN_SETFUNC2, case PTP_SYS_OFFSET_PRECISE, case PTP_SYS_OFFSET_PRECISE2, case PTP_SYS_OFFSET_EXTENDED, case PTP_SYS_OFFSET_EXTENDED2>: Implement decoding. * tests/.gitignore: Add ioctl_ptp-Xabbrev, ioctl_ptp-Xraw, ioctl_ptp-Xverbose, ioctl_ptp-success, ioctl_ptp-success-Xabbrev, ioctl_ptp-success-Xraw, and ioctl_ptp-success-Xverbose. * tests/Makefile.am (check_PROGRAMS): Add ioctl_ptp-success, ioctl_ptp-success-Xabbrev, ioctl_ptp-success-Xraw, and ioctl_ptp-success-Xverbose. * tests/gen_tests.in (ioctl_ptp-Xabbrev, ioctl_ptp-Xraw, ioctl_ptp-Xverbose, ioctl_ptp-success, ioctl_ptp-success-Xabbrev, ioctl_ptp-success-Xraw, ioctl_ptp-success-Xverbose): New tests. * tests/ioctl_ptp-Xabbrev.c: New file. * tests/ioctl_ptp-Xraw.c: Likewise. * tests/ioctl_ptp-Xverbose.c: Likewise. * tests/ioctl_ptp-success-Xabbrev.c: Likewise. * tests/ioctl_ptp-success-Xraw.c: Likewise. * tests/ioctl_ptp-success-Xverbose.c: Likewise. * tests/ioctl_ptp-success.c: Likewise. * tests/ioctl_ptp.c: Update expected output, add checks. * tests/pure_executables.list: Add ioctl_ptp-Xabbrev, ioctl_ptp-Xraw, and ioctl_ptp-Xverbose. * NEWS: Mention it.
* tests: add PR_SVE_[GS]ET_VL checksEugene Syromyatnikov2022-08-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* arch_prctl: decode ARCH_GET_XCOMP_SUPP, ARCH_{GET,REQ}_XCOMP{,_GUEST}_PERMEugene Syromyatnikov2022-08-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* prctl: implement PR_SME_[GS]ET_VL decodingEugene Syromyatnikov2022-08-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* printsiginfo: print si_fd for SIGIO signalsEugene Syromyatnikov2022-08-091-0/+4
| | | | | | | | | | | | | | | | | | | | * 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.
* tests: add [gs]etsockopt(SOL_SOCKET) testsEugene Syromyatnikov2022-07-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Implement COUNTER_* ioctl decodingEugene Syromyatnikov2022-06-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Introduced by Linux commit v5.16-rc1~119^2~29^2~10. * bundled/linux/include/uapi/linux/counter.h: New file. * bundled/Makefile.am (EXTRA_DIST): Add it. * src/counter_ioctl.c: New file. * src/Makefile.am (libstrace_a_SOURCES): Add it. * src/defs.h (DECL_IOCTL(counter)): New declaration. * src/ioctl.c (ioctl_decode) <case '>'>: Call counter_ioctl. * src/xlat/counter_ioctl_component_types.in: New file. * src/xlat/counter_ioctl_event_types.in: Likewise. * src/xlat/counter_ioctl_scopes.in: Likewise. * tests/ioctl_counter-Xabbrev.c: Likewise. * tests/ioctl_counter-Xraw.c: Likewise. * tests/ioctl_counter-Xverbose.c: Likewise. * tests/ioctl_counter.c: Likewise. * tests/.gitignore: Add ioctl_counter, ioctl_counter-Xabbrev, ioctl_counter-Xraw, and ioctl_counter-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (ioctl_counter, ioctl_counter-Xabbrev, ioctl_counter-Xraw, ioctl_counter-Xverbose): New tests. * NEWS: Mention it.
* Decode set_mempolicy_home_node syscallEugene Syromyatnikov2022-03-241-0/+1
| | | | | | | | | | | | | Introduced by Linux commits v5.17-rc1~79^2~49 and v5.17-rc1~79^2~48. * src/linux/generic/syscallent-common.h ([BASE_NR + 450]): Add set_mempolicy_home_node syscall entry. * src/numa.c (SYS_FUNC(set_mempolicy_home_node)): New syscall decoder. * tests/.gitignore: Add set_mempolicy_home_node. * tests/pure_executables.list: Likewise. * tests/set_mempolicy_home_node.c: New file. * tests/gen_tests.in (set_mempolicy_home_node): New test. * NEWS: Mention it.
* Add lirc ioctl decodingSean Young2022-02-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | * NEWS: Mention this change. * bundled/linux/include/uapi/linux/lirc.h: New file. * bundled/Makefile.am (EXTRA_DIST): Add it. * src/lirc_ioctl.c: New file. * src/Makefile.am (libstrace_a_SOURCES): Add it. * src/defs.h (DECL_IOCTL(lirc)): New declaration. * src/ioctl.c (ioctl_decode) <case 'i'>: Call kd_ioctl. * src/xlat/lirc_features.in: New file. * src/xlat/lirc_modes.in: Likewise. * tests/ioctl_lirc.c: New file. * tests/ioctl_lirc-success.c: Likewise. * tests/Makefile.am (check_PROGRAMS): Add ioctl_lirc-success. * tests/gen_tests.in (ioctl_lirc, ioctl_lirc-success): New tests. * tests/pure_executables.list: Add ioctl_lirc. * tests/.gitignore: Add ioctl_lirc and ioctl_lirc-success. Reviewed-by: Eugene Syromyatnikov <evgsyr@gmail.com> Signed-off-by: Sean Young <sean@mess.org> Reviewed-by: Dmitry V. Levin <ldv@strace.io>
* prctl: implement PR_SET_VMA decoding for non-Android platformsDmitry V. Levin2022-01-301-0/+1
| | | | | | | | | | | | | | | | | PR_SET_VMA used to be specific to Android until Linux kernel commit v5.17-rc1~79^2~89. * NEWS: Mention this change. * src/xlat/prctl_options.in (PR_SET_VMA): Remove __ANDROID__ guard. * src/xlat/pr_set_vma.in: New file. * src/prctl.c [__ANDROID__ && !PR_SET_VMA]: Remove. [__ANDROID__ && !PR_SET_VMA_ANON_NAME]: Likewise. (SYS_FUNC(prctl)) <PR_SET_VMA>: Remove __ANDROID__ guard, enhance decoding. * tests/prctl-set_vma.c: New file. * tests/gen_tests.in (prctl-set_vma): New test. * tests/pure_executables.list: Add prctl-set_vma. * tests/.gitignore: Likewise.
* Update copyright headersDmitry V. Levin2022-01-091-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* tests: check decoding of futex_waitv syscallDmitry V. Levin2022-01-091-0/+1
| | | | | | | * tests/futex_waitv.c: New file. * tests/gen_tests.in (futex_waitv): New test. * tests/pure_executables.list: Add futex_waitv. * tests/.gitignore: Likewise.
* tests: bring lists back to the sorted orderDmitry V. Levin2022-01-021-5/+5
| | | | | | | * tests/Makefile.am (check_PROGRAMS): Make the list sorted again. * tests/gen_tests.in: Likewise. * tests/pure_executables.list: Likewise. * tests/.gitignore: Likewise.
* tests: check corner cases of AT_FDCWD path decodingRenaud Métrich2021-11-291-0/+1
| | | | | | | | | * tests/at_fdcwd-pathmax.c: New file. * tests/.gitignore: Add at_fdcwd-pathmax. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (at_fdcwd-pathmax): New test. Co-authored-by: Dmitry V. Levin <ldv@strace.io>
* Do not decode fd path unless --decode-fds=path is specifiedDmitry V. Levin2021-11-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, --decode-fds with any argument would result to the file path corresponding to the file descriptor being printed even when the descriptor type does not match the type specified by the --decode-fds argument. After this change, the file path corresponding to the file descriptor will be printed only when --decode-fds argument is not specified or contains "path". * src/util.c (print_quoted_string_in_angle_brackets): New function. (printfd_pid): Use it to print the file path when DECODE_FD_PATH is set. * tests/dev--decode-fds-all.c: New file. * tests/dev--decode-fds-none.c: Likewise. * tests/net--decode-fds-all-netlink.c: Likewise. * tests/pidfd_open--decode-fd-all.c: Likewise. * tests/pidfd_open--decode-fd-none.c: Likewise. * tests/dev--decode-fds-socket.c: Include "dev--decode-fds-none.c" instead of "dev-yy.c". (PRINT_DEVNUM): Remove. * tests/dev-yy.c: Add PRINT_PATH support. * tests/net--decode-fds-dev-netlink.c: Include "net--decode-fds-none-netlink.c" instead of net-yy-netlink.c. (PRINT_SOCK): Remove. * tests/pidfd_open--decode-fd-socket.c: Include "pidfd_open--decode-fd-none.c" instead of "pidfd_open-y.c". * tests/.gitignore: Add dev--decode-fds-all, dev--decode-fds-none, net--decode-fds-all-netlink, pidfd_open--decode-fd-all, and pidfd_open--decode-fd-none. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (dev--decode-fds-all, dev--decode-fds-none, net--decode-fds-all-netlink, pidfd_open--decode-fd-all, pidfd_open--decode-fd-none): New tests. (dev--decode-fds-socket): Update argument for -a option. (net--decode-fds-dev-netlink): Add -a option. Reported-by: Renaud Métrich <rmetrich@redhat.com> Fixes: v5.6~168 "strace: add a long option alias for -y"
* sockaddr: implement decoding of AF_XDP socket addressesEugene Syromyatnikov2021-11-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bundled/linux/include/uapi/linux/if_xdp.h: New file, imported from headers_install'ed Linux kernel v5.15. * bundled/Makefile.am (EXTRA_DIST): Add it. * configure.ac (AC_CHECK_HEADERS): Add linux/if_xdp.h. (AC_CHECK_TYPES): Check for struct sockaddr_xdp presence in <linux/if_xdp.h>. * src/xlat/xdp_sockaddr_flags.in: New file. * src/sockaddr.c: Include <linux/if_xdp.h> and "xlat/xdp_sockaddr_flags.h". (print_sockaddr_data_xdp): New function. (sa_printers) <[AF_XDP]>: New socket address decoding entry. * tests/sockaddr_xlat-Xabbrev-y.c: New file. * tests/sockaddr_xlat-Xraw-y.c: Likewise. * tests/sockaddr_xlat-Xverbose-y.c: Likewise. * tests/sockaddr_xlat.c: Include "xlat/xdp_sockaddr_flags.h". [HAVE_LINUX_IF_XDP_H]: Include <linux/if_xdp.h>. [!HAVE_STRUCT_SOCKADDR_XDP] (struct sockaddr_xdp): New type definition. [SKIP_IF_PROC_IS_UNAVAILABLE] (SKIP_IF_PROC_IS_UNAVAILABLE): New macro. [!FD0_PATH] (FD0_PATH): Likewise. [!FD7_PATH] (FD7_PATH): Likewise. (check_xdp): New function. (main): Add SKIP_IF_PROC_IS_UNAVAILABLE and check_xdp call. * tests/.gitignore: Add sockaddr_xlat-Xabbrev-y, sockaddr_xlat-Xraw-y, and sockaddr_xlat-Xverbose-y. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (sockaddr_xlat-Xabbrev-y, sockaddr_xlat-Xraw-y, sockaddr_xlat-Xverbose-y): New tests. * NEWS: Mention it.
* strace: add --strings-in-hex=non-ascii-chars optionEugene Syromyatnikov2021-11-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that some people prefer hexadecimal numbers instead of octal in C string escape sequences; unfortunately, before it also led to printing of the whole strings using escape sequences, which may negatively impacted the output comprehensibility in cases where only few characters are actually non-ASCII. Add an option that satisfies that preference without any downsides. * doc/strace.1.in (.SS Output format): Add --strings-in-hex option description, fix formatting for --strings-in-hex=non-ascii and --strings-in-hex=all mentions. * src/defs.h (enum xflag_opts): Add HEXSTR_NON_ASCII_CHARS. * src/strace.c (xflag_str): Add HEXSTR_NONE and HEXSTR_NON_ASCII_CHARS. (usage): Add --strings-in-hex=non-ascii-chars option description, fix "ASCII" capitalisation in -x option description. (init) <xflag_long>: Initialise with -1 instead of HEXSTR_NONE. (init) <case 'x'>: Cap xflag incrementing at HEXSTR_ALL. (init) <case GETOPT_HEX_STR>: Treat -1 as invalid option value instead of HEXSTR_NONE. (init): Set xflag if xflag_long is non-negative, not just positive. * src/util.c (string_quote): Check against specific xflag values; use sprint_byte_hex instead of sprint_byte_oct if xflag is set to HEXSTR_NON_ASCII_CHARS. * tests/.gitignore: Add strace--strings-in-hex-non-ascii-chars, strace--strings-in-hex-none, and strace-no-x. * tests/pure_executables.list: Likewise. * tests/strace--strings-in-hex-all.c: Set STRACE_X to 2 instead of STRACE_XX to 1. * tests/strace--strings-in-hex.c: Likewise. * tests/strace-xx.c: Likewise. * tests/strace--strings-in-hex-non-ascii-chars.c: New file. * tests/strace--strings-in-hex-non-ascii.c: Set STRACE_X to 1 instead of STRACE_XX to 0. * tests/strace--strings-in-hex-none.c: New file. * tests/strace-no-x.c: Likewise. * tests/strace-x.c: Update expected output. * tests/gen_tests.in (strace--strings-in-hex-non-ascii-chars, strace--strings-in-hex-none, strace-no-x): New tests. * NEWS: Mention it.
* netlink_route: implement RTM_NEWCACHEREPORT message decodingEugene Syromyatnikov2021-11-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bundled/linux/include/uapi/linux/mroute.h: New file, copied from headers_install'ed Linux kernel v5.15. * bundled/linux/include/uapi/linux/mroute6.h: Likewise. * bundled/Makefile.am (EXTRA_DIST): Add them. * src/xlat/rtnl_family.in: New file. * src/xlat/rtnl_ip6mra_creport_attr.in: Likewise. * src/xlat/rtnl_ip6mra_msg_types.in: Likewise. * src/xlat/rtnl_ipmra_creport_attr.in: Likewise. * src/xlat/rtnl_ipmra_msg_types.in: Likewise. * src/rtnl_cachereport.c: Likewise. * src/Makefile.am (strace_SOURCES): Add it. * src/netlink_route.c (route_decoders) <[RTM_NEWCACHEREPORT - RTM_BASE]>: New decoder, call decode_cachereport. * src/netlink_route.h (decode_cachereport): New declaration. * tests/.gitignore: Add nlattr_cachereport, nlattr_cachereport-Xabbrev, nlattr_cachereport-Xraw, and nlattr_cachereport-Xverbose. * tests/pure_executables.list: Likewise. * tests/netlink_route.c (test_rtnl_rtgen) <types>: Add RTM_NEWCACHEREPORT. (test_rtnl_rtgen): Move RTM_NEWCACHEREPORT-related unknown message checks from... (main): ...here. Remove the unsupported message check for RTM_NEWCACHEREPORT. * tests/nlattr_cachereport.c: New file. * tests/nlattr_cachereport-Xabbrev.c: Likewise. * tests/nlattr_cachereport-Xraw.c: Likewise. * tests/nlattr_cachereport-Xverbose.c: Likewise. * tests/gen_tests.in (nlattr_cachereport, nlattr_cachereport-Xabbrev, nlattr_cachereport-Xraw, nlattr_cachereport-Xverbose): New tests. * NEWS: Mention it.
* rtnl_link: implement IFLA_VFINFO_LIST decodingEugene Syromyatnikov2021-11-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xlat/rtnl_ifla_vf_info_attrs.in: New file * src/xlat/rtnl_ifla_vf_link_states.in: Likewise. * src/xlat/rtnl_ifla_vf_stats_attrs.in: Likewise. * src/xlat/rtnl_ifla_vf_vlan_list_attrs.in: Likewise. * src/xlat/rtnl_ifla_vfinfo_list_attrs.in: Likewise. * src/rtnl_link.c: Include "xlat/rtnl_ifla_vf_info_attrs.h", "xlat/rtnl_ifla_vf_link_states.h", "xlat/rtnl_ifla_vf_stats_attrs.h", "xlat/rtnl_ifla_vf_vlan_list_attrs.h", and "xlat/rtnl_ifla_vfinfo_list_attrs.h". (decode_ifla_vf_mac, decode_ifla_vf_vlan, decode_ifla_vf_tx_rate, decode_ifla_vf_spoofchk, decode_ifla_vf_link_state, decode_ifla_vf_rate, decode_ifla_vf_rss_query_en, decode_ifla_vf_stats, decode_ifla_vf_trust, decode_ifla_vf_guid, decode_ifla_vf_vlan_info, decode_ifla_vf_vlan_list, decode_ifla_vf_broadcast, decode_ifla_vf_info, decode_ifla_vfinfo_list): New functions. (ifla_vf_stats_nla_decoders, ifla_vf_vlan_list_nla_decoders, ifla_vf_info_nla_decoders, ifla_vfinfo_list_nla_decoders): New decoder tables. (ifinfomsg_nla_decoders) <[IFLA_VFINFO_LIST]>: Change decoder to decode_ifla_vfinfo_list. * tests/.gitignore: Add nlattr_ifla_vfinfo, nlattr_ifla_vfinfo-Xabbrev, nlattr_ifla_vfinfo-Xraw, and nlattr_ifla_vfinfo-Xverbose. * tests/pure_executables.list: Likewise. * tests/nlattr_ifla_vfinfo.c: New file. * tests/nlattr_ifla_vfinfo-Xabbrev.c: Likewise. * tests/nlattr_ifla_vfinfo-Xraw.c: Likewise. * tests/nlattr_ifla_vfinfo-Xverbose.c: Likewise. * tests/gen_tests.in (nlattr_ifla_vfinfo, nlattr_ifla_vfinfo-Xabbrev, nlattr_ifla_vfinfo-Xraw, nlattr_ifla_vfinfo-Xverbose): New tests. * NEWS: Mention it.
* rtnl_link: make IFLA_PROTINFO decoding address family-awareEugene Syromyatnikov2021-11-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The IFLA_BRPORT_* attributes are placed in there only for messages with ifi_family=AF_BRIDGE, and ifi_family=AF_INET6 messages put IFLA_INET6_* attributes in there. * src/rtnl_link.c (decode_ifla_inet6_flags, decode_ifla_inet6_conf, decode_ifla_inet6_stats, decode_ifla_inet6_cacheinfo, decode_ifla_inet6_icmp6_stats, decode_ifla_inet6_agm, ifla_inet6_nla_decoders): Move before decode_ifla_protinfo. (decode_ifla_protinfo): Add protos, describe AF_BRIDGE and AF_INET6 protocols there, decode using decode_nla_af_spec. * tests/nlattr_ifla_brport.c (IFLA_AF, IFLA_AF_STR): Define to change the address family from AF_UNIX to AF_BRIDGE. * tests/nlattr_ifla_af_inet6.h: New file. * tests/nlattr_ifla_af_spec.c: Include it. (print_arr_val, print_arr_uval, print_inet6_conf_val, print_inet6_stats_val, print_icmp6_stats_val): Move to nlattr_ifla_af_inet6.h. (main): Move AF_INET6-related checks to check_ifla_af_inet6() in nlattr_ifla_af_inet6.h; call it. * tests/.gitignore: Add nlattr_ifla_protinfo, nlattr_ifla_protinfo-Xabbrev, nlattr_ifla_protinfo-Xraw, and nlattr_ifla_protinfo-Xverbose. * tests/Makefile.am (EXTRA_DIST): Add nlattr_ifla_af_inet6.h. * tests/gen_tests.in (nlattr_ifla_protinfo, nlattr_ifla_protinfo-Xabbrev, nlattr_ifla_protinfo-Xraw, nlattr_ifla_protinfo-Xverbose): New tests. * tests/nlattr_ifla_protinfo-Xabbrev.c: New file. * tests/nlattr_ifla_protinfo-Xraw.c: Likewise. * tests/nlattr_ifla_protinfo-Xverbose.c: Likewise. * tests/nlattr_ifla_protinfo.c: Likewise. * NEWS: Mention it. Fixes: v4.19~19 "rtnl_link: decode IFLA_PROTINFO netlink attribute of ifinfomsg"
* tests/nlattr_ifla_brport: check all IFLA_BRPORT_* attributesEugene Syromyatnikov2021-11-071-0/+3
| | | | | | | | | | | | | | | | | Also check them with various xlat verbosity levels. * tests/nlattr_ifla_brport-Xabbrev.c: New file. * tests/nlattr_ifla_brport-Xraw.c: Likewise. * tests/nlattr_ifla_brport-Xverbose.c: Likewise. * tests/.gitignore: Add nlattr_ifla_brport-Xabbrev, nlattr_ifla_brport-Xraw, and nlattr_ifla_brport-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (nlattr_ifla_brport-Xabbrev, nlattr_ifla_brport-Xraw, nlattr_ifla_brport-Xverbose): New tests. * tests/nlattr_ifla_brport.c (ENUM_KNOWN): New macro. (main): Check each IFLA_BRPORT_* attribute. * tests/test_nlattr.h (check_u8_nlattr): New function, defined using DEF_NLATTR_INTEGER_CHECK_.
* ioctl: implement KD* ioctl decodingEugene Syromyatnikov2021-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (AC_CHECK_TYPES): Check for struct kbdiacruc and struct kbdiacrsuc. * src/kd_ioctl.c: New file. * src/kd_mpers_ioctl.c: Likewise. * src/Makefile.am (strace_SOURCES): Add them. * src/defs.h (DECL_IOCTL(kd)): New declaration. * src/ioctl.c (ioctl_decode) <case 'K'>: Call kd_ioctl. * src/xlat/kd_default_led_flags.in: New file. * src/xlat/kd_font_flags.in: Likewise. * src/xlat/kd_font_ops.in: Likewise. * src/xlat/kd_ioctl_cmds.in: Likewise. * src/xlat/kd_kbd_modes.in: Likewise. * src/xlat/kd_kbd_types.in: Likewise. * src/xlat/kd_key_ascii_keys.in: Likewise. * src/xlat/kd_key_brl_keys.in: Likewise. * src/xlat/kd_key_cur_keys.in: Likewise. * src/xlat/kd_key_dead_keys.in: Likewise. * src/xlat/kd_key_fn_key_vals.in: Likewise. * src/xlat/kd_key_fn_keys.in: Likewise. * src/xlat/kd_key_lock_keys.in: Likewise. * src/xlat/kd_key_pad_keys.in: Likewise. * src/xlat/kd_key_shift_keys.in: Likewise. * src/xlat/kd_key_slock_keys.in: Likewise. * src/xlat/kd_key_spec_keys.in: Likewise. * src/xlat/kd_key_tables.in: Likewise. * src/xlat/kd_key_types.in: Likewise. * src/xlat/kd_keymap_flags.in: Likewise. * src/xlat/kd_led_flags.in: Likewise. * src/xlat/kd_meta_vals.in: Likewise. * src/xlat/kd_modes.in: Likewise. * tests/.gitignore: Add ioctl_kd, ioctl_kd-Xabbrev, ioctl_kd-Xraw, ioctl_kd-Xverbose, ioctl_kd-success, ioctl_kd-success-Xabbrev, ioctl_kd-success-Xraw, ioctl_kd-success-Xverbose, ioctl_kd-success-s1024, ioctl_kd-success-s1024-Xabbrev, ioctl_kd-success-s1024-Xraw, and ioctl_kd-success-s1024-Xverbose. * tests/pure_executables.list: Add ioctl_kd, ioctl_kd-Xabbrev, ioctl_kd-Xraw, and ioctl_kd-Xverbose. * tests/Makefile.am: Add ioctl_kd-success, ioctl_kd-success-Xabbrev, ioctl_kd-success-Xraw, ioctl_kd-success-Xverbose, ioctl_kd-success-s1024, ioctl_kd-success-s1024-Xabbrev, ioctl_kd-success-s1024-Xraw, and ioctl_kd-success-s1024-Xverbose. * tests/gen_tests.in (ioctl_kd, ioctl_kd-Xabbrev, ioctl_kd-Xraw, ioctl_kd-Xverbose, ioctl_kd-success, ioctl_kd-success-Xabbrev, ioctl_kd-success-Xraw, ioctl_kd-success-Xverbose, ioctl_kd-success-s1024, ioctl_kd-success-s1024-Xabbrev, ioctl_kd-success-s1024-Xraw, ioctl_kd-success-s1024-Xverbose): New tests. * tests/ioctl_kd-Xabbrev.c: New file. * tests/ioctl_kd-Xraw.c: Likewise. * tests/ioctl_kd-Xverbose.c: Likewise. * tests/ioctl_kd-success-Xabbrev.c: Likewise. * tests/ioctl_kd-success-Xraw.c: Likewise. * tests/ioctl_kd-success-Xverbose.c: Likewise. * tests/ioctl_kd-success-s1024-Xabbrev.c: Likewise. * tests/ioctl_kd-success-s1024-Xraw.c: Likewise. * tests/ioctl_kd-success-s1024-Xverbose.c: Likewise. * tests/ioctl_kd-success-s1024.c: Likewise. * tests/ioctl_kd-success.c: Likewise. * tests/ioctl_kd.c: Likewise. * NEWS: Mention it.
* netlink_route: implement RTM_NEWSTATS and RTM_GETSTATS message decodingEugene Syromyatnikov2021-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xlat/ifstats_af_spec_mpls_attrs.in: New file. * src/xlat/ifstats_attr_flags.in: Likewise. * src/xlat/ifstats_attrs.in: Likewise. * src/xlat/ifstats_offload_attrs.in: Likewise. * src/xlat/ifstats_xstats_bond_3ad_attrs.in: Likewise. * src/xlat/ifstats_xstats_bond_attrs.in: Likewise. * src/xlat/ifstats_xstats_bridge_attrs.in: Likewise. * src/xlat/ifstats_xstats_bridge_mcast_indices.in: Likewise. * src/xlat/ifstats_xstats_type_attrs.in: Likewise. * src/xlat/nl_bridge_vlan_flags.in: Likewise. * bundled/linux/include/uapi/linux/if_bonding.h: New file, copied from headers_install'ed Linux kernel v5.15. * bundled/linux/include/uapi/linux/mpls.h: Likewise. * bundled/Makefile.am (EXTRA_DIST): Add them. * src/rtnl_stats.c: New file. * src/Makefile.am (strace_SOURCES): Add it. * src/netlink_route.c (route_decoders) <[RTM_NEWSTATS - RTM_BASE], [RTM_GETSTATS - RTM_BASE]>: New decoder, call decode_ifstatsmsg. * src/netlink_route.h (decode_ifstatsmsg): New declaration. * src/nlattr.h (DECL_NLA(rtnl_link_stats64)): Likewise. * src/rtnl_link.c (decode_nla_rtnl_link_stats64): Rename from decode_rtnl_link_stats64. (ifinfomsg_nla_decoders) <[IFLA_STATS64]>: Use decode_nla_rtnl_link_stats64. * src/print_fields.h (PRINT_FIELD_ARRAY_INDEXED): New macro. * tests/nlattr_ifstats.c: New file. * tests/nlattr_ifstats-Xabbrev.c: Likewise. * tests/nlattr_ifstats-Xraw.c: Likewise. * tests/nlattr_ifstats-Xverbose.c: Likewise. * tests/.gitignore: Add nlattr_ifstats, nlattr_ifstats-Xabbrev, nlattr_ifstats-Xraw, and nlattr_ifstats-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (nlattr_ifstats, nlattr_ifstats-Xabbrev, nlattr_ifstats-Xraw, nlattr_ifstats-Xverbose): New tests. * tests/netlink_route.c: Update/add checks for the RTM_*STATS message types. * NEWS: Mention it.
* netlink_route: implement RTM_{NEW,DEL,GET}NEXTHOP decodingEugene Syromyatnikov2021-10-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bundled/linux/include/uapi/linux/nexthop.h: Add version at Linux commit v5.13-rc1~94^2~581^2~10. * bundled/Makefile.am (EXTRA_DIST): Add it. * configure.ac (AC_CHECK_HEADERS): Add linux/nexthop.h. * src/Makefile.am (libstrace_a_SOURCES): Add rtnl_nh.c. * src/defs.h (route_nexthop_flags, routing_protocols): New declarations. * src/netlink_route.c (route_decoders) <[RTM_NEWNEXTHOP - RTM_BASE], [RTM_DELNEXTHOP - RTM_BASE], [RTM_GETNEXTHOP - RTM_BASE]>: Decode using decode_nhmsg. * src/netlink_route.h (DECL_NETLINK_ROUTE_DECODER(decode_nhmsg)): New declaration. * src/rtnl_nh.c: New file. * src/xlat/rtnl_nexthop_attrs.in: Likewise. * src/xlat/rtnl_nexthop_grp_types.in: Likewise. * src/xlat/rtnl_nha_res_bucket_attrs.in: Likewise. * src/xlat/rtnl_nha_res_group_attrs.in: Likewise. * tests/.gitignore: Add nlattr_nhmsg, nlattr_nhmsg-Xabbrev, nlattr_nhmsg-Xraw, and nlattr_nhmsg-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (nlattr_nhmsg, nlattr_nhmsg-Xabbrev, nlattr_nhmsg-Xraw, nlattr_nhmsg-Xverbose): New tests. * tests/netlink_route.c: Add checks for struct nhmsg (RTM_NEWNEXTHOP, RTM_DELNEXTHOP, and RTM_GETNEXTHOP) messages. * tests/nlattr_nhmsg.c: New file. * tests/nlattr_nhmsg-Xabbrev.c: Likewise. * tests/nlattr_nhmsg-Xraw.c: Likewise. * tests/nlattr_nhmsg-Xverbose.c: Likewise. * NEWS: Mention it.
* tests: add io_uring_register-X* testsEugene Syromyatnikov2021-10-121-0/+3
| | | | | | | | | | | | | * tests/.gitignore: Add io_uring_register-Xabbrev, io_uring_register-Xraw, and io_uring_register-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (io_uring_register-Xabbrev, io_uring_register-Xraw, io_uring_register-Xverbose): Add tests. * tests/io_uring_register-Xabbrev.c: New file. * tests/io_uring_register-Xraw.c: Likewise. * tests/io_uring_register-Xverbose.c: Likewise. * tests/io_uring_register.c: Update to produce output in accordance with XLAT_* definitions presence.
* Decode process_mrelease syscallEugene Syromyatnikov2021-10-111-0/+2
| | | | | | | | | | | | | | Introduced by Linux commits v5.14-159-g884a7e5964e0 and v5.14-160-gdce491039628. * src/linux/generic/syscallent-common.h ([BASE_NR + 448]): Add process_mrelease syscall entry. * src/mem.c (SYS_FUNC(process_mrelease)): New syscall decoder. * tests/.gitignore: Add process_mrelease and process_mrelease-y. * tests/gen_tests.in (process_mrelease, process_mrelease-y): New tests. * tests/process_mrelease.c: New file. * tests/process_mrelease-y.c: Likewise. * NEWS: Mention it.
* times: enhance decoding of clock_t-typed fieldsEugene Syromyatnikov2021-10-091-0/+3
| | | | | | | | | | | | | | | | | | * src/times.c (SYS_FUNC(times)): Use PRINT_FIELD_CLOCK_T instead of PRINT_FIELD_U. * tests/.gitignore: Add times-Xabbrev, times-Xraw, and times-Xverbose. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (times-Xabbrev, times-Xraw, times-Xverbose): New tests. (clock, sched, trace_clock, trace_personality_regex_32, trace_personality_regex_64, trace_personality_regex_x32): Add 'times-.*' to the list of excluded pure executables. * tests/Makefile.am (times_Xabrrev_LDADD, times_Xraw_LDADD, times_Xverbose_LDADD): Add $(clock_LIBS). * tests/times-Xabbrev.c: New file. * tests/times-Xraw.c: Likewise. * tests/times-Xverbose.c: Likewise. * tests/times.c: Update expected output.
* seccomp: decode SECCOMP_GET_NOTIF_SIZESEugene Syromyatnikov2021-10-091-0/+1
| | | | | | | | | | | | | | | * src/seccomp.c (SYS_FUNC(seccomp)): Print seccomp op only on entering. (SYS_FUNC(seccomp)) <case SECCOMP_GET_NOTIF_SIZES>: Implement decoding. * tests/.gitignore: Add seccomp_get_notif_sizes and seccomp_get_notif_sizes-success. * tests/Makefile.am (check_PROGRAMS): Add seccomp_get_notif_sizes-success. * tests/gen_tests.in (seccomp_get_notif_sizes, seccomp_get_notif_sizes-success): New tests. * tests/pure_executables.list: Add seccomp_get_notif_sizes. * tests/seccomp_get_notif_sizes-success.c: New file. * tests/seccomp_get_notif_sizes.c: Likewise. * NEWS: Mention it.
* tests: add ptrace-X* testsEugene Syromyatnikov2021-10-091-0/+3
| | | | | | | | | | | | * tests/.gitignore: Add ptrace-Xabbrev, ptrace-Xraw, and ptrace-Xverbose. * tests/pure_executables.list: Likewise. * tests/ptrace-Xabbrev.c: New file. * tests/ptrace-Xraw.c: Likewise. * tests/ptrace-Xverbose.c: Likewise. * tests/ptrace.c: Update expected output. * tests/gen_tests.in (ptrace-Xabbrev, ptrace-Xraw, ptrace-Xverbose): New tests.
* tests: add ptrace_syscall_info-X* testsEugene Syromyatnikov2021-10-081-0/+3
| | | | | | | | | | | | * tests/.gitignore: Add ptrace_syscall_info-Xabbrev, ptrace_syscall_info-Xraw, and ptrace_syscall_info-Xverbose. * tests/pure_executables.list: Likewise. * tests/ptrace_syscall_info-Xabbrev.c: New file. * tests/ptrace_syscall_info-Xraw.c: Likewise. * tests/ptrace_syscall_info-Xverbose.c: Likewise. * tests/gen_tests.in (ptrace_syscall_info-Xabbrev, ptrace_syscall_info-Xraw, ptrace_syscall_info-Xverbose): New tests. * tests/ptrace_syscall_info.c: Update expected output.
* prctl: implement PR_SCHED_CORE op decodingEugene Syromyatnikov2021-08-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced by Linux commit v5.14-rc1~6^2~50. * src/xlat/pr_sched_core_cmds.in: New file. * src/xlat/pr_sched_core_pidtypes.in: Likewise. * src/xlat/prctl_options.in (PR_SCHED_CORE): New constant. * src/prctl.c: Include "xlat/pr_sched_core_cmds.h", "xlat/pr_sched_core_pidtypes.h". (SYS_FUNC(prctl)) <case PR_SCHED_CORE>: Implement decoding. * tests/prctl-sched-core--pidns-translation-Xabbrev.c: New file. * tests/prctl-sched-core--pidns-translation-Xraw.c: Likewise. * tests/prctl-sched-core--pidns-translation-Xverbose.c: Likewise. * tests/prctl-sched-core--pidns-translation.c: Likewise. * tests/prctl-sched-core-Xabbrev.c: Likewise. * tests/prctl-sched-core-Xraw.c: Likewise. * tests/prctl-sched-core-Xverbose.c: Likewise. * tests/prctl-sched-core-success--pidns-translation-Xabbrev.c: Likewise. * tests/prctl-sched-core-success--pidns-translation-Xraw.c: Likewise. * tests/prctl-sched-core-success--pidns-translation-Xverbose.c: Likewise. * tests/prctl-sched-core-success--pidns-translation.c: Likewise. * tests/prctl-sched-core-success-Xabbrev.c: Likewise. * tests/prctl-sched-core-success-Xraw.c: Likewise. * tests/prctl-sched-core-success-Xverbose.c: Likewise. * tests/prctl-sched-core-success.c: Likewise. * tests/prctl-sched-core.c: Likewise. * tests/.gitignore: Add prctl-sched-core, prctl-sched-core-Xabbrev, prctl-sched-core-Xraw, prctl-sched-core-Xverbose, prctl-sched-core--pidns-translation, prctl-sched-core--pidns-translation-Xabbrev, prctl-sched-core--pidns-translation-Xraw, prctl-sched-core--pidns-translation-Xverbose, prctl-sched-core-success, prctl-sched-core-success-Xabbrev, prctl-sched-core-success-Xraw, prctl-sched-core-success-Xverbose, prctl-sched-core-success--pidns-translation, prctl-sched-core-success--pidns-translation-Xabbrev, prctl-sched-core-success--pidns-translation-Xraw, and prctl-sched-core-success--pidns-translation-Xverbose. * tests/Makefile.am (check_PROGRAMS): Add prctl-sched-core--pidns-translation, prctl-sched-core--pidns-translation-Xabbrev, prctl-sched-core--pidns-translation-Xraw, prctl-sched-core--pidns-translation-Xverbose, prctl-sched-core-success, prctl-sched-core-success-Xabbrev, prctl-sched-core-success-Xraw, prctl-sched-core-success-Xverbose, prctl-sched-core-success--pidns-translation, prctl-sched-core-success--pidns-translation-Xabbrev, prctl-sched-core-success--pidns-translation-Xraw, and prctl-sched-core-success--pidns-translation-Xverbose. * tests/gen_tests.in (prctl-sched-core, prctl-sched-core-Xabbrev, prctl-sched-core-Xraw, prctl-sched-core-Xverbose, prctl-sched-core--pidns-translation, prctl-sched-core--pidns-translation-Xabbrev, prctl-sched-core--pidns-translation-Xraw, prctl-sched-core--pidns-translation-Xverbose, prctl-sched-core-success, prctl-sched-core-success-Xabbrev, prctl-sched-core-success-Xraw, prctl-sched-core-success-Xverbose, prctl-sched-core-success--pidns-translation, prctl-sched-core-success--pidns-translation-Xabbrev, prctl-sched-core-success--pidns-translation-Xraw, and prctl-sched-core-success--pidns-translation-Xverbose): New tests. * tests/pure_executables.list: Add prctl-sched-core, prctl-sched-core-Xabbrev, prctl-sched-core-Xraw, and prctl-sched-core-Xverbose.
* prctl: implement PR_PAC_[GS]ET_ENABLED_KEYS ops decodingEugene Syromyatnikov2021-08-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced by Linux commit v5.13-rc1~17^2~18^2~1. * src/xlat/pr_pac_enabled_keys.in: New file. * src/xlat/pr_pac_keys.in (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY): Remove entries that moved to src/xlat/pr_pac_enabled_keys.in. * src/prctl.c: Include "xlat/pr_pac_enabled_keys.h". (SYS_FUNC(prctl)) <case PR_PAC_SET_ENABLED_KEYS, case PR_PAC_GET_ENABLED_KEYS>: Implement decoding. (SYS_FUNC(prctl)) <case PR_PAC_RESET_KEYS>: Call printflags_ex with both pr_pac_enabled_keys and pr_pac_keys. * tests/.gitignore: Add prctl-pac-enabled-keys, prctl-pac-enabled-keys-Xabbrev, prctl-pac-enabled-keys-Xraw, prctl-pac-enabled-keys-Xverbose, prctl-pac-enabled-keys-success, prctl-pac-enabled-keys-success-Xabbrev, prctl-pac-enabled-keys-success-Xraw, and prctl-pac-enabled-keys-success-Xverbose. * tests/Makefile.am (check_PROGRAMS): Add prctl-pac-enabled-keys-success, prctl-pac-enabled-keys-success-Xabbrev, prctl-pac-enabled-keys-success-Xraw, and prctl-pac-enabled-keys-success-Xverbose. * tests/prctl-pac-enabled-keys-Xabbrev.c: New file. * tests/prctl-pac-enabled-keys-Xraw.c: Likewise. * tests/prctl-pac-enabled-keys-Xverbose.c: Likewise. * tests/prctl-pac-enabled-keys-success-Xabbrev.c: Likewise. * tests/prctl-pac-enabled-keys-success-Xraw.c: Likewise. * tests/prctl-pac-enabled-keys-success-Xverbose.c: Likewise. * tests/prctl-pac-enabled-keys-success.c: Likewise. * tests/prctl-pac-enabled-keys.c: Likewise. * tests/gen_tests.in (prctl-pac-enabled-keys, prctl-pac-enabled-keys-Xabbrev, prctl-pac-enabled-keys-Xraw, prctl-pac-enabled-keys-Xverbose, prctl-pac-enabled-keys-success, prctl-pac-enabled-keys-success-Xabbrev, prctl-pac-enabled-keys-success-Xraw, prctl-pac-enabled-keys-success-Xverbose): New tests. * tests/pure_executables.list: Add prctl-pac-enabled-keys, prctl-pac-enabled-keys-Xabbrev, prctl-pac-enabled-keys-Xraw, and prctl-pac-enabled-keys-Xverbose.
* prctl: implement PR_[GS]ET_TAGGED_ADDR_CTRL op decodingEugene Syromyatnikov2021-08-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced by Linux commit v5.4-rc1~100^2~6^9~8 and extended in Linux commits v5.10-rc1~49^2~9^2~12 and v5.10-rc1~49^2~9^2~11. * src/xlat/pr_tagged_addr_enable.in: New file. * src/xlat/pr_tagged_addr_mte_tcf.in: Likewise. * src/prctl.c: Include "xlat/pr_tagged_addr_enable.h" and "xlat/pr_tagged_addr_mte_tcf.h". (sprint_tagged_addr_val): New function. (SYS_FUNC(prctl)) <case PR_SET_TAGGED_ADDR_CTRL, case PR_GET_TAGGED_ADDR_CTRL>: Implement arg2/retval decoding. * tests/.gitignore: Add prctl-tagged-addr, prctl-tagged-addr-Xabbrev, prctl-tagged-addr-Xraw, prctl-tagged-addr-Xverbose, prctl-tagged-addr-success, prctl-tagged-addr-success-Xabbrev, prctl-tagged-addr-success-Xraw, and prctl-tagged-addr-success-Xverbose. * tests/Makefile.am (check_PROGRAMS): Add prctl-tagged-addr-success, prctl-tagged-addr-success-Xabbrev, prctl-tagged-addr-success-Xraw, and prctl-tagged-addr-success-Xverbose. (EXTRA_DIST): Add prctl-success.sh. * tests/gen_tests.in (prctl-tagged-addr, prctl-tagged-addr-Xabbrev, prctl-tagged-addr-Xraw, prctl-tagged-addr-Xverbose, prctl-tagged-addr-success, prctl-tagged-addr-success-Xabbrev, prctl-tagged-addr-success-Xraw, prctl-tagged-addr-success-Xverbose): New tests. * tests/prctl-no-args.c (main) <options>: Remove PR_GET_TAGGED_ADDR_CTRL. * tests/prctl-success.sh: New file. * tests/prctl-tagged-addr-Xabbrev.c: Likewise. * tests/prctl-tagged-addr-Xraw.c: Likewise. * tests/prctl-tagged-addr-Xverbose.c: Likewise. * tests/prctl-tagged-addr-success-Xabbrev.c: Likewise. * tests/prctl-tagged-addr-success-Xraw.c: Likewise. * tests/prctl-tagged-addr-success-Xverbose.c: Likewise. * tests/prctl-tagged-addr-success.c: Likewise. * tests/prctl-tagged-addr.c: Likewise. * tests/pure_executables.list: Add prctl-tagged-addr, prctl-tagged-addr-Xabbrev, prctl-tagged-addr-Xraw, and prctl-tagged-addr-Xverbose.
* prctl: implement PR_PAC_RESET_KEYS decodingEugene Syromyatnikov2021-08-051-0/+1
| | | | | | | | | | | | Introduced by Linux commit v5.0-rc1~35^2~19. * src/xlat/pr_pac_keys.in: New file. * src/prctl.c: Include "xlat/pr_pac_keys.h". (SYS_FUNC(prctl)) <case PR_PAC_RESET_KEYS>: Implement decoding. * tests/prctl-pac-reset-keys.c: New file. * tests/.gitignore: Add prctl-pac-reset-keys. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (prctl-pac-reset-keys): New test.
* prctl: implement PR_SET_SYSCALL_USER_DISPATCH op decodingEugene Syromyatnikov2021-08-041-0/+1
| | | | | | | | | | | | | | | | Introduced by Linux commit v5.11-rc1~180^2~9. * src/xlat/pr_sud_cmds.in: New file. * src/prctl.c: Include "xlat/pr_sud_cmds.h". (SYS_FUNC(prctl)): Remove #ifdef __ANDROID__ guard around arg4 and arg5 definitions. (SYS_FUNC(prctl)) <case PR_SET_SYSCALL_USER_DISPATCH>: New decoder. * NEWS: Mention this. * tests/prctl-syscall-user-dispatch.c: New file. * tests/.gitignore: Add prctl-syscall-user-dispatch. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (prctl-syscall-user-dispatch): New test. (prctl-*): Fix whitespace.
* rtnl_link: implement IFLA_PROTO_DOWN_REASON attribute decodingEugene Syromyatnikov2021-08-031-0/+1
| | | | | | | | | | | | | | | | | IFLA_PROTO_DOWN_REASON is a nested attribute introduced by Linux commit v5.9-rc1~133^2~77. * src/xlat/rtnl_ifla_proto_down_reason_attrs.in: New file. * src/rtnl_link.c: Include "xlat/rtnl_ifla_proto_down_reason_attrs.h". (ifla_proto_down_reason_nla_decoders): New decoder table. (decode_ifla_proto_down_reason): New function. (ifinfomsg_nla_decoders) <[IFLA_PROTO_DOWN_REASON]>: New decoder, calls decode_ifla_proto_down_reason. * NEWS: Mention this. * tests/nlattr_ifla_proto_down_reason.c: New file. * tests/.gitignore: Add nlattr_ifla_proto_down_reason. * tests/pure_executables.list: Likewise. * tests/gen_tests.in (nlattr_ifla_proto_down_reason): New test.
* Implement memfd_secret syscall decodingEugene Syromyatnikov2021-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | Introduced in Linux commit v5.14-rc1~40^2~43. * src/memfd_secret.c: New file. * src/Makefile.am (libstrace_a_SOURCES): Add it. * src/linux/generic/syscallent-common.h ([BASE_NR + 447]): New entry. * src/pathtrace.c (pathtrace_match_set): Ignore SEN_memfd_secret. * src/xlat/fsmagic.in (SECRETMEM_MAGIC): New constant. * src/xlat/memfd_secret_flags.in: New file. * NEWS: Mention this. * tests/Makefile.am (check_PROGRAMS): Add memfd_secret-success and memfd_secret-success-y. * tests/gen_tests.in (memfd_secret, memfd_secret-success, memfd_secret-success-y): New tests. * tests/.gitignore: Add them. * tests/memfd_secret.c: New file. * tests/memfd_secret-success.c: Likewise. * tests/memfd_secret-success-y.c: Likewise. * tests/pure_executables.list (memfd_secret): New entry.
* Implement decoding of quotactl_fd syscallDmitry V. Levin2021-07-251-0/+3
| | | | | | | | | | | | | | | | | This new syscall was introduced by Linux kernel commit v5.14-rc1~116^2~4. * src/quota.c (SYS_FUNC(quotactl_fd)): New function. * src/linux/generic/syscallent-common.h [BASE_NR + 441]: Wire up quotactl_fd. * NEWS: Mention this change. * tests/quotactl_fd.c: New file. * tests/quotactl_fd-P.c: Likewise. * tests/quotactl_fd-y.c: Likewise. * tests/gen_tests.in (quotactl_fd, quotactl_fd-P, quotactl_fd-y): New entries. * tests/pure_executables.list: Add quotactl_fd, quotactl_fd-P, and quotactl_fd-y. * tests/.gitignore: Likewise.
* tests: improve test coverage of prctl syscall decoderSrikavin Ramkumar2021-07-121-0/+5
| | | | | | | | | | | | | | | | | | | | | Add tests for PR_CAP_AMBIENT, PR_CAPBSET_READ, PR_CAPBSET_DROP, PR_[GS]ET_FP_MODE, PR_MCE_KILL, PR_SVE_[GS]ET_VL, PR_[GS]ET_UNALIGN. * tests/.gitignore: Add prctl-cap-ambient, prctl-capbset, prctl-fp-mode, prctl-mce-kill, prctl-sve, and prctl-unalign. * tests/Makefile.am (check_PROGRAMS): Add prctl-fp-mode. (DECODER_TESTS): Add prctl-fp-mode.test. * tests/pure_executables.list: Add prctl-cap-ambient, prctl-capbset, prctl-mce-kill, prctl-sve, and prctl-unalign. * tests/gen_tests.in (prctl-cap-ambient, prctl-capbset, prctl-mce-kill, prctl-sve, prctl-unalign): New entries. * tests/prctl-cap-ambient.c: New file. * tests/prctl-capbset.c: Likewise. * tests/prctl-fp-mode.c: Likewise. * tests/prctl-fp-mode.test: Likewise. * tests/prctl-mce-kill.c: Likewise. * tests/prctl-sve.c: Likewise. * tests/prctl-unalign.c: Likewise.