commit f19f425938c668d61a0d371dae5136f4f4564d29 Author: CentOS Sources Date: Thu Apr 23 23:11:50 2020 +0000 import strace-4.24-9.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ff7544b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/strace-4.24.tar.xz diff --git a/.strace.metadata b/.strace.metadata new file mode 100644 index 0000000..f4ff447 --- /dev/null +++ b/.strace.metadata @@ -0,0 +1 @@ +09a8c9638fd02622157af9d744ad7c7f991c75df SOURCES/strace-4.24.tar.xz diff --git a/SOURCES/0001-evdev-fix-decoding-of-bit-sets.patch b/SOURCES/0001-evdev-fix-decoding-of-bit-sets.patch new file mode 100644 index 0000000..cd837bd --- /dev/null +++ b/SOURCES/0001-evdev-fix-decoding-of-bit-sets.patch @@ -0,0 +1,37 @@ +From ba803931948fe89ddf9e3ec407e5e16c689863ad Mon Sep 17 00:00:00 2001 +From: Zhibin Li <08826794brmt@gmail.com> +Date: Wed, 1 Aug 2018 17:53:57 +0800 +Subject: [PATCH 01/27] evdev: fix decoding of bit sets + +According to drivers/input/evdev.c:bits_to_user(), +the Linux kernel returns the number of bytes, not bits. + +* evdev.c (decode_bitset_): Treat syscall return value as the number +of bytes. + +Co-Authored-by: Dmitry V. Levin +Fixes: v4.10~89 "Add decoding for evdev ioctls" +--- + evdev.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/evdev.c b/evdev.c +index 7ca15c9..3c1aaa8 100644 +--- a/evdev.c ++++ b/evdev.c +@@ -171,10 +171,10 @@ decode_bitset_(struct tcb *const tcp, const kernel_ulong_t arg, + tprints(", "); + + unsigned int size; +- if ((kernel_ulong_t) tcp->u_rval > max_nr) ++ if ((kernel_ulong_t) tcp->u_rval > max_nr / 8) + size = max_nr; + else +- size = tcp->u_rval; ++ size = tcp->u_rval * 8; + char decoded_arg[size]; + + if (umove_or_printaddr(tcp, arg, &decoded_arg)) +-- +2.1.4 + diff --git a/SOURCES/0002-evdev-fix-decoding-of-EVIOCGBIT-0.patch b/SOURCES/0002-evdev-fix-decoding-of-EVIOCGBIT-0.patch new file mode 100644 index 0000000..6f8f541 --- /dev/null +++ b/SOURCES/0002-evdev-fix-decoding-of-EVIOCGBIT-0.patch @@ -0,0 +1,173 @@ +From c658eb981bfc302aafe5be6e4118a9c0a3f1735e Mon Sep 17 00:00:00 2001 +From: Zhibin Li <08826794brmt@gmail.com> +Date: Wed, 1 Aug 2018 17:53:57 +0800 +Subject: [PATCH 02/27] evdev: fix decoding of EVIOCGBIT(0, ...) + +There is a comment in drivers/input/evdev.c which says: +/* EV_SYN==0 is EV_CNT, _not_ SYN_CNT, see EVIOCGBIT */ + +That is, EVIOCGBIT(0, ...) should return a bit mask with supported +event types instead of SYN_* event codes. + +* defs.h (evdev_ev): New prototype. +* evdev.c: Include "xlat/evdev_ev.h" and remove "xlat/evdev_sync.h". +(bit_ioctl) : Replace EV_SYN with 0, use evdev_ev +with XT_SORTED in decode_bitset invocation instead. +* ioctl.c: Do not include "xlat/evdev_ev.h". +(evdev_decode_number): Print nr == 0x20 as "0" instead of "EV_SYN". +* tests/ioctl_evdev.c (main): Use 0 instead of EV_SYN in EVIOCGBIT +output. +* xlat/evdev_sync.in: Remove. + +Additional changes: + xlat/evdev_ev.h (auto-generated from xlat/evdev_ev.in) + +Co-Authored-by: Dmitry V. Levin +Fixes: v4.10~89 "Add decoding for evdev ioctls" +--- + defs.h | 1 + + evdev.c | 8 ++++---- + ioctl.c | 7 ++++--- + tests/ioctl_evdev.c | 2 +- + xlat/evdev_sync.in | 5 ----- + 5 files changed, 10 insertions(+), 13 deletions(-) + delete mode 100644 xlat/evdev_sync.in + +Index: strace-4.24/defs.h +=================================================================== +--- strace-4.24.orig/defs.h 2020-01-27 17:13:39.441001784 +0100 ++++ strace-4.24/defs.h 2020-01-27 17:14:03.150778494 +0100 +@@ -330,6 +330,7 @@ + /** Number of elements in evdev_abs array without the terminating record. */ + extern const size_t evdev_abs_size; + ++extern const struct xlat evdev_ev[]; + extern const struct xlat iffflags[]; + extern const struct xlat ip_type_of_services[]; + extern const struct xlat ipc_private[]; +Index: strace-4.24/evdev.c +=================================================================== +--- strace-4.24.orig/evdev.c 2020-01-27 17:14:01.715792008 +0100 ++++ strace-4.24/evdev.c 2020-01-27 17:14:03.151778485 +0100 +@@ -30,6 +30,7 @@ + #include "defs.h" + + #include "xlat/evdev_abs.h" ++#include "xlat/evdev_ev.h" + + #ifdef HAVE_LINUX_INPUT_H + +@@ -47,7 +48,6 @@ + # include "xlat/evdev_relative_axes.h" + # include "xlat/evdev_snd.h" + # include "xlat/evdev_switch.h" +-# include "xlat/evdev_sync.h" + + # ifndef SYN_MAX + # define SYN_MAX 0xf +@@ -258,9 +258,9 @@ + const kernel_ulong_t arg) + { + switch (ev_nr) { +- case EV_SYN: +- return decode_bitset(tcp, arg, evdev_sync, +- SYN_MAX, "SYN_???", XT_INDEXED); ++ case 0: ++ return decode_bitset(tcp, arg, evdev_ev, ++ EV_MAX, "EV_???", XT_SORTED); + case EV_KEY: + return decode_bitset(tcp, arg, evdev_keycode, + KEY_MAX, "KEY_???", XT_INDEXED); +Index: strace-4.24/ioctl.c +=================================================================== +--- strace-4.24.orig/ioctl.c 2020-01-27 17:13:39.441001784 +0100 ++++ strace-4.24/ioctl.c 2020-01-27 17:14:03.152778475 +0100 +@@ -33,8 +33,6 @@ + #include + #include "xlat/ioctl_dirs.h" + +-#include "xlat/evdev_ev.h" +- + static int + compare(const void *a, const void *b) + { +@@ -99,7 +97,10 @@ + + if (nr >= 0x20 && nr <= 0x20 + 0x1f) { + tprints("EVIOCGBIT("); +- printxval(evdev_ev, nr - 0x20, "EV_???"); ++ if (nr == 0x20) ++ tprintf("0"); ++ else ++ printxval(evdev_ev, nr - 0x20, "EV_???"); + tprintf(", %u)", _IOC_SIZE(code)); + return 1; + } else if (nr >= 0x40 && nr <= 0x40 + 0x3f) { +Index: strace-4.24/tests/ioctl_evdev.c +=================================================================== +--- strace-4.24.orig/tests/ioctl_evdev.c 2020-01-27 17:13:39.441001784 +0100 ++++ strace-4.24/tests/ioctl_evdev.c 2020-01-27 17:14:03.153778466 +0100 +@@ -138,7 +138,7 @@ + TEST_NULL_ARG_EX(EVIOCGABS(0x3f), "EVIOCGABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3f), "EVIOCSABS(0x3f /* ABS_??? */)"); + +- TEST_NULL_ARG(EVIOCGBIT(EV_SYN, 0)); ++ TEST_NULL_ARG(EVIOCGBIT(0, 0)); + TEST_NULL_ARG(EVIOCGBIT(EV_KEY, 1)); + TEST_NULL_ARG(EVIOCGBIT(EV_REL, 2)); + TEST_NULL_ARG(EVIOCGBIT(EV_ABS, 3)); +Index: strace-4.24/xlat/evdev_sync.in +=================================================================== +--- strace-4.24.orig/xlat/evdev_sync.in 2020-01-27 17:13:39.441001784 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,5 +0,0 @@ +-#value_indexed +-SYN_REPORT 0 +-SYN_CONFIG 1 +-SYN_MT_REPORT 2 +-SYN_DROPPED 3 +Index: strace-4.24/xlat/evdev_ev.h +=================================================================== +--- strace-4.24.orig/xlat/evdev_ev.h 2020-01-27 17:13:39.441001784 +0100 ++++ strace-4.24/xlat/evdev_ev.h 2020-01-27 17:14:03.155778447 +0100 +@@ -90,13 +90,8 @@ + + #ifndef XLAT_MACROS_ONLY + +-# ifdef IN_MPERS ++# ifndef IN_MPERS + +-# error static const struct xlat evdev_ev in mpers mode +- +-# else +- +-static + const struct xlat evdev_ev[] = { + XLAT(EV_SYN), + XLAT(EV_KEY), +Index: strace-4.24/tests-m32/ioctl_evdev.c +=================================================================== +--- strace-4.24.orig/tests-m32/ioctl_evdev.c 2018-06-14 13:00:00.000000000 +0200 ++++ strace-4.24/tests-m32/ioctl_evdev.c 2020-01-27 17:14:28.812536821 +0100 +@@ -138,7 +138,7 @@ + TEST_NULL_ARG_EX(EVIOCGABS(0x3f), "EVIOCGABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3f), "EVIOCSABS(0x3f /* ABS_??? */)"); + +- TEST_NULL_ARG(EVIOCGBIT(EV_SYN, 0)); ++ TEST_NULL_ARG(EVIOCGBIT(0, 0)); + TEST_NULL_ARG(EVIOCGBIT(EV_KEY, 1)); + TEST_NULL_ARG(EVIOCGBIT(EV_REL, 2)); + TEST_NULL_ARG(EVIOCGBIT(EV_ABS, 3)); +Index: strace-4.24/tests-mx32/ioctl_evdev.c +=================================================================== +--- strace-4.24.orig/tests-mx32/ioctl_evdev.c 2018-06-14 13:00:00.000000000 +0200 ++++ strace-4.24/tests-mx32/ioctl_evdev.c 2020-01-27 17:14:31.013516093 +0100 +@@ -138,7 +138,7 @@ + TEST_NULL_ARG_EX(EVIOCGABS(0x3f), "EVIOCGABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3f), "EVIOCSABS(0x3f /* ABS_??? */)"); + +- TEST_NULL_ARG(EVIOCGBIT(EV_SYN, 0)); ++ TEST_NULL_ARG(EVIOCGBIT(0, 0)); + TEST_NULL_ARG(EVIOCGBIT(EV_KEY, 1)); + TEST_NULL_ARG(EVIOCGBIT(EV_REL, 2)); + TEST_NULL_ARG(EVIOCGBIT(EV_ABS, 3)); diff --git a/SOURCES/0003-xlat-fix-typo-in-smc_protocols.in.patch b/SOURCES/0003-xlat-fix-typo-in-smc_protocols.in.patch new file mode 100644 index 0000000..aba7629 --- /dev/null +++ b/SOURCES/0003-xlat-fix-typo-in-smc_protocols.in.patch @@ -0,0 +1,52 @@ +From 1422eda187f936e576b17a3e0036b1c1c3476fc4 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Sun, 19 Aug 2018 21:51:15 +0200 +Subject: [PATCH 03/27] xlat: fix typo in smc_protocols.in + +* xlat/smc_protocols.in: s/^MCPROTO_SMC/SMCPROTO_SMC/. + +Additional changes: + Updated aut-generated xlat/smc_protocols.h + +--- + xlat/smc_protocols.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: strace-4.24/xlat/smc_protocols.in +=================================================================== +--- strace-4.24.orig/xlat/smc_protocols.in 2018-05-08 22:59:20.000000000 +0200 ++++ strace-4.24/xlat/smc_protocols.in 2019-03-10 05:08:53.367748788 +0100 +@@ -1,3 +1,3 @@ + #value_indexed +-MCPROTO_SMC 0 ++SMCPROTO_SMC 0 + SMCPROTO_SMC6 1 +Index: strace-4.24/xlat/smc_protocols.h +=================================================================== +--- strace-4.24.orig/xlat/smc_protocols.h 2018-08-14 02:44:23.000000000 +0200 ++++ strace-4.24/xlat/smc_protocols.h 2019-03-10 05:09:36.010321779 +0100 +@@ -3,12 +3,12 @@ + #include "gcc_compat.h" + #include "static_assert.h" + +-#if defined(MCPROTO_SMC) || (defined(HAVE_DECL_MCPROTO_SMC) && HAVE_DECL_MCPROTO_SMC) ++#if defined(SMCPROTO_SMC) || (defined(HAVE_DECL_SMCPROTO_SMC) && HAVE_DECL_SMCPROTO_SMC) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MCPROTO_SMC) == (0), "MCPROTO_SMC != 0"); ++static_assert((SMCPROTO_SMC) == (0), "SMCPROTO_SMC != 0"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MCPROTO_SMC 0 ++# define SMCPROTO_SMC 0 + #endif + #if defined(SMCPROTO_SMC6) || (defined(HAVE_DECL_SMCPROTO_SMC6) && HAVE_DECL_SMCPROTO_SMC6) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +@@ -28,7 +28,7 @@ + + static + const struct xlat smc_protocols[] = { +- [MCPROTO_SMC] = XLAT(MCPROTO_SMC), ++ [SMCPROTO_SMC] = XLAT(SMCPROTO_SMC), + [SMCPROTO_SMC6] = XLAT(SMCPROTO_SMC6), + XLAT_END + }; diff --git a/SOURCES/0004-strace.c-introduce-struct-tcb_wait_data.patch b/SOURCES/0004-strace.c-introduce-struct-tcb_wait_data.patch new file mode 100644 index 0000000..0eb3fbf --- /dev/null +++ b/SOURCES/0004-strace.c-introduce-struct-tcb_wait_data.patch @@ -0,0 +1,291 @@ +From acdd2e8d3d1551b41170a24951addb80b0b0d423 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 14 Aug 2018 13:43:34 +0000 +Subject: [PATCH 04/27] strace.c: introduce struct tcb_wait_data + +Introduce a new structure to pass information between next_event(), +restart_delayed_tcb(), and dispatch_event(). + +This is going to be used by a subsequent change of next_event(). + +* strace.c (struct tcb_wait_data): New type. +(next_event): Remove parameters, return a pointer +to const struct tcb_wait_data. Return NULL instead of TE_BREAK. +(dispatch_event): Replace all parameters with a pointer +to const struct tcb_wait_data, obtain the trace event, siginfo, +and status from its fields. +(restart_delayed_tcb): Add local struct tcb_wait_data variable +with te field set to TE_RESTART, pass it to dispatch_event(). +(main): Remove status and si variables, update next_event() +and dispatch_event() invocations. + +Co-Authored-by: Eugene Syromyatnikov +--- + strace.c | 107 ++++++++++++++++++++++++++++++++++++++++----------------------- + 1 file changed, 69 insertions(+), 38 deletions(-) + +diff --git a/strace.c b/strace.c +index cd04b98..6d70d20 100644 +--- a/strace.c ++++ b/strace.c +@@ -158,6 +158,12 @@ static bool open_append; + struct tcb *printing_tcp; + static struct tcb *current_tcp; + ++struct tcb_wait_data { ++ enum trace_event te; /**< Event passed to dispatch_event() */ ++ int status; /**< status, returned by wait4() */ ++ siginfo_t si; /**< siginfo, returned by PTRACE_GETSIGINFO */ ++}; ++ + static struct tcb **tcbtab; + static unsigned int nprocs; + static size_t tcbtabsize; +@@ -2226,16 +2232,19 @@ print_event_exit(struct tcb *tcp) + line_ended(); + } + +-static enum trace_event +-next_event(int *pstatus, siginfo_t *si) ++static const struct tcb_wait_data * ++next_event(void) + { ++ static struct tcb_wait_data wait_data; ++ + int pid; + int status; + struct tcb *tcp; ++ struct tcb_wait_data *wd = &wait_data; + struct rusage ru; + + if (interrupted) +- return TE_BREAK; ++ return NULL; + + /* + * Used to exit simply when nprocs hits zero, but in this testcase: +@@ -2255,7 +2264,7 @@ next_event(int *pstatus, siginfo_t *si) + * on exit. Oh well... + */ + if (nprocs == 0) +- return TE_BREAK; ++ return NULL; + } + + const bool unblock_delay_timer = is_delay_timer_armed(); +@@ -2278,7 +2287,7 @@ next_event(int *pstatus, siginfo_t *si) + * then the system call will be interrupted and + * the expiration will be handled by the signal handler. + */ +- pid = wait4(-1, pstatus, __WALL, (cflag ? &ru : NULL)); ++ pid = wait4(-1, &status, __WALL, (cflag ? &ru : NULL)); + const int wait_errno = errno; + + /* +@@ -2292,14 +2301,16 @@ next_event(int *pstatus, siginfo_t *si) + sigprocmask(SIG_BLOCK, &timer_set, NULL); + + if (restart_failed) +- return TE_BREAK; ++ return NULL; + } + + if (pid < 0) { +- if (wait_errno == EINTR) +- return TE_NEXT; ++ if (wait_errno == EINTR) { ++ wd->te = TE_NEXT; ++ return wd; ++ } + if (nprocs == 0 && wait_errno == ECHILD) +- return TE_BREAK; ++ return NULL; + /* + * If nprocs > 0, ECHILD is not expected, + * treat it as any other error here: +@@ -2308,12 +2319,13 @@ next_event(int *pstatus, siginfo_t *si) + perror_msg_and_die("wait4(__WALL)"); + } + +- status = *pstatus; ++ wd->status = status; + + if (pid == popen_pid) { + if (!WIFSTOPPED(status)) + popen_pid = 0; +- return TE_NEXT; ++ wd->te = TE_NEXT; ++ return wd; + } + + if (debug_flag) +@@ -2324,8 +2336,10 @@ next_event(int *pstatus, siginfo_t *si) + + if (!tcp) { + tcp = maybe_allocate_tcb(pid, status); +- if (!tcp) +- return TE_NEXT; ++ if (!tcp) { ++ wd->te = TE_NEXT; ++ return wd; ++ } + } + + clear_regs(tcp); +@@ -2342,11 +2356,15 @@ next_event(int *pstatus, siginfo_t *si) + tcp->stime = stime; + } + +- if (WIFSIGNALED(status)) +- return TE_SIGNALLED; ++ if (WIFSIGNALED(status)) { ++ wd->te = TE_SIGNALLED; ++ return wd; ++ } + +- if (WIFEXITED(status)) +- return TE_EXITED; ++ if (WIFEXITED(status)) { ++ wd->te = TE_EXITED; ++ return wd; ++ } + + /* + * As WCONTINUED flag has not been specified to wait4, +@@ -2373,19 +2391,19 @@ next_event(int *pstatus, siginfo_t *si) + if (sig == SIGSTOP && (tcp->flags & TCB_IGNORE_ONE_SIGSTOP)) { + debug_func_msg("ignored SIGSTOP on pid %d", tcp->pid); + tcp->flags &= ~TCB_IGNORE_ONE_SIGSTOP; +- return TE_RESTART; ++ wd->te = TE_RESTART; + } else if (sig == syscall_trap_sig) { +- return TE_SYSCALL_STOP; ++ wd->te = TE_SYSCALL_STOP; + } else { +- *si = (siginfo_t) {}; ++ memset(&wd->si, 0, sizeof(wd->si)); + /* + * True if tracee is stopped by signal + * (as opposed to "tracee received signal"). + * TODO: shouldn't we check for errno == EINVAL too? + * We can get ESRCH instead, you know... + */ +- bool stopped = ptrace(PTRACE_GETSIGINFO, pid, 0, si) < 0; +- return stopped ? TE_GROUP_STOP : TE_SIGNAL_DELIVERY_STOP; ++ bool stopped = ptrace(PTRACE_GETSIGINFO, pid, 0, &wd->si) < 0; ++ wd->te = stopped ? TE_GROUP_STOP : TE_SIGNAL_DELIVERY_STOP; + } + break; + case PTRACE_EVENT_STOP: +@@ -2398,16 +2416,23 @@ next_event(int *pstatus, siginfo_t *si) + case SIGTSTP: + case SIGTTIN: + case SIGTTOU: +- return TE_GROUP_STOP; ++ wd->te = TE_GROUP_STOP; ++ break; ++ default: ++ wd->te = TE_RESTART; + } +- return TE_RESTART; ++ break; + case PTRACE_EVENT_EXEC: +- return TE_STOP_BEFORE_EXECVE; ++ wd->te = TE_STOP_BEFORE_EXECVE; ++ break; + case PTRACE_EVENT_EXIT: +- return TE_STOP_BEFORE_EXIT; ++ wd->te = TE_STOP_BEFORE_EXIT; ++ break; + default: +- return TE_RESTART; ++ wd->te = TE_RESTART; + } ++ ++ return wd; + } + + static int +@@ -2436,12 +2461,18 @@ trace_syscall(struct tcb *tcp, unsigned int *sig) + + /* Returns true iff the main trace loop has to continue. */ + static bool +-dispatch_event(enum trace_event ret, int *pstatus, siginfo_t *si) ++dispatch_event(const struct tcb_wait_data *wd) + { + unsigned int restart_op = PTRACE_SYSCALL; + unsigned int restart_sig = 0; ++ enum trace_event te = wd ? wd->te : TE_BREAK; ++ /* ++ * Copy wd->status to a non-const variable to workaround glibc bugs ++ * around union wait fixed by glibc commit glibc-2.24~391 ++ */ ++ int status = wd ? wd->status : 0; + +- switch (ret) { ++ switch (te) { + case TE_BREAK: + return false; + +@@ -2469,17 +2500,17 @@ dispatch_event(enum trace_event ret, int *pstatus, siginfo_t *si) + break; + + case TE_SIGNAL_DELIVERY_STOP: +- restart_sig = WSTOPSIG(*pstatus); +- print_stopped(current_tcp, si, restart_sig); ++ restart_sig = WSTOPSIG(status); ++ print_stopped(current_tcp, &wd->si, restart_sig); + break; + + case TE_SIGNALLED: +- print_signalled(current_tcp, current_tcp->pid, *pstatus); ++ print_signalled(current_tcp, current_tcp->pid, status); + droptcb(current_tcp); + return true; + + case TE_GROUP_STOP: +- restart_sig = WSTOPSIG(*pstatus); ++ restart_sig = WSTOPSIG(status); + print_stopped(current_tcp, NULL, restart_sig); + if (use_seize) { + /* +@@ -2494,7 +2525,7 @@ dispatch_event(enum trace_event ret, int *pstatus, siginfo_t *si) + break; + + case TE_EXITED: +- print_exited(current_tcp, current_tcp->pid, *pstatus); ++ print_exited(current_tcp, current_tcp->pid, status); + droptcb(current_tcp); + return true; + +@@ -2577,13 +2608,15 @@ dispatch_event(enum trace_event ret, int *pstatus, siginfo_t *si) + static bool + restart_delayed_tcb(struct tcb *const tcp) + { ++ const struct tcb_wait_data wd = { .te = TE_RESTART }; ++ + debug_func_msg("pid %d", tcp->pid); + + tcp->flags &= ~TCB_DELAYED; + + struct tcb *const prev_tcp = current_tcp; + current_tcp = tcp; +- bool ret = dispatch_event(TE_RESTART, NULL, NULL); ++ bool ret = dispatch_event(&wd); + current_tcp = prev_tcp; + + return ret; +@@ -2694,9 +2727,7 @@ main(int argc, char *argv[]) + + exit_code = !nprocs; + +- int status; +- siginfo_t si; +- while (dispatch_event(next_event(&status, &si), &status, &si)) ++ while (dispatch_event(next_event())) + ; + terminate(); + } +-- +2.1.4 + diff --git a/SOURCES/0005-Document-X-option-in-strace-h-output.patch b/SOURCES/0005-Document-X-option-in-strace-h-output.patch new file mode 100644 index 0000000..5c8fbf1 --- /dev/null +++ b/SOURCES/0005-Document-X-option-in-strace-h-output.patch @@ -0,0 +1,28 @@ +From 57aa6acb769e4a78d769e066411661e2aa053b4b Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Wed, 21 Nov 2018 22:51:49 +0000 +Subject: [PATCH 05/27] Document -X option in strace -h output + +* strace.c (usage): Mention -X option. + +Reported-by: Dmitry Vyukov +Complements: v4.23~308 "Add user interface for configuring xlat output style" +--- + strace.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/strace.c b/strace.c +index 6d70d20..1146339 100644 +--- a/strace.c ++++ b/strace.c +@@ -272,6 +272,7 @@ Output format:\n\ + -T print time spent in each syscall\n\ + -x print non-ascii strings in hex\n\ + -xx print all strings in hex\n\ ++ -X format set the format for printing of named constants and flags\n\ + -y print paths associated with file descriptor arguments\n\ + -yy print protocol specific information associated with socket file descriptors\n\ + \n\ +-- +2.1.4 + diff --git a/SOURCES/0006-evdev-fix-off-by-one-error-in-decode_bitset.patch b/SOURCES/0006-evdev-fix-off-by-one-error-in-decode_bitset.patch new file mode 100644 index 0000000..e0e520a --- /dev/null +++ b/SOURCES/0006-evdev-fix-off-by-one-error-in-decode_bitset.patch @@ -0,0 +1,30 @@ +From fdc95e89441ba6f2d39f5f6f3e2ac20933245b8d Mon Sep 17 00:00:00 2001 +From: Eugene Syromiatnikov +Date: Thu, 20 Dec 2018 16:35:27 +0100 +Subject: [PATCH 06/27] evdev: fix off-by-one error in decode_bitset + +* evdev.c (decode_bitset): Decrement sorted/indexed xlat's size by one +in order to account for guarding XLAT_END, as other sorted/indexed xlat +wrappers do. + +Fixes: v4.23~261 "evdev: support various types of xlats in decode_bitset" +--- + evdev.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/evdev.c b/evdev.c +index cae2ef1..957d0e2 100644 +--- a/evdev.c ++++ b/evdev.c +@@ -208,7 +208,7 @@ decode_bitset_(struct tcb *const tcp, const kernel_ulong_t arg, + + #define decode_bitset(tcp_, arg_, decode_nr_, max_nr_, dflt_, xt_) \ + decode_bitset_((tcp_), (arg_), (decode_nr_), (max_nr_), \ +- (dflt_), ARRAY_SIZE(decode_nr_), (xt_)) ++ (dflt_), ARRAY_SIZE(decode_nr_) - 1, (xt_)) + + # ifdef EVIOCGMTSLOTS + static int +-- +2.1.4 + diff --git a/SOURCES/0007-nlattr-fix-off-by-one-error-in-indexed-xlat-lookup.patch b/SOURCES/0007-nlattr-fix-off-by-one-error-in-indexed-xlat-lookup.patch new file mode 100644 index 0000000..cd1c588 --- /dev/null +++ b/SOURCES/0007-nlattr-fix-off-by-one-error-in-indexed-xlat-lookup.patch @@ -0,0 +1,29 @@ +From def46773e2540b4898b26c470d8d658b4b39075f Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Sun, 23 Dec 2018 22:12:36 +0000 +Subject: [PATCH 07/27] nlattr: fix off-by-one error in indexed xlat lookup + +* nlattr.c (decode_nla_meminfo): Decrement xlat size by one +to account for XLAT_END as other users of indexed xlats do. + +Fixes: v4.23~89 "nlattr: print index names in netlink meminfo array" +--- + nlattr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/nlattr.c b/nlattr.c +index af7cc16..db37452 100644 +--- a/nlattr.c ++++ b/nlattr.c +@@ -217,7 +217,7 @@ decode_nla_meminfo(struct tcb *const tcp, + tfetch_mem, print_uint32_array_member, &count, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED + | XLAT_STYLE_FMT_U, +- ARRSZ_PAIR(netlink_sk_meminfo_indices), ++ ARRSZ_PAIR(netlink_sk_meminfo_indices) - 1, + "SK_MEMINFO_???"); + + return true; +-- +2.1.4 + diff --git a/SOURCES/0008-aio-fix-off-by-one-error-in-indexed-xlat-lookup.patch b/SOURCES/0008-aio-fix-off-by-one-error-in-indexed-xlat-lookup.patch new file mode 100644 index 0000000..ad8bdd6 --- /dev/null +++ b/SOURCES/0008-aio-fix-off-by-one-error-in-indexed-xlat-lookup.patch @@ -0,0 +1,29 @@ +From d0035c3031b0d5a1cbb300d698328d118af33d3e Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Sun, 23 Dec 2018 22:12:36 +0000 +Subject: [PATCH 08/27] aio: fix off-by-one error in indexed xlat lookup + +* aio.c (tprint_lio_opcode): Decrement xlat size by one to account +for XLAT_END as other users of indexed xlats do. + +Fixes: v4.24~71 "aio: print IOCB_CMD_* using xlat" +--- + aio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/aio.c b/aio.c +index a07d8eb..24ad69f 100644 +--- a/aio.c ++++ b/aio.c +@@ -70,7 +70,7 @@ tprint_lio_opcode(unsigned int cmd) + [IOCB_CMD_PWRITEV] = SUB_VECTOR, + }; + +- printxval_indexn_ex(ARRSZ_PAIR(aio_cmds), cmd, "IOCB_CMD_???", ++ printxval_indexn_ex(ARRSZ_PAIR(aio_cmds) - 1, cmd, "IOCB_CMD_???", + XLAT_STYLE_FMT_U); + + return cmd < ARRAY_SIZE(subs) ? subs[cmd] : SUB_NONE; +-- +2.1.4 + diff --git a/SOURCES/0009-rtnl_link-fix-off-by-one-errors-in-indexed-and-sorte.patch b/SOURCES/0009-rtnl_link-fix-off-by-one-errors-in-indexed-and-sorte.patch new file mode 100644 index 0000000..08d0f88 --- /dev/null +++ b/SOURCES/0009-rtnl_link-fix-off-by-one-errors-in-indexed-and-sorte.patch @@ -0,0 +1,94 @@ +From ee037ea1bbe3e9134eab3586bbd54613f39a1693 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Sun, 23 Dec 2018 22:12:36 +0000 +Subject: [PATCH 09/27] rtnl_link: fix off-by-one errors in indexed and sorted + xlat lookups + +* rtnl_link.c (decode_nla_tun_type, decode_ifla_xdp_attached, +decode_ifla_inet_conf, decode_ifla_inet6_flags, decode_ifla_inet6_conf, +decode_ifla_inet6_stats, decode_ifla_inet6_icmp6_stats, +decode_ifla_inet6_agm): Decrement xlat size by one to account +for XLAT_END as other users of indexed and sorted xlats do. + +Fixes: v4.25~71 "rtnl_link: decode named constants for IFLA_XDP_ATTACHED attribute value" +Fixes: v4.23~41 "rtnl_link: decode IFLA_AF_SPEC" +Fixes: v4.23~37 "rtnl_link: implement IFLA_INFO_DATA for tun devices" + +Conflicts: + rtnl_link.c +--- + rtnl_link.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/rtnl_link.c b/rtnl_link.c +index 1fbfd26..8e02bc7 100644 +--- a/rtnl_link.c ++++ b/rtnl_link.c +@@ -356,7 +356,7 @@ decode_nla_tun_type(struct tcb *const tcp, + { + const struct decode_nla_xlat_opts opts = { + .xlat = tun_device_types, +- .xlat_size = ARRAY_SIZE(tun_device_types), ++ .xlat_size = ARRAY_SIZE(tun_device_types) - 1, + .xt = XT_INDEXED, + .dflt = "IFF_???", + .size = 1, +@@ -626,7 +626,8 @@ decode_ifla_inet_conf(struct tcb *const tcp, + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_int32_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED +- | XLAT_STYLE_FMT_D, ARRSZ_PAIR(inet_devconf_indices), ++ | XLAT_STYLE_FMT_D, ++ ARRSZ_PAIR(inet_devconf_indices) - 1, + "IPV4_DEVCONF_???"); + + return true; +@@ -643,7 +644,7 @@ decode_ifla_inet6_flags(struct tcb *const tcp, + const void *const opaque_data) + { + const struct decode_nla_xlat_opts opts = { +- ARRSZ_PAIR(inet6_if_flags), "IF_???", ++ ARRSZ_PAIR(inet6_if_flags) - 1, "IF_???", + .size = 4, + }; + +@@ -665,7 +666,8 @@ decode_ifla_inet6_conf(struct tcb *const tcp, + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_int32_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED +- | XLAT_STYLE_FMT_D, ARRSZ_PAIR(inet6_devconf_indices), ++ | XLAT_STYLE_FMT_D, ++ ARRSZ_PAIR(inet6_devconf_indices) - 1, + "DEVCONF_???"); + + return true; +@@ -686,7 +688,7 @@ decode_ifla_inet6_stats(struct tcb *const tcp, + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_uint64_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED +- | XLAT_STYLE_FMT_U, ARRSZ_PAIR(snmp_ip_stats), ++ | XLAT_STYLE_FMT_U, ARRSZ_PAIR(snmp_ip_stats) - 1, + "IPSTATS_MIB_???"); + + return true; +@@ -733,7 +735,7 @@ decode_ifla_inet6_icmp6_stats(struct tcb *const tcp, + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_uint64_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED +- | XLAT_STYLE_FMT_U, ARRSZ_PAIR(snmp_icmp6_stats), ++ | XLAT_STYLE_FMT_U, ARRSZ_PAIR(snmp_icmp6_stats) - 1, + "ICMP6_MIB_???"); + + return true; +@@ -762,7 +764,7 @@ decode_ifla_inet6_agm(struct tcb *const tcp, + const void *const opaque_data) + { + const struct decode_nla_xlat_opts opts = { +- ARRSZ_PAIR(in6_addr_gen_mode), "IN6_ADDR_GEN_MODE_???", ++ ARRSZ_PAIR(in6_addr_gen_mode) - 1, "IN6_ADDR_GEN_MODE_???", + .xt = XT_INDEXED, + .size = 1, + }; +-- +2.1.4 + diff --git a/SOURCES/0010-xlat_idx-do-not-issue-warnings-for-holes-in-indices.patch b/SOURCES/0010-xlat_idx-do-not-issue-warnings-for-holes-in-indices.patch new file mode 100644 index 0000000..b48daf0 --- /dev/null +++ b/SOURCES/0010-xlat_idx-do-not-issue-warnings-for-holes-in-indices.patch @@ -0,0 +1,30 @@ +From 1fb452d1a836c69fc9cf7fea59a80a50fabd6385 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Mon, 24 Dec 2018 10:19:24 +0000 +Subject: [PATCH 10/27] xlat_idx: do not issue warnings for holes in indices + +Some xlat indices like evdev_abs have holes, avoid issuing warnings +about them. + +* xlat.c (xlat_idx): Do not issue warnings for holes in the index. +--- + xlat.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/xlat.c b/xlat.c +index 4614cef..7de51da 100644 +--- a/xlat.c ++++ b/xlat.c +@@ -269,6 +269,9 @@ xlat_idx(const struct xlat *xlat, size_t nmemb, uint64_t val) + return NULL; + + if (val != pos[val].val) { ++ if (pos[val].val == 0) ++ return NULL; /* a hole in the index */ ++ + error_func_msg("Unexpected xlat value %" PRIu64 + " at index %" PRIu64, + pos[val].val, val); +-- +2.1.4 + diff --git a/SOURCES/0011-strace.1.in-print-names-of-entities-in-bold-provide-.patch b/SOURCES/0011-strace.1.in-print-names-of-entities-in-bold-provide-.patch new file mode 100644 index 0000000..450f7d3 --- /dev/null +++ b/SOURCES/0011-strace.1.in-print-names-of-entities-in-bold-provide-.patch @@ -0,0 +1,403 @@ +From ffc3e46d6ea23ba71eb49c8bc36eb3068968b691 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 4 Sep 2018 16:45:04 +0200 +Subject: [PATCH 11/27] strace.1.in: print names of entities in bold, provide + man page sections + +* strace.1.in (.SH DESCRIPTION, .SH OPTIONS): Add man page section +numbers. Make mentions of strace and other entities bold. + +Additional changes: + Update auto-generated strace.1 + +--- + strace.1.in | 89 ++++++++++++++++++++++++++++++++++++++++++------------------- + 1 file changed, 61 insertions(+), 28 deletions(-) + +Index: strace-4.24/strace.1.in +=================================================================== +--- strace-4.24.orig/strace.1.in 2018-07-07 12:29:02.000000000 +0200 ++++ strace-4.24/strace.1.in 2019-03-10 05:12:00.665873244 +0100 +@@ -177,7 +177,7 @@ + open("xyzzy", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3 + .CE + Here, the third argument of +-.B open ++.BR open (2) + is decoded by breaking down the + flag argument into its three bitwise-OR constituents and printing the + mode value in octal by tradition. Where the traditional or native +@@ -198,7 +198,7 @@ + .B st_mode + member is carefully decoded into a bitwise-OR of symbolic and numeric values. + Also notice in this example that the first argument to +-.B lstat ++.BR lstat (2) + is an input to the system call and the second argument is an output. + Since output arguments are not modified if the system call fails, arguments may + not always be dereferenced. For example, retrying the "ls \-l" example +@@ -224,15 +224,16 @@ + (32 by default) bytes of strings are printed; + longer strings have an ellipsis appended following the closing quote. + Here is a line from "ls \-l" where the +-.B getpwuid ++.BR getpwuid (3) + library routine is reading the password file: + .CW + read(3, "root::0:0:System Administrator:/"..., 1024) = 422 + .CE + While structures are annotated using curly braces, simple pointers + and arrays are printed using square brackets with commas separating +-elements. Here is an example from the command "id" on a system with +-supplementary group ids: ++elements. Here is an example from the command ++.BR id (1) ++on a system with supplementary group ids: + .CW + getgroups(32, [100, 0]) = 2 + .CE +@@ -489,7 +490,7 @@ + which is useful to seeing what files the process is referencing. + Furthermore, using the abbreviation will ensure that you don't + accidentally forget to include a call like +-.B lstat ++.BR lstat (2) + in the list. Betchya woulda forgot that one. + .TP + .BR "\-e\ trace" = %process +@@ -769,8 +770,7 @@ + \fB\-e\ inject\fR= expression with default value of + .I errno + option set to +-.IR ENOSYS . +- ++.BR ENOSYS . + .TP + .BR "\-e\ kvm" = vcpu + Print the exit reason of kvm vcpu. Requires Linux kernel version 4.16.0 +@@ -794,10 +794,11 @@ + .BI "\-b " syscall + If specified syscall is reached, detach from traced process. + Currently, only +-.I execve ++.BR execve (2) + syscall is supported. This option is useful if you want to trace +-multi-threaded process and therefore require -f, but don't want +-to trace its (potentially very complex) children. ++multi-threaded process and therefore require ++.BR \-f , ++but don't want to trace its (potentially very complex) children. + .TP + .B \-D + Run tracer process as a detached grandchild, not as parent of the +@@ -816,16 +817,20 @@ + .B \-p + .I PID + .B \-f +-will attach all threads of process PID if it is multi-threaded, +-not only thread with thread_id = PID. ++will attach all threads of process ++.I PID ++if it is multi-threaded, not only thread with ++.IR thread_id " = " PID . + .TP + .B \-ff + If the + .B \-o + .I filename + option is in effect, each processes trace is written to +-.I filename.pid +-where pid is the numeric process id of each process. ++.IR filename . pid ++where ++.I pid ++is the numeric process id of each process. + This is incompatible with + .BR \-c , + since no per-process counts are kept. +@@ -835,11 +840,30 @@ + to obtain a combined strace log view. + .TP + .BI "\-I " interruptible +-When strace can be interrupted by signals (such as pressing ^C). +-1: no signals are blocked; 2: fatal signals are blocked while decoding syscall +-(default); 3: fatal signals are always blocked (default if '-o FILE PROG'); +-4: fatal signals and SIGTSTP (^Z) are always blocked (useful to make +-strace -o FILE PROG not stop on ^Z). ++When ++.B strace ++can be interrupted by signals (such as pressing ++.BR ^C ). ++.RS ++.TP 4 ++.B 1 ++no signals are blocked; ++.TQ ++.B 2 ++fatal signals are blocked while decoding syscall (default); ++.TQ ++.B 3 ++fatal signals are always blocked (default if ++.BR -o " " \fIFILE\fR " " \fIPROG\fR ); ++.TQ ++.B 4 ++fatal signals and ++.BR SIGTSTP " (" ^Z ) ++are always blocked (useful to make ++.BI "strace -o " "FILE PROG" ++not stop on ++.BR ^Z ). ++.RE + .SS Startup + .TP 12 + \fB\-E\ \fIvar\fR=\,\fIval\fR +@@ -920,7 +944,8 @@ + .B strace + can be used as a wrapper process transparent to the invoking parent process. + Note that parent-child relationship (signal stop notifications, +-getppid() value, etc) between traced process and its parent are not preserved ++.BR getppid (2) ++value, etc) between traced process and its parent are not preserved + unless + .B \-D + is used. +@@ -987,8 +1012,11 @@ + definitions during the build time. + Please refer to the output of the + .B strace \-V +-command in order to figure out what support is available in your strace build +-("non-native" refers to an ABI that differs from the ABI strace has): ++command in order to figure out what support is available in your ++.B strace ++build ("non-native" refers to an ABI that differs from the ABI ++.B strace ++has): + .TP 15 + .B m32-mpers + .B strace +@@ -1057,17 +1085,22 @@ + .LP + On x32, syscalls that are intended to be used by 64-bit processes and not x32 + ones (for example, +-.BR readv , ++.BR readv (2), + that has syscall number 19 on x86_64, with its x32 counterpart has syscall + number 515), but called with + .B __X32_SYSCALL_BIT +-flag being set, are designated with "#64" suffix. ++flag being set, are designated with ++.B "#64" ++suffix. + .LP + On some platforms a process that is attached to with the + .B \-p +-option may observe a spurious EINTR return from the current +-system call that is not restartable. (Ideally, all system calls +-should be restarted on strace attach, making the attach invisible ++option may observe a spurious ++.B EINTR ++return from the current system call that is not restartable. ++(Ideally, all system calls should be restarted on ++.B strace ++attach, making the attach invisible + to the traced process, but a few system calls aren't. + Arguably, every instance of such behavior is a kernel bug.) + This may have an unpredictable effect on the process +Index: strace-4.24/strace.1 +=================================================================== +--- strace-4.24.orig/strace.1 2018-08-14 02:44:59.000000000 +0200 ++++ strace-4.24/strace.1 2019-03-10 05:15:15.101926224 +0100 +@@ -53,7 +53,7 @@ + . el \ + . BR "\\$1" + .. +-.TH STRACE 1 "2018-07-07" "strace 4.24" ++.TH STRACE 1 "2019-03-08" "strace 4.24" + .SH NAME + strace \- trace system calls and signals + .SH SYNOPSIS +@@ -177,7 +177,7 @@ + open("xyzzy", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3 + .CE + Here, the third argument of +-.B open ++.BR open (2) + is decoded by breaking down the + flag argument into its three bitwise-OR constituents and printing the + mode value in octal by tradition. Where the traditional or native +@@ -198,7 +198,7 @@ + .B st_mode + member is carefully decoded into a bitwise-OR of symbolic and numeric values. + Also notice in this example that the first argument to +-.B lstat ++.BR lstat (2) + is an input to the system call and the second argument is an output. + Since output arguments are not modified if the system call fails, arguments may + not always be dereferenced. For example, retrying the "ls \-l" example +@@ -224,15 +224,16 @@ + (32 by default) bytes of strings are printed; + longer strings have an ellipsis appended following the closing quote. + Here is a line from "ls \-l" where the +-.B getpwuid ++.BR getpwuid (3) + library routine is reading the password file: + .CW + read(3, "root::0:0:System Administrator:/"..., 1024) = 422 + .CE + While structures are annotated using curly braces, simple pointers + and arrays are printed using square brackets with commas separating +-elements. Here is an example from the command "id" on a system with +-supplementary group ids: ++elements. Here is an example from the command ++.BR id (1) ++on a system with supplementary group ids: + .CW + getgroups(32, [100, 0]) = 2 + .CE +@@ -489,7 +490,7 @@ + which is useful to seeing what files the process is referencing. + Furthermore, using the abbreviation will ensure that you don't + accidentally forget to include a call like +-.B lstat ++.BR lstat (2) + in the list. Betchya woulda forgot that one. + .TP + .BR "\-e\ trace" = %process +@@ -769,8 +770,7 @@ + \fB\-e\ inject\fR= expression with default value of + .I errno + option set to +-.IR ENOSYS . +- ++.BR ENOSYS . + .TP + .BR "\-e\ kvm" = vcpu + Print the exit reason of kvm vcpu. Requires Linux kernel version 4.16.0 +@@ -794,10 +794,11 @@ + .BI "\-b " syscall + If specified syscall is reached, detach from traced process. + Currently, only +-.I execve ++.BR execve (2) + syscall is supported. This option is useful if you want to trace +-multi-threaded process and therefore require -f, but don't want +-to trace its (potentially very complex) children. ++multi-threaded process and therefore require ++.BR \-f , ++but don't want to trace its (potentially very complex) children. + .TP + .B \-D + Run tracer process as a detached grandchild, not as parent of the +@@ -816,16 +817,20 @@ + .B \-p + .I PID + .B \-f +-will attach all threads of process PID if it is multi-threaded, +-not only thread with thread_id = PID. ++will attach all threads of process ++.I PID ++if it is multi-threaded, not only thread with ++.IR thread_id " = " PID . + .TP + .B \-ff + If the + .B \-o + .I filename + option is in effect, each processes trace is written to +-.I filename.pid +-where pid is the numeric process id of each process. ++.IR filename . pid ++where ++.I pid ++is the numeric process id of each process. + This is incompatible with + .BR \-c , + since no per-process counts are kept. +@@ -835,11 +840,30 @@ + to obtain a combined strace log view. + .TP + .BI "\-I " interruptible +-When strace can be interrupted by signals (such as pressing ^C). +-1: no signals are blocked; 2: fatal signals are blocked while decoding syscall +-(default); 3: fatal signals are always blocked (default if '-o FILE PROG'); +-4: fatal signals and SIGTSTP (^Z) are always blocked (useful to make +-strace -o FILE PROG not stop on ^Z). ++When ++.B strace ++can be interrupted by signals (such as pressing ++.BR ^C ). ++.RS ++.TP 4 ++.B 1 ++no signals are blocked; ++.TQ ++.B 2 ++fatal signals are blocked while decoding syscall (default); ++.TQ ++.B 3 ++fatal signals are always blocked (default if ++.BR -o " " \fIFILE\fR " " \fIPROG\fR ); ++.TQ ++.B 4 ++fatal signals and ++.BR SIGTSTP " (" ^Z ) ++are always blocked (useful to make ++.BI "strace -o " "FILE PROG" ++not stop on ++.BR ^Z ). ++.RE + .SS Startup + .TP 12 + \fB\-E\ \fIvar\fR=\,\fIval\fR +@@ -920,7 +944,8 @@ + .B strace + can be used as a wrapper process transparent to the invoking parent process. + Note that parent-child relationship (signal stop notifications, +-getppid() value, etc) between traced process and its parent are not preserved ++.BR getppid (2) ++value, etc) between traced process and its parent are not preserved + unless + .B \-D + is used. +@@ -987,8 +1012,11 @@ + definitions during the build time. + Please refer to the output of the + .B strace \-V +-command in order to figure out what support is available in your strace build +-("non-native" refers to an ABI that differs from the ABI strace has): ++command in order to figure out what support is available in your ++.B strace ++build ("non-native" refers to an ABI that differs from the ABI ++.B strace ++has): + .TP 15 + .B m32-mpers + .B strace +@@ -1057,17 +1085,22 @@ + .LP + On x32, syscalls that are intended to be used by 64-bit processes and not x32 + ones (for example, +-.BR readv , ++.BR readv (2), + that has syscall number 19 on x86_64, with its x32 counterpart has syscall + number 515), but called with + .B __X32_SYSCALL_BIT +-flag being set, are designated with "#64" suffix. ++flag being set, are designated with ++.B "#64" ++suffix. + .LP + On some platforms a process that is attached to with the + .B \-p +-option may observe a spurious EINTR return from the current +-system call that is not restartable. (Ideally, all system calls +-should be restarted on strace attach, making the attach invisible ++option may observe a spurious ++.B EINTR ++return from the current system call that is not restartable. ++(Ideally, all system calls should be restarted on ++.B strace ++attach, making the attach invisible + to the traced process, but a few system calls aren't. + Arguably, every instance of such behavior is a kernel bug.) + This may have an unpredictable effect on the process diff --git a/SOURCES/0012-strace.1.in-consistently-use-CTRL-combinations.patch b/SOURCES/0012-strace.1.in-consistently-use-CTRL-combinations.patch new file mode 100644 index 0000000..aaae92e --- /dev/null +++ b/SOURCES/0012-strace.1.in-consistently-use-CTRL-combinations.patch @@ -0,0 +1,110 @@ +From be720dc56adad1ecac99476cc302fec1d1ba8ee8 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 4 Sep 2018 20:30:30 +0200 +Subject: [PATCH 12/27] strace.1.in: consistently use CTRL-combinations + +Additional changes: + Updated auto-generated strace.1 + +--- + strace.1.in | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +Index: strace-4.24/strace.1.in +=================================================================== +--- strace-4.24.orig/strace.1.in 2019-03-10 05:12:00.665873244 +0100 ++++ strace-4.24/strace.1.in 2019-03-10 05:17:19.205683488 +0100 +@@ -843,7 +843,7 @@ + When + .B strace + can be interrupted by signals (such as pressing +-.BR ^C ). ++.BR CTRL\-C ). + .RS + .TP 4 + .B 1 +@@ -858,11 +858,11 @@ + .TQ + .B 4 + fatal signals and +-.BR SIGTSTP " (" ^Z ) ++.BR SIGTSTP " (" CTRL\-Z ) + are always blocked (useful to make + .BI "strace -o " "FILE PROG" + not stop on +-.BR ^Z ). ++.BR CTRL\-Z ). + .RE + .SS Startup + .TP 12 +@@ -883,8 +883,8 @@ + .I pid + and begin tracing. + The trace may be terminated +-at any time by a keyboard interrupt signal (\c +-.SM CTRL\s0-C). ++at any time by a keyboard interrupt signal ++.RB ( CTRL\-C ). + .B strace + will respond by detaching itself from the traced process(es) + leaving it (them) to continue running. +@@ -1129,8 +1129,8 @@ + .LP + Traced processes which are descended from + .I command +-may be left running after an interrupt signal (\c +-.SM CTRL\s0-C). ++may be left running after an interrupt signal ++.RB ( CTRL\-C ). + .SH HISTORY + The original + .B strace +Index: strace-4.24/strace.1 +=================================================================== +--- strace-4.24.orig/strace.1 2019-03-10 05:18:07.824196638 +0100 ++++ strace-4.24/strace.1 2019-03-10 05:18:36.534909138 +0100 +@@ -843,7 +843,7 @@ + When + .B strace + can be interrupted by signals (such as pressing +-.BR ^C ). ++.BR CTRL\-C ). + .RS + .TP 4 + .B 1 +@@ -858,11 +858,11 @@ + .TQ + .B 4 + fatal signals and +-.BR SIGTSTP " (" ^Z ) ++.BR SIGTSTP " (" CTRL\-Z ) + are always blocked (useful to make + .BI "strace -o " "FILE PROG" + not stop on +-.BR ^Z ). ++.BR CTRL\-Z ). + .RE + .SS Startup + .TP 12 +@@ -883,8 +883,8 @@ + .I pid + and begin tracing. + The trace may be terminated +-at any time by a keyboard interrupt signal (\c +-.SM CTRL\s0-C). ++at any time by a keyboard interrupt signal ++.RB ( CTRL\-C ). + .B strace + will respond by detaching itself from the traced process(es) + leaving it (them) to continue running. +@@ -1129,8 +1129,8 @@ + .LP + Traced processes which are descended from + .I command +-may be left running after an interrupt signal (\c +-.SM CTRL\s0-C). ++may be left running after an interrupt signal ++.RB ( CTRL\-C ). + .SH HISTORY + The original + .B strace diff --git a/SOURCES/0013-tests-change-the-license-to-GPL-2.0-or-later.patch b/SOURCES/0013-tests-change-the-license-to-GPL-2.0-or-later.patch new file mode 100644 index 0000000..04215d6 --- /dev/null +++ b/SOURCES/0013-tests-change-the-license-to-GPL-2.0-or-later.patch @@ -0,0 +1,16068 @@ +From db132cb8c3fd60affd2b829bda8543df483d28ab Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Mon, 10 Dec 2018 00:00:00 +0000 +Subject: [PATCH 13/27] tests: change the license to GPL-2.0-or-later + +strace test suite is now provided under the terms of the GNU General +Public License version 2 or later, see tests/COPYING for more details. + +Conflicts: + tests/first_exec_failure.test + tests/ioctl_nbd.c + tests/ioctl_random.c + tests/kernel_version.c +--- + tests/COPYING | 11 ++ + tests/GPL-2.0-or-later | 339 ++++++++++++++++++++++++++++++++++ + tests/Makefile.am | 24 +-- + tests/_newselect.c | 22 +-- + tests/accept.c | 22 +-- + tests/accept4.c | 22 +-- + tests/add_key.c | 22 +-- + tests/adjtimex.c | 22 +-- + tests/aio.c | 22 +-- + tests/aio_pgetevents.c | 22 +-- + tests/alarm.c | 22 +-- + tests/answer.c | 22 +-- + tests/attach-f-p-cmd.c | 22 +-- + tests/attach-f-p.c | 22 +-- + tests/attach-f-p.test | 22 +-- + tests/attach-p-cmd-cmd.c | 22 +-- + tests/attach-p-cmd-p.c | 22 +-- + tests/attach-p-cmd.test | 22 +-- + tests/bexecve.test | 22 +-- + tests/block_reset_raise_run.c | 22 +-- + tests/bpf-obj_get_info_by_fd.c | 22 +-- + tests/bpf.c | 22 +-- + tests/caps-abbrev.awk | 22 +-- + tests/caps.awk | 22 +-- + tests/caps.c | 22 +-- + tests/check_sigblock.c | 22 +-- + tests/check_sigign.c | 22 +-- + tests/chmod.c | 22 +-- + tests/clock_adjtime.c | 22 +-- + tests/clock_nanosleep.c | 22 +-- + tests/clock_xettime.c | 22 +-- + tests/clone_parent.c | 22 +-- + tests/clone_ptrace.c | 22 +-- + tests/copy_file_range.c | 22 +-- + tests/count-f.c | 22 +-- + tests/count.test | 22 +-- + tests/create_nl_socket.c | 22 +-- + tests/delay.c | 22 +-- + tests/delete_module.c | 22 +-- + tests/detach-running.test | 22 +-- + tests/detach-sleeping.test | 22 +-- + tests/detach-stopped.test | 22 +-- + tests/dev-yy.c | 22 +-- + tests/epoll_create1.c | 22 +-- + tests/erestartsys.c | 22 +-- + tests/errno2name.c | 22 +-- + tests/error_msg.c | 22 +-- + tests/eventfd.c | 22 +-- + tests/execve.c | 22 +-- + tests/execveat.c | 22 +-- + tests/fadvise.h | 22 +-- + tests/fadvise64.c | 22 +-- + tests/fadvise64_64.c | 22 +-- + tests/fallocate.c | 22 +-- + tests/fanotify_init.c | 22 +-- + tests/fanotify_mark.c | 22 +-- + tests/fchmod.c | 22 +-- + tests/fchmodat.c | 22 +-- + tests/fchownat.c | 22 +-- + tests/fcntl-common.c | 22 +-- + tests/fcntl.c | 22 +-- + tests/fcntl64.c | 22 +-- + tests/fflush.c | 22 +-- + tests/fflush.test | 22 +-- + tests/file_handle.c | 22 +-- + tests/filter-unavailable.c | 22 +-- + tests/filtering_fd-syntax.test | 22 +-- + tests/filtering_syscall-syntax.test | 22 +-- + tests/finit_module.c | 22 +-- + tests/fork-f.c | 22 +-- + tests/fstat.c | 22 +-- + tests/fstat64.c | 22 +-- + tests/fstatat.c | 22 +-- + tests/fstatat64.c | 22 +-- + tests/fstatfs.c | 22 +-- + tests/fstatfs64.c | 22 +-- + tests/fstatx.c | 22 +-- + tests/fsync-y.c | 22 +-- + tests/ftruncate.c | 22 +-- + tests/ftruncate64.c | 22 +-- + tests/futex.c | 22 +-- + tests/futimesat.c | 22 +-- + tests/gen_pure_executables.sh | 22 +-- + tests/gen_tests.in | 22 +-- + tests/gen_tests.sh | 22 +-- + tests/get_mempolicy.c | 22 +-- + tests/get_regs.test | 22 +-- + tests/get_sigset_size.c | 22 +-- + tests/getcpu.c | 22 +-- + tests/getdents.c | 22 +-- + tests/getdents64.c | 22 +-- + tests/getgroups.c | 22 +-- + tests/getpeername.c | 22 +-- + tests/getrandom.c | 22 +-- + tests/getresugid.c | 22 +-- + tests/getrusage.c | 22 +-- + tests/getsockname.c | 22 +-- + tests/getxxid.c | 22 +-- + tests/group_req.c | 22 +-- + tests/hexdump_strdup.c | 22 +-- + tests/hexquote_strndup.c | 22 +-- + tests/ifindex.c | 22 +-- + tests/inet-cmsg.c | 22 +-- + tests/init.sh | 22 +-- + tests/init_delete_module.h | 22 +-- + tests/init_module.c | 22 +-- + tests/inject-nf.c | 22 +-- + tests/inode_of_sockfd.c | 22 +-- + tests/inotify.c | 22 +-- + tests/inotify_init1.c | 22 +-- + tests/int_0x80.c | 22 +-- + tests/ioctl.c | 22 +-- + tests/ioctl_block.c | 22 +-- + tests/ioctl_dm.c | 22 +-- + tests/ioctl_evdev.c | 22 +-- + tests/ioctl_inotify.c | 22 +-- + tests/ioctl_loop.c | 22 +-- + tests/ioctl_mtd.c | 22 +-- + tests/ioctl_nsfs.c | 22 +-- + tests/ioctl_perf-success.c | 22 +-- + tests/ioctl_perf.c | 22 +-- + tests/ioctl_ptp.c | 22 +-- + tests/ioctl_rtc.c | 22 +-- + tests/ioctl_scsi.c | 22 +-- + tests/ioctl_sg_io_v3.c | 22 +-- + tests/ioctl_sg_io_v4.c | 22 +-- + tests/ioctl_sock_gifconf.c | 22 +-- + tests/ioctl_uffdio.c | 22 +-- + tests/ioctl_v4l2.c | 22 +-- + tests/ioprio.c | 22 +-- + tests/ip_mreq.c | 22 +-- + tests/ipc.c | 22 +-- + tests/ipc_msg.c | 22 +-- + tests/ipc_msgbuf.c | 22 +-- + tests/ipc_sem.c | 22 +-- + tests/ipc_shm.c | 22 +-- + tests/is_linux_mips_n64.c | 22 +-- + tests/kcmp.c | 22 +-- + tests/kern_features.c | 22 +-- + tests/kexec_file_load.c | 22 +-- + tests/kexec_load.c | 22 +-- + tests/keyctl.c | 22 +-- + tests/kill.c | 22 +-- + tests/ksysent.c | 22 +-- + tests/libmmsg.c | 22 +-- + tests/libsocketcall.c | 22 +-- + tests/list_sigaction_signum.c | 22 +-- + tests/llseek.c | 22 +-- + tests/localtime.c | 22 +-- + tests/localtime.test | 22 +-- + tests/lookup_dcookie.c | 22 +-- + tests/lseek.c | 22 +-- + tests/lstat.c | 22 +-- + tests/lstat64.c | 22 +-- + tests/lstatx.c | 22 +-- + tests/madvise.c | 22 +-- + tests/match.awk | 22 +-- + tests/mbind.c | 22 +-- + tests/membarrier.c | 22 +-- + tests/memfd_create.c | 22 +-- + tests/migrate_pages.c | 22 +-- + tests/mincore.c | 22 +-- + tests/mlock2.c | 22 +-- + tests/mlockall.c | 22 +-- + tests/mmap.c | 22 +-- + tests/mmap.test | 22 +-- + tests/mmsg-silent.c | 22 +-- + tests/mmsg.c | 22 +-- + tests/mmsg_name.c | 22 +-- + tests/modify_ldt.c | 22 +-- + tests/mount.c | 22 +-- + tests/move_pages.c | 22 +-- + tests/mq.c | 22 +-- + tests/mq_sendrecv.c | 22 +-- + tests/msg_control.c | 22 +-- + tests/msg_name.c | 22 +-- + tests/nanosleep.c | 22 +-- + tests/net-accept-connect.c | 22 +-- + tests/net-icmp_filter.c | 22 +-- + tests/net-sockaddr.c | 22 +-- + tests/net-y-unix.c | 22 +-- + tests/net-y-unix.test | 22 +-- + tests/net-yy-inet.c | 22 +-- + tests/net-yy-inet.test | 22 +-- + tests/net-yy-netlink.c | 22 +-- + tests/net-yy-netlink.test | 22 +-- + tests/net-yy-unix.c | 22 +-- + tests/net-yy-unix.test | 22 +-- + tests/netlink_audit.c | 22 +-- + tests/netlink_crypto.c | 22 +-- + tests/netlink_generic.c | 22 +-- + tests/netlink_inet_diag.c | 22 +-- + tests/netlink_kobject_uevent.c | 22 +-- + tests/netlink_netfilter.c | 22 +-- + tests/netlink_netlink_diag.c | 22 +-- + tests/netlink_protocol.c | 22 +-- + tests/netlink_route.c | 22 +-- + tests/netlink_selinux.c | 22 +-- + tests/netlink_sock_diag-v.sh | 22 +-- + tests/netlink_sock_diag.c | 22 +-- + tests/netlink_sock_diag.test | 22 +-- + tests/netlink_unix_diag.c | 22 +-- + tests/netlink_xfrm.c | 22 +-- + tests/newfstatat.c | 22 +-- + tests/nfnetlink_acct.c | 22 +-- + tests/nfnetlink_cthelper.c | 22 +-- + tests/nfnetlink_ctnetlink.c | 22 +-- + tests/nfnetlink_ctnetlink_exp.c | 22 +-- + tests/nfnetlink_cttimeout.c | 22 +-- + tests/nfnetlink_ipset.c | 22 +-- + tests/nfnetlink_nft_compat.c | 22 +-- + tests/nfnetlink_nftables.c | 22 +-- + tests/nfnetlink_osf.c | 22 +-- + tests/nfnetlink_queue.c | 22 +-- + tests/nfnetlink_ulog.c | 22 +-- + tests/nlattr.c | 22 +-- + tests/nlattr_br_port_msg.c | 22 +-- + tests/nlattr_crypto_user_alg.c | 22 +-- + tests/nlattr_dcbmsg.c | 22 +-- + tests/nlattr_fib_rule_hdr.c | 22 +-- + tests/nlattr_ifaddrlblmsg.c | 22 +-- + tests/nlattr_ifaddrmsg.c | 22 +-- + tests/nlattr_ifinfomsg.c | 22 +-- + tests/nlattr_ifla.h | 22 +-- + tests/nlattr_ifla_af_spec.c | 22 +-- + tests/nlattr_ifla_brport.c | 22 +-- + tests/nlattr_ifla_linkinfo.c | 22 +-- + tests/nlattr_ifla_port.c | 22 +-- + tests/nlattr_ifla_xdp.c | 22 +-- + tests/nlattr_inet_diag_msg.c | 22 +-- + tests/nlattr_inet_diag_req_compat.c | 22 +-- + tests/nlattr_inet_diag_req_v2.c | 22 +-- + tests/nlattr_mdba_mdb_entry.c | 22 +-- + tests/nlattr_mdba_router_port.c | 22 +-- + tests/nlattr_ndmsg.c | 22 +-- + tests/nlattr_ndtmsg.c | 22 +-- + tests/nlattr_netconfmsg.c | 22 +-- + tests/nlattr_netlink_diag_msg.c | 22 +-- + tests/nlattr_nlmsgerr.c | 22 +-- + tests/nlattr_packet_diag_msg.c | 22 +-- + tests/nlattr_rtgenmsg.c | 22 +-- + tests/nlattr_rtmsg.c | 22 +-- + tests/nlattr_smc_diag_msg.c | 22 +-- + tests/nlattr_tc_stats.c | 22 +-- + tests/nlattr_tca_stab.c | 22 +-- + tests/nlattr_tcamsg.c | 22 +-- + tests/nlattr_tcmsg.c | 22 +-- + tests/nlattr_unix_diag_msg.c | 22 +-- + tests/nsyscalls.c | 22 +-- + tests/old_mmap.c | 22 +-- + tests/oldfstat.c | 22 +-- + tests/oldlstat.c | 22 +-- + tests/oldselect-efault.c | 22 +-- + tests/oldselect.c | 22 +-- + tests/oldstat.c | 22 +-- + tests/open.c | 22 +-- + tests/openat.c | 22 +-- + tests/options-syntax.test | 22 +-- + tests/osf_utimes.c | 22 +-- + tests/overflowuid.c | 22 +-- + tests/pause.c | 22 +-- + tests/pc.c | 22 +-- + tests/pc.test | 22 +-- + tests/perf_event_open.c | 22 +-- + tests/perf_event_open_nonverbose.c | 22 +-- + tests/personality.c | 22 +-- + tests/pipe.c | 22 +-- + tests/pipe2.c | 22 +-- + tests/pipe_maxfd.c | 22 +-- + tests/pkey_alloc.c | 22 +-- + tests/pkey_free.c | 22 +-- + tests/pkey_mprotect.c | 22 +-- + tests/poll.c | 22 +-- + tests/ppoll.c | 22 +-- + tests/prctl-arg2-intptr.c | 22 +-- + tests/prctl-dumpable.c | 22 +-- + tests/prctl-name.c | 22 +-- + tests/prctl-no-args.c | 22 +-- + tests/prctl-pdeathsig.c | 22 +-- + tests/prctl-seccomp-filter-v.c | 22 +-- + tests/prctl-seccomp-strict.c | 22 +-- + tests/prctl-securebits.c | 22 +-- + tests/prctl-spec-inject.c | 22 +-- + tests/prctl-spec-inject.test | 22 +-- + tests/prctl-tid_address.c | 22 +-- + tests/prctl-tsc.c | 22 +-- + tests/pread64-pwrite64.c | 22 +-- + tests/preadv-pwritev.c | 22 +-- + tests/preadv.c | 22 +-- + tests/preadv2-pwritev2.c | 22 +-- + tests/print_maxfd.c | 22 +-- + tests/print_time.c | 22 +-- + tests/print_user_desc.c | 22 +-- + tests/printflags.c | 22 +-- + tests/printpath-umovestr-legacy.test | 22 +-- + tests/printpath-umovestr-peekdata.c | 22 +-- + tests/printpath-umovestr-undumpable.c | 22 +-- + tests/printpath-umovestr.c | 22 +-- + tests/printstr.c | 22 +-- + tests/printstrn-umoven-legacy.test | 22 +-- + tests/printstrn-umoven-peekdata.c | 22 +-- + tests/printstrn-umoven-undumpable.c | 22 +-- + tests/printstrn-umoven.c | 22 +-- + tests/printxval.c | 22 +-- + tests/prlimit64.c | 22 +-- + tests/process_vm_readv_writev.c | 22 +-- + tests/pselect6.c | 22 +-- + tests/ptrace.c | 22 +-- + tests/pwritev.c | 22 +-- + tests/qual_fault-exit_group.test | 22 +-- + tests/qual_fault-syntax.test | 22 +-- + tests/qual_fault.c | 22 +-- + tests/qual_fault.test | 22 +-- + tests/qual_inject-error-signal.c | 22 +-- + tests/qual_inject-retval.c | 22 +-- + tests/qual_inject-signal.c | 22 +-- + tests/qual_inject-syntax.test | 22 +-- + tests/qual_signal.c | 22 +-- + tests/qual_signal.test | 22 +-- + tests/qualify_personality.sh | 22 +-- + tests/quotactl-xfs.c | 22 +-- + tests/quotactl.c | 22 +-- + tests/quotactl.h | 22 +-- + tests/read-write.c | 22 +-- + tests/readahead.c | 22 +-- + tests/readdir.c | 22 +-- + tests/readlink.c | 22 +-- + tests/readlinkat.c | 22 +-- + tests/readv.c | 22 +-- + tests/readv.test | 22 +-- + tests/recvfrom.c | 22 +-- + tests/recvmmsg-timeout.c | 22 +-- + tests/recvmsg.c | 22 +-- + tests/redirect-fds.c | 22 +-- + tests/redirect-fds.test | 22 +-- + tests/redirect.test | 22 +-- + tests/remap_file_pages.c | 22 +-- + tests/renameat2.c | 22 +-- + tests/request_key.c | 22 +-- + tests/restart_syscall.c | 22 +-- + tests/riscv_flush_icache.c | 22 +-- + tests/rt_sigaction.awk | 22 +-- + tests/rt_sigaction.c | 22 +-- + tests/rt_sigpending.c | 22 +-- + tests/rt_sigprocmask.c | 22 +-- + tests/rt_sigqueueinfo.c | 22 +-- + tests/rt_sigreturn.c | 22 +-- + tests/rt_sigsuspend.c | 22 +-- + tests/rt_sigtimedwait.c | 22 +-- + tests/rt_tgsigqueueinfo.c | 22 +-- + tests/run_expect_termsig.c | 22 +-- + tests/s390_guarded_storage.c | 22 +-- + tests/s390_pci_mmio_read_write.c | 22 +-- + tests/s390_runtime_instr.c | 22 +-- + tests/s390_sthyi.c | 22 +-- + tests/sched_xetaffinity.c | 22 +-- + tests/sched_xetattr.c | 22 +-- + tests/scm_rights-fd.test | 22 +-- + tests/scm_rights.c | 22 +-- + tests/scno_tampering.sh | 22 +-- + tests/seccomp-filter-v.c | 22 +-- + tests/seccomp-filter.c | 22 +-- + tests/seccomp-strict.c | 22 +-- + tests/seccomp_get_action_avail.c | 22 +-- + tests/select.c | 22 +-- + tests/sendfile.c | 22 +-- + tests/sendfile64.c | 22 +-- + tests/set_mempolicy.c | 22 +-- + tests/set_ptracer_any.c | 22 +-- + tests/set_sigblock.c | 22 +-- + tests/set_sigign.c | 22 +-- + tests/setfsugid.c | 22 +-- + tests/setgroups.c | 22 +-- + tests/sethostname.c | 22 +-- + tests/setns.c | 22 +-- + tests/setresugid.c | 22 +-- + tests/setreugid.c | 22 +-- + tests/setrlimit.c | 22 +-- + tests/setugid.c | 22 +-- + tests/sigaction.c | 22 +-- + tests/siginfo.c | 22 +-- + tests/signal.c | 22 +-- + tests/signal_receive.c | 22 +-- + tests/signalfd4.c | 22 +-- + tests/sigpending.c | 22 +-- + tests/sigprocmask.c | 22 +-- + tests/sigreturn.c | 22 +-- + tests/sigsuspend.c | 22 +-- + tests/sleep.c | 22 +-- + tests/so_linger.c | 22 +-- + tests/so_peercred.c | 22 +-- + tests/sock_filter-v.c | 22 +-- + tests/socketcall.c | 22 +-- + tests/sockname.c | 22 +-- + tests/sockopt-sol_netlink.c | 22 +-- + tests/splice.c | 22 +-- + tests/sprintrc.c | 22 +-- + tests/stat.c | 22 +-- + tests/stat64.c | 22 +-- + tests/statfs.c | 22 +-- + tests/statfs64.c | 22 +-- + tests/statx.c | 22 +-- + tests/strace-k.test | 22 +-- + tests/sxetmask.c | 22 +-- + tests/sync_file_range.c | 22 +-- + tests/sync_file_range2.c | 22 +-- + tests/syntax.sh | 22 +-- + tests/sysinfo.c | 22 +-- + tests/tail_alloc.c | 22 +-- + tests/tee.c | 22 +-- + tests/test_nlattr.h | 22 +-- + tests/test_printpath.c | 22 +-- + tests/test_printstrn.c | 22 +-- + tests/test_ucopy.c | 22 +-- + tests/tests.h | 22 +-- + tests/threads-execve.c | 22 +-- + tests/threads-execve.test | 22 +-- + tests/time.c | 22 +-- + tests/timer_create.c | 22 +-- + tests/timer_xettime.c | 22 +-- + tests/timerfd_xettime.c | 22 +-- + tests/times.c | 22 +-- + tests/tprintf.c | 22 +-- + tests/truncate.c | 22 +-- + tests/truncate64.c | 22 +-- + tests/uio.c | 22 +-- + tests/umode_t.c | 22 +-- + tests/umount.c | 22 +-- + tests/umount2.c | 22 +-- + tests/umoven-illptr.c | 22 +-- + tests/umovestr-illptr.c | 22 +-- + tests/umovestr.c | 22 +-- + tests/umovestr2.c | 22 +-- + tests/umovestr3.c | 22 +-- + tests/unblock_reset_raise.c | 22 +-- + tests/unix-pair-send-recv.c | 22 +-- + tests/unix-pair-sendto-recvfrom.c | 22 +-- + tests/unshare.c | 22 +-- + tests/userfaultfd.c | 22 +-- + tests/ustat.c | 22 +-- + tests/utime.c | 22 +-- + tests/utimensat.c | 22 +-- + tests/utimes.c | 22 +-- + tests/vfork-f.c | 22 +-- + tests/vmsplice.c | 22 +-- + tests/wait4.c | 22 +-- + tests/waitid.c | 22 +-- + tests/waitpid.c | 22 +-- + tests/xattr.c | 22 +-- + tests/xchownx.c | 22 +-- + tests/xet_robust_list.c | 22 +-- + tests/xet_thread_area_x86.c | 22 +-- + tests/xetitimer.c | 22 +-- + tests/xetpgid.c | 22 +-- + tests/xettimeofday.c | 22 +-- + tests/xgetrlimit.c | 22 +-- + tests/xselect.c | 22 +-- + tests/xstatfs.c | 22 +-- + tests/xstatfs64.c | 22 +-- + tests/xstatfsx.c | 22 +-- + tests/xstatx.c | 22 +-- + tests/xutimes.c | 22 +-- + tests/zeroargc.c | 22 +-- + 463 files changed, 813 insertions(+), 9681 deletions(-) + create mode 100644 tests/COPYING + create mode 100644 tests/GPL-2.0-or-later + +diff --git a/tests/COPYING b/tests/COPYING +new file mode 100644 +index 0000000..b144a69 +--- /dev/null ++++ b/tests/COPYING +@@ -0,0 +1,11 @@ ++Copyright (c) 2011-2018 The strace developers. ++All rights reserved. ++ ++strace test suite is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by the ++Free Software Foundation; either version 2 of the License, or (at your ++option) any later version. ++ ++strace test suite is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++or FITNESS FOR A PARTICULAR PURPOSE. See GPL-2.0-or-later for more details. +diff --git a/tests/GPL-2.0-or-later b/tests/GPL-2.0-or-later +new file mode 100644 +index 0000000..2a16694 +--- /dev/null ++++ b/tests/GPL-2.0-or-later +@@ -0,0 +1,339 @@ ++GNU GENERAL PUBLIC LICENSE ++ ++Version 2, June 1991 ++ ++Copyright (C) 1989, 1991 Free Software Foundation, Inc. ++ ++51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA ++ ++Everyone is permitted to copy and distribute verbatim copies of this ++license document, but changing it is not allowed. ++ ++Preamble ++ ++The licenses for most software are designed to take away your freedom ++to share and change it. By contrast, the GNU General Public License is ++intended to guarantee your freedom to share and change free software--to ++make sure the software is free for all its users. This General Public ++License applies to most of the Free Software Foundation's software and ++to any other program whose authors commit to using it. (Some other Free ++Software Foundation software is covered by the GNU Lesser General Public ++License instead.) You can apply it to your programs, too. ++ ++When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it in ++new free programs; and that you know you can do these things. ++ ++To protect your rights, we need to make restrictions that forbid anyone ++to deny you these rights or to ask you to surrender the rights. These ++restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++For example, if you distribute copies of such a program, whether gratis or ++for a fee, you must give the recipients all the rights that you have. You ++must make sure that they, too, receive or can get the source code. And ++you must show them these terms so they know their rights. ++ ++We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, ++we want its recipients to know that what they have is not the original, ++so that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++The precise terms and conditions for copying, distribution and ++modification follow. ++ ++TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++ a notice placed by the copyright holder saying it may be distributed ++ under the terms of this General Public License. The "Program", below, ++ refers to any such program or work, and a "work based on the Program" ++ means either the Program or any derivative work under copyright law: ++ that is to say, a work containing the Program or a portion of it, ++ either verbatim or with modifications and/or translated into another ++ language. (Hereinafter, translation is included without limitation ++ in the term "modification".) Each licensee is addressed as "you". ++ ++ Activities other than copying, distribution and modification are not ++ covered by this License; they are outside its scope. The act of running ++ the Program is not restricted, and the output from the Program is ++ covered only if its contents constitute a work based on the Program ++ (independent of having been made by running the Program). Whether ++ that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's source ++ code as you receive it, in any medium, provided that you conspicuously ++ and appropriately publish on each copy an appropriate copyright notice ++ and disclaimer of warranty; keep intact all the notices that refer ++ to this License and to the absence of any warranty; and give any ++ other recipients of the Program a copy of this License along with ++ the Program. ++ ++ You may charge a fee for the physical act of transferring a copy, and ++ you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion of ++ it, thus forming a work based on the Program, and copy and distribute ++ such modifications or work under the terms of Section 1 above, ++ provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that ++ in whole or in part contains or is derived from the Program or ++ any part thereof, to be licensed as a whole at no charge to all ++ third parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display ++ an announcement including an appropriate copyright notice and ++ a notice that there is no warranty (or else, saying that you ++ provide a warranty) and that users may redistribute the program ++ under these conditions, and telling the user how to view a copy ++ of this License. (Exception: if the Program itself is interactive ++ but does not normally print such an announcement, your work based ++ on the Program is not required to print an announcement.) ++ ++ These requirements apply to the modified work as a whole. If ++ identifiable sections of that work are not derived from the Program, ++ and can be reasonably considered independent and separate works in ++ themselves, then this License, and its terms, do not apply to those ++ sections when you distribute them as separate works. But when you ++ distribute the same sections as part of a whole which is a work ++ based on the Program, the distribution of the whole must be on the ++ terms of this License, whose permissions for other licensees extend ++ to the entire whole, and thus to each and every part regardless of ++ who wrote it. ++ ++ Thus, it is not the intent of this section to claim rights or contest ++ your rights to work written entirely by you; rather, the intent is ++ to exercise the right to control the distribution of derivative or ++ collective works based on the Program. ++ ++ In addition, mere aggregation of another work not based on the Program ++ with the Program (or with a work based on the Program) on a volume ++ of a storage or distribution medium does not bring the other work ++ under the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++ under Section 2) in object code or executable form under the terms of ++ Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; ++ or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer to ++ distribute corresponding source code. (This alternative is allowed ++ only for noncommercial distribution and only if you received the ++ program in object code or executable form with such an offer, ++ in accord with Subsection b above.) ++ ++ The source code for a work means the preferred form of the work ++ for making modifications to it. For an executable work, complete ++ source code means all the source code for all modules it contains, ++ plus any associated interface definition files, plus the scripts used ++ to control compilation and installation of the executable. However, ++ as a special exception, the source code distributed need not include ++ anything that is normally distributed (in either source or binary ++ form) with the major components (compiler, kernel, and so on) of the ++ operating system on which the executable runs, unless that component ++ itself accompanies the executable. ++ ++ If distribution of executable or object code is made by offering access ++ to copy from a designated place, then offering equivalent access to ++ copy the source code from the same place counts as distribution of ++ the source code, even though third parties are not compelled to copy ++ the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++ except as expressly provided under this License. Any attempt otherwise ++ to copy, modify, sublicense or distribute the Program is void, and ++ will automatically terminate your rights under this License. However, ++ parties who have received copies, or rights, from you under this ++ License will not have their licenses terminated so long as such ++ parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++ signed it. However, nothing else grants you permission to modify ++ or distribute the Program or its derivative works. These actions ++ are prohibited by law if you do not accept this License. Therefore, ++ by modifying or distributing the Program (or any work based on the ++ Program), you indicate your acceptance of this License to do so, and ++ all its terms and conditions for copying, distributing or modifying ++ the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++ Program), the recipient automatically receives a license from the ++ original licensor to copy, distribute or modify the Program subject to ++ these terms and conditions. You may not impose any further restrictions ++ on the recipients' exercise of the rights granted herein. You are not ++ responsible for enforcing compliance by third parties to this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++ infringement or for any other reason (not limited to patent issues), ++ conditions are imposed on you (whether by court order, agreement ++ or otherwise) that contradict the conditions of this License, they ++ do not excuse you from the conditions of this License. If you cannot ++ distribute so as to satisfy simultaneously your obligations under this ++ License and any other pertinent obligations, then as a consequence ++ you may not distribute the Program at all. For example, if a patent ++ license would not permit royalty-free redistribution of the Program ++ by all those who receive copies directly or indirectly through you, ++ then the only way you could satisfy both it and this License would ++ be to refrain entirely from distribution of the Program. ++ ++ If any portion of this section is held invalid or unenforceable under ++ any particular circumstance, the balance of the section is intended ++ to apply and the section as a whole is intended to apply in other ++ circumstances. ++ ++ It is not the purpose of this section to induce you to infringe any ++ patents or other property right claims or to contest validity of ++ any such claims; this section has the sole purpose of protecting ++ the integrity of the free software distribution system, which ++ is implemented by public license practices. Many people have made ++ generous contributions to the wide range of software distributed ++ through that system in reliance on consistent application of that ++ system; it is up to the author/donor to decide if he or she is willing ++ to distribute software through any other system and a licensee cannot ++ impose that choice. ++ ++ This section is intended to make thoroughly clear what is believed ++ to be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++ certain countries either by patents or by copyrighted interfaces, the ++ original copyright holder who places the Program under this License ++ may add an explicit geographical distribution limitation excluding ++ those countries, so that distribution is permitted only in or among ++ countries not thus excluded. In such case, this License incorporates ++ the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++ of the General Public License from time to time. Such new versions ++ will be similar in spirit to the present version, but may differ in ++ detail to address new problems or concerns. ++ ++ Each version is given a distinguishing version number. If the Program ++ specifies a version number of this License which applies to it and ++ "any later version", you have the option of following the terms and ++ conditions either of that version or of any later version published ++ by the Free Software Foundation. If the Program does not specify ++ a version number of this License, you may choose any version ever ++ published by the Free Software Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++ programs whose distribution conditions are different, write to the ++ author to ask for permission. For software which is copyrighted by the ++ Free Software Foundation, write to the Free Software Foundation; we ++ sometimes make exceptions for this. Our decision will be guided by the ++ two goals of preserving the free status of all derivatives of our free ++ software and of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO ++ WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE ++ LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS ++ AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ++ ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ++ PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME ++ THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO ++ IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY ++ MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE ++ TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR ++ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE ++ THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING ++ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR ++ A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN ++ IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGES. END OF TERMS AND CONDITIONS ++ ++How to Apply These Terms to Your New Programs ++ ++If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these ++terms. ++ ++To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least the ++"copyright" line and a pointer to where the full notice is found. ++ ++ ++ ++Copyright (C) ++ ++This program is free software; you can redistribute it and/or modify it ++under the terms of the GNU General Public License as published by the ++Free Software Foundation; either version 2 of the License, or (at your ++option) any later version. ++ ++This program is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++for more details. ++ ++You should have received a copy of the GNU General Public License along ++with this program; if not, write to the Free Software Foundation, Inc., ++51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++Gnomovision version 69, Copyright (C) year name of author Gnomovision ++comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is ++free software, and you are welcome to redistribute it under certain ++conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the ++appropriate parts of the General Public License. Of course, the commands ++you use may be called something other than `show w' and `show c'; they ++could even be mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or ++your school, if any, to sign a "copyright disclaimer" for the program, ++if necessary. Here is a sample; alter the names: ++ ++Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++`Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++< signature of Ty Coon > , 1 April 1989 Ty Coon, President of Vice This ++General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with ++the library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. +diff --git a/tests/Makefile.am b/tests/Makefile.am +index a2f3950..af9813a 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -4,27 +4,7 @@ + # Copyright (c) 2011-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + OS = linux + ARCH = @arch@ +@@ -377,6 +357,8 @@ VALGRIND_FLAGS = --quiet + VALGRIND_SUPPRESSIONS_FILES = $(abs_srcdir)/strace.supp + + EXTRA_DIST = \ ++ COPYING \ ++ GPL-2.0-or-later \ + accept_compat.h \ + attach-p-cmd.h \ + caps-abbrev.awk \ +diff --git a/tests/_newselect.c b/tests/_newselect.c +index ae2bc51..13ec5df 100644 +--- a/tests/_newselect.c ++++ b/tests/_newselect.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/accept.c b/tests/accept.c +index 40b45db..df5dee8 100644 +--- a/tests/accept.c ++++ b/tests/accept.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/accept4.c b/tests/accept4.c +index d26e15c..137a7b1 100644 +--- a/tests/accept4.c ++++ b/tests/accept4.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/add_key.c b/tests/add_key.c +index 9ad5e28..c101492 100644 +--- a/tests/add_key.c ++++ b/tests/add_key.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/adjtimex.c b/tests/adjtimex.c +index 4d68ea1..ab01407 100644 +--- a/tests/adjtimex.c ++++ b/tests/adjtimex.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/aio.c b/tests/aio.c +index 195d468..1382199 100644 +--- a/tests/aio.c ++++ b/tests/aio.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/aio_pgetevents.c b/tests/aio_pgetevents.c +index ba5ac71..8bea0b7 100644 +--- a/tests/aio_pgetevents.c ++++ b/tests/aio_pgetevents.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/alarm.c b/tests/alarm.c +index 291b26a..2dd43ea 100644 +--- a/tests/alarm.c ++++ b/tests/alarm.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/answer.c b/tests/answer.c +index ae3059a..eff794b 100644 +--- a/tests/answer.c ++++ b/tests/answer.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/attach-f-p-cmd.c b/tests/attach-f-p-cmd.c +index 1e9ed99..0e485c0 100644 +--- a/tests/attach-f-p-cmd.c ++++ b/tests/attach-f-p-cmd.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/attach-f-p.c b/tests/attach-f-p.c +index 3f9a7e3..3bfc996 100644 +--- a/tests/attach-f-p.c ++++ b/tests/attach-f-p.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/attach-f-p.test b/tests/attach-f-p.test +index 368c775..7a0a88b 100755 +--- a/tests/attach-f-p.test ++++ b/tests/attach-f-p.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/attach-p-cmd-cmd.c b/tests/attach-p-cmd-cmd.c +index 70e3a2d..7027ea5 100644 +--- a/tests/attach-p-cmd-cmd.c ++++ b/tests/attach-p-cmd-cmd.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/attach-p-cmd-p.c b/tests/attach-p-cmd-p.c +index 843db95..2ec1774 100644 +--- a/tests/attach-p-cmd-p.c ++++ b/tests/attach-p-cmd-p.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/attach-p-cmd.test b/tests/attach-p-cmd.test +index e7c1bfa..0273f93 100755 +--- a/tests/attach-p-cmd.test ++++ b/tests/attach-p-cmd.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/bexecve.test b/tests/bexecve.test +index 325330e..e319cae 100755 +--- a/tests/bexecve.test ++++ b/tests/bexecve.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2015-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/block_reset_raise_run.c b/tests/block_reset_raise_run.c +index e2c5c99..dfa92fd 100644 +--- a/tests/block_reset_raise_run.c ++++ b/tests/block_reset_raise_run.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/bpf-obj_get_info_by_fd.c b/tests/bpf-obj_get_info_by_fd.c +index 67b5122..d11dc89 100644 +--- a/tests/bpf-obj_get_info_by_fd.c ++++ b/tests/bpf-obj_get_info_by_fd.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/bpf.c b/tests/bpf.c +index dd40bf5..254c9ee 100644 +--- a/tests/bpf.c ++++ b/tests/bpf.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/caps-abbrev.awk b/tests/caps-abbrev.awk +index 86de7f2..cd71b98 100644 +--- a/tests/caps-abbrev.awk ++++ b/tests/caps-abbrev.awk +@@ -5,27 +5,7 @@ + # Copyright (c) 2014-2016 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + BEGIN { + cap = "(0|1< + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + BEGIN { + cap = "(0|1< + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/check_sigblock.c b/tests/check_sigblock.c +index 5637804..8f53529 100644 +--- a/tests/check_sigblock.c ++++ b/tests/check_sigblock.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/check_sigign.c b/tests/check_sigign.c +index bace317..8e8fadf 100644 +--- a/tests/check_sigign.c ++++ b/tests/check_sigign.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/chmod.c b/tests/chmod.c +index f6f98ec..8b35f2c 100644 +--- a/tests/chmod.c ++++ b/tests/chmod.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/clock_adjtime.c b/tests/clock_adjtime.c +index 01089b5..350e58d 100644 +--- a/tests/clock_adjtime.c ++++ b/tests/clock_adjtime.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/clock_nanosleep.c b/tests/clock_nanosleep.c +index 72ac2e4..2c8c263 100644 +--- a/tests/clock_nanosleep.c ++++ b/tests/clock_nanosleep.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/clock_xettime.c b/tests/clock_xettime.c +index 841ba56..c25240d 100644 +--- a/tests/clock_xettime.c ++++ b/tests/clock_xettime.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/clone_parent.c b/tests/clone_parent.c +index 2ec954e..4971c85 100644 +--- a/tests/clone_parent.c ++++ b/tests/clone_parent.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/clone_ptrace.c b/tests/clone_ptrace.c +index 48c099a..24cabd0 100644 +--- a/tests/clone_ptrace.c ++++ b/tests/clone_ptrace.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/copy_file_range.c b/tests/copy_file_range.c +index 6bb989d..72a750f 100644 +--- a/tests/copy_file_range.c ++++ b/tests/copy_file_range.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/count-f.c b/tests/count-f.c +index 6992b16..c9f1187 100644 +--- a/tests/count-f.c ++++ b/tests/count-f.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/count.test b/tests/count.test +index a2ecc4f..6abb177 100755 +--- a/tests/count.test ++++ b/tests/count.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2014-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/create_nl_socket.c b/tests/create_nl_socket.c +index c2708d8..0b79d43 100644 +--- a/tests/create_nl_socket.c ++++ b/tests/create_nl_socket.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/delay.c b/tests/delay.c +index 926c5ab..fb19b15 100644 +--- a/tests/delay.c ++++ b/tests/delay.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/delete_module.c b/tests/delete_module.c +index 0de35fe..6c9ec8f 100644 +--- a/tests/delete_module.c ++++ b/tests/delete_module.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/detach-running.test b/tests/detach-running.test +index ba5ffbf..583a0a9 100755 +--- a/tests/detach-running.test ++++ b/tests/detach-running.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2014-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/detach-sleeping.test b/tests/detach-sleeping.test +index a0975e3..6b09d02 100755 +--- a/tests/detach-sleeping.test ++++ b/tests/detach-sleeping.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2014-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/detach-stopped.test b/tests/detach-stopped.test +index a9f9c72..72179a9 100755 +--- a/tests/detach-stopped.test ++++ b/tests/detach-stopped.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2014-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/dev-yy.c b/tests/dev-yy.c +index 58a1e41..b9f55fa 100644 +--- a/tests/dev-yy.c ++++ b/tests/dev-yy.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/epoll_create1.c b/tests/epoll_create1.c +index cd905ec..010b31f 100644 +--- a/tests/epoll_create1.c ++++ b/tests/epoll_create1.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/erestartsys.c b/tests/erestartsys.c +index 97c9699..da280ff 100644 +--- a/tests/erestartsys.c ++++ b/tests/erestartsys.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/errno2name.c b/tests/errno2name.c +index 2354afc..83daca4 100644 +--- a/tests/errno2name.c ++++ b/tests/errno2name.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/error_msg.c b/tests/error_msg.c +index 9cb3e80..caefa94 100644 +--- a/tests/error_msg.c ++++ b/tests/error_msg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define perror_msg_and_fail perror_msg_and_fail +diff --git a/tests/eventfd.c b/tests/eventfd.c +index d6ad649..8354960 100644 +--- a/tests/eventfd.c ++++ b/tests/eventfd.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/execve.c b/tests/execve.c +index c1dedfc..ce5536b 100644 +--- a/tests/execve.c ++++ b/tests/execve.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/execveat.c b/tests/execveat.c +index 853e26c..b752817 100644 +--- a/tests/execveat.c ++++ b/tests/execveat.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fadvise.h b/tests/fadvise.h +index 7a75f73..d767d0c 100644 +--- a/tests/fadvise.h ++++ b/tests/fadvise.h +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifndef STRACE_TESTS_FADVISE_H +diff --git a/tests/fadvise64.c b/tests/fadvise64.c +index 930680b..ac5da0d 100644 +--- a/tests/fadvise64.c ++++ b/tests/fadvise64.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fadvise64_64.c b/tests/fadvise64_64.c +index c23df97..9c2dfb6 100644 +--- a/tests/fadvise64_64.c ++++ b/tests/fadvise64_64.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fallocate.c b/tests/fallocate.c +index a31711b..1231a0c 100644 +--- a/tests/fallocate.c ++++ b/tests/fallocate.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fanotify_init.c b/tests/fanotify_init.c +index 15e09ee..309d440 100644 +--- a/tests/fanotify_init.c ++++ b/tests/fanotify_init.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fanotify_mark.c b/tests/fanotify_mark.c +index 9509b83..b87d0df 100644 +--- a/tests/fanotify_mark.c ++++ b/tests/fanotify_mark.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fchmod.c b/tests/fchmod.c +index 932d083..09e97be 100644 +--- a/tests/fchmod.c ++++ b/tests/fchmod.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fchmodat.c b/tests/fchmodat.c +index c52a1ca..0fd3850 100644 +--- a/tests/fchmodat.c ++++ b/tests/fchmodat.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fchownat.c b/tests/fchownat.c +index f2f37ae..bf029b7 100644 +--- a/tests/fchownat.c ++++ b/tests/fchownat.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fcntl-common.c b/tests/fcntl-common.c +index 9504527..de4d268 100644 +--- a/tests/fcntl-common.c ++++ b/tests/fcntl-common.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/fcntl.c b/tests/fcntl.c +index 7539f19..210e972 100644 +--- a/tests/fcntl.c ++++ b/tests/fcntl.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fcntl64.c b/tests/fcntl64.c +index f65f7cb..97277b2 100644 +--- a/tests/fcntl64.c ++++ b/tests/fcntl64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fflush.c b/tests/fflush.c +index 84a62ec..e9139cb 100644 +--- a/tests/fflush.c ++++ b/tests/fflush.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fflush.test b/tests/fflush.test +index c0f4e3f..a50eda5 100755 +--- a/tests/fflush.test ++++ b/tests/fflush.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2011-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/file_handle.c b/tests/file_handle.c +index 8559ba6..e870e00 100644 +--- a/tests/file_handle.c ++++ b/tests/file_handle.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/filter-unavailable.c b/tests/filter-unavailable.c +index 6368b2c..d424a81 100644 +--- a/tests/filter-unavailable.c ++++ b/tests/filter-unavailable.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/filtering_fd-syntax.test b/tests/filtering_fd-syntax.test +index 4f4e9c7..53bf1b1 100755 +--- a/tests/filtering_fd-syntax.test ++++ b/tests/filtering_fd-syntax.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/syntax.sh" + +diff --git a/tests/filtering_syscall-syntax.test b/tests/filtering_syscall-syntax.test +index 8fda8dc..fe42edb 100755 +--- a/tests/filtering_syscall-syntax.test ++++ b/tests/filtering_syscall-syntax.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2017 Nikolay Marchuk + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/syntax.sh" + +diff --git a/tests/finit_module.c b/tests/finit_module.c +index c97471a..39837b2 100644 +--- a/tests/finit_module.c ++++ b/tests/finit_module.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fork-f.c b/tests/fork-f.c +index 11ac3d9..a4fe6be 100644 +--- a/tests/fork-f.c ++++ b/tests/fork-f.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fstat.c b/tests/fstat.c +index 1482bb1..5dd5444 100644 +--- a/tests/fstat.c ++++ b/tests/fstat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fstat64.c b/tests/fstat64.c +index c63be60..8978f88 100644 +--- a/tests/fstat64.c ++++ b/tests/fstat64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fstatat.c b/tests/fstatat.c +index ea331b4..7efcec0 100644 +--- a/tests/fstatat.c ++++ b/tests/fstatat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifdef HAVE_FSTATAT +diff --git a/tests/fstatat64.c b/tests/fstatat64.c +index 8de7ba6..317525f 100644 +--- a/tests/fstatat64.c ++++ b/tests/fstatat64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fstatfs.c b/tests/fstatfs.c +index 9e68c8d..23186ab 100644 +--- a/tests/fstatfs.c ++++ b/tests/fstatfs.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fstatfs64.c b/tests/fstatfs64.c +index afc54aa..80530da 100644 +--- a/tests/fstatfs64.c ++++ b/tests/fstatfs64.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/fstatx.c b/tests/fstatx.c +index 70804af..6026278 100644 +--- a/tests/fstatx.c ++++ b/tests/fstatx.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define IS_FSTAT 1 +diff --git a/tests/fsync-y.c b/tests/fsync-y.c +index 34267b9..f42f834 100644 +--- a/tests/fsync-y.c ++++ b/tests/fsync-y.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ftruncate.c b/tests/ftruncate.c +index ee17455..ffff371 100644 +--- a/tests/ftruncate.c ++++ b/tests/ftruncate.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ftruncate64.c b/tests/ftruncate64.c +index 90d9938..ec74b8e 100644 +--- a/tests/ftruncate64.c ++++ b/tests/ftruncate64.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/futex.c b/tests/futex.c +index 174100f..f91c652 100644 +--- a/tests/futex.c ++++ b/tests/futex.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/futimesat.c b/tests/futimesat.c +index 666ebdd..661c6c3 100644 +--- a/tests/futimesat.c ++++ b/tests/futimesat.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/gen_pure_executables.sh b/tests/gen_pure_executables.sh +index c0e2152..0be5828 100755 +--- a/tests/gen_pure_executables.sh ++++ b/tests/gen_pure_executables.sh +@@ -3,27 +3,7 @@ + # Copyright (c) 2017 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + usage() + { +diff --git a/tests/gen_tests.in b/tests/gen_tests.in +index 6744e55..7138716 100644 +--- a/tests/gen_tests.in ++++ b/tests/gen_tests.in +@@ -3,27 +3,7 @@ + # Copyright (c) 2017-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + _newselect + _newselect-P -e trace=_newselect -P /dev/full 9>>/dev/full +diff --git a/tests/gen_tests.sh b/tests/gen_tests.sh +index b41983e..3540204 100755 +--- a/tests/gen_tests.sh ++++ b/tests/gen_tests.sh +@@ -4,27 +4,7 @@ + # Copyright (c) 2017-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + usage() + { +diff --git a/tests/get_mempolicy.c b/tests/get_mempolicy.c +index 03d1bff..effd6b6 100644 +--- a/tests/get_mempolicy.c ++++ b/tests/get_mempolicy.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/get_regs.test b/tests/get_regs.test +index eb69137..5b2ab05 100755 +--- a/tests/get_regs.test ++++ b/tests/get_regs.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2017 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/get_sigset_size.c b/tests/get_sigset_size.c +index 357829d..0956321 100644 +--- a/tests/get_sigset_size.c ++++ b/tests/get_sigset_size.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/getcpu.c b/tests/getcpu.c +index 2b15753..6e1f548 100644 +--- a/tests/getcpu.c ++++ b/tests/getcpu.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/getdents.c b/tests/getdents.c +index 338eab0..a57842d 100644 +--- a/tests/getdents.c ++++ b/tests/getdents.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/getdents64.c b/tests/getdents64.c +index 1f6b47e..6494113 100644 +--- a/tests/getdents64.c ++++ b/tests/getdents64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/getgroups.c b/tests/getgroups.c +index c7cd874..4239e96 100644 +--- a/tests/getgroups.c ++++ b/tests/getgroups.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifdef __NR_getgroups32 +diff --git a/tests/getpeername.c b/tests/getpeername.c +index c842ace..45d77cc 100644 +--- a/tests/getpeername.c ++++ b/tests/getpeername.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define TEST_SYSCALL_NAME getpeername +diff --git a/tests/getrandom.c b/tests/getrandom.c +index de1a087..8a0e7ce 100644 +--- a/tests/getrandom.c ++++ b/tests/getrandom.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/getresugid.c b/tests/getresugid.c +index af9f015..c009360 100644 +--- a/tests/getresugid.c ++++ b/tests/getresugid.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/getrusage.c b/tests/getrusage.c +index bb52dd9..2b6c1d8 100644 +--- a/tests/getrusage.c ++++ b/tests/getrusage.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/getsockname.c b/tests/getsockname.c +index 66ac4e6..1efc728 100644 +--- a/tests/getsockname.c ++++ b/tests/getsockname.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define TEST_SYSCALL_NAME getsockname +diff --git a/tests/getxxid.c b/tests/getxxid.c +index 6eee52c..efee763 100644 +--- a/tests/getxxid.c ++++ b/tests/getxxid.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/group_req.c b/tests/group_req.c +index eb56cb7..ae4c1e4 100644 +--- a/tests/group_req.c ++++ b/tests/group_req.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/hexdump_strdup.c b/tests/hexdump_strdup.c +index 4d6b53f..2f200db 100644 +--- a/tests/hexdump_strdup.c ++++ b/tests/hexdump_strdup.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/hexquote_strndup.c b/tests/hexquote_strndup.c +index 3ad3970..1e5ea43 100644 +--- a/tests/hexquote_strndup.c ++++ b/tests/hexquote_strndup.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ifindex.c b/tests/ifindex.c +index 390a135..1712234 100644 +--- a/tests/ifindex.c ++++ b/tests/ifindex.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/inet-cmsg.c b/tests/inet-cmsg.c +index fb3d430..042d304 100644 +--- a/tests/inet-cmsg.c ++++ b/tests/inet-cmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/init.sh b/tests/init.sh +index 8861b70..40e6218 100644 +--- a/tests/init.sh ++++ b/tests/init.sh +@@ -4,27 +4,7 @@ + # Copyright (c) 2011-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + export LC_ALL=C + ME_="${0##*/}" +diff --git a/tests/init_delete_module.h b/tests/init_delete_module.h +index cabf26f..5b7e298 100644 +--- a/tests/init_delete_module.h ++++ b/tests/init_delete_module.h +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifndef STRACE_TESTS_INIT_DELETE_MODULE_H +diff --git a/tests/init_module.c b/tests/init_module.c +index 8fbb263..bd66c6c 100644 +--- a/tests/init_module.c ++++ b/tests/init_module.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/inject-nf.c b/tests/inject-nf.c +index b0d8431..b419984 100644 +--- a/tests/inject-nf.c ++++ b/tests/inject-nf.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/inode_of_sockfd.c b/tests/inode_of_sockfd.c +index 6a523c7..b9ad78e 100644 +--- a/tests/inode_of_sockfd.c ++++ b/tests/inode_of_sockfd.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/inotify.c b/tests/inotify.c +index 925d69f..85764cc 100644 +--- a/tests/inotify.c ++++ b/tests/inotify.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/inotify_init1.c b/tests/inotify_init1.c +index 0325150..64f1273 100644 +--- a/tests/inotify_init1.c ++++ b/tests/inotify_init1.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/int_0x80.c b/tests/int_0x80.c +index 012694f..2c721a1 100644 +--- a/tests/int_0x80.c ++++ b/tests/int_0x80.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl.c b/tests/ioctl.c +index af5f9ba..2e4027f 100644 +--- a/tests/ioctl.c ++++ b/tests/ioctl.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_block.c b/tests/ioctl_block.c +index 2bb6808..48f6254 100644 +--- a/tests/ioctl_block.c ++++ b/tests/ioctl_block.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_dm.c b/tests/ioctl_dm.c +index 3792291..4191bdc 100644 +--- a/tests/ioctl_dm.c ++++ b/tests/ioctl_dm.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_evdev.c b/tests/ioctl_evdev.c +index 071b6b0..33b10c4 100644 +--- a/tests/ioctl_evdev.c ++++ b/tests/ioctl_evdev.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_inotify.c b/tests/ioctl_inotify.c +index 0650c62..b7a95d2 100644 +--- a/tests/ioctl_inotify.c ++++ b/tests/ioctl_inotify.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_loop.c b/tests/ioctl_loop.c +index 10b7dc3..a80bbee 100644 +--- a/tests/ioctl_loop.c ++++ b/tests/ioctl_loop.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + +diff --git a/tests/ioctl_mtd.c b/tests/ioctl_mtd.c +index 1b5be75..3345b8c 100644 +--- a/tests/ioctl_mtd.c ++++ b/tests/ioctl_mtd.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_nsfs.c b/tests/ioctl_nsfs.c +index b2dbd1b..0538b77 100644 +--- a/tests/ioctl_nsfs.c ++++ b/tests/ioctl_nsfs.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Nikolay Marchuk + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_perf-success.c b/tests/ioctl_perf-success.c +index 9eade6a..eaf572a 100644 +--- a/tests/ioctl_perf-success.c ++++ b/tests/ioctl_perf-success.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_perf.c b/tests/ioctl_perf.c +index 7db01db..5e4c4df 100644 +--- a/tests/ioctl_perf.c ++++ b/tests/ioctl_perf.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_ptp.c b/tests/ioctl_ptp.c +index 1c82919..17ab237 100644 +--- a/tests/ioctl_ptp.c ++++ b/tests/ioctl_ptp.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_rtc.c b/tests/ioctl_rtc.c +index 466a1d3..770c2f4 100644 +--- a/tests/ioctl_rtc.c ++++ b/tests/ioctl_rtc.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_scsi.c b/tests/ioctl_scsi.c +index a9ecf28..4c61f31 100644 +--- a/tests/ioctl_scsi.c ++++ b/tests/ioctl_scsi.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_sg_io_v3.c b/tests/ioctl_sg_io_v3.c +index 3385bca..f891fe0 100644 +--- a/tests/ioctl_sg_io_v3.c ++++ b/tests/ioctl_sg_io_v3.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_sg_io_v4.c b/tests/ioctl_sg_io_v4.c +index d2f7b72..e063407 100644 +--- a/tests/ioctl_sg_io_v4.c ++++ b/tests/ioctl_sg_io_v4.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_sock_gifconf.c b/tests/ioctl_sock_gifconf.c +index 6572529..0db9d7d 100644 +--- a/tests/ioctl_sock_gifconf.c ++++ b/tests/ioctl_sock_gifconf.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_uffdio.c b/tests/ioctl_uffdio.c +index 973de39..cdfe74a 100644 +--- a/tests/ioctl_uffdio.c ++++ b/tests/ioctl_uffdio.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioctl_v4l2.c b/tests/ioctl_v4l2.c +index a7dcc49..ec1db10 100644 +--- a/tests/ioctl_v4l2.c ++++ b/tests/ioctl_v4l2.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ioprio.c b/tests/ioprio.c +index 44ace6c..553d6a7 100644 +--- a/tests/ioprio.c ++++ b/tests/ioprio.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ip_mreq.c b/tests/ip_mreq.c +index 12cc261..4ef342e 100644 +--- a/tests/ip_mreq.c ++++ b/tests/ip_mreq.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ipc.c b/tests/ipc.c +index c64d371..2d3bd7e 100644 +--- a/tests/ipc.c ++++ b/tests/ipc.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c +index a74dba5..b12f4af 100644 +--- a/tests/ipc_msg.c ++++ b/tests/ipc_msg.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ipc_msgbuf.c b/tests/ipc_msgbuf.c +index e439c49..92525f9 100644 +--- a/tests/ipc_msgbuf.c ++++ b/tests/ipc_msgbuf.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c +index 8cbbfaa..7341f72 100644 +--- a/tests/ipc_sem.c ++++ b/tests/ipc_sem.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c +index f5802cc..ffd1e72 100644 +--- a/tests/ipc_shm.c ++++ b/tests/ipc_shm.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/is_linux_mips_n64.c b/tests/is_linux_mips_n64.c +index 843203b..50f4dac 100644 +--- a/tests/is_linux_mips_n64.c ++++ b/tests/is_linux_mips_n64.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/kcmp.c b/tests/kcmp.c +index a6a05c5..4e3433e 100644 +--- a/tests/kcmp.c ++++ b/tests/kcmp.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/kern_features.c b/tests/kern_features.c +index 87bc3f6..4814414 100644 +--- a/tests/kern_features.c ++++ b/tests/kern_features.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/kexec_file_load.c b/tests/kexec_file_load.c +index 7a9b64b..d73c3c9 100644 +--- a/tests/kexec_file_load.c ++++ b/tests/kexec_file_load.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/kexec_load.c b/tests/kexec_load.c +index ff4507c..ae7a72c 100644 +--- a/tests/kexec_load.c ++++ b/tests/kexec_load.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/keyctl.c b/tests/keyctl.c +index 881f24b..0feed49 100644 +--- a/tests/keyctl.c ++++ b/tests/keyctl.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/kill.c b/tests/kill.c +index cb884aa..fbe8d42 100644 +--- a/tests/kill.c ++++ b/tests/kill.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Fei Jie + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ksysent.c b/tests/ksysent.c +index 7e25def..13bcb0e 100644 +--- a/tests/ksysent.c ++++ b/tests/ksysent.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/libmmsg.c b/tests/libmmsg.c +index b0db26d..ea46fc0 100644 +--- a/tests/libmmsg.c ++++ b/tests/libmmsg.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/libsocketcall.c b/tests/libsocketcall.c +index 04d6710..7080652 100644 +--- a/tests/libsocketcall.c ++++ b/tests/libsocketcall.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/list_sigaction_signum.c b/tests/list_sigaction_signum.c +index 13a78c6..51668ee 100644 +--- a/tests/list_sigaction_signum.c ++++ b/tests/list_sigaction_signum.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/llseek.c b/tests/llseek.c +index e687e94..edf9c34 100644 +--- a/tests/llseek.c ++++ b/tests/llseek.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/localtime.c b/tests/localtime.c +index bae5486..652d3e6 100644 +--- a/tests/localtime.c ++++ b/tests/localtime.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/localtime.test b/tests/localtime.test +index d025b77..e2ce132 100755 +--- a/tests/localtime.test ++++ b/tests/localtime.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/lookup_dcookie.c b/tests/lookup_dcookie.c +index 986180c..241ca4a 100644 +--- a/tests/lookup_dcookie.c ++++ b/tests/lookup_dcookie.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/lseek.c b/tests/lseek.c +index 4428c4e..bd96623 100644 +--- a/tests/lseek.c ++++ b/tests/lseek.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/lstat.c b/tests/lstat.c +index 8441bf8..b12bbb9 100644 +--- a/tests/lstat.c ++++ b/tests/lstat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/lstat64.c b/tests/lstat64.c +index 500b60f..6b9cc18 100644 +--- a/tests/lstat64.c ++++ b/tests/lstat64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/lstatx.c b/tests/lstatx.c +index 8049bea..1f69a36 100644 +--- a/tests/lstatx.c ++++ b/tests/lstatx.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define TEST_SYSCALL_INVOKE(sample, pst) \ +diff --git a/tests/madvise.c b/tests/madvise.c +index bf9cd78..b9620fd 100644 +--- a/tests/madvise.c ++++ b/tests/madvise.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/match.awk b/tests/match.awk +index abfbae9..b4e7f7e 100644 +--- a/tests/match.awk ++++ b/tests/match.awk +@@ -3,27 +3,7 @@ + # Copyright (c) 2014-2015 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + # s[] is array of match strings + # r[] is array of match patterns +diff --git a/tests/mbind.c b/tests/mbind.c +index b054426..74e9969 100644 +--- a/tests/mbind.c ++++ b/tests/mbind.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/membarrier.c b/tests/membarrier.c +index 43f99f8..0e55497 100644 +--- a/tests/membarrier.c ++++ b/tests/membarrier.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/memfd_create.c b/tests/memfd_create.c +index 8334af8..29a744b 100644 +--- a/tests/memfd_create.c ++++ b/tests/memfd_create.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/migrate_pages.c b/tests/migrate_pages.c +index 4c303e3..e52ef78 100644 +--- a/tests/migrate_pages.c ++++ b/tests/migrate_pages.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mincore.c b/tests/mincore.c +index ae4eb42..d3d8553 100644 +--- a/tests/mincore.c ++++ b/tests/mincore.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mlock2.c b/tests/mlock2.c +index 71a2003..8154320 100644 +--- a/tests/mlock2.c ++++ b/tests/mlock2.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mlockall.c b/tests/mlockall.c +index 682d070..641e6b5 100644 +--- a/tests/mlockall.c ++++ b/tests/mlockall.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mmap.c b/tests/mmap.c +index e9f587e..1d2f025 100644 +--- a/tests/mmap.c ++++ b/tests/mmap.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mmap.test b/tests/mmap.test +index 7fa2c70..a47f0db 100755 +--- a/tests/mmap.test ++++ b/tests/mmap.test +@@ -7,27 +7,7 @@ + # Copyright (c) 2015-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/mmsg-silent.c b/tests/mmsg-silent.c +index 47d0a50..c56d258 100644 +--- a/tests/mmsg-silent.c ++++ b/tests/mmsg-silent.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mmsg.c b/tests/mmsg.c +index e00100a..f074e36 100644 +--- a/tests/mmsg.c ++++ b/tests/mmsg.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mmsg_name.c b/tests/mmsg_name.c +index c17b13d..49e1065 100644 +--- a/tests/mmsg_name.c ++++ b/tests/mmsg_name.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/modify_ldt.c b/tests/modify_ldt.c +index 2d527ac..02626be 100644 +--- a/tests/modify_ldt.c ++++ b/tests/modify_ldt.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mount.c b/tests/mount.c +index 2e58571..05bc310 100644 +--- a/tests/mount.c ++++ b/tests/mount.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/move_pages.c b/tests/move_pages.c +index 851a8c7..90d0553 100644 +--- a/tests/move_pages.c ++++ b/tests/move_pages.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mq.c b/tests/mq.c +index cf1b730..212b369 100644 +--- a/tests/mq.c ++++ b/tests/mq.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/mq_sendrecv.c b/tests/mq_sendrecv.c +index 03c786c..b673e5f 100644 +--- a/tests/mq_sendrecv.c ++++ b/tests/mq_sendrecv.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/msg_control.c b/tests/msg_control.c +index 01786d7..f64e76b 100644 +--- a/tests/msg_control.c ++++ b/tests/msg_control.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/msg_name.c b/tests/msg_name.c +index 9e98e4e..5b73025 100644 +--- a/tests/msg_name.c ++++ b/tests/msg_name.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nanosleep.c b/tests/nanosleep.c +index 8f9724e..ce24827 100644 +--- a/tests/nanosleep.c ++++ b/tests/nanosleep.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-accept-connect.c b/tests/net-accept-connect.c +index 0756c9b..326cd8c 100644 +--- a/tests/net-accept-connect.c ++++ b/tests/net-accept-connect.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2013-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-icmp_filter.c b/tests/net-icmp_filter.c +index 1dd1f21..de49f68 100644 +--- a/tests/net-icmp_filter.c ++++ b/tests/net-icmp_filter.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-sockaddr.c b/tests/net-sockaddr.c +index 22cbb26..a41b910 100644 +--- a/tests/net-sockaddr.c ++++ b/tests/net-sockaddr.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-y-unix.c b/tests/net-y-unix.c +index 847c735..e9d218b 100644 +--- a/tests/net-y-unix.c ++++ b/tests/net-y-unix.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-y-unix.test b/tests/net-y-unix.test +index fd3fd68..b84cefd 100755 +--- a/tests/net-y-unix.test ++++ b/tests/net-y-unix.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2016-2017 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/net-yy-inet.c b/tests/net-yy-inet.c +index b32d547..03264fa 100644 +--- a/tests/net-yy-inet.c ++++ b/tests/net-yy-inet.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-yy-inet.test b/tests/net-yy-inet.test +index 6b527db..a63d0a3 100755 +--- a/tests/net-yy-inet.test ++++ b/tests/net-yy-inet.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/net-yy-netlink.c b/tests/net-yy-netlink.c +index 8ccf5bc..f1395bd 100644 +--- a/tests/net-yy-netlink.c ++++ b/tests/net-yy-netlink.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Fabien Siron + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-yy-netlink.test b/tests/net-yy-netlink.test +index 3a07e45..c8a403a 100755 +--- a/tests/net-yy-netlink.test ++++ b/tests/net-yy-netlink.test +@@ -9,27 +9,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/net-yy-unix.c b/tests/net-yy-unix.c +index 40ac3a6..0380da3 100644 +--- a/tests/net-yy-unix.c ++++ b/tests/net-yy-unix.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/net-yy-unix.test b/tests/net-yy-unix.test +index 59323a4..08a32b0 100755 +--- a/tests/net-yy-unix.test ++++ b/tests/net-yy-unix.test +@@ -7,27 +7,7 @@ + # Copyright (c) 2014-2017 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/netlink_audit.c b/tests/netlink_audit.c +index 00ddc4f..744fbd5 100644 +--- a/tests/netlink_audit.c ++++ b/tests/netlink_audit.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 JingPiao Chen + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_crypto.c b/tests/netlink_crypto.c +index 5c3dc04..e2a5be0 100644 +--- a/tests/netlink_crypto.c ++++ b/tests/netlink_crypto.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_generic.c b/tests/netlink_generic.c +index cd9fbea..e1d4541 100644 +--- a/tests/netlink_generic.c ++++ b/tests/netlink_generic.c +@@ -1,27 +1,7 @@ + /* + * Copyright (c) 2017 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + /* This test case is based on netlink_selinux.c */ +diff --git a/tests/netlink_inet_diag.c b/tests/netlink_inet_diag.c +index 8b3d8af..4bed727 100644 +--- a/tests/netlink_inet_diag.c ++++ b/tests/netlink_inet_diag.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_kobject_uevent.c b/tests/netlink_kobject_uevent.c +index b28af49..17f3e1e 100644 +--- a/tests/netlink_kobject_uevent.c ++++ b/tests/netlink_kobject_uevent.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_netfilter.c b/tests/netlink_netfilter.c +index 2842e15..6f535d4 100644 +--- a/tests/netlink_netfilter.c ++++ b/tests/netlink_netfilter.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017, 2018 Chen Jingpiao + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_netlink_diag.c b/tests/netlink_netlink_diag.c +index a682f7c..818bfc7 100644 +--- a/tests/netlink_netlink_diag.c ++++ b/tests/netlink_netlink_diag.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_protocol.c b/tests/netlink_protocol.c +index 47f0e92..30a0a07 100644 +--- a/tests/netlink_protocol.c ++++ b/tests/netlink_protocol.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_route.c b/tests/netlink_route.c +index a3fbac9..9281e9a 100644 +--- a/tests/netlink_route.c ++++ b/tests/netlink_route.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_selinux.c b/tests/netlink_selinux.c +index 57cf8a5..85b5047 100644 +--- a/tests/netlink_selinux.c ++++ b/tests/netlink_selinux.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_sock_diag-v.sh b/tests/netlink_sock_diag-v.sh +index 0471ae3..df44440 100755 +--- a/tests/netlink_sock_diag-v.sh ++++ b/tests/netlink_sock_diag-v.sh +@@ -5,27 +5,7 @@ + # Copyright (c) 2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/netlink_sock_diag.c b/tests/netlink_sock_diag.c +index 880069f..522b718 100644 +--- a/tests/netlink_sock_diag.c ++++ b/tests/netlink_sock_diag.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_sock_diag.test b/tests/netlink_sock_diag.test +index 0cf380e..4c9d346 100755 +--- a/tests/netlink_sock_diag.test ++++ b/tests/netlink_sock_diag.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/netlink_unix_diag.c b/tests/netlink_unix_diag.c +index e150923..176f368 100644 +--- a/tests/netlink_unix_diag.c ++++ b/tests/netlink_unix_diag.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/netlink_xfrm.c b/tests/netlink_xfrm.c +index 862a9f6..9b4b379 100644 +--- a/tests/netlink_xfrm.c ++++ b/tests/netlink_xfrm.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 JingPiao Chen + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/newfstatat.c b/tests/newfstatat.c +index b501d88..89c1c62 100644 +--- a/tests/newfstatat.c ++++ b/tests/newfstatat.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_acct.c b/tests/nfnetlink_acct.c +index 52cff99..f831932 100644 +--- a/tests/nfnetlink_acct.c ++++ b/tests/nfnetlink_acct.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_cthelper.c b/tests/nfnetlink_cthelper.c +index 47fab76..95c03be 100644 +--- a/tests/nfnetlink_cthelper.c ++++ b/tests/nfnetlink_cthelper.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_ctnetlink.c b/tests/nfnetlink_ctnetlink.c +index a227f38..d6cd5b3 100644 +--- a/tests/nfnetlink_ctnetlink.c ++++ b/tests/nfnetlink_ctnetlink.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_ctnetlink_exp.c b/tests/nfnetlink_ctnetlink_exp.c +index aa17cd5..9c28587 100644 +--- a/tests/nfnetlink_ctnetlink_exp.c ++++ b/tests/nfnetlink_ctnetlink_exp.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_cttimeout.c b/tests/nfnetlink_cttimeout.c +index e66dc24..bb70096 100644 +--- a/tests/nfnetlink_cttimeout.c ++++ b/tests/nfnetlink_cttimeout.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_ipset.c b/tests/nfnetlink_ipset.c +index b0d4a7d..0c79308 100644 +--- a/tests/nfnetlink_ipset.c ++++ b/tests/nfnetlink_ipset.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_nft_compat.c b/tests/nfnetlink_nft_compat.c +index 072ee57..9d90bcd 100644 +--- a/tests/nfnetlink_nft_compat.c ++++ b/tests/nfnetlink_nft_compat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_nftables.c b/tests/nfnetlink_nftables.c +index 66e5fe9..8e66a54 100644 +--- a/tests/nfnetlink_nftables.c ++++ b/tests/nfnetlink_nftables.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_osf.c b/tests/nfnetlink_osf.c +index a6dbb7e..7fe446b 100644 +--- a/tests/nfnetlink_osf.c ++++ b/tests/nfnetlink_osf.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_queue.c b/tests/nfnetlink_queue.c +index 73ebd9a..8474bf7 100644 +--- a/tests/nfnetlink_queue.c ++++ b/tests/nfnetlink_queue.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nfnetlink_ulog.c b/tests/nfnetlink_ulog.c +index 31eb30f..3550656 100644 +--- a/tests/nfnetlink_ulog.c ++++ b/tests/nfnetlink_ulog.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr.c b/tests/nlattr.c +index 8556f68..2c5927b 100644 +--- a/tests/nlattr.c ++++ b/tests/nlattr.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_br_port_msg.c b/tests/nlattr_br_port_msg.c +index d339414..9a7c3f2 100644 +--- a/tests/nlattr_br_port_msg.c ++++ b/tests/nlattr_br_port_msg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_crypto_user_alg.c b/tests/nlattr_crypto_user_alg.c +index b8ceba6..ce2cf76 100644 +--- a/tests/nlattr_crypto_user_alg.c ++++ b/tests/nlattr_crypto_user_alg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_dcbmsg.c b/tests/nlattr_dcbmsg.c +index b6eb772..06efb28 100644 +--- a/tests/nlattr_dcbmsg.c ++++ b/tests/nlattr_dcbmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_fib_rule_hdr.c b/tests/nlattr_fib_rule_hdr.c +index 96ebadf..fee503c 100644 +--- a/tests/nlattr_fib_rule_hdr.c ++++ b/tests/nlattr_fib_rule_hdr.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifaddrlblmsg.c b/tests/nlattr_ifaddrlblmsg.c +index 53a928d..ce9d7a8 100644 +--- a/tests/nlattr_ifaddrlblmsg.c ++++ b/tests/nlattr_ifaddrlblmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifaddrmsg.c b/tests/nlattr_ifaddrmsg.c +index c71ebb1..578a50b 100644 +--- a/tests/nlattr_ifaddrmsg.c ++++ b/tests/nlattr_ifaddrmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifinfomsg.c b/tests/nlattr_ifinfomsg.c +index 71b1bab..eba1ca1 100644 +--- a/tests/nlattr_ifinfomsg.c ++++ b/tests/nlattr_ifinfomsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifla.h b/tests/nlattr_ifla.h +index 6989225..78d3f6f 100644 +--- a/tests/nlattr_ifla.h ++++ b/tests/nlattr_ifla.h +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifndef STRACE_TESTS_NLATTR_IFLA_H +diff --git a/tests/nlattr_ifla_af_spec.c b/tests/nlattr_ifla_af_spec.c +index 24f55af..4c57bf8 100644 +--- a/tests/nlattr_ifla_af_spec.c ++++ b/tests/nlattr_ifla_af_spec.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifla_brport.c b/tests/nlattr_ifla_brport.c +index 1968426..f8ef1ca 100644 +--- a/tests/nlattr_ifla_brport.c ++++ b/tests/nlattr_ifla_brport.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifla_linkinfo.c b/tests/nlattr_ifla_linkinfo.c +index 1bf1bef..8074cf2 100644 +--- a/tests/nlattr_ifla_linkinfo.c ++++ b/tests/nlattr_ifla_linkinfo.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifla_port.c b/tests/nlattr_ifla_port.c +index e6cb6a4..df2a2ef 100644 +--- a/tests/nlattr_ifla_port.c ++++ b/tests/nlattr_ifla_port.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ifla_xdp.c b/tests/nlattr_ifla_xdp.c +index 93149fa..e237595 100644 +--- a/tests/nlattr_ifla_xdp.c ++++ b/tests/nlattr_ifla_xdp.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_inet_diag_msg.c b/tests/nlattr_inet_diag_msg.c +index 5984ee2..97f5a95 100644 +--- a/tests/nlattr_inet_diag_msg.c ++++ b/tests/nlattr_inet_diag_msg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_inet_diag_req_compat.c b/tests/nlattr_inet_diag_req_compat.c +index 52fd53f..8cce46c 100644 +--- a/tests/nlattr_inet_diag_req_compat.c ++++ b/tests/nlattr_inet_diag_req_compat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_inet_diag_req_v2.c b/tests/nlattr_inet_diag_req_v2.c +index cf19c60..d4b9fba 100644 +--- a/tests/nlattr_inet_diag_req_v2.c ++++ b/tests/nlattr_inet_diag_req_v2.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_mdba_mdb_entry.c b/tests/nlattr_mdba_mdb_entry.c +index 61bded2..7ac89ff 100644 +--- a/tests/nlattr_mdba_mdb_entry.c ++++ b/tests/nlattr_mdba_mdb_entry.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_mdba_router_port.c b/tests/nlattr_mdba_router_port.c +index a6621ca..7ec9992 100644 +--- a/tests/nlattr_mdba_router_port.c ++++ b/tests/nlattr_mdba_router_port.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ndmsg.c b/tests/nlattr_ndmsg.c +index aa28a57..2dd82ce 100644 +--- a/tests/nlattr_ndmsg.c ++++ b/tests/nlattr_ndmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_ndtmsg.c b/tests/nlattr_ndtmsg.c +index d120059..c494218 100644 +--- a/tests/nlattr_ndtmsg.c ++++ b/tests/nlattr_ndtmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_netconfmsg.c b/tests/nlattr_netconfmsg.c +index f5f5993..52ded74 100644 +--- a/tests/nlattr_netconfmsg.c ++++ b/tests/nlattr_netconfmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_netlink_diag_msg.c b/tests/nlattr_netlink_diag_msg.c +index b598899..b5d71a6 100644 +--- a/tests/nlattr_netlink_diag_msg.c ++++ b/tests/nlattr_netlink_diag_msg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_nlmsgerr.c b/tests/nlattr_nlmsgerr.c +index 073fde2..75be9e7 100644 +--- a/tests/nlattr_nlmsgerr.c ++++ b/tests/nlattr_nlmsgerr.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_packet_diag_msg.c b/tests/nlattr_packet_diag_msg.c +index 016d052..00d616b 100644 +--- a/tests/nlattr_packet_diag_msg.c ++++ b/tests/nlattr_packet_diag_msg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_rtgenmsg.c b/tests/nlattr_rtgenmsg.c +index bac21ef..c17ab04 100644 +--- a/tests/nlattr_rtgenmsg.c ++++ b/tests/nlattr_rtgenmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_rtmsg.c b/tests/nlattr_rtmsg.c +index db02929..f4efa4c 100644 +--- a/tests/nlattr_rtmsg.c ++++ b/tests/nlattr_rtmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_smc_diag_msg.c b/tests/nlattr_smc_diag_msg.c +index 2e65ebd..9340ccf 100644 +--- a/tests/nlattr_smc_diag_msg.c ++++ b/tests/nlattr_smc_diag_msg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_tc_stats.c b/tests/nlattr_tc_stats.c +index 8003ed3..95b2c0b 100644 +--- a/tests/nlattr_tc_stats.c ++++ b/tests/nlattr_tc_stats.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_tca_stab.c b/tests/nlattr_tca_stab.c +index 9889050..d339dbc 100644 +--- a/tests/nlattr_tca_stab.c ++++ b/tests/nlattr_tca_stab.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_tcamsg.c b/tests/nlattr_tcamsg.c +index 43715d2..b8bd7e3 100644 +--- a/tests/nlattr_tcamsg.c ++++ b/tests/nlattr_tcamsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_tcmsg.c b/tests/nlattr_tcmsg.c +index da88a45..f76b2f8 100644 +--- a/tests/nlattr_tcmsg.c ++++ b/tests/nlattr_tcmsg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nlattr_unix_diag_msg.c b/tests/nlattr_unix_diag_msg.c +index 180b8cd..c157947 100644 +--- a/tests/nlattr_unix_diag_msg.c ++++ b/tests/nlattr_unix_diag_msg.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c +index 681fb31..ce40cf2 100644 +--- a/tests/nsyscalls.c ++++ b/tests/nsyscalls.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/old_mmap.c b/tests/old_mmap.c +index 07d572c..a7bd1ed 100644 +--- a/tests/old_mmap.c ++++ b/tests/old_mmap.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/oldfstat.c b/tests/oldfstat.c +index 353614c..74e4c65 100644 +--- a/tests/oldfstat.c ++++ b/tests/oldfstat.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/oldlstat.c b/tests/oldlstat.c +index 6f07531..8d6130d 100644 +--- a/tests/oldlstat.c ++++ b/tests/oldlstat.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/oldselect-efault.c b/tests/oldselect-efault.c +index 3c44334..378b9fc 100644 +--- a/tests/oldselect-efault.c ++++ b/tests/oldselect-efault.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/oldselect.c b/tests/oldselect.c +index 7f548f8..0af3554 100644 +--- a/tests/oldselect.c ++++ b/tests/oldselect.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/oldstat.c b/tests/oldstat.c +index ddacd24..b8cc666 100644 +--- a/tests/oldstat.c ++++ b/tests/oldstat.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/open.c b/tests/open.c +index fe486c5..43a3ae6 100644 +--- a/tests/open.c ++++ b/tests/open.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/openat.c b/tests/openat.c +index 8c97441..6c63f71 100644 +--- a/tests/openat.c ++++ b/tests/openat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/options-syntax.test b/tests/options-syntax.test +index 28762bc..5e43b3a 100755 +--- a/tests/options-syntax.test ++++ b/tests/options-syntax.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/syntax.sh" + +diff --git a/tests/osf_utimes.c b/tests/osf_utimes.c +index 7ac083e..440c919 100644 +--- a/tests/osf_utimes.c ++++ b/tests/osf_utimes.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/overflowuid.c b/tests/overflowuid.c +index a3c742b..b5313b0 100644 +--- a/tests/overflowuid.c ++++ b/tests/overflowuid.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2014-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pause.c b/tests/pause.c +index 8687362..77eeb6c 100644 +--- a/tests/pause.c ++++ b/tests/pause.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Fei Jie + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pc.c b/tests/pc.c +index f53acd4..6127ea1 100644 +--- a/tests/pc.c ++++ b/tests/pc.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pc.test b/tests/pc.test +index af09701..89f1e33 100755 +--- a/tests/pc.test ++++ b/tests/pc.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2015-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/perf_event_open.c b/tests/perf_event_open.c +index 17d3f22..ab8043f 100644 +--- a/tests/perf_event_open.c ++++ b/tests/perf_event_open.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/perf_event_open_nonverbose.c b/tests/perf_event_open_nonverbose.c +index b67715c..9cb432c 100644 +--- a/tests/perf_event_open_nonverbose.c ++++ b/tests/perf_event_open_nonverbose.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/personality.c b/tests/personality.c +index 5d84807..5169c1d 100644 +--- a/tests/personality.c ++++ b/tests/personality.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/pipe.c b/tests/pipe.c +index 3df2094..2b3e550 100644 +--- a/tests/pipe.c ++++ b/tests/pipe.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pipe2.c b/tests/pipe2.c +index 3a0e046..144140a 100644 +--- a/tests/pipe2.c ++++ b/tests/pipe2.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pipe_maxfd.c b/tests/pipe_maxfd.c +index a1343f9..5f9e474 100644 +--- a/tests/pipe_maxfd.c ++++ b/tests/pipe_maxfd.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pkey_alloc.c b/tests/pkey_alloc.c +index 4a0aa72..6a92be4 100644 +--- a/tests/pkey_alloc.c ++++ b/tests/pkey_alloc.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pkey_free.c b/tests/pkey_free.c +index 95a2ad2..9f1ba61 100644 +--- a/tests/pkey_free.c ++++ b/tests/pkey_free.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pkey_mprotect.c b/tests/pkey_mprotect.c +index 529abd1..af1fac6 100644 +--- a/tests/pkey_mprotect.c ++++ b/tests/pkey_mprotect.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/poll.c b/tests/poll.c +index 9624bd3..32719ac 100644 +--- a/tests/poll.c ++++ b/tests/poll.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ppoll.c b/tests/ppoll.c +index b33f959..e7a4474 100644 +--- a/tests/ppoll.c ++++ b/tests/ppoll.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-arg2-intptr.c b/tests/prctl-arg2-intptr.c +index 9cc3308..cea91f0 100644 +--- a/tests/prctl-arg2-intptr.c ++++ b/tests/prctl-arg2-intptr.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-dumpable.c b/tests/prctl-dumpable.c +index 52c1668..7740d52 100644 +--- a/tests/prctl-dumpable.c ++++ b/tests/prctl-dumpable.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-name.c b/tests/prctl-name.c +index 308c275..dbf4fc2 100644 +--- a/tests/prctl-name.c ++++ b/tests/prctl-name.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-no-args.c b/tests/prctl-no-args.c +index 496cd1a..3dd2fb5 100644 +--- a/tests/prctl-no-args.c ++++ b/tests/prctl-no-args.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-pdeathsig.c b/tests/prctl-pdeathsig.c +index ef56374..7e524b3 100644 +--- a/tests/prctl-pdeathsig.c ++++ b/tests/prctl-pdeathsig.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-seccomp-filter-v.c b/tests/prctl-seccomp-filter-v.c +index 7a65d89..9efc015 100644 +--- a/tests/prctl-seccomp-filter-v.c ++++ b/tests/prctl-seccomp-filter-v.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-seccomp-strict.c b/tests/prctl-seccomp-strict.c +index a78f817..a48b442 100644 +--- a/tests/prctl-seccomp-strict.c ++++ b/tests/prctl-seccomp-strict.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-securebits.c b/tests/prctl-securebits.c +index 741973a..4186912 100644 +--- a/tests/prctl-securebits.c ++++ b/tests/prctl-securebits.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-spec-inject.c b/tests/prctl-spec-inject.c +index 593c3a6..1247c3c 100644 +--- a/tests/prctl-spec-inject.c ++++ b/tests/prctl-spec-inject.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-spec-inject.test b/tests/prctl-spec-inject.test +index c8fbe97..c86fc20 100755 +--- a/tests/prctl-spec-inject.test ++++ b/tests/prctl-spec-inject.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/scno_tampering.sh" + +diff --git a/tests/prctl-tid_address.c b/tests/prctl-tid_address.c +index 609e549..1ff0482 100644 +--- a/tests/prctl-tid_address.c ++++ b/tests/prctl-tid_address.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prctl-tsc.c b/tests/prctl-tsc.c +index 0ddb380..8a206fd 100644 +--- a/tests/prctl-tsc.c ++++ b/tests/prctl-tsc.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pread64-pwrite64.c b/tests/pread64-pwrite64.c +index a182ab5..83cb9ba 100644 +--- a/tests/pread64-pwrite64.c ++++ b/tests/pread64-pwrite64.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/preadv-pwritev.c b/tests/preadv-pwritev.c +index 57a08ad..abbe63d 100644 +--- a/tests/preadv-pwritev.c ++++ b/tests/preadv-pwritev.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/preadv.c b/tests/preadv.c +index d5ad84f..03780a0 100644 +--- a/tests/preadv.c ++++ b/tests/preadv.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/preadv2-pwritev2.c b/tests/preadv2-pwritev2.c +index 7874b7a..d67702e 100644 +--- a/tests/preadv2-pwritev2.c ++++ b/tests/preadv2-pwritev2.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/print_maxfd.c b/tests/print_maxfd.c +index c3d4ea8..1c348f5 100644 +--- a/tests/print_maxfd.c ++++ b/tests/print_maxfd.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/print_time.c b/tests/print_time.c +index e259242..7fb8219 100644 +--- a/tests/print_time.c ++++ b/tests/print_time.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/print_user_desc.c b/tests/print_user_desc.c +index 2dac387..55f304c 100644 +--- a/tests/print_user_desc.c ++++ b/tests/print_user_desc.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printflags.c b/tests/printflags.c +index badc85d..c3b6d1f 100644 +--- a/tests/printflags.c ++++ b/tests/printflags.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2005-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printpath-umovestr-legacy.test b/tests/printpath-umovestr-legacy.test +index 15f57ed..e322c87 100755 +--- a/tests/printpath-umovestr-legacy.test ++++ b/tests/printpath-umovestr-legacy.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2017 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/scno_tampering.sh" + +diff --git a/tests/printpath-umovestr-peekdata.c b/tests/printpath-umovestr-peekdata.c +index 82f1035..a852eb9 100644 +--- a/tests/printpath-umovestr-peekdata.c ++++ b/tests/printpath-umovestr-peekdata.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printpath-umovestr-undumpable.c b/tests/printpath-umovestr-undumpable.c +index fba8f24..da86d6f 100644 +--- a/tests/printpath-umovestr-undumpable.c ++++ b/tests/printpath-umovestr-undumpable.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printpath-umovestr.c b/tests/printpath-umovestr.c +index 0d5955f..2782a98 100644 +--- a/tests/printpath-umovestr.c ++++ b/tests/printpath-umovestr.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printstr.c b/tests/printstr.c +index 030c1e4..cf75afb 100644 +--- a/tests/printstr.c ++++ b/tests/printstr.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printstrn-umoven-legacy.test b/tests/printstrn-umoven-legacy.test +index 3b2aa26..581b893 100755 +--- a/tests/printstrn-umoven-legacy.test ++++ b/tests/printstrn-umoven-legacy.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2017 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/scno_tampering.sh" + +diff --git a/tests/printstrn-umoven-peekdata.c b/tests/printstrn-umoven-peekdata.c +index 92a6e6a..46b0f00 100644 +--- a/tests/printstrn-umoven-peekdata.c ++++ b/tests/printstrn-umoven-peekdata.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printstrn-umoven-undumpable.c b/tests/printstrn-umoven-undumpable.c +index b23e220..4b16d92 100644 +--- a/tests/printstrn-umoven-undumpable.c ++++ b/tests/printstrn-umoven-undumpable.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printstrn-umoven.c b/tests/printstrn-umoven.c +index d63f7c5..b896476 100644 +--- a/tests/printstrn-umoven.c ++++ b/tests/printstrn-umoven.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/printxval.c b/tests/printxval.c +index 4fb61c8..7d91961 100644 +--- a/tests/printxval.c ++++ b/tests/printxval.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2005-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/prlimit64.c b/tests/prlimit64.c +index 1e65116..e120f11 100644 +--- a/tests/prlimit64.c ++++ b/tests/prlimit64.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/process_vm_readv_writev.c b/tests/process_vm_readv_writev.c +index 328dc9f..9309135 100644 +--- a/tests/process_vm_readv_writev.c ++++ b/tests/process_vm_readv_writev.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/pselect6.c b/tests/pselect6.c +index 0729808..0bcb795 100644 +--- a/tests/pselect6.c ++++ b/tests/pselect6.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + /* +diff --git a/tests/ptrace.c b/tests/ptrace.c +index 2ca9ceb..2af9891 100644 +--- a/tests/ptrace.c ++++ b/tests/ptrace.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/pwritev.c b/tests/pwritev.c +index 3c2bdb6..a1442ab 100644 +--- a/tests/pwritev.c ++++ b/tests/pwritev.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/qual_fault-exit_group.test b/tests/qual_fault-exit_group.test +index 34a2da5..32d8097 100755 +--- a/tests/qual_fault-exit_group.test ++++ b/tests/qual_fault-exit_group.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/scno_tampering.sh" + +diff --git a/tests/qual_fault-syntax.test b/tests/qual_fault-syntax.test +index 7f7a515..c4fd27b 100755 +--- a/tests/qual_fault-syntax.test ++++ b/tests/qual_fault-syntax.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2016-2018 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/qual_fault.c b/tests/qual_fault.c +index d5d78bc..63bbade 100644 +--- a/tests/qual_fault.c ++++ b/tests/qual_fault.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/qual_fault.test b/tests/qual_fault.test +index e166ffd..497e35e 100755 +--- a/tests/qual_fault.test ++++ b/tests/qual_fault.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/scno_tampering.sh" + +diff --git a/tests/qual_inject-error-signal.c b/tests/qual_inject-error-signal.c +index f4ccd82..8d1672c 100644 +--- a/tests/qual_inject-error-signal.c ++++ b/tests/qual_inject-error-signal.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/qual_inject-retval.c b/tests/qual_inject-retval.c +index ac9801e..ff8833a 100644 +--- a/tests/qual_inject-retval.c ++++ b/tests/qual_inject-retval.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Elvira Khabirova + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/qual_inject-signal.c b/tests/qual_inject-signal.c +index ff56a28..a348fb8 100644 +--- a/tests/qual_inject-signal.c ++++ b/tests/qual_inject-signal.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/qual_inject-syntax.test b/tests/qual_inject-syntax.test +index a53b01c..5324534 100755 +--- a/tests/qual_inject-syntax.test ++++ b/tests/qual_inject-syntax.test +@@ -5,27 +5,7 @@ + # Copyright (c) 2016-2018 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/qual_signal.c b/tests/qual_signal.c +index 106dabe..4da66b9 100644 +--- a/tests/qual_signal.c ++++ b/tests/qual_signal.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/qual_signal.test b/tests/qual_signal.test +index 52812b7..516bec1 100755 +--- a/tests/qual_signal.test ++++ b/tests/qual_signal.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/qualify_personality.sh b/tests/qualify_personality.sh +index 7b19a2e..d57314f 100644 +--- a/tests/qualify_personality.sh ++++ b/tests/qualify_personality.sh +@@ -5,27 +5,7 @@ + # Copyright (c) 2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/quotactl-xfs.c b/tests/quotactl-xfs.c +index 1129891..1fae566 100644 +--- a/tests/quotactl-xfs.c ++++ b/tests/quotactl-xfs.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/quotactl.c b/tests/quotactl.c +index 7661397..0974741 100644 +--- a/tests/quotactl.c ++++ b/tests/quotactl.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/quotactl.h b/tests/quotactl.h +index cb9e4d2..e624c6a 100644 +--- a/tests/quotactl.h ++++ b/tests/quotactl.h +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifndef STRACE_TESTS_QUOTACTL_H +diff --git a/tests/read-write.c b/tests/read-write.c +index 6a978b3..66d0242 100644 +--- a/tests/read-write.c ++++ b/tests/read-write.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/readahead.c b/tests/readahead.c +index a3e5cb8..7e43ab9 100644 +--- a/tests/readahead.c ++++ b/tests/readahead.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/readdir.c b/tests/readdir.c +index a47856f..c268cf6 100644 +--- a/tests/readdir.c ++++ b/tests/readdir.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/readlink.c b/tests/readlink.c +index 4ddf5fa..a271500 100644 +--- a/tests/readlink.c ++++ b/tests/readlink.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/readlinkat.c b/tests/readlinkat.c +index 4d3b516..6200374 100644 +--- a/tests/readlinkat.c ++++ b/tests/readlinkat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/readv.c b/tests/readv.c +index cae4e6b..185d12c 100644 +--- a/tests/readv.c ++++ b/tests/readv.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/readv.test b/tests/readv.test +index d75e370..020a4e0 100755 +--- a/tests/readv.test ++++ b/tests/readv.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/recvfrom.c b/tests/recvfrom.c +index b12454d..1c06d21 100644 +--- a/tests/recvfrom.c ++++ b/tests/recvfrom.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define TEST_SYSCALL_NAME recvfrom +diff --git a/tests/recvmmsg-timeout.c b/tests/recvmmsg-timeout.c +index 64ce16a..5e74d88 100644 +--- a/tests/recvmmsg-timeout.c ++++ b/tests/recvmmsg-timeout.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/recvmsg.c b/tests/recvmsg.c +index d2a67d4..b91a825 100644 +--- a/tests/recvmsg.c ++++ b/tests/recvmsg.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/redirect-fds.c b/tests/redirect-fds.c +index fc1073a..f9afa96 100644 +--- a/tests/redirect-fds.c ++++ b/tests/redirect-fds.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/redirect-fds.test b/tests/redirect-fds.test +index 3da6942..db32ff7 100755 +--- a/tests/redirect-fds.test ++++ b/tests/redirect-fds.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/redirect.test b/tests/redirect.test +index d70754e..3f6990b 100755 +--- a/tests/redirect.test ++++ b/tests/redirect.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/remap_file_pages.c b/tests/remap_file_pages.c +index f861b30..a510560 100644 +--- a/tests/remap_file_pages.c ++++ b/tests/remap_file_pages.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/renameat2.c b/tests/renameat2.c +index 33f8898..edf1449 100644 +--- a/tests/renameat2.c ++++ b/tests/renameat2.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/request_key.c b/tests/request_key.c +index ce9b724..20ae12f 100644 +--- a/tests/request_key.c ++++ b/tests/request_key.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/restart_syscall.c b/tests/restart_syscall.c +index d06f9c2..6bf1a52 100644 +--- a/tests/restart_syscall.c ++++ b/tests/restart_syscall.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/riscv_flush_icache.c b/tests/riscv_flush_icache.c +index 8aaeda5..27abf75 100644 +--- a/tests/riscv_flush_icache.c ++++ b/tests/riscv_flush_icache.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/rt_sigaction.awk b/tests/rt_sigaction.awk +index 9fb3ed5..9c74af1 100644 +--- a/tests/rt_sigaction.awk ++++ b/tests/rt_sigaction.awk +@@ -5,27 +5,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + BEGIN { + n1[1][1] = n2[1][1] = "SIG_IGN" +diff --git a/tests/rt_sigaction.c b/tests/rt_sigaction.c +index 9c367b2..f5ec7b2 100644 +--- a/tests/rt_sigaction.c ++++ b/tests/rt_sigaction.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/rt_sigpending.c b/tests/rt_sigpending.c +index b57921f..609d885 100644 +--- a/tests/rt_sigpending.c ++++ b/tests/rt_sigpending.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/rt_sigprocmask.c b/tests/rt_sigprocmask.c +index c38ac94..34baeff 100644 +--- a/tests/rt_sigprocmask.c ++++ b/tests/rt_sigprocmask.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/rt_sigqueueinfo.c b/tests/rt_sigqueueinfo.c +index 9681281..a6aae29 100644 +--- a/tests/rt_sigqueueinfo.c ++++ b/tests/rt_sigqueueinfo.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/rt_sigreturn.c b/tests/rt_sigreturn.c +index 40d1589..47c3dab 100644 +--- a/tests/rt_sigreturn.c ++++ b/tests/rt_sigreturn.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/rt_sigsuspend.c b/tests/rt_sigsuspend.c +index 422ec19..1713d85 100644 +--- a/tests/rt_sigsuspend.c ++++ b/tests/rt_sigsuspend.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/rt_sigtimedwait.c b/tests/rt_sigtimedwait.c +index 40544c7..88037c9 100644 +--- a/tests/rt_sigtimedwait.c ++++ b/tests/rt_sigtimedwait.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/rt_tgsigqueueinfo.c b/tests/rt_tgsigqueueinfo.c +index 3cff35a..edd04b8 100644 +--- a/tests/rt_tgsigqueueinfo.c ++++ b/tests/rt_tgsigqueueinfo.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/run_expect_termsig.c b/tests/run_expect_termsig.c +index de81ccb..3fd51ee 100644 +--- a/tests/run_expect_termsig.c ++++ b/tests/run_expect_termsig.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/s390_guarded_storage.c b/tests/s390_guarded_storage.c +index 97475bb..a84c141 100644 +--- a/tests/s390_guarded_storage.c ++++ b/tests/s390_guarded_storage.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/s390_pci_mmio_read_write.c b/tests/s390_pci_mmio_read_write.c +index 9383d6e..0cd160c 100644 +--- a/tests/s390_pci_mmio_read_write.c ++++ b/tests/s390_pci_mmio_read_write.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/s390_runtime_instr.c b/tests/s390_runtime_instr.c +index 5d368a1..21e4238 100644 +--- a/tests/s390_runtime_instr.c ++++ b/tests/s390_runtime_instr.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/s390_sthyi.c b/tests/s390_sthyi.c +index b7066e5..5186fdc 100644 +--- a/tests/s390_sthyi.c ++++ b/tests/s390_sthyi.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sched_xetaffinity.c b/tests/sched_xetaffinity.c +index 41a1820..2227718 100644 +--- a/tests/sched_xetaffinity.c ++++ b/tests/sched_xetaffinity.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sched_xetattr.c b/tests/sched_xetattr.c +index 73cd5ec..3440876 100644 +--- a/tests/sched_xetattr.c ++++ b/tests/sched_xetattr.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/scm_rights-fd.test b/tests/scm_rights-fd.test +index 279666e..2387bff 100755 +--- a/tests/scm_rights-fd.test ++++ b/tests/scm_rights-fd.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2014-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/scm_rights.c b/tests/scm_rights.c +index 632cf91..724ce30 100644 +--- a/tests/scm_rights.c ++++ b/tests/scm_rights.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/scno_tampering.sh b/tests/scno_tampering.sh +index bae8a07..8c921df 100755 +--- a/tests/scno_tampering.sh ++++ b/tests/scno_tampering.sh +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/seccomp-filter-v.c b/tests/seccomp-filter-v.c +index 38def28..a6fb078 100644 +--- a/tests/seccomp-filter-v.c ++++ b/tests/seccomp-filter-v.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/seccomp-filter.c b/tests/seccomp-filter.c +index 53f8363..77caba7 100644 +--- a/tests/seccomp-filter.c ++++ b/tests/seccomp-filter.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/seccomp-strict.c b/tests/seccomp-strict.c +index 237b0ec..4e1a5e3 100644 +--- a/tests/seccomp-strict.c ++++ b/tests/seccomp-strict.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/seccomp_get_action_avail.c b/tests/seccomp_get_action_avail.c +index ed231e1..2677023 100644 +--- a/tests/seccomp_get_action_avail.c ++++ b/tests/seccomp_get_action_avail.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/select.c b/tests/select.c +index b5ff259..f41e9f2 100644 +--- a/tests/select.c ++++ b/tests/select.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sendfile.c b/tests/sendfile.c +index b86565b..03b8849 100644 +--- a/tests/sendfile.c ++++ b/tests/sendfile.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sendfile64.c b/tests/sendfile64.c +index 4c4da6d..8596399 100644 +--- a/tests/sendfile64.c ++++ b/tests/sendfile64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/set_mempolicy.c b/tests/set_mempolicy.c +index 96ad7db..4670371 100644 +--- a/tests/set_mempolicy.c ++++ b/tests/set_mempolicy.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/set_ptracer_any.c b/tests/set_ptracer_any.c +index 3c11296..747359c 100644 +--- a/tests/set_ptracer_any.c ++++ b/tests/set_ptracer_any.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2013-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/set_sigblock.c b/tests/set_sigblock.c +index 4786322..4d00626 100644 +--- a/tests/set_sigblock.c ++++ b/tests/set_sigblock.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/set_sigign.c b/tests/set_sigign.c +index 0319fed..7fcb498 100644 +--- a/tests/set_sigign.c ++++ b/tests/set_sigign.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/setfsugid.c b/tests/setfsugid.c +index 7484db5..a1f4ede 100644 +--- a/tests/setfsugid.c ++++ b/tests/setfsugid.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/setgroups.c b/tests/setgroups.c +index a2851be..a47f102 100644 +--- a/tests/setgroups.c ++++ b/tests/setgroups.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifdef __NR_setgroups32 +diff --git a/tests/sethostname.c b/tests/sethostname.c +index e1b2f06..3a31bb1 100644 +--- a/tests/sethostname.c ++++ b/tests/sethostname.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/setns.c b/tests/setns.c +index 54a1531..38509b6 100644 +--- a/tests/setns.c ++++ b/tests/setns.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/setresugid.c b/tests/setresugid.c +index 711bd31..177583d 100644 +--- a/tests/setresugid.c ++++ b/tests/setresugid.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/setreugid.c b/tests/setreugid.c +index 38c80d5..a11a4cb 100644 +--- a/tests/setreugid.c ++++ b/tests/setreugid.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/setrlimit.c b/tests/setrlimit.c +index e93c8e3..ac622a1 100644 +--- a/tests/setrlimit.c ++++ b/tests/setrlimit.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/setugid.c b/tests/setugid.c +index 6ceec7f..b09cacb 100644 +--- a/tests/setugid.c ++++ b/tests/setugid.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/sigaction.c b/tests/sigaction.c +index 58ddda9..9d73baf 100644 +--- a/tests/sigaction.c ++++ b/tests/sigaction.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/siginfo.c b/tests/siginfo.c +index 2ecb13f..f85f7af 100644 +--- a/tests/siginfo.c ++++ b/tests/siginfo.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/signal.c b/tests/signal.c +index edbc3d2..f0ee892 100644 +--- a/tests/signal.c ++++ b/tests/signal.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/signal_receive.c b/tests/signal_receive.c +index a464b8c..ad3b4eb 100644 +--- a/tests/signal_receive.c ++++ b/tests/signal_receive.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/signalfd4.c b/tests/signalfd4.c +index 4391b92..f9a0895 100644 +--- a/tests/signalfd4.c ++++ b/tests/signalfd4.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sigpending.c b/tests/sigpending.c +index 0ce4b21..0378647 100644 +--- a/tests/sigpending.c ++++ b/tests/sigpending.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sigprocmask.c b/tests/sigprocmask.c +index 92a34d7..6c14218 100644 +--- a/tests/sigprocmask.c ++++ b/tests/sigprocmask.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sigreturn.c b/tests/sigreturn.c +index ff9a59f..ae68cab 100644 +--- a/tests/sigreturn.c ++++ b/tests/sigreturn.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sigsuspend.c b/tests/sigsuspend.c +index dac6890..dca9d9e 100644 +--- a/tests/sigsuspend.c ++++ b/tests/sigsuspend.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sleep.c b/tests/sleep.c +index f4bce3c..69919c3 100644 +--- a/tests/sleep.c ++++ b/tests/sleep.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/so_linger.c b/tests/so_linger.c +index bfc27a3..b10fa06 100644 +--- a/tests/so_linger.c ++++ b/tests/so_linger.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017-2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/so_peercred.c b/tests/so_peercred.c +index e4fab6d..151bb17 100644 +--- a/tests/so_peercred.c ++++ b/tests/so_peercred.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sock_filter-v.c b/tests/sock_filter-v.c +index 6829786..ac48364 100644 +--- a/tests/sock_filter-v.c ++++ b/tests/sock_filter-v.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/socketcall.c b/tests/socketcall.c +index 4fe1ea3..093536c 100644 +--- a/tests/socketcall.c ++++ b/tests/socketcall.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sockname.c b/tests/sockname.c +index bba9a89..cac4f4e 100644 +--- a/tests/sockname.c ++++ b/tests/sockname.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sockopt-sol_netlink.c b/tests/sockopt-sol_netlink.c +index 066920c..c6b1649 100644 +--- a/tests/sockopt-sol_netlink.c ++++ b/tests/sockopt-sol_netlink.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/splice.c b/tests/splice.c +index cf07c80..f37a452 100644 +--- a/tests/splice.c ++++ b/tests/splice.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sprintrc.c b/tests/sprintrc.c +index 7423afb..e422499 100644 +--- a/tests/sprintrc.c ++++ b/tests/sprintrc.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/stat.c b/tests/stat.c +index 79e9175..d440e62 100644 +--- a/tests/stat.c ++++ b/tests/stat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/stat64.c b/tests/stat64.c +index 74927de..0e00bdf 100644 +--- a/tests/stat64.c ++++ b/tests/stat64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/statfs.c b/tests/statfs.c +index 6032a66..bb1bf55 100644 +--- a/tests/statfs.c ++++ b/tests/statfs.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/statfs64.c b/tests/statfs64.c +index f46e767..c5d1f8c 100644 +--- a/tests/statfs64.c ++++ b/tests/statfs64.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/statx.c b/tests/statx.c +index 816b7eb..3f29c8a 100644 +--- a/tests/statx.c ++++ b/tests/statx.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/strace-k.test b/tests/strace-k.test +index fb1e2b3..43c07d7 100755 +--- a/tests/strace-k.test ++++ b/tests/strace-k.test +@@ -7,27 +7,7 @@ + # Copyright (c) 2014-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/sxetmask.c b/tests/sxetmask.c +index 0ede9ad..828153f 100644 +--- a/tests/sxetmask.c ++++ b/tests/sxetmask.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sync_file_range.c b/tests/sync_file_range.c +index 67d31a8..e6e8368 100644 +--- a/tests/sync_file_range.c ++++ b/tests/sync_file_range.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/sync_file_range2.c b/tests/sync_file_range2.c +index 6ce7db2..80297e1 100644 +--- a/tests/sync_file_range2.c ++++ b/tests/sync_file_range2.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/syntax.sh b/tests/syntax.sh +index b1c8fdc..cd8cd7a 100644 +--- a/tests/syntax.sh ++++ b/tests/syntax.sh +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/sysinfo.c b/tests/sysinfo.c +index b4b348c..1a38bee 100644 +--- a/tests/sysinfo.c ++++ b/tests/sysinfo.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/tail_alloc.c b/tests/tail_alloc.c +index 08081d4..00921d2 100644 +--- a/tests/tail_alloc.c ++++ b/tests/tail_alloc.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/tee.c b/tests/tee.c +index 66d1c94..efc7ff7 100644 +--- a/tests/tee.c ++++ b/tests/tee.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/test_nlattr.h b/tests/test_nlattr.h +index 9038c0e..8b8c66b 100644 +--- a/tests/test_nlattr.h ++++ b/tests/test_nlattr.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/test_printpath.c b/tests/test_printpath.c +index c485a26..e341e38 100644 +--- a/tests/test_printpath.c ++++ b/tests/test_printpath.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/test_printstrn.c b/tests/test_printstrn.c +index 7312971..09c438d 100644 +--- a/tests/test_printstrn.c ++++ b/tests/test_printstrn.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/test_ucopy.c b/tests/test_ucopy.c +index 09f809a..78d393b 100644 +--- a/tests/test_ucopy.c ++++ b/tests/test_ucopy.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/tests.h b/tests/tests.h +index 248e341..3c2ec37 100644 +--- a/tests/tests.h ++++ b/tests/tests.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifndef STRACE_TESTS_H +diff --git a/tests/threads-execve.c b/tests/threads-execve.c +index 4eb334f..52084e8 100644 +--- a/tests/threads-execve.c ++++ b/tests/threads-execve.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/threads-execve.test b/tests/threads-execve.test +index 02c8924..d4cab89 100755 +--- a/tests/threads-execve.test ++++ b/tests/threads-execve.test +@@ -6,27 +6,7 @@ + # Copyright (c) 2016-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + +diff --git a/tests/time.c b/tests/time.c +index c329a79..b8cee04 100644 +--- a/tests/time.c ++++ b/tests/time.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/timer_create.c b/tests/timer_create.c +index 1a25962..7603ed6 100644 +--- a/tests/timer_create.c ++++ b/tests/timer_create.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/timer_xettime.c b/tests/timer_xettime.c +index aacd770..3f35b99 100644 +--- a/tests/timer_xettime.c ++++ b/tests/timer_xettime.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/timerfd_xettime.c b/tests/timerfd_xettime.c +index 1e8a23a..7204e0d 100644 +--- a/tests/timerfd_xettime.c ++++ b/tests/timerfd_xettime.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/times.c b/tests/times.c +index e2db4e2..dd25da7 100644 +--- a/tests/times.c ++++ b/tests/times.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + /** +diff --git a/tests/tprintf.c b/tests/tprintf.c +index a759d8a..ffd039b 100644 +--- a/tests/tprintf.c ++++ b/tests/tprintf.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/truncate.c b/tests/truncate.c +index d952933..d740227 100644 +--- a/tests/truncate.c ++++ b/tests/truncate.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/truncate64.c b/tests/truncate64.c +index 8c29ea8..a0983eb 100644 +--- a/tests/truncate64.c ++++ b/tests/truncate64.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/uio.c b/tests/uio.c +index c02c816..fdaa277 100644 +--- a/tests/uio.c ++++ b/tests/uio.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/umode_t.c b/tests/umode_t.c +index dcd1514..a6070ec 100644 +--- a/tests/umode_t.c ++++ b/tests/umode_t.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/umount.c b/tests/umount.c +index eda7ae5..b6d8dbd 100644 +--- a/tests/umount.c ++++ b/tests/umount.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/umount2.c b/tests/umount2.c +index 1a6d845..45cb762 100644 +--- a/tests/umount2.c ++++ b/tests/umount2.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/umoven-illptr.c b/tests/umoven-illptr.c +index 4deee16..04889f3 100644 +--- a/tests/umoven-illptr.c ++++ b/tests/umoven-illptr.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/umovestr-illptr.c b/tests/umovestr-illptr.c +index dea6885..016d54a 100644 +--- a/tests/umovestr-illptr.c ++++ b/tests/umovestr-illptr.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/umovestr.c b/tests/umovestr.c +index 95fccb6..c595bf6 100644 +--- a/tests/umovestr.c ++++ b/tests/umovestr.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/umovestr2.c b/tests/umovestr2.c +index b2c63d8..26617df 100644 +--- a/tests/umovestr2.c ++++ b/tests/umovestr2.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/umovestr3.c b/tests/umovestr3.c +index 74f0e93..524ee33 100644 +--- a/tests/umovestr3.c ++++ b/tests/umovestr3.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/unblock_reset_raise.c b/tests/unblock_reset_raise.c +index 4182f12..ece24bc 100644 +--- a/tests/unblock_reset_raise.c ++++ b/tests/unblock_reset_raise.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/unix-pair-send-recv.c b/tests/unix-pair-send-recv.c +index d4ac0d2..808d71e 100644 +--- a/tests/unix-pair-send-recv.c ++++ b/tests/unix-pair-send-recv.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/unix-pair-sendto-recvfrom.c b/tests/unix-pair-sendto-recvfrom.c +index 675fc07..f641005 100644 +--- a/tests/unix-pair-sendto-recvfrom.c ++++ b/tests/unix-pair-sendto-recvfrom.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/unshare.c b/tests/unshare.c +index 5aedde4..3e41ffa 100644 +--- a/tests/unshare.c ++++ b/tests/unshare.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Eugene Syromyatnikov + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/userfaultfd.c b/tests/userfaultfd.c +index 60432fa..2668986 100644 +--- a/tests/userfaultfd.c ++++ b/tests/userfaultfd.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/ustat.c b/tests/ustat.c +index 3341c70..0fb1075 100644 +--- a/tests/ustat.c ++++ b/tests/ustat.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 JingPiao Chen + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/utime.c b/tests/utime.c +index 03e3958..c87f9ed 100644 +--- a/tests/utime.c ++++ b/tests/utime.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/utimensat.c b/tests/utimensat.c +index ddfd360..d2264df 100644 +--- a/tests/utimensat.c ++++ b/tests/utimensat.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/utimes.c b/tests/utimes.c +index 4bef1a6..06f5596 100644 +--- a/tests/utimes.c ++++ b/tests/utimes.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/vfork-f.c b/tests/vfork-f.c +index b14e4b4..236abe7 100644 +--- a/tests/vfork-f.c ++++ b/tests/vfork-f.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/vmsplice.c b/tests/vmsplice.c +index 6058569..c339953 100644 +--- a/tests/vmsplice.c ++++ b/tests/vmsplice.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/wait4.c b/tests/wait4.c +index ab0c7a4..1ad7bc4 100644 +--- a/tests/wait4.c ++++ b/tests/wait4.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/waitid.c b/tests/waitid.c +index 26f5b86..607e045 100644 +--- a/tests/waitid.c ++++ b/tests/waitid.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/waitpid.c b/tests/waitpid.c +index 2e22e24..e344937 100644 +--- a/tests/waitpid.c ++++ b/tests/waitpid.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/xattr.c b/tests/xattr.c +index 3bd87cc..c781cfd 100644 +--- a/tests/xattr.c ++++ b/tests/xattr.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/xchownx.c b/tests/xchownx.c +index beca206..a78459b 100644 +--- a/tests/xchownx.c ++++ b/tests/xchownx.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/xet_robust_list.c b/tests/xet_robust_list.c +index a612b92..5750472 100644 +--- a/tests/xet_robust_list.c ++++ b/tests/xet_robust_list.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/xet_thread_area_x86.c b/tests/xet_thread_area_x86.c +index d5be69f..a1efd31 100644 +--- a/tests/xet_thread_area_x86.c ++++ b/tests/xet_thread_area_x86.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/xetitimer.c b/tests/xetitimer.c +index f9cfe0b..80c81a1 100644 +--- a/tests/xetitimer.c ++++ b/tests/xetitimer.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/xetpgid.c b/tests/xetpgid.c +index 0efffcb..42005ab 100644 +--- a/tests/xetpgid.c ++++ b/tests/xetpgid.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/xettimeofday.c b/tests/xettimeofday.c +index 05ec625..9c81126 100644 +--- a/tests/xettimeofday.c ++++ b/tests/xettimeofday.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +diff --git a/tests/xgetrlimit.c b/tests/xgetrlimit.c +index 78d9cb9..6564765 100644 +--- a/tests/xgetrlimit.c ++++ b/tests/xgetrlimit.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/xselect.c b/tests/xselect.c +index b1e3766..f6048f2 100644 +--- a/tests/xselect.c ++++ b/tests/xselect.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + /* +diff --git a/tests/xstatfs.c b/tests/xstatfs.c +index 26c43de..7381490 100644 +--- a/tests/xstatfs.c ++++ b/tests/xstatfs.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define SYSCALL_INVOKE(file, desc, ptr, size) \ +diff --git a/tests/xstatfs64.c b/tests/xstatfs64.c +index 8f50de2..f8122fe 100644 +--- a/tests/xstatfs64.c ++++ b/tests/xstatfs64.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #define SYSCALL_INVOKE(file, desc, ptr, size) \ +diff --git a/tests/xstatfsx.c b/tests/xstatfsx.c +index 33254dd..b82afff 100644 +--- a/tests/xstatfsx.c ++++ b/tests/xstatfsx.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include +diff --git a/tests/xstatx.c b/tests/xstatx.c +index 65fbad4..002a3e1 100644 +--- a/tests/xstatx.c ++++ b/tests/xstatx.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #if defined HAVE_FTRUNCATE && defined HAVE_FUTIMENS +diff --git a/tests/xutimes.c b/tests/xutimes.c +index 23728a1..9f972ec 100644 +--- a/tests/xutimes.c ++++ b/tests/xutimes.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #ifndef TEST_SYSCALL_NR +diff --git a/tests/zeroargc.c b/tests/zeroargc.c +index 05d47dc..5e7b8e2 100644 +--- a/tests/zeroargc.c ++++ b/tests/zeroargc.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +-- +2.1.4 + diff --git a/SOURCES/0014-Change-the-license-of-strace-to-LGPL-2.1-or-later.patch b/SOURCES/0014-Change-the-license-of-strace-to-LGPL-2.1-or-later.patch new file mode 100644 index 0000000..f09ce26 --- /dev/null +++ b/SOURCES/0014-Change-the-license-of-strace-to-LGPL-2.1-or-later.patch @@ -0,0 +1,11500 @@ +From eceb607922acfd01c72f6822c5a0892dcfb17b1f Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Mon, 10 Dec 2018 00:00:00 +0000 +Subject: [PATCH 14/27] Change the license of strace to LGPL-2.1-or-later + +strace is now provided under the terms of the GNU Lesser General +Public License version 2.1 or later, see COPYING for more details. + +strace test suite is now provided under the terms of the GNU General +Public License version 2 or later, see tests/COPYING for more details. + +Conflicts: + Makefile.am + nbd_ioctl.c + print_kernel_version.c + random_ioctl.c + +Skipped files (not present in dist tarball): + README.md + dist/README + m4/gen_bpf_attr_m4.sh + maint/* + +--- + COPYING | 30 +-- + LGPL-2.1-or-later | 501 ++++++++++++++++++++++++++++++++++++ + Makefile.am | 23 +- + README.md | 3 +- + affinity.c | 22 +- + aio.c | 22 +- + alpha.c | 22 +- + basic_filters.c | 22 +- + bind.c | 22 +- + bjm.c | 22 +- + block.c | 22 +- + bpf.c | 22 +- + bpf_attr.h | 22 +- + bpf_filter.c | 22 +- + bpf_filter.h | 22 +- + bpf_seccomp_filter.c | 22 +- + bpf_sock_filter.c | 22 +- + btrfs.c | 22 +- + cacheflush.c | 22 +- + capability.c | 22 +- + clone.c | 22 +- + configure.ac | 22 +- + copy_file_range.c | 22 +- + count.c | 22 +- + debian/copyright | 30 +-- + defs.h | 22 +- + delay.c | 22 +- + delay.h | 22 +- + desc.c | 22 +- + dirent.c | 22 +- + dirent64.c | 22 +- + dist/README | 6 +- + dm.c | 22 +- + dyxlat.c | 22 +- + epoll.c | 22 +- + error_prints.c | 22 +- + error_prints.h | 22 +- + evdev.c | 22 +- + evdev_mpers.c | 22 +- + eventfd.c | 22 +- + execve.c | 22 +- + f_owner_ex.h | 22 +- + fadvise.c | 22 +- + fanotify.c | 22 +- + fcntl.c | 22 +- + fetch_bpf_fprog.c | 22 +- + fetch_indirect_syscall_args.c | 22 +- + fetch_struct_flock.c | 22 +- + fetch_struct_mmsghdr.c | 22 +- + fetch_struct_msghdr.c | 22 +- + fetch_struct_stat.c | 22 +- + fetch_struct_stat64.c | 22 +- + fetch_struct_statfs.c | 22 +- + file_handle.c | 22 +- + file_ioctl.c | 22 +- + filter.h | 22 +- + filter_qualify.c | 22 +- + flock.c | 22 +- + flock.h | 22 +- + fs_x_ioctl.c | 22 +- + futex.c | 22 +- + gcc_compat.h | 22 +- + gen_bpf_attr_check.sh | 22 +- + get_robust_list.c | 22 +- + hdio.c | 22 +- + inotify.c | 22 +- + inotify_ioctl.c | 22 +- + io.c | 22 +- + ioctl.c | 22 +- + ioctl_iocdef.c | 22 +- + ioctlsort.c | 22 +- + ioprio.c | 22 +- + ipc.c | 22 +- + ipc_defs.h | 22 +- + ipc_msg.c | 22 +- + ipc_msgctl.c | 22 +- + ipc_sem.c | 22 +- + ipc_shm.c | 22 +- + ipc_shmctl.c | 22 +- + kcmp.c | 22 +- + kernel_types.h | 22 +- + kexec.c | 22 +- + keyctl.c | 22 +- + kvm.c | 22 +- + largefile_wrappers.h | 22 +- + ldt.c | 22 +- + link.c | 22 +- + linux/aarch64/arch_rt_sigframe.c | 22 +- + linux/aarch64/raw_syscall.h | 22 +- + linux/alpha/arch_rt_sigframe.c | 22 +- + linux/alpha/raw_syscall.h | 22 +- + linux/alpha/syscallent.h | 22 +- + linux/arc/raw_syscall.h | 22 +- + linux/arm/get_scno.c | 22 +- + linux/arm/raw_syscall.h | 22 +- + linux/arm/syscallent.h | 22 +- + linux/avr32/raw_syscall.h | 22 +- + linux/avr32/syscallent.h | 22 +- + linux/bfin/arch_rt_sigframe.c | 22 +- + linux/bfin/raw_syscall.h | 22 +- + linux/bfin/rt_sigframe.h | 22 +- + linux/bfin/syscallent.h | 22 +- + linux/dummy.h | 22 +- + linux/hppa/arch_rt_sigframe.c | 22 +- + linux/hppa/raw_syscall.h | 22 +- + linux/hppa/rt_sigframe.h | 22 +- + linux/i386/arch_rt_sigframe.c | 22 +- + linux/i386/raw_syscall.h | 22 +- + linux/i386/rt_sigframe.h | 22 +- + linux/i386/syscallent.h | 22 +- + linux/ia64/arch_rt_sigframe.c | 22 +- + linux/ia64/raw_syscall.h | 22 +- + linux/ia64/rt_sigframe.h | 22 +- + linux/ia64/syscallent.h | 22 +- + linux/m68k/raw_syscall.h | 22 +- + linux/m68k/rt_sigframe.h | 22 +- + linux/m68k/syscallent.h | 22 +- + linux/metag/arch_rt_sigframe.c | 22 +- + linux/metag/raw_syscall.h | 22 +- + linux/microblaze/arch_rt_sigframe.c | 22 +- + linux/microblaze/raw_syscall.h | 22 +- + linux/microblaze/syscallent.h | 22 +- + linux/mips/raw_syscall.h | 22 +- + linux/mips/rt_sigframe.h | 22 +- + linux/nios2/raw_syscall.h | 22 +- + linux/or1k/raw_syscall.h | 22 +- + linux/powerpc/arch_rt_sigframe.c | 22 +- + linux/powerpc/raw_syscall.h | 22 +- + linux/powerpc/syscallent.h | 22 +- + linux/powerpc64/arch_rt_sigframe.c | 22 +- + linux/powerpc64/rt_sigframe.h | 22 +- + linux/powerpc64/syscallent.h | 22 +- + linux/riscv/raw_syscall.h | 22 +- + linux/rt_sigframe.h | 22 +- + linux/s390/raw_syscall.h | 22 +- + linux/s390/rt_sigframe.h | 22 +- + linux/s390/syscallent.h | 22 +- + linux/s390x/syscallent.h | 22 +- + linux/sh/arch_rt_sigframe.c | 22 +- + linux/sh/raw_syscall.h | 22 +- + linux/sh/syscallent.h | 22 +- + linux/sh64/rt_sigframe.h | 22 +- + linux/sh64/syscallent.h | 22 +- + linux/sparc/raw_syscall.h | 22 +- + linux/sparc/rt_sigframe.h | 22 +- + linux/sparc64/arch_rt_sigframe.c | 22 +- + linux/sparc64/raw_syscall.h | 22 +- + linux/sparc64/rt_sigframe.h | 22 +- + linux/subcall.h | 22 +- + linux/syscall.h | 22 +- + linux/tile/raw_syscall.h | 22 +- + linux/tile/rt_sigframe.h | 22 +- + linux/x86_64/get_scno.c | 22 +- + linux/x86_64/getregs_old.c | 22 +- + linux/x86_64/raw_syscall.h | 22 +- + linux/x86_64/rt_sigframe.h | 22 +- + linux/xtensa/raw_syscall.h | 22 +- + listen.c | 22 +- + lookup_dcookie.c | 22 +- + loop.c | 22 +- + lseek.c | 22 +- + m4/gen_bpf_attr_m4.sh | 22 +- + m4/mpers.m4 | 22 +- + m4/st_demangle.m4 | 22 +- + m4/st_libdw.m4 | 22 +- + m4/st_libunwind.m4 | 22 +- + m4/st_stacktrace.m4 | 22 +- + macros.h | 22 +- + maint/errnoent.sh | 22 +- + maint/gen-contributors-list.sh | 22 +- + maint/gen-tag-message.sh | 22 +- + maint/gen_xlat_defs.sh | 22 +- + maint/ioctls_gen.sh | 22 +- + maint/ioctls_hex.sh | 22 +- + maint/ioctls_sym.awk | 22 +- + maint/ioctls_sym.sh | 22 +- + maint/signalent.sh | 22 +- + maint/syscallent.sh | 22 +- + maint/update_copyright_years.sh | 22 +- + mem.c | 22 +- + membarrier.c | 22 +- + memfd_create.c | 22 +- + mknod.c | 22 +- + mmap_cache.c | 22 +- + mmap_cache.h | 22 +- + mmap_notify.c | 22 +- + mmap_notify.h | 22 +- + mmsghdr.c | 22 +- + mount.c | 22 +- + mpers.awk | 22 +- + mpers.sh | 22 +- + mpers_test.sh | 22 +- + mpers_type.h | 22 +- + mq.c | 22 +- + msghdr.c | 22 +- + mtd.c | 22 +- + negated_errno.h | 22 +- + net.c | 22 +- + netlink.c | 22 +- + netlink.h | 22 +- + netlink_crypto.c | 22 +- + netlink_inet_diag.c | 22 +- + netlink_kobject_uevent.c | 22 +- + netlink_netfilter.c | 22 +- + netlink_netlink_diag.c | 22 +- + netlink_packet_diag.c | 22 +- + netlink_route.c | 22 +- + netlink_route.h | 22 +- + netlink_selinux.c | 22 +- + netlink_smc_diag.c | 22 +- + netlink_sock_diag.c | 22 +- + netlink_sock_diag.h | 22 +- + netlink_unix_diag.c | 22 +- + nlattr.c | 22 +- + nlattr.h | 22 +- + nsfs.c | 22 +- + numa.c | 22 +- + number_set.c | 22 +- + number_set.h | 22 +- + oldstat.c | 22 +- + open.c | 22 +- + or1k_atomic.c | 22 +- + pathtrace.c | 22 +- + perf.c | 22 +- + perf_ioctl.c | 22 +- + personality.c | 22 +- + poll.c | 22 +- + prctl.c | 22 +- + print_aio_sigset.c | 22 +- + print_dev_t.c | 22 +- + print_fields.h | 22 +- + print_group_req.c | 22 +- + print_ifindex.c | 22 +- + print_mac.c | 22 +- + print_mq_attr.c | 22 +- + print_msgbuf.c | 22 +- + print_sg_req_info.c | 22 +- + print_sigevent.c | 22 +- + print_statfs.c | 22 +- + print_struct_stat.c | 22 +- + print_time.c | 22 +- + print_timespec.c | 22 +- + print_timeval.c | 22 +- + print_timex.c | 22 +- + printmode.c | 22 +- + printrusage.c | 22 +- + printsiginfo.c | 22 +- + process.c | 22 +- + process_vm.c | 22 +- + ptp.c | 22 +- + ptrace.h | 22 +- + quota.c | 22 +- + readlink.c | 22 +- + resource.c | 22 +- + retval.c | 22 +- + riscv.c | 22 +- + rt_sigframe.c | 22 +- + rt_sigreturn.c | 22 +- + rtc.c | 22 +- + rtnl_addr.c | 22 +- + rtnl_addrlabel.c | 22 +- + rtnl_dcb.c | 22 +- + rtnl_link.c | 22 +- + rtnl_mdb.c | 22 +- + rtnl_neigh.c | 22 +- + rtnl_neightbl.c | 22 +- + rtnl_netconf.c | 22 +- + rtnl_nsid.c | 22 +- + rtnl_route.c | 22 +- + rtnl_rule.c | 22 +- + rtnl_tc.c | 22 +- + rtnl_tc_action.c | 22 +- + s390.c | 22 +- + sched.c | 22 +- + scno.am | 22 +- + scsi.c | 22 +- + seccomp.c | 22 +- + sendfile.c | 22 +- + sg_io_v3.c | 22 +- + sg_io_v4.c | 22 +- + shutdown.c | 22 +- + sigaltstack.c | 22 +- + sigevent.h | 22 +- + signal.c | 22 +- + signalfd.c | 22 +- + sock.c | 22 +- + sockaddr.c | 22 +- + socketcall.c | 22 +- + socketutils.c | 22 +- + sparc.c | 22 +- + stat.c | 22 +- + stat.h | 22 +- + stat64.c | 22 +- + statfs.h | 22 +- + static_assert.h | 22 +- + statx.c | 22 +- + statx.h | 22 +- + strace-graph | 22 +- + strace-log-merge | 22 +- + strace-log-merge.1.in | 22 +- + strace.1.in | 22 +- + strace.c | 22 +- + strace.spec.in | 2 +- + string_to_uint.c | 22 +- + string_to_uint.h | 22 +- + sync_file_range.c | 22 +- + sync_file_range2.c | 22 +- + syscall.c | 22 +- + sysctl.c | 22 +- + sysinfo.c | 22 +- + syslog.c | 22 +- + sysmips.c | 22 +- + term.c | 22 +- + time.c | 22 +- + times.c | 22 +- + trace_event.h | 22 +- + ubi.c | 22 +- + ucopy.c | 22 +- + uid.c | 22 +- + uname.c | 22 +- + unwind-libdw.c | 22 +- + unwind-libunwind.c | 22 +- + unwind.c | 22 +- + unwind.h | 22 +- + upeek.c | 22 +- + upoke.c | 22 +- + userfaultfd.c | 22 +- + ustat.c | 22 +- + util.c | 22 +- + utimes.c | 22 +- + v4l2.c | 22 +- + wait.c | 22 +- + xattr.c | 22 +- + xlat.c | 22 +- + xlat/gen.sh | 22 +- + xmalloc.c | 22 +- + xmalloc.h | 22 +- + 337 files changed, 860 insertions(+), 6995 deletions(-) + create mode 100644 LGPL-2.1-or-later + +diff --git a/COPYING b/COPYING +index f77073c..083f054 100644 +--- a/COPYING ++++ b/COPYING +@@ -7,24 +7,14 @@ Copyright (c) 1998-2001 Wichert Akkerman + Copyright (c) 2001-2018 The strace developers. + All rights reserved. + +-Redistribution and use in source and binary forms, with or without +-modification, are permitted provided that the following conditions +-are met: +-1. Redistributions of source code must retain the above copyright +- notice, this list of conditions and the following disclaimer. +-2. Redistributions in binary form must reproduce the above copyright +- notice, this list of conditions and the following disclaimer in the +- documentation and/or other materials provided with the distribution. +-3. The name of the author may not be used to endorse or promote products +- derived from this software without specific prior written permission. ++strace is free software; you can redistribute it and/or modify it ++under the terms of the GNU Lesser General Public License as published ++by the Free Software Foundation; either version 2.1 of the License, ++or (at your option) any later version. + +-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++strace is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++or FITNESS FOR A PARTICULAR PURPOSE. See LGPL-2.1-or-later for more details. ++ ++strace test suite is provided under the terms of the GNU General Public License ++version 2 or later, see tests/COPYING for more details. +diff --git a/LGPL-2.1-or-later b/LGPL-2.1-or-later +new file mode 100644 +index 0000000..dfb1e91 +--- /dev/null ++++ b/LGPL-2.1-or-later +@@ -0,0 +1,501 @@ ++GNU LESSER GENERAL PUBLIC LICENSE ++ ++Version 2.1, February 1999 ++ ++Copyright (C) 1991, 1999 Free Software Foundation, Inc. ++ ++51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ++Everyone is permitted to copy and distribute verbatim copies of this ++license document, but changing it is not allowed. ++ ++[This is the first released version of the Lesser GPL. It also counts ++as the successor of the GNU Library Public License, version 2, hence ++the version number 2.1.] ++ ++Preamble ++ ++The licenses for most software are designed to take away your freedom ++to share and change it. By contrast, the GNU General Public Licenses are ++intended to guarantee your freedom to share and change free software--to ++make sure the software is free for all its users. ++ ++This license, the Lesser General Public License, applies to some specially ++designated software packages--typically libraries--of the Free Software ++Foundation and other authors who decide to use it. You can use it too, ++but we suggest you first think carefully about whether this license or ++the ordinary General Public License is the better strategy to use in ++any particular case, based on the explanations below. ++ ++When we speak of free software, we are referring to freedom of use, ++not price. Our General Public Licenses are designed to make sure that ++you have the freedom to distribute copies of free software (and charge ++for this service if you wish); that you receive source code or can get it ++if you want it; that you can change the software and use pieces of it in ++new free programs; and that you are informed that you can do these things. ++ ++To protect your rights, we need to make restrictions that forbid ++distributors to deny you these rights or to ask you to surrender these ++rights. These restrictions translate to certain responsibilities for ++you if you distribute copies of the library or if you modify it. ++ ++For example, if you distribute copies of the library, whether gratis ++or for a fee, you must give the recipients all the rights that we gave ++you. You must make sure that they, too, receive or can get the source ++code. If you link other code with the library, you must provide complete ++object files to the recipients, so that they can relink them with the ++library after making changes to the library and recompiling it. And you ++must show them these terms so they know their rights. ++ ++We protect your rights with a two-step method: (1) we copyright the ++library, and (2) we offer you this license, which gives you legal ++permission to copy, distribute and/or modify the library. ++ ++To protect each distributor, we want to make it very clear that there ++is no warranty for the free library. Also, if the library is modified ++by someone else and passed on, the recipients should know that what they ++have is not the original version, so that the original author's reputation ++will not be affected by problems that might be introduced by others. ++ ++Finally, software patents pose a constant threat to the existence of ++any free program. We wish to make sure that a company cannot effectively ++restrict the users of a free program by obtaining a restrictive license ++from a patent holder. Therefore, we insist that any patent license ++obtained for a version of the library must be consistent with the full ++freedom of use specified in this license. ++ ++Most GNU software, including some libraries, is covered by the ordinary ++GNU General Public License. This license, the GNU Lesser General ++Public License, applies to certain designated libraries, and is quite ++different from the ordinary General Public License. We use this license ++for certain libraries in order to permit linking those libraries into ++non-free programs. ++ ++When a program is linked with a library, whether statically or using a ++shared library, the combination of the two is legally speaking a combined ++work, a derivative of the original library. The ordinary General Public ++License therefore permits such linking only if the entire combination ++fits its criteria of freedom. The Lesser General Public License permits ++more lax criteria for linking other code with the library. ++ ++We call this license the "Lesser" General Public License because it ++does Less to protect the user's freedom than the ordinary General ++Public License. It also provides other free software developers Less ++of an advantage over competing non-free programs. These disadvantages ++are the reason we use the ordinary General Public License for many ++libraries. However, the Lesser license provides advantages in certain ++special circumstances. ++ ++For example, on rare occasions, there may be a special need to encourage ++the widest possible use of a certain library, so that it becomes a ++de-facto standard. To achieve this, non-free programs must be allowed ++to use the library. A more frequent case is that a free library does ++the same job as widely used non-free libraries. In this case, there ++is little to gain by limiting the free library to free software only, ++so we use the Lesser General Public License. ++ ++In other cases, permission to use a particular library in non-free ++programs enables a greater number of people to use a large body of free ++software. For example, permission to use the GNU C Library in non-free ++programs enables many more people to use the whole GNU operating system, ++as well as its variant, the GNU/Linux operating system. ++ ++Although the Lesser General Public License is Less protective of the ++users' freedom, it does ensure that the user of a program that is linked ++with the Library has the freedom and the wherewithal to run that program ++using a modified version of the Library. ++ ++The precise terms and conditions for copying, distribution and ++modification follow. Pay close attention to the difference between a ++"work based on the library" and a "work that uses the library". The ++former contains code derived from the library, whereas the latter must ++be combined with the library in order to run. ++ ++TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License Agreement applies to any software library or other ++ program which contains a notice placed by the copyright holder or ++ other authorized party saying it may be distributed under the terms of ++ this Lesser General Public License (also called "this License"). Each ++ licensee is addressed as "you". ++ ++ A "library" means a collection of software functions and/or data ++ prepared so as to be conveniently linked with application programs ++ (which use some of those functions and data) to form executables. ++ ++ The "Library", below, refers to any such software library or work ++ which has been distributed under these terms. A "work based on ++ the Library" means either the Library or any derivative work under ++ copyright law: that is to say, a work containing the Library or a ++ portion of it, either verbatim or with modifications and/or translated ++ straightforwardly into another language. (Hereinafter, translation ++ is included without limitation in the term "modification".) ++ ++ "Source code" for a work means the preferred form of the work for ++ making modifications to it. For a library, complete source code ++ means all the source code for all modules it contains, plus any ++ associated interface definition files, plus the scripts used to ++ control compilation and installation of the library. ++ ++ Activities other than copying, distribution and modification are not ++ covered by this License; they are outside its scope. The act of running ++ a program using the Library is not restricted, and output from such ++ a program is covered only if its contents constitute a work based ++ on the Library (independent of the use of the Library in a tool for ++ writing it). Whether that is true depends on what the Library does ++ and what the program that uses the Library does. ++ ++ 1. You may copy and distribute verbatim copies of the Library's ++ complete source code as you receive it, in any medium, provided ++ that you conspicuously and appropriately publish on each copy an ++ appropriate copyright notice and disclaimer of warranty; keep intact ++ all the notices that refer to this License and to the absence of any ++ warranty; and distribute a copy of this License along with the Library. ++ ++ You may charge a fee for the physical act of transferring a copy, and ++ you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Library or any portion of ++ it, thus forming a work based on the Library, and copy and distribute ++ such modifications or work under the terms of Section 1 above, ++ provided that you also meet all of these conditions: ++ ++ a) The modified work must itself be a software library. ++ ++ b) You must cause the files modified to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ c) You must cause the whole of the work to be licensed at no charge ++ to all third parties under the terms of this License. ++ ++ d) If a facility in the modified Library refers to a function or a ++ table of data to be supplied by an application program that uses ++ the facility, other than as an argument passed when the facility ++ is invoked, then you must make a good faith effort to ensure that, ++ in the event an application does not supply such function or table, ++ the facility still operates, and performs whatever part of its ++ purpose remains meaningful. ++ ++ (For example, a function in a library to compute square roots ++ has a purpose that is entirely well-defined independent of ++ the application. Therefore, Subsection 2d requires that any ++ application-supplied function or table used by this function must ++ be optional: if the application does not supply it, the square root ++ function must still compute square roots.) ++ ++ These requirements apply to the modified work as a whole. If ++ identifiable sections of that work are not derived from the Library, ++ and can be reasonably considered independent and separate works in ++ themselves, then this License, and its terms, do not apply to those ++ sections when you distribute them as separate works. But when you ++ distribute the same sections as part of a whole which is a work ++ based on the Library, the distribution of the whole must be on the ++ terms of this License, whose permissions for other licensees extend ++ to the entire whole, and thus to each and every part regardless of ++ who wrote it. ++ ++ Thus, it is not the intent of this section to claim rights or contest ++ your rights to work written entirely by you; rather, the intent is ++ to exercise the right to control the distribution of derivative or ++ collective works based on the Library. ++ ++ In addition, mere aggregation of another work not based on the Library ++ with the Library (or with a work based on the Library) on a volume ++ of a storage or distribution medium does not bring the other work ++ under the scope of this License. ++ ++ 3. You may opt to apply the terms of the ordinary GNU General Public ++ License instead of this License to a given copy of the Library. To ++ do this, you must alter all the notices that refer to this License, ++ so that they refer to the ordinary GNU General Public License, ++ version 2, instead of to this License. (If a newer version than ++ version 2 of the ordinary GNU General Public License has appeared, ++ then you can specify that version instead if you wish.) Do not make ++ any other change in these notices. ++ ++ Once this change is made in a given copy, it is irreversible for ++ that copy, so the ordinary GNU General Public License applies to all ++ subsequent copies and derivative works made from that copy. ++ ++ This option is useful when you wish to copy part of the code of the ++ Library into a program that is not a library. ++ ++ 4. You may copy and distribute the Library (or a portion or derivative ++ of it, under Section 2) in object code or executable form under the ++ terms of Sections 1 and 2 above provided that you accompany it with ++ the complete corresponding machine-readable source code, which must ++ be distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange. ++ ++ If distribution of object code is made by offering access to copy from ++ a designated place, then offering equivalent access to copy the source ++ code from the same place satisfies the requirement to distribute the ++ source code, even though third parties are not compelled to copy the ++ source along with the object code. ++ ++ 5. A program that contains no derivative of any portion of the Library, ++ but is designed to work with the Library by being compiled or linked ++ with it, is called a "work that uses the Library". Such a work, in ++ isolation, is not a derivative work of the Library, and therefore ++ falls outside the scope of this License. ++ ++ However, linking a "work that uses the Library" with the Library ++ creates an executable that is a derivative of the Library (because it ++ contains portions of the Library), rather than a "work that uses the ++ library". The executable is therefore covered by this License. Section ++ 6 states terms for distribution of such executables. ++ ++ When a "work that uses the Library" uses material from a header ++ file that is part of the Library, the object code for the work may ++ be a derivative work of the Library even though the source code is ++ not. Whether this is true is especially significant if the work can ++ be linked without the Library, or if the work is itself a library. The ++ threshold for this to be true is not precisely defined by law. ++ ++ If such an object file uses only numerical parameters, data structure ++ layouts and accessors, and small macros and small inline functions ++ (ten lines or less in length), then the use of the object file ++ is unrestricted, regardless of whether it is legally a derivative ++ work. (Executables containing this object code plus portions of the ++ Library will still fall under Section 6.) ++ ++ Otherwise, if the work is a derivative of the Library, you may ++ distribute the object code for the work under the terms of Section ++ 6. Any executables containing that work also fall under Section 6, ++ whether or not they are linked directly with the Library itself. ++ ++ 6. As an exception to the Sections above, you may also combine or link ++ a "work that uses the Library" with the Library to produce a work ++ containing portions of the Library, and distribute that work under ++ terms of your choice, provided that the terms permit modification ++ of the work for the customer's own use and reverse engineering for ++ debugging such modifications. ++ ++ You must give prominent notice with each copy of the work that the ++ Library is used in it and that the Library and its use are covered ++ by this License. You must supply a copy of this License. If the work ++ during execution displays copyright notices, you must include the ++ copyright notice for the Library among them, as well as a reference ++ directing the user to the copy of this License. Also, you must do ++ one of these things: ++ ++ a) Accompany the work with the complete corresponding ++ machine-readable source code for the Library including whatever ++ changes were used in the work (which must be distributed under ++ Sections 1 and 2 above); and, if the work is an executable linked ++ with the Library, with the complete machine-readable "work that ++ uses the Library", as object code and/or source code, so that the ++ user can modify the Library and then relink to produce a modified ++ executable containing the modified Library. (It is understood ++ that the user who changes the contents of definitions files in the ++ Library will not necessarily be able to recompile the application ++ to use the modified definitions.) ++ ++ b) Use a suitable shared library mechanism for linking with the ++ Library. A suitable mechanism is one that (1) uses at run time a ++ copy of the library already present on the user's computer system, ++ rather than copying library functions into the executable, and ++ (2) will operate properly with a modified version of the library, ++ if the user installs one, as long as the modified version is ++ interface-compatible with the version that the work was made with. ++ ++ c) Accompany the work with a written offer, valid for at least three ++ years, to give the same user the materials specified in Subsection ++ 6a, above, for a charge no more than the cost of performing this ++ distribution. ++ ++ d) If distribution of the work is made by offering access to copy ++ from a designated place, offer equivalent access to copy the above ++ specified materials from the same place. ++ ++ e) Verify that the user has already received a copy of these ++ materials or that you have already sent this user a copy. ++ ++ For an executable, the required form of the "work that uses the ++ Library" must include any data and utility programs needed for ++ reproducing the executable from it. However, as a special exception, ++ the materials to be distributed need not include anything that is ++ normally distributed (in either source or binary form) with the major ++ components (compiler, kernel, and so on) of the operating system on ++ which the executable runs, unless that component itself accompanies ++ the executable. ++ ++ It may happen that this requirement contradicts the license ++ restrictions of other proprietary libraries that do not normally ++ accompany the operating system. Such a contradiction means you ++ cannot use both them and the Library together in an executable that ++ you distribute. ++ ++ 7. You may place library facilities that are a work based on the ++ Library side-by-side in a single library together with other library ++ facilities not covered by this License, and distribute such a combined ++ library, provided that the separate distribution of the work based on ++ the Library and of the other library facilities is otherwise permitted, ++ and provided that you do these two things: ++ ++ a) Accompany the combined library with a copy of the same work based ++ on the Library, uncombined with any other library facilities. This ++ must be distributed under the terms of the Sections above. ++ ++ b) Give prominent notice with the combined library of the fact ++ that part of it is a work based on the Library, and explaining ++ where to find the accompanying uncombined form of the same work. ++ ++ 8. You may not copy, modify, sublicense, link with, or distribute the ++ Library except as expressly provided under this License. Any attempt ++ otherwise to copy, modify, sublicense, link with, or distribute the ++ Library is void, and will automatically terminate your rights under ++ this License. However, parties who have received copies, or rights, ++ from you under this License will not have their licenses terminated ++ so long as such parties remain in full compliance. ++ ++ 9. You are not required to accept this License, since you have not ++ signed it. However, nothing else grants you permission to modify ++ or distribute the Library or its derivative works. These actions ++ are prohibited by law if you do not accept this License. Therefore, ++ by modifying or distributing the Library (or any work based on the ++ Library), you indicate your acceptance of this License to do so, and ++ all its terms and conditions for copying, distributing or modifying ++ the Library or works based on it. ++ ++ 10. Each time you redistribute the Library (or any work based on ++ the Library), the recipient automatically receives a license from ++ the original licensor to copy, distribute, link with or modify the ++ Library subject to these terms and conditions. You may not impose ++ any further restrictions on the recipients' exercise of the rights ++ granted herein. You are not responsible for enforcing compliance by ++ third parties with this License. ++ ++ 11. If, as a consequence of a court judgment or allegation of patent ++ infringement or for any other reason (not limited to patent issues), ++ conditions are imposed on you (whether by court order, agreement ++ or otherwise) that contradict the conditions of this License, they ++ do not excuse you from the conditions of this License. If you cannot ++ distribute so as to satisfy simultaneously your obligations under this ++ License and any other pertinent obligations, then as a consequence ++ you may not distribute the Library at all. For example, if a patent ++ license would not permit royalty-free redistribution of the Library ++ by all those who receive copies directly or indirectly through you, ++ then the only way you could satisfy both it and this License would ++ be to refrain entirely from distribution of the Library. ++ ++ If any portion of this section is held invalid or unenforceable under ++ any particular circumstance, the balance of the section is intended ++ to apply, and the section as a whole is intended to apply in other ++ circumstances. ++ ++ It is not the purpose of this section to induce you to infringe any ++ patents or other property right claims or to contest validity of ++ any such claims; this section has the sole purpose of protecting ++ the integrity of the free software distribution system which ++ is implemented by public license practices. Many people have made ++ generous contributions to the wide range of software distributed ++ through that system in reliance on consistent application of that ++ system; it is up to the author/donor to decide if he or she is willing ++ to distribute software through any other system and a licensee cannot ++ impose that choice. ++ ++ This section is intended to make thoroughly clear what is believed ++ to be a consequence of the rest of this License. ++ ++ 12. If the distribution and/or use of the Library is restricted in ++ certain countries either by patents or by copyrighted interfaces, the ++ original copyright holder who places the Library under this License ++ may add an explicit geographical distribution limitation excluding ++ those countries, so that distribution is permitted only in or among ++ countries not thus excluded. In such case, this License incorporates ++ the limitation as if written in the body of this License. ++ ++ 13. The Free Software Foundation may publish revised and/or new ++ versions of the Lesser General Public License from time to time. Such ++ new versions will be similar in spirit to the present version, but ++ may differ in detail to address new problems or concerns. ++ ++ Each version is given a distinguishing version number. If the Library ++ specifies a version number of this License which applies to it and ++ "any later version", you have the option of following the terms and ++ conditions either of that version or of any later version published ++ by the Free Software Foundation. If the Library does not specify a ++ license version number, you may choose any version ever published by ++ the Free Software Foundation. ++ ++ 14. If you wish to incorporate parts of the Library into other free ++ programs whose distribution conditions are incompatible with these, ++ write to the author to ask for permission. For software which is ++ copyrighted by the Free Software Foundation, write to the Free Software ++ Foundation; we sometimes make exceptions for this. Our decision will ++ be guided by the two goals of preserving the free status of all ++ derivatives of our free software and of promoting the sharing and ++ reuse of software generally. ++ ++ NO WARRANTY ++ ++ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO ++ WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE ++ LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS ++ AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ++ ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ++ LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME ++ THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ++ ++ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO ++ IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY ++ MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE ++ TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR ++ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE ++ THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING ++ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR ++ A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN ++ IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGES. END OF TERMS AND CONDITIONS ++ ++How to Apply These Terms to Your New Libraries ++ ++If you develop a new library, and you want it to be of the greatest ++possible use to the public, we recommend making it free software that ++everyone can redistribute and change. You can do so by permitting ++redistribution under these terms (or, alternatively, under the terms of ++the ordinary General Public License). ++ ++To apply these terms, attach the following notices to the library. It is ++safest to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least the ++"copyright" line and a pointer to where the full notice is found. ++ ++ ++ ++Copyright (C) ++ ++This library is free software; you can redistribute it and/or modify it ++under the terms of the GNU Lesser General Public License as published ++by the Free Software Foundation; either version 2.1 of the License, or ++(at your option) any later version. ++ ++This library is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public ++License for more details. ++ ++You should have received a copy of the GNU Lesser General Public License ++along with this library; if not, write to the Free Software Foundation, ++Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++You should also get your employer (if you work as a programmer) or ++your school, if any, to sign a "copyright disclaimer" for the library, ++if necessary. Here is a sample; alter the names: ++ ++Yoyodyne, Inc., hereby disclaims all copyright interest in ++ ++the library `Frob' (a library for tweaking knobs) written ++ ++by James Random Hacker. ++ ++< signature of Ty Coon > , 1 April 1990 ++ ++Ty Coon, President of Vice ++ ++That's all there is to it! +diff --git a/Makefile.am b/Makefile.am +index 9e5eef2..f6679a3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -7,27 +7,7 @@ + # Copyright (c) 2002-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + if HAVE_M32_RUNTIME + TESTS_M32 = tests-m32 +@@ -401,6 +381,7 @@ EXTRA_DIST = \ + CREDITS \ + ChangeLog \ + ChangeLog-CVS \ ++ LGPL-2.1-or-later \ + README-linux-ptrace \ + debian/changelog \ + debian/compat \ +diff --git a/affinity.c b/affinity.c +index 0eb1094..d885bb4 100644 +--- a/affinity.c ++++ b/affinity.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2009-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/aio.c b/aio.c +index 24ad69f..91a291c 100644 +--- a/aio.c ++++ b/aio.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/alpha.c b/alpha.c +index 376ec0f..c972a7d 100644 +--- a/alpha.c ++++ b/alpha.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/basic_filters.c b/basic_filters.c +index 6071a67..2fb9246 100644 +--- a/basic_filters.c ++++ b/basic_filters.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/bind.c b/bind.c +index 315a8aa..93d2985 100644 +--- a/bind.c ++++ b/bind.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/bjm.c b/bjm.c +index a9a777f..2a9b2d8 100644 +--- a/bjm.c ++++ b/bjm.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/block.c b/block.c +index 5edb9b6..5cce481 100644 +--- a/block.c ++++ b/block.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2011-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/bpf.c b/bpf.c +index e5dc4ee..367fa80 100644 +--- a/bpf.c ++++ b/bpf.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/bpf_attr.h b/bpf_attr.h +index 45bb30a..925221d 100644 +--- a/bpf_attr.h ++++ b/bpf_attr.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_BPF_ATTR_H +diff --git a/bpf_filter.c b/bpf_filter.c +index a102e14..fbd26a5 100644 +--- a/bpf_filter.c ++++ b/bpf_filter.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/bpf_filter.h b/bpf_filter.h +index cf1a510..8befd45 100644 +--- a/bpf_filter.h ++++ b/bpf_filter.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_BPF_FILTER_H +diff --git a/bpf_seccomp_filter.c b/bpf_seccomp_filter.c +index a11b57e..b6abc81 100644 +--- a/bpf_seccomp_filter.c ++++ b/bpf_seccomp_filter.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/bpf_sock_filter.c b/bpf_sock_filter.c +index f3d38a0..e66faa8 100644 +--- a/bpf_sock_filter.c ++++ b/bpf_sock_filter.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/btrfs.c b/btrfs.c +index 7ab0171..4d80901 100644 +--- a/btrfs.c ++++ b/btrfs.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/cacheflush.c b/cacheflush.c +index f9fc582..793d55e 100644 +--- a/cacheflush.c ++++ b/cacheflush.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/capability.c b/capability.c +index 760bdda..e956b10 100644 +--- a/capability.c ++++ b/capability.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/clone.c b/clone.c +index 4bff999..bc02fa0 100644 +--- a/clone.c ++++ b/clone.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/configure.ac b/configure.ac +index ad1d00f..03728bc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -8,27 +8,7 @@ + # Copyright (c) 2002-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + AC_PREREQ(2.57) + AC_INIT([strace], +diff --git a/copy_file_range.c b/copy_file_range.c +index ad858a9..b181ddc 100644 +--- a/copy_file_range.c ++++ b/copy_file_range.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/count.c b/count.c +index d667ec5..561afe4 100644 +--- a/count.c ++++ b/count.c +@@ -11,27 +11,7 @@ + * Copyright (c) 2006-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/debian/copyright b/debian/copyright +index 00bccbe..2b6a258 100644 +--- a/debian/copyright ++++ b/debian/copyright +@@ -14,24 +14,14 @@ Copyright (c) 1998-2001 Wichert Akkerman + Copyright (c) 2001-2018 The strace developers. + All rights reserved. + +-Redistribution and use in source and binary forms, with or without +-modification, are permitted provided that the following conditions +-are met: +-1. Redistributions of source code must retain the above copyright +- notice, this list of conditions and the following disclaimer. +-2. Redistributions in binary form must reproduce the above copyright +- notice, this list of conditions and the following disclaimer in the +- documentation and/or other materials provided with the distribution. +-3. The name of the author may not be used to endorse or promote products +- derived from this software without specific prior written permission. ++strace is free software; you can redistribute it and/or modify it ++under the terms of the GNU Lesser General Public License as published ++by the Free Software Foundation; either version 2.1 of the License, ++or (at your option) any later version. + +-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++strace is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++or FITNESS FOR A PARTICULAR PURPOSE. See LGPL-2.1-or-later for more details. ++ ++strace test suite is provided under the terms of the GNU General Public License ++version 2 or later, see tests/COPYING for more details. +diff --git a/defs.h b/defs.h +index 2c19dd3..a100b76 100644 +--- a/defs.h ++++ b/defs.h +@@ -5,27 +5,7 @@ + * Copyright (c) 2001-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_DEFS_H +diff --git a/delay.c b/delay.c +index 86dd828..e32dc50 100644 +--- a/delay.c ++++ b/delay.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/delay.h b/delay.h +index f7c2773..278645a 100644 +--- a/delay.h ++++ b/delay.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_DELAY_H +diff --git a/desc.c b/desc.c +index f99d25c..690b81d 100644 +--- a/desc.c ++++ b/desc.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/dirent.c b/dirent.c +index 2ab626b..e357e45 100644 +--- a/dirent.c ++++ b/dirent.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/dirent64.c b/dirent64.c +index 4172d64..041a801 100644 +--- a/dirent64.c ++++ b/dirent64.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/dm.c b/dm.c +index 963852f..6124e2a 100644 +--- a/dm.c ++++ b/dm.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/dyxlat.c b/dyxlat.c +index 55d2cbc..0568f31 100644 +--- a/dyxlat.c ++++ b/dyxlat.c +@@ -1,27 +1,7 @@ + /* + * Copyright (c) 2017 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/epoll.c b/epoll.c +index 80883c9..a3b7b86 100644 +--- a/epoll.c ++++ b/epoll.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/error_prints.c b/error_prints.c +index 6808318..d14268d 100644 +--- a/error_prints.c ++++ b/error_prints.c +@@ -2,27 +2,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef HAVE_CONFIG_H +diff --git a/error_prints.h b/error_prints.h +index 99c8038..965dfae 100644 +--- a/error_prints.h ++++ b/error_prints.h +@@ -7,27 +7,7 @@ + * Copyright (c) 2001-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_ERROR_PRINTS_H +diff --git a/evdev.c b/evdev.c +index 957d0e2..8d22d08 100644 +--- a/evdev.c ++++ b/evdev.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/evdev_mpers.c b/evdev_mpers.c +index 0001a26..3e294ae 100644 +--- a/evdev_mpers.c ++++ b/evdev_mpers.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/eventfd.c b/eventfd.c +index 0e7babc..6da4804 100644 +--- a/eventfd.c ++++ b/eventfd.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2008-2015 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/execve.c b/execve.c +index 32c84d0..b675cd2 100644 +--- a/execve.c ++++ b/execve.c +@@ -9,27 +9,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/f_owner_ex.h b/f_owner_ex.h +index ec76ac8..08cbb2a 100644 +--- a/f_owner_ex.h ++++ b/f_owner_ex.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_F_OWNER_EX_H +diff --git a/fadvise.c b/fadvise.c +index 292a061..c347605 100644 +--- a/fadvise.c ++++ b/fadvise.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fanotify.c b/fanotify.c +index d99f384..9a0d5c6 100644 +--- a/fanotify.c ++++ b/fanotify.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fcntl.c b/fcntl.c +index 973684e..3b3b915 100644 +--- a/fcntl.c ++++ b/fcntl.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_bpf_fprog.c b/fetch_bpf_fprog.c +index e46ddf9..8d7eafb 100644 +--- a/fetch_bpf_fprog.c ++++ b/fetch_bpf_fprog.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_indirect_syscall_args.c b/fetch_indirect_syscall_args.c +index 72ee7c7..10d0c84 100644 +--- a/fetch_indirect_syscall_args.c ++++ b/fetch_indirect_syscall_args.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_struct_flock.c b/fetch_struct_flock.c +index 1a57edf..c314470 100644 +--- a/fetch_struct_flock.c ++++ b/fetch_struct_flock.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_struct_mmsghdr.c b/fetch_struct_mmsghdr.c +index 04f98ab..fb8d4da 100644 +--- a/fetch_struct_mmsghdr.c ++++ b/fetch_struct_mmsghdr.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_struct_msghdr.c b/fetch_struct_msghdr.c +index d5f5adc..8f8e25f 100644 +--- a/fetch_struct_msghdr.c ++++ b/fetch_struct_msghdr.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_struct_stat.c b/fetch_struct_stat.c +index 317d381..274da4a 100644 +--- a/fetch_struct_stat.c ++++ b/fetch_struct_stat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_struct_stat64.c b/fetch_struct_stat64.c +index 3480c10..6d5740c 100644 +--- a/fetch_struct_stat64.c ++++ b/fetch_struct_stat64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/fetch_struct_statfs.c b/fetch_struct_statfs.c +index 568c158..189d131 100644 +--- a/fetch_struct_statfs.c ++++ b/fetch_struct_statfs.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/file_handle.c b/file_handle.c +index 46a61c5..2c0e42c 100644 +--- a/file_handle.c ++++ b/file_handle.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/file_ioctl.c b/file_ioctl.c +index fc45aa6..27ba4c8 100644 +--- a/file_ioctl.c ++++ b/file_ioctl.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/filter.h b/filter.h +index 7b63b6d..0c81f7f 100644 +--- a/filter.h ++++ b/filter.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_FILTER_H +diff --git a/filter_qualify.c b/filter_qualify.c +index 69928b4..a0a32d6 100644 +--- a/filter_qualify.c ++++ b/filter_qualify.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/flock.c b/flock.c +index c714775..7c1ed61 100644 +--- a/flock.c ++++ b/flock.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/flock.h b/flock.h +index 00e4906..97f5ebb 100644 +--- a/flock.h ++++ b/flock.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_FLOCK_H +diff --git a/fs_x_ioctl.c b/fs_x_ioctl.c +index 18930fe..e56e359 100644 +--- a/fs_x_ioctl.c ++++ b/fs_x_ioctl.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/futex.c b/futex.c +index 9ce4ced..3b775b7 100644 +--- a/futex.c ++++ b/futex.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/gcc_compat.h b/gcc_compat.h +index 251080b..52d8475 100644 +--- a/gcc_compat.h ++++ b/gcc_compat.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_GCC_COMPAT_H +diff --git a/gen_bpf_attr_check.sh b/gen_bpf_attr_check.sh +index 517e621..36e3350 100755 +--- a/gen_bpf_attr_check.sh ++++ b/gen_bpf_attr_check.sh +@@ -2,27 +2,7 @@ + # Copyright (c) 2018 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + input="$1" + shift +diff --git a/get_robust_list.c b/get_robust_list.c +index 1977023..54e53b1 100644 +--- a/get_robust_list.c ++++ b/get_robust_list.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2012-2015 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/hdio.c b/hdio.c +index 9db1d26..eaa241e 100644 +--- a/hdio.c ++++ b/hdio.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/inotify.c b/inotify.c +index 5ada8a8..8b2ae66 100644 +--- a/inotify.c ++++ b/inotify.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2006-2015 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/inotify_ioctl.c b/inotify_ioctl.c +index c286e57..7e06dcb 100644 +--- a/inotify_ioctl.c ++++ b/inotify_ioctl.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/io.c b/io.c +index cd80305..4fd6cf0 100644 +--- a/io.c ++++ b/io.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ioctl.c b/ioctl.c +index 66b10ec..7169d91 100644 +--- a/ioctl.c ++++ b/ioctl.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ioctl_iocdef.c b/ioctl_iocdef.c +index accbbed..97fe620 100644 +--- a/ioctl_iocdef.c ++++ b/ioctl_iocdef.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Alexey Neyman + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + /* +diff --git a/ioctlsort.c b/ioctlsort.c +index 932c667..2601de2 100644 +--- a/ioctlsort.c ++++ b/ioctlsort.c +@@ -4,27 +4,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef HAVE_CONFIG_H +diff --git a/ioprio.c b/ioprio.c +index 19ea74c..e5bdc0a 100644 +--- a/ioprio.c ++++ b/ioprio.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ipc.c b/ipc.c +index dd5358e..c35509b 100644 +--- a/ipc.c ++++ b/ipc.c +@@ -3,27 +3,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ipc_defs.h b/ipc_defs.h +index c6a1678..23ef351 100644 +--- a/ipc_defs.h ++++ b/ipc_defs.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2003-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_IPC_DEFS_H +diff --git a/ipc_msg.c b/ipc_msg.c +index 788066c..d570355 100644 +--- a/ipc_msg.c ++++ b/ipc_msg.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ipc_msgctl.c b/ipc_msgctl.c +index eb3641c..bae91ff 100644 +--- a/ipc_msgctl.c ++++ b/ipc_msgctl.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ipc_sem.c b/ipc_sem.c +index 0287bec..c77a367 100644 +--- a/ipc_sem.c ++++ b/ipc_sem.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ipc_shm.c b/ipc_shm.c +index 105962c..b54cd8c 100644 +--- a/ipc_shm.c ++++ b/ipc_shm.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ipc_shmctl.c b/ipc_shmctl.c +index 18b92b3..b0628fd 100644 +--- a/ipc_shmctl.c ++++ b/ipc_shmctl.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/kcmp.c b/kcmp.c +index ec537a6..29286d5 100644 +--- a/kcmp.c ++++ b/kcmp.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/kernel_types.h b/kernel_types.h +index 79ac171..6a7b01e 100644 +--- a/kernel_types.h ++++ b/kernel_types.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_KERNEL_TYPES_H +diff --git a/kexec.c b/kexec.c +index 22acaa3..0725760 100644 +--- a/kexec.c ++++ b/kexec.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/keyctl.c b/keyctl.c +index 7416423..e880410 100644 +--- a/keyctl.c ++++ b/keyctl.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/kvm.c b/kvm.c +index c284e83..1af2079 100644 +--- a/kvm.c ++++ b/kvm.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/largefile_wrappers.h b/largefile_wrappers.h +index b5e49ad..eebb746 100644 +--- a/largefile_wrappers.h ++++ b/largefile_wrappers.h +@@ -5,27 +5,7 @@ + * Copyright (c) 2012-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_LARGEFILE_WRAPPERS_H +diff --git a/ldt.c b/ldt.c +index 104abc3..1d226f4 100644 +--- a/ldt.c ++++ b/ldt.c +@@ -9,27 +9,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/link.c b/link.c +index 68a1304..637e820 100644 +--- a/link.c ++++ b/link.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2006-2015 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/linux/aarch64/arch_rt_sigframe.c b/linux/aarch64/arch_rt_sigframe.c +index 5400a52..b93a0b8 100644 +--- a/linux/aarch64/arch_rt_sigframe.c ++++ b/linux/aarch64/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #undef FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/aarch64/raw_syscall.h b/linux/aarch64/raw_syscall.h +index 751c780..69abe1f 100644 +--- a/linux/aarch64/raw_syscall.h ++++ b/linux/aarch64/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/alpha/arch_rt_sigframe.c b/linux/alpha/arch_rt_sigframe.c +index d341be1..6caae74 100644 +--- a/linux/alpha/arch_rt_sigframe.c ++++ b/linux/alpha/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/alpha/raw_syscall.h b/linux/alpha/raw_syscall.h +index 1daed14..b25cb4f 100644 +--- a/linux/alpha/raw_syscall.h ++++ b/linux/alpha/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h +index 700ae29..332c3ba 100644 +--- a/linux/alpha/syscallent.h ++++ b/linux/alpha/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 6, 0, SEN(printargs), "osf_syscall" }, /* not implemented */ +diff --git a/linux/arc/raw_syscall.h b/linux/arc/raw_syscall.h +index 65bce81..6387c40 100644 +--- a/linux/arc/raw_syscall.h ++++ b/linux/arc/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/arm/get_scno.c b/linux/arm/get_scno.c +index 2cd5c71..443a47e 100644 +--- a/linux/arm/get_scno.c ++++ b/linux/arm/get_scno.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + /* Return codes: 1 - ok, 0 - ignore, other - error. */ +diff --git a/linux/arm/raw_syscall.h b/linux/arm/raw_syscall.h +index ec534ec..38d223e 100644 +--- a/linux/arm/raw_syscall.h ++++ b/linux/arm/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h +index 568d946..d135a1f 100644 +--- a/linux/arm/syscallent.h ++++ b/linux/arm/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/avr32/raw_syscall.h b/linux/avr32/raw_syscall.h +index 772f413..01aab22 100644 +--- a/linux/avr32/raw_syscall.h ++++ b/linux/avr32/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h +index c9dc52c..521af9a 100644 +--- a/linux/avr32/syscallent.h ++++ b/linux/avr32/syscallent.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2009-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/bfin/arch_rt_sigframe.c b/linux/bfin/arch_rt_sigframe.c +index 1692685..8ce79fc 100644 +--- a/linux/bfin/arch_rt_sigframe.c ++++ b/linux/bfin/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/bfin/raw_syscall.h b/linux/bfin/raw_syscall.h +index 0af50f0..df2916a 100644 +--- a/linux/bfin/raw_syscall.h ++++ b/linux/bfin/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/bfin/rt_sigframe.h b/linux/bfin/rt_sigframe.h +index 7b63cb1..406a8a5 100644 +--- a/linux/bfin/rt_sigframe.h ++++ b/linux/bfin/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h +index 1ce2ff3..9b5cae1 100644 +--- a/linux/bfin/syscallent.h ++++ b/linux/bfin/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/dummy.h b/linux/dummy.h +index 9f0b4d3..4d8b3de 100644 +--- a/linux/dummy.h ++++ b/linux/dummy.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_LINUX_DUMMY_H +diff --git a/linux/hppa/arch_rt_sigframe.c b/linux/hppa/arch_rt_sigframe.c +index aaf2ffe..80a06d1 100644 +--- a/linux/hppa/arch_rt_sigframe.c ++++ b/linux/hppa/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "rt_sigframe.h" +diff --git a/linux/hppa/raw_syscall.h b/linux/hppa/raw_syscall.h +index 7388c4a..53b655d 100644 +--- a/linux/hppa/raw_syscall.h ++++ b/linux/hppa/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/hppa/rt_sigframe.h b/linux/hppa/rt_sigframe.h +index 56b3bdb..04f5838 100644 +--- a/linux/hppa/rt_sigframe.h ++++ b/linux/hppa/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/i386/arch_rt_sigframe.c b/linux/i386/arch_rt_sigframe.c +index b508408..d27bc9c 100644 +--- a/linux/i386/arch_rt_sigframe.c ++++ b/linux/i386/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/i386/raw_syscall.h b/linux/i386/raw_syscall.h +index 74f911d..1e8d144 100644 +--- a/linux/i386/raw_syscall.h ++++ b/linux/i386/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/i386/rt_sigframe.h b/linux/i386/rt_sigframe.h +index 9157ea4..42f9275 100644 +--- a/linux/i386/rt_sigframe.h ++++ b/linux/i386/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h +index fbe6cf8..3deecb2 100644 +--- a/linux/i386/syscallent.h ++++ b/linux/i386/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/ia64/arch_rt_sigframe.c b/linux/ia64/arch_rt_sigframe.c +index f6e660c..286c87e 100644 +--- a/linux/ia64/arch_rt_sigframe.c ++++ b/linux/ia64/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/ia64/raw_syscall.h b/linux/ia64/raw_syscall.h +index cb98a95..78f344b 100644 +--- a/linux/ia64/raw_syscall.h ++++ b/linux/ia64/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/ia64/rt_sigframe.h b/linux/ia64/rt_sigframe.h +index 954237f..d5f9fd3 100644 +--- a/linux/ia64/rt_sigframe.h ++++ b/linux/ia64/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h +index e3210fb..b39f8cd 100644 +--- a/linux/ia64/syscallent.h ++++ b/linux/ia64/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2000-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [1024] = { 0, 0, SEN(printargs), "ni_syscall" }, +diff --git a/linux/m68k/raw_syscall.h b/linux/m68k/raw_syscall.h +index 5ed0cde..274a2ee 100644 +--- a/linux/m68k/raw_syscall.h ++++ b/linux/m68k/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/m68k/rt_sigframe.h b/linux/m68k/rt_sigframe.h +index 6bb909c..e0336e2 100644 +--- a/linux/m68k/rt_sigframe.h ++++ b/linux/m68k/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h +index b8bad1b..11d698f 100644 +--- a/linux/m68k/syscallent.h ++++ b/linux/m68k/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/metag/arch_rt_sigframe.c b/linux/metag/arch_rt_sigframe.c +index 898c5d2..72a7f5a 100644 +--- a/linux/metag/arch_rt_sigframe.c ++++ b/linux/metag/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "rt_sigframe.h" +diff --git a/linux/metag/raw_syscall.h b/linux/metag/raw_syscall.h +index 332aa06..b827e5e 100644 +--- a/linux/metag/raw_syscall.h ++++ b/linux/metag/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/microblaze/arch_rt_sigframe.c b/linux/microblaze/arch_rt_sigframe.c +index dcecd1a..b3cef5c 100644 +--- a/linux/microblaze/arch_rt_sigframe.c ++++ b/linux/microblaze/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/microblaze/raw_syscall.h b/linux/microblaze/raw_syscall.h +index db53623..fefa57f 100644 +--- a/linux/microblaze/raw_syscall.h ++++ b/linux/microblaze/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h +index 1aba542..b1eea3b 100644 +--- a/linux/microblaze/syscallent.h ++++ b/linux/microblaze/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/mips/raw_syscall.h b/linux/mips/raw_syscall.h +index fedb530..3286319 100644 +--- a/linux/mips/raw_syscall.h ++++ b/linux/mips/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/mips/rt_sigframe.h b/linux/mips/rt_sigframe.h +index e07bcd1..4f324a1 100644 +--- a/linux/mips/rt_sigframe.h ++++ b/linux/mips/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/nios2/raw_syscall.h b/linux/nios2/raw_syscall.h +index 21c287d..85338d5 100644 +--- a/linux/nios2/raw_syscall.h ++++ b/linux/nios2/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/or1k/raw_syscall.h b/linux/or1k/raw_syscall.h +index 79a1d3f..33ff0f8 100644 +--- a/linux/or1k/raw_syscall.h ++++ b/linux/or1k/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/powerpc/arch_rt_sigframe.c b/linux/powerpc/arch_rt_sigframe.c +index 4a1c431..e0d402e 100644 +--- a/linux/powerpc/arch_rt_sigframe.c ++++ b/linux/powerpc/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #define SIGNAL_FRAMESIZE32 64 +diff --git a/linux/powerpc/raw_syscall.h b/linux/powerpc/raw_syscall.h +index 931dfe5..5da1d9a 100644 +--- a/linux/powerpc/raw_syscall.h ++++ b/linux/powerpc/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h +index da04c2a..8e3568e 100644 +--- a/linux/powerpc/syscallent.h ++++ b/linux/powerpc/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/powerpc64/arch_rt_sigframe.c b/linux/powerpc64/arch_rt_sigframe.c +index 333f708..31dc531 100644 +--- a/linux/powerpc64/arch_rt_sigframe.c ++++ b/linux/powerpc64/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #undef FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/powerpc64/rt_sigframe.h b/linux/powerpc64/rt_sigframe.h +index 979dbd7..37e50ab 100644 +--- a/linux/powerpc64/rt_sigframe.h ++++ b/linux/powerpc64/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef __powerpc64__ +diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h +index 334b801..37f871a 100644 +--- a/linux/powerpc64/syscallent.h ++++ b/linux/powerpc64/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/riscv/raw_syscall.h b/linux/riscv/raw_syscall.h +index 4a78987..ca0d8b7 100644 +--- a/linux/riscv/raw_syscall.h ++++ b/linux/riscv/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/rt_sigframe.h b/linux/rt_sigframe.h +index 04b895b..5c80ebf 100644 +--- a/linux/rt_sigframe.h ++++ b/linux/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/s390/raw_syscall.h b/linux/s390/raw_syscall.h +index 8238207..c980586 100644 +--- a/linux/s390/raw_syscall.h ++++ b/linux/s390/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/s390/rt_sigframe.h b/linux/s390/rt_sigframe.h +index 7e8743e..46bd894 100644 +--- a/linux/s390/rt_sigframe.h ++++ b/linux/s390/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h +index 83fc486..11758cb 100644 +--- a/linux/s390/syscallent.h ++++ b/linux/s390/syscallent.h +@@ -5,27 +5,7 @@ + * D.J. Barrow + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + * + */ + +diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h +index a6df73e..15e3e0f 100644 +--- a/linux/s390x/syscallent.h ++++ b/linux/s390x/syscallent.h +@@ -4,27 +4,7 @@ + * Author: Ulrich Weigand + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + * + */ + +diff --git a/linux/sh/arch_rt_sigframe.c b/linux/sh/arch_rt_sigframe.c +index 3c4f6f2..bc42c94 100644 +--- a/linux/sh/arch_rt_sigframe.c ++++ b/linux/sh/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + FUNC_GET_RT_SIGFRAME_ADDR +diff --git a/linux/sh/raw_syscall.h b/linux/sh/raw_syscall.h +index 1a954c0..e03caed 100644 +--- a/linux/sh/raw_syscall.h ++++ b/linux/sh/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h +index c40b335..05605c5 100644 +--- a/linux/sh/syscallent.h ++++ b/linux/sh/syscallent.h +@@ -6,27 +6,7 @@ + * Copyright (c) 2000-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/sh64/rt_sigframe.h b/linux/sh64/rt_sigframe.h +index 6080bae..f984272 100644 +--- a/linux/sh64/rt_sigframe.h ++++ b/linux/sh64/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h +index 4905b0f..158ef2f 100644 +--- a/linux/sh64/syscallent.h ++++ b/linux/sh64/syscallent.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + [ 0] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, +diff --git a/linux/sparc/raw_syscall.h b/linux/sparc/raw_syscall.h +index f1fa017..b9bf3a1 100644 +--- a/linux/sparc/raw_syscall.h ++++ b/linux/sparc/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/sparc/rt_sigframe.h b/linux/sparc/rt_sigframe.h +index ef44e5c..1c2ab65 100644 +--- a/linux/sparc/rt_sigframe.h ++++ b/linux/sparc/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/sparc64/arch_rt_sigframe.c b/linux/sparc64/arch_rt_sigframe.c +index 0bad84d..01d2ba9 100644 +--- a/linux/sparc64/arch_rt_sigframe.c ++++ b/linux/sparc64/arch_rt_sigframe.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #define STACK_BIAS 2047 +diff --git a/linux/sparc64/raw_syscall.h b/linux/sparc64/raw_syscall.h +index 559d953..ecedf18 100644 +--- a/linux/sparc64/raw_syscall.h ++++ b/linux/sparc64/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/sparc64/rt_sigframe.h b/linux/sparc64/rt_sigframe.h +index 285801a..72de681 100644 +--- a/linux/sparc64/rt_sigframe.h ++++ b/linux/sparc64/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef __arch64__ +diff --git a/linux/subcall.h b/linux/subcall.h +index c51eace..4cd88bd 100644 +--- a/linux/subcall.h ++++ b/linux/subcall.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2013-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef SYS_socket_subcall +diff --git a/linux/syscall.h b/linux/syscall.h +index a1469b7..78490a5 100644 +--- a/linux/syscall.h ++++ b/linux/syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 1995-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_LINUX_SYSCALL_H +diff --git a/linux/tile/raw_syscall.h b/linux/tile/raw_syscall.h +index c46bf15..e290417 100644 +--- a/linux/tile/raw_syscall.h ++++ b/linux/tile/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/tile/rt_sigframe.h b/linux/tile/rt_sigframe.h +index e8adf1e..e7d965e 100644 +--- a/linux/tile/rt_sigframe.h ++++ b/linux/tile/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RT_SIGFRAME_H +diff --git a/linux/x86_64/get_scno.c b/linux/x86_64/get_scno.c +index 4b06638..1669142 100644 +--- a/linux/x86_64/get_scno.c ++++ b/linux/x86_64/get_scno.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef X86_64 +diff --git a/linux/x86_64/getregs_old.c b/linux/x86_64/getregs_old.c +index 60281dd..2623905 100644 +--- a/linux/x86_64/getregs_old.c ++++ b/linux/x86_64/getregs_old.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + /* +diff --git a/linux/x86_64/raw_syscall.h b/linux/x86_64/raw_syscall.h +index a22e64c..e283248 100644 +--- a/linux/x86_64/raw_syscall.h ++++ b/linux/x86_64/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/linux/x86_64/rt_sigframe.h b/linux/x86_64/rt_sigframe.h +index 36655a4..a9ea5cb 100644 +--- a/linux/x86_64/rt_sigframe.h ++++ b/linux/x86_64/rt_sigframe.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef __i386__ +diff --git a/linux/xtensa/raw_syscall.h b/linux/xtensa/raw_syscall.h +index b36dd53..2f0e379 100644 +--- a/linux/xtensa/raw_syscall.h ++++ b/linux/xtensa/raw_syscall.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_RAW_SYSCALL_H +diff --git a/listen.c b/listen.c +index b0847c5..d4c11c6 100644 +--- a/listen.c ++++ b/listen.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/lookup_dcookie.c b/lookup_dcookie.c +index 4e21d5f..17446a0 100644 +--- a/lookup_dcookie.c ++++ b/lookup_dcookie.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/loop.c b/loop.c +index ad60770..b29bf56 100644 +--- a/loop.c ++++ b/loop.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2012-2018 The strace developers. + * Written by Mike Frysinger . + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/lseek.c b/lseek.c +index fbc99cc..263e928 100644 +--- a/lseek.c ++++ b/lseek.c +@@ -11,27 +11,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/m4/mpers.m4 b/m4/mpers.m4 +index 7859877..13725d7 100644 +--- a/m4/mpers.m4 ++++ b/m4/mpers.m4 +@@ -5,27 +5,7 @@ + # Copyright (c) 2015-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + AC_DEFUN([st_MPERS_LOAD_AC_CV], [ + +diff --git a/m4/st_demangle.m4 b/m4/st_demangle.m4 +index cf3d2d1..ba019eb 100644 +--- a/m4/st_demangle.m4 ++++ b/m4/st_demangle.m4 +@@ -3,27 +3,7 @@ + # Copyright (c) 2017-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + AC_DEFUN([st_DEMANGLE], [dnl + +diff --git a/m4/st_libdw.m4 b/m4/st_libdw.m4 +index f33ec35..06b7f85 100644 +--- a/m4/st_libdw.m4 ++++ b/m4/st_libdw.m4 +@@ -3,27 +3,7 @@ + # Copyright (c) 2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + AC_DEFUN([st_ARG_LIBDW], [dnl + +diff --git a/m4/st_libunwind.m4 b/m4/st_libunwind.m4 +index f68f9cb..e78b5f6 100644 +--- a/m4/st_libunwind.m4 ++++ b/m4/st_libunwind.m4 +@@ -3,27 +3,7 @@ + # Copyright (c) 2013-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + AC_DEFUN([st_ARG_LIBUNWIND], [dnl + +diff --git a/m4/st_stacktrace.m4 b/m4/st_stacktrace.m4 +index 35b50e7..f77b652 100644 +--- a/m4/st_stacktrace.m4 ++++ b/m4/st_stacktrace.m4 +@@ -3,27 +3,7 @@ + # Copyright (c) 2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + AC_DEFUN([st_STACKTRACE], [dnl + +diff --git a/macros.h b/macros.h +index f5334ef..9346d90 100644 +--- a/macros.h ++++ b/macros.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2001-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_MACROS_H +diff --git a/mem.c b/mem.c +index 3e37da1..71e820d 100644 +--- a/mem.c ++++ b/mem.c +@@ -8,27 +8,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/membarrier.c b/membarrier.c +index 1c064c2..2e9b961 100644 +--- a/membarrier.c ++++ b/membarrier.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/memfd_create.c b/memfd_create.c +index 1f6a6d6..8e18a2e 100644 +--- a/memfd_create.c ++++ b/memfd_create.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/mknod.c b/mknod.c +index 0a4e342..0502b8a 100644 +--- a/mknod.c ++++ b/mknod.c +@@ -9,27 +9,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/mmap_cache.c b/mmap_cache.c +index 181005b..89c6225 100644 +--- a/mmap_cache.c ++++ b/mmap_cache.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2013 Luca Clementi + * Copyright (c) 2013-2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/mmap_cache.h b/mmap_cache.h +index e03b887..57eccdc 100644 +--- a/mmap_cache.h ++++ b/mmap_cache.h +@@ -1,27 +1,7 @@ + /* + * Copyright (c) 2013-2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_MMAP_CACHE_H +diff --git a/mmap_notify.c b/mmap_notify.c +index 034a6d9..5fb71ce 100644 +--- a/mmap_notify.c ++++ b/mmap_notify.c +@@ -1,27 +1,7 @@ + /* + * Copyright (c) 2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "mmap_notify.h" +diff --git a/mmap_notify.h b/mmap_notify.h +index 8cf44c4..586c26e 100644 +--- a/mmap_notify.h ++++ b/mmap_notify.h +@@ -1,27 +1,7 @@ + /* + * Copyright (c) 2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_MMAP_NOTIFY_H +diff --git a/mmsghdr.c b/mmsghdr.c +index 23e616a..18723b3 100644 +--- a/mmsghdr.c ++++ b/mmsghdr.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/mount.c b/mount.c +index 7b8d88d..3ab392f 100644 +--- a/mount.c ++++ b/mount.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/mpers.awk b/mpers.awk +index 1374ee4..17f8f2b 100644 +--- a/mpers.awk ++++ b/mpers.awk +@@ -5,27 +5,7 @@ + # Copyright (c) 2015-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + function array_get(array_idx, array_member, \ + array_return) +diff --git a/mpers.sh b/mpers.sh +index f01f6c9..5f451cc 100755 +--- a/mpers.sh ++++ b/mpers.sh +@@ -4,27 +4,7 @@ + # Copyright (c) 2015-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + export LC_ALL=C + +diff --git a/mpers_test.sh b/mpers_test.sh +index bdd4211..dc1868e 100755 +--- a/mpers_test.sh ++++ b/mpers_test.sh +@@ -5,27 +5,7 @@ + # Copyright (c) 2015-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + mpers_name="$1"; shift + mpers_cc_flags="$1"; shift +diff --git a/mpers_type.h b/mpers_type.h +index 8752f08..5235479 100644 +--- a/mpers_type.h ++++ b/mpers_type.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_MPERS_TYPE_H +diff --git a/mq.c b/mq.c +index 85438f1..0090b09 100644 +--- a/mq.c ++++ b/mq.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/msghdr.c b/msghdr.c +index 7dca3e0..54bf63b 100644 +--- a/msghdr.c ++++ b/msghdr.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/mtd.c b/mtd.c +index 3cdaed4..dc45bf8 100644 +--- a/mtd.c ++++ b/mtd.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2012 Mike Frysinger + * Copyright (c) 2012-2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/negated_errno.h b/negated_errno.h +index cdc0210..f93c00a 100644 +--- a/negated_errno.h ++++ b/negated_errno.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_NEGATED_ERRNO_H +diff --git a/net.c b/net.c +index 1c4e8ba..40a7387 100644 +--- a/net.c ++++ b/net.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink.c b/netlink.c +index 8a30483..e1ee032 100644 +--- a/netlink.c ++++ b/netlink.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink.h b/netlink.h +index 42e7802..d102ba6 100644 +--- a/netlink.h ++++ b/netlink.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_NETLINK_H +diff --git a/netlink_crypto.c b/netlink_crypto.c +index 6debc1b..9c79023 100644 +--- a/netlink_crypto.c ++++ b/netlink_crypto.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_inet_diag.c b/netlink_inet_diag.c +index a54ba22..5e84c2b 100644 +--- a/netlink_inet_diag.c ++++ b/netlink_inet_diag.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_kobject_uevent.c b/netlink_kobject_uevent.c +index 35f305a..764b1f5 100644 +--- a/netlink_kobject_uevent.c ++++ b/netlink_kobject_uevent.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_netfilter.c b/netlink_netfilter.c +index 1d59ae3..3b2e236 100644 +--- a/netlink_netfilter.c ++++ b/netlink_netfilter.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_netlink_diag.c b/netlink_netlink_diag.c +index 7ff9887..be2594b 100644 +--- a/netlink_netlink_diag.c ++++ b/netlink_netlink_diag.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_packet_diag.c b/netlink_packet_diag.c +index 18b7091..73508eb 100644 +--- a/netlink_packet_diag.c ++++ b/netlink_packet_diag.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_route.c b/netlink_route.c +index 7afc9c9..d82084f 100644 +--- a/netlink_route.c ++++ b/netlink_route.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_route.h b/netlink_route.h +index 5f97250..b2cecc4 100644 +--- a/netlink_route.h ++++ b/netlink_route.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_NETLINK_ROUTE_H +diff --git a/netlink_selinux.c b/netlink_selinux.c +index 0bba3cf..71cf4cd 100644 +--- a/netlink_selinux.c ++++ b/netlink_selinux.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_smc_diag.c b/netlink_smc_diag.c +index 53ae27b..7706e66 100644 +--- a/netlink_smc_diag.c ++++ b/netlink_smc_diag.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_sock_diag.c b/netlink_sock_diag.c +index dd1e03d..0204eee 100644 +--- a/netlink_sock_diag.c ++++ b/netlink_sock_diag.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/netlink_sock_diag.h b/netlink_sock_diag.h +index 0fc820b..09385b9 100644 +--- a/netlink_sock_diag.h ++++ b/netlink_sock_diag.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_NETLINK_SOCK_DIAG_H +diff --git a/netlink_unix_diag.c b/netlink_unix_diag.c +index 409180f..5a90996 100644 +--- a/netlink_unix_diag.c ++++ b/netlink_unix_diag.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/nlattr.c b/nlattr.c +index db37452..2f99204 100644 +--- a/nlattr.c ++++ b/nlattr.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/nlattr.h b/nlattr.h +index 27ffdeb..7f5a275 100644 +--- a/nlattr.h ++++ b/nlattr.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_NLATTR_H +diff --git a/nsfs.c b/nsfs.c +index 493dcd5..6279666 100644 +--- a/nsfs.c ++++ b/nsfs.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Nikolay Marchuk + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/numa.c b/numa.c +index c4500e8..8e7edef 100644 +--- a/numa.c ++++ b/numa.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/number_set.c b/number_set.c +index b8aa28c..d36d2c8 100644 +--- a/number_set.c ++++ b/number_set.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2016-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef HAVE_CONFIG_H +diff --git a/number_set.h b/number_set.h +index ec53bc1..f44096e 100644 +--- a/number_set.h ++++ b/number_set.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2016-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_NUMBER_SET_H +diff --git a/oldstat.c b/oldstat.c +index 1caa2bf..ebef5ca 100644 +--- a/oldstat.c ++++ b/oldstat.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/open.c b/open.c +index 883136b..153c93a 100644 +--- a/open.c ++++ b/open.c +@@ -10,27 +10,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/or1k_atomic.c b/or1k_atomic.c +index 738cc2e..22ded77 100644 +--- a/or1k_atomic.c ++++ b/or1k_atomic.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/pathtrace.c b/pathtrace.c +index c0c16f5..2cd12e6 100644 +--- a/pathtrace.c ++++ b/pathtrace.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2011-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + * + */ + +diff --git a/perf.c b/perf.c +index e66ca4d..c97fb6c 100644 +--- a/perf.c ++++ b/perf.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/perf_ioctl.c b/perf_ioctl.c +index 398fe69..c2213f2 100644 +--- a/perf_ioctl.c ++++ b/perf_ioctl.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/personality.c b/personality.c +index c366680..152865f 100644 +--- a/personality.c ++++ b/personality.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/poll.c b/poll.c +index db1931d..c6790d7 100644 +--- a/poll.c ++++ b/poll.c +@@ -4,27 +4,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/prctl.c b/prctl.c +index 568b5f7..5830f11 100644 +--- a/prctl.c ++++ b/prctl.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_aio_sigset.c b/print_aio_sigset.c +index 9903951..b6f1586 100644 +--- a/print_aio_sigset.c ++++ b/print_aio_sigset.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_dev_t.c b/print_dev_t.c +index 9b62f84..ac3cffb 100644 +--- a/print_dev_t.c ++++ b/print_dev_t.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_fields.h b/print_fields.h +index ffcabf4..5dfd010 100644 +--- a/print_fields.h ++++ b/print_fields.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_PRINT_FIELDS_H +diff --git a/print_group_req.c b/print_group_req.c +index 6b8e2a7..0e95982 100644 +--- a/print_group_req.c ++++ b/print_group_req.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_ifindex.c b/print_ifindex.c +index 2df1e3b..1395d13 100644 +--- a/print_ifindex.c ++++ b/print_ifindex.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2001-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_mac.c b/print_mac.c +index e384f75..f6bfad5 100644 +--- a/print_mac.c ++++ b/print_mac.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_mq_attr.c b/print_mq_attr.c +index dfc326f..5a61954 100644 +--- a/print_mq_attr.c ++++ b/print_mq_attr.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_msgbuf.c b/print_msgbuf.c +index 0a3147c..26b8019 100644 +--- a/print_msgbuf.c ++++ b/print_msgbuf.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_sg_req_info.c b/print_sg_req_info.c +index deb8d66..fdd00d5 100644 +--- a/print_sg_req_info.c ++++ b/print_sg_req_info.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_sigevent.c b/print_sigevent.c +index cfdbc08..65d370d 100644 +--- a/print_sigevent.c ++++ b/print_sigevent.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2005-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_statfs.c b/print_statfs.c +index c98ff8f..d7a9349 100644 +--- a/print_statfs.c ++++ b/print_statfs.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2014-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_struct_stat.c b/print_struct_stat.c +index ab13287..6cf80ed 100644 +--- a/print_struct_stat.c ++++ b/print_struct_stat.c +@@ -10,27 +10,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_time.c b/print_time.c +index faba47a..95be053 100644 +--- a/print_time.c ++++ b/print_time.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_timespec.c b/print_timespec.c +index a482f10..ef7d971 100644 +--- a/print_timespec.c ++++ b/print_timespec.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_timeval.c b/print_timeval.c +index 3690ce7..6f63900 100644 +--- a/print_timeval.c ++++ b/print_timeval.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/print_timex.c b/print_timex.c +index 6722906..b490aaf 100644 +--- a/print_timex.c ++++ b/print_timex.c +@@ -6,27 +6,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/printmode.c b/printmode.c +index 7a5479f..30468fb 100644 +--- a/printmode.c ++++ b/printmode.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2012-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/printrusage.c b/printrusage.c +index a25ef99..2d3023c 100644 +--- a/printrusage.c ++++ b/printrusage.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/printsiginfo.c b/printsiginfo.c +index d46003c..5f30c76 100644 +--- a/printsiginfo.c ++++ b/printsiginfo.c +@@ -10,27 +10,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/process.c b/process.c +index 4780311..6c49345 100644 +--- a/process.c ++++ b/process.c +@@ -12,27 +12,7 @@ + * + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/process_vm.c b/process_vm.c +index e6c2784..29ac7be 100644 +--- a/process_vm.c ++++ b/process_vm.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ptp.c b/ptp.c +index 0987111..ffc1606 100644 +--- a/ptp.c ++++ b/ptp.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ptrace.h b/ptrace.h +index 6250547..fe3d8b9 100644 +--- a/ptrace.h ++++ b/ptrace.h +@@ -11,27 +11,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_PTRACE_H +diff --git a/quota.c b/quota.c +index 383e4b1..65df39b 100644 +--- a/quota.c ++++ b/quota.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2006-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/readlink.c b/readlink.c +index 38eb078..484bea8 100644 +--- a/readlink.c ++++ b/readlink.c +@@ -9,27 +9,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/resource.c b/resource.c +index 022e346..724223e 100644 +--- a/resource.c ++++ b/resource.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/retval.c b/retval.c +index b8916d0..4d5721c 100644 +--- a/retval.c ++++ b/retval.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/riscv.c b/riscv.c +index aaa3932..7f37281 100644 +--- a/riscv.c ++++ b/riscv.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rt_sigframe.c b/rt_sigframe.c +index 6375dbc..6ee4a61 100644 +--- a/rt_sigframe.c ++++ b/rt_sigframe.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2017-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rt_sigreturn.c b/rt_sigreturn.c +index af705c3..6fca0c7 100644 +--- a/rt_sigreturn.c ++++ b/rt_sigreturn.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtc.c b/rtc.c +index 22812ee..dd29247 100644 +--- a/rtc.c ++++ b/rtc.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_addr.c b/rtnl_addr.c +index 6594cc6..88ef39c 100644 +--- a/rtnl_addr.c ++++ b/rtnl_addr.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_addrlabel.c b/rtnl_addrlabel.c +index d418766..1e6da24 100644 +--- a/rtnl_addrlabel.c ++++ b/rtnl_addrlabel.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_dcb.c b/rtnl_dcb.c +index 7d1a29a..8d694bb 100644 +--- a/rtnl_dcb.c ++++ b/rtnl_dcb.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_link.c b/rtnl_link.c +index 8e02bc7..55fa1e1 100644 +--- a/rtnl_link.c ++++ b/rtnl_link.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_mdb.c b/rtnl_mdb.c +index c28b9e0..dbbfb89 100644 +--- a/rtnl_mdb.c ++++ b/rtnl_mdb.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_neigh.c b/rtnl_neigh.c +index 3108774..1550d50 100644 +--- a/rtnl_neigh.c ++++ b/rtnl_neigh.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_neightbl.c b/rtnl_neightbl.c +index 9d6cec2..12acffa 100644 +--- a/rtnl_neightbl.c ++++ b/rtnl_neightbl.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_netconf.c b/rtnl_netconf.c +index f01c543..107b0d9 100644 +--- a/rtnl_netconf.c ++++ b/rtnl_netconf.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_nsid.c b/rtnl_nsid.c +index cf8cc99..06a27ea 100644 +--- a/rtnl_nsid.c ++++ b/rtnl_nsid.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_route.c b/rtnl_route.c +index 6619b56..f1bca94 100644 +--- a/rtnl_route.c ++++ b/rtnl_route.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_rule.c b/rtnl_rule.c +index 740b090..7c628db 100644 +--- a/rtnl_rule.c ++++ b/rtnl_rule.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_tc.c b/rtnl_tc.c +index 657cc38..047b515 100644 +--- a/rtnl_tc.c ++++ b/rtnl_tc.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/rtnl_tc_action.c b/rtnl_tc_action.c +index 499c69a..5167438 100644 +--- a/rtnl_tc_action.c ++++ b/rtnl_tc_action.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/s390.c b/s390.c +index 422c08d..2426a06 100644 +--- a/s390.c ++++ b/s390.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sched.c b/sched.c +index f96dfad..4bc0d98 100644 +--- a/sched.c ++++ b/sched.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/scno.am b/scno.am +index f28823b..45e2f74 100644 +--- a/scno.am ++++ b/scno.am +@@ -3,27 +3,7 @@ + # Copyright (c) 2017 Dmitry V. Levin + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) +diff --git a/scsi.c b/scsi.c +index e4a776e..b64d0c7 100644 +--- a/scsi.c ++++ b/scsi.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2007-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/seccomp.c b/seccomp.c +index 99597d0..6892d2b 100644 +--- a/seccomp.c ++++ b/seccomp.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sendfile.c b/sendfile.c +index a776688..ed053ae 100644 +--- a/sendfile.c ++++ b/sendfile.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sg_io_v3.c b/sg_io_v3.c +index 88f9dfc..fa735dc 100644 +--- a/sg_io_v3.c ++++ b/sg_io_v3.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015 Bart Van Assche + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sg_io_v4.c b/sg_io_v4.c +index 2a8380f..bd15af1 100644 +--- a/sg_io_v4.c ++++ b/sg_io_v4.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/shutdown.c b/shutdown.c +index 79a677c..37b4cad 100644 +--- a/shutdown.c ++++ b/shutdown.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sigaltstack.c b/sigaltstack.c +index bf4c9cc..aaebc9e 100644 +--- a/sigaltstack.c ++++ b/sigaltstack.c +@@ -8,27 +8,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sigevent.h b/sigevent.h +index 04c9079..b242c21 100644 +--- a/sigevent.h ++++ b/sigevent.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_SIGEVENT_H +diff --git a/signal.c b/signal.c +index d717e66..17a3f79 100644 +--- a/signal.c ++++ b/signal.c +@@ -9,27 +9,7 @@ + * Copyright (c) 2001-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/signalfd.c b/signalfd.c +index baf0dab..a3c9654 100644 +--- a/signalfd.c ++++ b/signalfd.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sock.c b/sock.c +index a477bce..403e204 100644 +--- a/sock.c ++++ b/sock.c +@@ -3,27 +3,7 @@ + * Copyright (c) 1996-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sockaddr.c b/sockaddr.c +index cfc26cb..47fd435 100644 +--- a/sockaddr.c ++++ b/sockaddr.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/socketcall.c b/socketcall.c +index 0c72d0c..fa94461 100644 +--- a/socketcall.c ++++ b/socketcall.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/socketutils.c b/socketutils.c +index a646b5b..2145867 100644 +--- a/socketutils.c ++++ b/socketutils.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sparc.c b/sparc.c +index 8e8c8a2..608127a 100644 +--- a/sparc.c ++++ b/sparc.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/stat.c b/stat.c +index 0e07e8a..286394d 100644 +--- a/stat.c ++++ b/stat.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/stat.h b/stat.h +index bcea86b..00f43f0 100644 +--- a/stat.h ++++ b/stat.h +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_STAT_H +diff --git a/stat64.c b/stat64.c +index 97191c0..db44403 100644 +--- a/stat64.c ++++ b/stat64.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/statfs.h b/statfs.h +index c986424..e28e681 100644 +--- a/statfs.h ++++ b/statfs.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_STATFS_H +diff --git a/static_assert.h b/static_assert.h +index e942f79..ebad6d7 100755 +--- a/static_assert.h ++++ b/static_assert.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2018 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_STATIC_ASSERT_H +diff --git a/statx.c b/statx.c +index c78b173..dcf3ff3 100644 +--- a/statx.c ++++ b/statx.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/statx.h b/statx.h +index bd5b047..501d8fa 100644 +--- a/statx.h ++++ b/statx.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_STATX_H +diff --git a/strace-graph b/strace-graph +index 045f5e4..fa12086 100755 +--- a/strace-graph ++++ b/strace-graph +@@ -12,27 +12,7 @@ + # Copyright (c) 1998 by Richard Braakman . + # Copyright (c) 1998-2017 The strace developers. + +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + use strict; + use warnings; +diff --git a/strace-log-merge b/strace-log-merge +index 22a9f48..87998c5 100755 +--- a/strace-log-merge ++++ b/strace-log-merge +@@ -5,27 +5,7 @@ + # + # Copyright (c) 2012-2018 The strace developers. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + show_usage() + { +diff --git a/strace-log-merge.1.in b/strace-log-merge.1.in +index 255246c..bdd8947 100644 +--- a/strace-log-merge.1.in ++++ b/strace-log-merge.1.in +@@ -1,27 +1,7 @@ + .\" Copyright (c) 2017 The strace developers. + .\" All rights reserved. + .\" +-.\" Redistribution and use in source and binary forms, with or without +-.\" modification, are permitted provided that the following conditions +-.\" are met: +-.\" 1. Redistributions of source code must retain the above copyright +-.\" notice, this list of conditions and the following disclaimer. +-.\" 2. Redistributions in binary form must reproduce the above copyright +-.\" notice, this list of conditions and the following disclaimer in the +-.\" documentation and/or other materials provided with the distribution. +-.\" 3. The name of the author may not be used to endorse or promote products +-.\" derived from this software without specific prior written permission. +-.\" +-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++.\" SPDX-License-Identifier: LGPL-2.1-or-later + .\" + .\" Required option. + .de OR +diff --git a/strace.1.in b/strace.1.in +index ac5f586..af9eadf 100644 +--- a/strace.1.in ++++ b/strace.1.in +@@ -4,27 +4,7 @@ + .\" Copyright (c) 1996-2017 The strace developers. + .\" All rights reserved. + .\" +-.\" Redistribution and use in source and binary forms, with or without +-.\" modification, are permitted provided that the following conditions +-.\" are met: +-.\" 1. Redistributions of source code must retain the above copyright +-.\" notice, this list of conditions and the following disclaimer. +-.\" 2. Redistributions in binary form must reproduce the above copyright +-.\" notice, this list of conditions and the following disclaimer in the +-.\" documentation and/or other materials provided with the distribution. +-.\" 3. The name of the author may not be used to endorse or promote products +-.\" derived from this software without specific prior written permission. +-.\" +-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++.\" SPDX-License-Identifier: LGPL-2.1-or-later + .de CW + .sp + .in +4n +diff --git a/strace.c b/strace.c +index 1146339..e21d8db 100644 +--- a/strace.c ++++ b/strace.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/strace.spec.in b/strace.spec.in +index e953b75..19c84ee 100644 +--- a/strace.spec.in ++++ b/strace.spec.in +@@ -2,7 +2,7 @@ Summary: Tracks and displays system calls associated with a running process + Name: strace + Version: @PACKAGE_VERSION@ + Release: 1%{?dist} +-License: BSD%{?suse_version:-3-Clause} ++License: LGPL-2.1-or-later AND GPL-2.0-or-later + Group: Development%{?suse_version:/Tools}/Debuggers + URL: https://strace.io + Source: https://strace.io/files/%{version}/strace-%{version}.tar.xz +diff --git a/string_to_uint.c b/string_to_uint.c +index 2d3c123..6300f9b 100644 +--- a/string_to_uint.c ++++ b/string_to_uint.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2001-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef HAVE_CONFIG_H +diff --git a/string_to_uint.h b/string_to_uint.h +index daea1fa..3f9608b 100644 +--- a/string_to_uint.h ++++ b/string_to_uint.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2001-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_STRING_TO_UINT_H +diff --git a/sync_file_range.c b/sync_file_range.c +index e16606d..d219c54 100644 +--- a/sync_file_range.c ++++ b/sync_file_range.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sync_file_range2.c b/sync_file_range2.c +index 142df31..f6593a7 100644 +--- a/sync_file_range2.c ++++ b/sync_file_range2.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/syscall.c b/syscall.c +index fe85b8b..4008ea2 100644 +--- a/syscall.c ++++ b/syscall.c +@@ -9,27 +9,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sysctl.c b/sysctl.c +index 176973a..ac5564b 100644 +--- a/sysctl.c ++++ b/sysctl.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sysinfo.c b/sysinfo.c +index 5519bf3..8426d7c 100644 +--- a/sysinfo.c ++++ b/sysinfo.c +@@ -10,27 +10,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/syslog.c b/syslog.c +index 62d313b..72d6b58 100644 +--- a/syslog.c ++++ b/syslog.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/sysmips.c b/sysmips.c +index e095cb3..73ef2dd 100644 +--- a/sysmips.c ++++ b/sysmips.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/term.c b/term.c +index cfb878b..b413a62 100644 +--- a/term.c ++++ b/term.c +@@ -3,27 +3,7 @@ + * Copyright (c) 1996-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/time.c b/time.c +index 1f44dca..f203491 100644 +--- a/time.c ++++ b/time.c +@@ -5,27 +5,7 @@ + * Copyright (c) 1996-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/times.c b/times.c +index 10f26c3..ccdd76c 100644 +--- a/times.c ++++ b/times.c +@@ -9,27 +9,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/trace_event.h b/trace_event.h +index 38883c8..767ffef 100644 +--- a/trace_event.h ++++ b/trace_event.h +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_TRACE_EVENT_H +diff --git a/ubi.c b/ubi.c +index 9f611ff..e688421 100644 +--- a/ubi.c ++++ b/ubi.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2012 Mike Frysinger + * Copyright (c) 2012-2017 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ucopy.c b/ucopy.c +index dafc1e4..7db49c4 100644 +--- a/ucopy.c ++++ b/ucopy.c +@@ -9,27 +9,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/uid.c b/uid.c +index c56bf17..e927620 100644 +--- a/uid.c ++++ b/uid.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef STRACE_UID_SIZE +diff --git a/uname.c b/uname.c +index 02f2117..40276e2 100644 +--- a/uname.c ++++ b/uname.c +@@ -7,27 +7,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/unwind-libdw.c b/unwind-libdw.c +index 6039146..d9fa79c 100644 +--- a/unwind-libdw.c ++++ b/unwind-libdw.c +@@ -11,27 +11,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/unwind-libunwind.c b/unwind-libunwind.c +index 692f766..76ec658 100644 +--- a/unwind-libunwind.c ++++ b/unwind-libunwind.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2013 Luca Clementi + * Copyright (c) 2013-2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/unwind.c b/unwind.c +index e4c6623..42e6a7f 100644 +--- a/unwind.c ++++ b/unwind.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2013 Luca Clementi + * Copyright (c) 2013-2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/unwind.h b/unwind.h +index 678c561..d3236de 100644 +--- a/unwind.h ++++ b/unwind.h +@@ -4,27 +4,7 @@ + * Copyright (c) 2013 Luca Clementi + * Copyright (c) 2013-2018 The strace developers. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_UNWIND_H +diff --git a/upeek.c b/upeek.c +index 9fccecb..46c74a4 100644 +--- a/upeek.c ++++ b/upeek.c +@@ -9,27 +9,7 @@ + * Copyright (c) 1999-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/upoke.c b/upoke.c +index f798790..3fc6eee 100644 +--- a/upoke.c ++++ b/upoke.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2016-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/userfaultfd.c b/userfaultfd.c +index 2fa33c7..5a37e63 100644 +--- a/userfaultfd.c ++++ b/userfaultfd.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/ustat.c b/ustat.c +index 7655063..7d33017 100644 +--- a/ustat.c ++++ b/ustat.c +@@ -2,27 +2,7 @@ + * Copyright (c) 2017 JingPiao Chen + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/util.c b/util.c +index 035f57b..aefedee 100644 +--- a/util.c ++++ b/util.c +@@ -9,27 +9,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/utimes.c b/utimes.c +index 311ca2d..0e40305 100644 +--- a/utimes.c ++++ b/utimes.c +@@ -9,27 +9,7 @@ + * Copyright (c) 2014-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/v4l2.c b/v4l2.c +index da1eb55..fb6df8c 100644 +--- a/v4l2.c ++++ b/v4l2.c +@@ -5,27 +5,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/wait.c b/wait.c +index c1d1dff..1712ed4 100644 +--- a/wait.c ++++ b/wait.c +@@ -10,27 +10,7 @@ + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/xattr.c b/xattr.c +index e7f550b..63ea762 100644 +--- a/xattr.c ++++ b/xattr.c +@@ -4,27 +4,7 @@ + * Copyright (c) 2005-2016 Dmitry V. Levin + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/xlat.c b/xlat.c +index 7de51da..c014233 100644 +--- a/xlat.c ++++ b/xlat.c +@@ -6,27 +6,7 @@ + * Copyright (c) 1999-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #include "defs.h" +diff --git a/xlat/gen.sh b/xlat/gen.sh +index 81f2096..ceb0e8f 100755 +--- a/xlat/gen.sh ++++ b/xlat/gen.sh +@@ -5,27 +5,7 @@ + # Copyright (c) 2014-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: LGPL-2.1-or-later + + usage() + { +diff --git a/xmalloc.c b/xmalloc.c +index 4a318b6..32f4e4f 100644 +--- a/xmalloc.c ++++ b/xmalloc.c +@@ -3,27 +3,7 @@ + * Copyright (c) 2015-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifdef HAVE_CONFIG_H +diff --git a/xmalloc.h b/xmalloc.h +index 43caa30..f90bdd8 100644 +--- a/xmalloc.h ++++ b/xmalloc.h +@@ -7,27 +7,7 @@ + * Copyright (c) 2001-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: LGPL-2.1-or-later + */ + + #ifndef STRACE_XMALLOC_H +-- +2.1.4 + diff --git a/SOURCES/0015-tests-use-tail_alloc-instead-of-calloc-in-bpf-obj_ge.patch b/SOURCES/0015-tests-use-tail_alloc-instead-of-calloc-in-bpf-obj_ge.patch new file mode 100644 index 0000000..ded3dd1 --- /dev/null +++ b/SOURCES/0015-tests-use-tail_alloc-instead-of-calloc-in-bpf-obj_ge.patch @@ -0,0 +1,216 @@ +From 14e5342e996ff122875a2306ba8d84dac096a48a Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Thu, 3 Jan 2019 23:36:22 +0000 +Subject: [PATCH 15/27] tests: use tail_alloc instead of calloc in + bpf-obj_get_info_by_fd-prog* + +This guarantees that map_info and prog_info objects are not accessed +out of bounds. + +* tests/bpf-obj_get_info_by_fd.c: Include . +(main): Use tail_alloc instead of calloc for map_info and prog_info. + +Conflicts: + tests/bpf-obj_get_info_by_fd.c + +Additional changes: + tests-m32/bpf-obj_get_info_by_fd.c (copy of tests/bpf-obj_get_info_by_fd.c) + tests-mx32/bpf-obj_get_info_by_fd.c (copy of tests/bpf-obj_get_info_by_fd.c) + +--- + tests/bpf-obj_get_info_by_fd.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2019-03-10 05:19:26.164412164 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2019-03-10 05:35:03.618024803 +0100 +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -274,13 +275,14 @@ + * initializer element is not constant. + */ + #define MAP_INFO_SZ (sizeof(*map_info) + 64) +- struct bpf_map_info_struct *map_info = calloc(1, MAP_INFO_SZ); ++ struct bpf_map_info_struct *map_info = tail_alloc(MAP_INFO_SZ); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_map_get_info_attr = { + .bpf_fd = map_fd, + .info_len = MAP_INFO_SZ, + .info = (uintptr_t) map_info, + }; + ++ memset(map_info, 0, MAP_INFO_SZ); + int ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_map_get_info_attr, + sizeof(bpf_map_get_info_attr)); + if (ret < 0) +@@ -330,7 +332,7 @@ + * initializer element is not constant. + */ + #define PROG_INFO_SZ (sizeof(*prog_info) + 64) +- struct bpf_prog_info_struct *prog_info = calloc(1, PROG_INFO_SZ); ++ struct bpf_prog_info_struct *prog_info = tail_alloc(PROG_INFO_SZ); + struct bpf_insn *xlated_prog = tail_alloc(sizeof(*xlated_prog) * 42); + uint32_t *map_ids = tail_alloc(sizeof(*map_ids) * 2); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_prog_get_info_attr = { +@@ -340,6 +342,7 @@ + }; + size_t old_prog_info_len = PROG_INFO_SZ; + ++ memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; + switch (i) { +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2018-06-04 03:11:05.000000000 +0200 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2019-03-10 05:35:43.934621086 +0100 +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +@@ -38,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -294,13 +275,14 @@ + * initializer element is not constant. + */ + #define MAP_INFO_SZ (sizeof(*map_info) + 64) +- struct bpf_map_info_struct *map_info = calloc(1, MAP_INFO_SZ); ++ struct bpf_map_info_struct *map_info = tail_alloc(MAP_INFO_SZ); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_map_get_info_attr = { + .bpf_fd = map_fd, + .info_len = MAP_INFO_SZ, + .info = (uintptr_t) map_info, + }; + ++ memset(map_info, 0, MAP_INFO_SZ); + int ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_map_get_info_attr, + sizeof(bpf_map_get_info_attr)); + if (ret < 0) +@@ -350,7 +332,7 @@ + * initializer element is not constant. + */ + #define PROG_INFO_SZ (sizeof(*prog_info) + 64) +- struct bpf_prog_info_struct *prog_info = calloc(1, PROG_INFO_SZ); ++ struct bpf_prog_info_struct *prog_info = tail_alloc(PROG_INFO_SZ); + struct bpf_insn *xlated_prog = tail_alloc(sizeof(*xlated_prog) * 42); + uint32_t *map_ids = tail_alloc(sizeof(*map_ids) * 2); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_prog_get_info_attr = { +@@ -360,6 +342,7 @@ + }; + size_t old_prog_info_len = PROG_INFO_SZ; + ++ memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; + switch (i) { +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2018-06-04 03:11:05.000000000 +0200 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2019-03-10 05:35:48.837571989 +0100 +@@ -4,27 +4,7 @@ + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +@@ -38,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -294,13 +275,14 @@ + * initializer element is not constant. + */ + #define MAP_INFO_SZ (sizeof(*map_info) + 64) +- struct bpf_map_info_struct *map_info = calloc(1, MAP_INFO_SZ); ++ struct bpf_map_info_struct *map_info = tail_alloc(MAP_INFO_SZ); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_map_get_info_attr = { + .bpf_fd = map_fd, + .info_len = MAP_INFO_SZ, + .info = (uintptr_t) map_info, + }; + ++ memset(map_info, 0, MAP_INFO_SZ); + int ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_map_get_info_attr, + sizeof(bpf_map_get_info_attr)); + if (ret < 0) +@@ -350,7 +332,7 @@ + * initializer element is not constant. + */ + #define PROG_INFO_SZ (sizeof(*prog_info) + 64) +- struct bpf_prog_info_struct *prog_info = calloc(1, PROG_INFO_SZ); ++ struct bpf_prog_info_struct *prog_info = tail_alloc(PROG_INFO_SZ); + struct bpf_insn *xlated_prog = tail_alloc(sizeof(*xlated_prog) * 42); + uint32_t *map_ids = tail_alloc(sizeof(*map_ids) * 2); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_prog_get_info_attr = { +@@ -360,6 +342,7 @@ + }; + size_t old_prog_info_len = PROG_INFO_SZ; + ++ memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; + switch (i) { diff --git a/SOURCES/0016-tests-fix-prog_info-initialization-in-bpf-obj_get_in.patch b/SOURCES/0016-tests-fix-prog_info-initialization-in-bpf-obj_get_in.patch new file mode 100644 index 0000000..15fcdcf --- /dev/null +++ b/SOURCES/0016-tests-fix-prog_info-initialization-in-bpf-obj_get_in.patch @@ -0,0 +1,61 @@ +From 755e4a0da3035c128d18c9a8f7d2f61f29715323 Mon Sep 17 00:00:00 2001 +From: Martin Lau +Date: Thu, 3 Jan 2019 23:36:22 +0000 +Subject: [PATCH 16/27] tests: fix prog_info initialization in + bpf-obj_get_info_by_fd-prog* + +The sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_prog_get_info_attr, ...) is +called in a loop. The bpf_prog_get_info_attr.info object is in size 104 +but bpf_prog_get_info_attr.info_len is in size 168. Hence, if the prog +is jited, the second iteration onwards will have nr_jited_ksyms == 1 +which is asking the kernel to fill the +bpf_prog_get_info_attr.info.jited_ksyms and it is NULL. + +* tests/bpf-obj_get_info_by_fd.c (main): Clear memory beyond prog_info +at the start of every iteration. + +Additional changes: + tests-m32/bpf-obj_get_info_by_fd.c (copy of tests/bpf-obj_get_info_by_fd.c) + tests-mx32/bpf-obj_get_info_by_fd.c (copy of tests/bpf-obj_get_info_by_fd.c) + +Co-Authored-by: Dmitry V. Levin +--- + tests/bpf-obj_get_info_by_fd.c | 1 + + 1 file changed, 1 insertion(+) + +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2019-03-10 05:38:07.889179571 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2019-03-10 05:38:16.038097970 +0100 +@@ -345,6 +345,7 @@ + memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; ++ memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: + prog_info->xlated_prog_insns = +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2019-03-10 05:35:43.934621086 +0100 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2019-03-10 05:38:32.161936511 +0100 +@@ -345,6 +345,7 @@ + memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; ++ memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: + prog_info->xlated_prog_insns = +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2019-03-10 05:38:12.854129853 +0100 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2019-03-10 05:38:29.561962546 +0100 +@@ -345,6 +345,7 @@ + memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; ++ memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: + prog_info->xlated_prog_insns = diff --git a/SOURCES/0017-Merge-.-resumed-printing.patch b/SOURCES/0017-Merge-.-resumed-printing.patch new file mode 100644 index 0000000..9909ca7 --- /dev/null +++ b/SOURCES/0017-Merge-.-resumed-printing.patch @@ -0,0 +1,211 @@ +From 8967985c6fedf1b0545f81d48c5c232718eb47d2 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 29 Jan 2019 13:54:23 +0100 +Subject: [PATCH 17/27] Merge "<... resumed>" printing + +Apparently, it was slightly different with no apparent reason. +Use a single routine to print this message now. + +* defs.h (print_syscall_resume): New function declaration. +* strace.c (print_event_exit): Replace open-coding of "<... resumed>" +message printing with a print_syscall_resume() call. +* syscall.c (syscall_exiting_trace): Likewise. +(print_syscall_resume): New function. +* tests/threads-execve.c: Update expected output. + +Additional changes: + tests-m32/threads-execve.c (copy of tests/threads-execve.c) + tests-mx32/threads-execve.c (copy of tests/threads-execve.c) + +--- + defs.h | 2 ++ + strace.c | 7 +------ + syscall.c | 35 +++++++++++++++++++++-------------- + tests/threads-execve.c | 2 +- + 4 files changed, 25 insertions(+), 21 deletions(-) + +Index: strace-4.24/defs.h +=================================================================== +--- strace-4.24.orig/defs.h 2019-03-10 05:34:58.570075352 +0100 ++++ strace-4.24/defs.h 2019-03-10 05:39:18.611471380 +0100 +@@ -408,6 +408,8 @@ + extern void set_overhead(int); + extern void print_pc(struct tcb *); + ++extern void print_syscall_resume(struct tcb *tcp); ++ + extern int syscall_entering_decode(struct tcb *); + extern int syscall_entering_trace(struct tcb *, unsigned int *); + extern void syscall_entering_finish(struct tcb *, int); +Index: strace-4.24/strace.c +=================================================================== +--- strace-4.24.orig/strace.c 2019-03-10 05:34:58.570075352 +0100 ++++ strace-4.24/strace.c 2019-03-10 05:39:18.612471370 +0100 +@@ -2191,12 +2191,7 @@ + set_current_tcp(tcp); + } + +- if ((followfork < 2 && printing_tcp != tcp) +- || (tcp->flags & TCB_REPRINT)) { +- tcp->flags &= ~TCB_REPRINT; +- printleader(tcp); +- tprintf("<... %s resumed>", tcp->s_ent->sys_name); +- } ++ print_syscall_resume(tcp); + + if (!(tcp->sys_func_rval & RVAL_DECODED)) { + /* +Index: strace-4.24/syscall.c +=================================================================== +--- strace-4.24.orig/syscall.c 2019-03-10 05:34:58.570075352 +0100 ++++ strace-4.24/syscall.c 2019-03-10 05:39:18.613471360 +0100 +@@ -722,19 +722,9 @@ + return get_syscall_result(tcp); + } + +-int +-syscall_exiting_trace(struct tcb *tcp, struct timespec *ts, int res) ++void ++print_syscall_resume(struct tcb *tcp) + { +- if (syscall_tampered(tcp) || inject_delay_exit(tcp)) +- tamper_with_syscall_exiting(tcp); +- +- if (cflag) { +- count_syscall(tcp, ts); +- if (cflag == CFLAG_ONLY_STATS) { +- return 0; +- } +- } +- + /* If not in -ff mode, and printing_tcp != tcp, + * then the log currently does not end with output + * of _our syscall entry_, but with something else. +@@ -744,11 +734,28 @@ + * "strace -ff -oLOG test/threaded_execve" corner case. + * It's the only case when -ff mode needs reprinting. + */ +- if ((followfork < 2 && printing_tcp != tcp) || (tcp->flags & TCB_REPRINT)) { ++ if ((followfork < 2 && printing_tcp != tcp) ++ || (tcp->flags & TCB_REPRINT)) { + tcp->flags &= ~TCB_REPRINT; + printleader(tcp); +- tprintf("<... %s resumed> ", tcp->s_ent->sys_name); ++ tprintf("<... %s resumed>", tcp->s_ent->sys_name); + } ++} ++ ++int ++syscall_exiting_trace(struct tcb *tcp, struct timespec *ts, int res) ++{ ++ if (syscall_tampered(tcp) || inject_delay_exit(tcp)) ++ tamper_with_syscall_exiting(tcp); ++ ++ if (cflag) { ++ count_syscall(tcp, ts); ++ if (cflag == CFLAG_ONLY_STATS) { ++ return 0; ++ } ++ } ++ ++ print_syscall_resume(tcp); + printing_tcp = tcp; + + tcp->s_prev_ent = NULL; +Index: strace-4.24/tests/threads-execve.c +=================================================================== +--- strace-4.24.orig/tests/threads-execve.c 2019-03-10 05:34:58.570075352 +0100 ++++ strace-4.24/tests/threads-execve.c 2019-03-10 05:39:18.613471360 +0100 +@@ -141,7 +141,7 @@ + } + + printf("%-5d +++ superseded by execve in pid %u +++\n" +- "%-5d <... execve resumed> ) = 0\n", ++ "%-5d <... execve resumed>) = 0\n", + leader, tid, + leader); + +Index: strace-4.24/tests-m32/threads-execve.c +=================================================================== +--- strace-4.24.orig/tests-m32/threads-execve.c 2017-05-22 19:33:51.000000000 +0200 ++++ strace-4.24/tests-m32/threads-execve.c 2019-03-10 05:39:41.348243702 +0100 +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +@@ -161,7 +141,7 @@ + } + + printf("%-5d +++ superseded by execve in pid %u +++\n" +- "%-5d <... execve resumed> ) = 0\n", ++ "%-5d <... execve resumed>) = 0\n", + leader, tid, + leader); + +Index: strace-4.24/tests-mx32/threads-execve.c +=================================================================== +--- strace-4.24.orig/tests-mx32/threads-execve.c 2017-05-22 19:33:51.000000000 +0200 ++++ strace-4.24/tests-mx32/threads-execve.c 2019-03-10 05:39:43.817218978 +0100 +@@ -5,27 +5,7 @@ + * Copyright (c) 2016-2017 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +@@ -161,7 +141,7 @@ + } + + printf("%-5d +++ superseded by execve in pid %u +++\n" +- "%-5d <... execve resumed> ) = 0\n", ++ "%-5d <... execve resumed>) = 0\n", + leader, tid, + leader); + diff --git a/SOURCES/0018-Use-accessors-for-tcp-s_ent-return-a-stub-struct-if-.patch b/SOURCES/0018-Use-accessors-for-tcp-s_ent-return-a-stub-struct-if-.patch new file mode 100644 index 0000000..90433d7 --- /dev/null +++ b/SOURCES/0018-Use-accessors-for-tcp-s_ent-return-a-stub-struct-if-.patch @@ -0,0 +1,513 @@ +From 25e40facc12017de2c4df5792f6a0a3f7db39896 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 29 Jan 2019 14:40:11 +0100 +Subject: [PATCH 18/27] Use accessors for tcp->s_ent, return a stub struct if + it is NULL + +Since code paths are non-trivial, it's an attempt to future-proof +and prevent improper access of tcp->s_ent fields. + +* defs.h (struct tcb): Update the description of s_ent field. +(stub_sysent): New declaration. +(tcp_sysent, n_args): New macro functions. +(indirect_ipccall): Use tcp_sysent() instead of tcp->s_ent. +* ipc.c (SYS_FUNC(ipc)): Use n_args() instead of tcp->s_ent->nargs. +* linux/alpha/get_syscall_args.c (get_syscall_args): Likewise. +* linux/bfin/get_syscall_args.c (get_syscall_args): Likewise. +* linux/hppa/get_syscall_args.c (get_syscall_args): Likewise. +* linux/ia64/get_syscall_args.c (get_syscall_args): Likewise. +* linux/microblaze/get_syscall_args.c (get_syscall_args): Likewise. +* linux/mips/get_syscall_args.c (get_syscall_args): Likewise. +* linux/sh/get_syscall_args.c (get_syscall_args): Likewise. +* linux/sh64/get_syscall_args.c (get_syscall_args): Likewise. +* linux/x86_64/get_syscall_args.c (get_syscall_args): Likewise. +* linux/xtensa/get_syscall_args.c (get_syscall_args): Likewise. +* prctl.c (print_prctl_args): Likewise. +* signal.c (SYS_FUNC(sgetmask)): Likewise. +* util.c (printargs, printargs_u, printargs_d): Likewise. +* syscall.c (decode_ipc_subcall, decode_syscall_subcall: Likewise. +(dumpio, tamper_with_syscall_exiting, syscall_entering_decode, +syscall_entering_decode, syscall_entering_trace, syscall_entering_trace, +syscall_exiting_decode, print_syscall_resume, syscall_exiting_trace, +get_syscall_result): Use tcp_sysent() instead of tcp->s_ent. +(stub_sysent): New stub sysent. +(get_scno): Reset scno, s_ent, qual_flg; initialise s->ent from +stub_sysent. +* pathtrace.c (pathtrace_match_set): Use tcp_sysent() instead of +tcp->s_ent. + +Co-Authored-by: Dmitry V. Levin + +Conflicts: + defs.h + linux/mips/get_syscall_args.c + syscall.c +--- + defs.h | 10 ++++++-- + ipc.c | 2 +- + linux/alpha/get_syscall_args.c | 2 +- + linux/bfin/get_syscall_args.c | 2 +- + linux/hppa/get_syscall_args.c | 2 +- + linux/ia64/get_syscall_args.c | 2 +- + linux/microblaze/get_syscall_args.c | 2 +- + linux/mips/get_syscall_args.c | 6 ++--- + linux/sh/get_syscall_args.c | 2 +- + linux/sh64/get_syscall_args.c | 2 +- + linux/x86_64/get_syscall_args.c | 2 +- + linux/xtensa/get_syscall_args.c | 2 +- + pathtrace.c | 2 +- + prctl.c | 2 +- + signal.c | 4 +-- + syscall.c | 49 +++++++++++++++++++++---------------- + util.c | 6 ++--- + 17 files changed, 56 insertions(+), 43 deletions(-) + +diff --git a/defs.h b/defs.h +index c7274c8..811bb0d 100644 +--- a/defs.h ++++ b/defs.h +@@ -206,7 +206,9 @@ struct tcb { + const char *auxstr; /* Auxiliary info from syscall (see RVAL_STR) */ + void *_priv_data; /* Private data for syscall decoding functions */ + void (*_free_priv_data)(void *); /* Callback for freeing priv_data */ +- const struct_sysent *s_ent; /* sysent[scno] or dummy struct for bad scno */ ++ const struct_sysent *s_ent; /* sysent[scno] or a stub struct for bad ++ * scno. Use tcp_sysent() macro for access. ++ */ + const struct_sysent *s_prev_ent; /* for "resuming interrupted SYSCALL" msg */ + struct inject_opts *inject_vec[SUPPORTED_PERSONALITIES]; + struct timespec stime; /* System time usage as of last process wait */ +@@ -283,6 +285,10 @@ struct tcb { + #define syscall_delayed(tcp) ((tcp)->flags & TCB_DELAYED) + #define syscall_tampered_nofail(tcp) ((tcp)->flags & TCB_TAMPERED_NO_FAIL) + ++extern const struct_sysent stub_sysent; ++#define tcp_sysent(tcp) (tcp->s_ent ?: &stub_sysent) ++#define n_args(tcp) (tcp_sysent(tcp)->nargs) ++ + #include "xlat.h" + + extern const struct xlat addrfams[]; +@@ -352,7 +358,7 @@ extern const struct xlat whence_codes[]; + #define IOCTL_NUMBER_HANDLED 1 + #define IOCTL_NUMBER_STOP_LOOKUP 010 + +-#define indirect_ipccall(tcp) (tcp->s_ent->sys_flags & TRACE_INDIRECT_SUBCALL) ++#define indirect_ipccall(tcp) (tcp_sysent(tcp)->sys_flags & TRACE_INDIRECT_SUBCALL) + + enum sock_proto { + SOCK_PROTO_UNKNOWN, +diff --git a/ipc.c b/ipc.c +index c35509b..b2b3aa4 100644 +--- a/ipc.c ++++ b/ipc.c +@@ -21,7 +21,7 @@ SYS_FUNC(ipc) + printxval_u(ipccalls, call, NULL); + + unsigned int i; +- for (i = 1; i < tcp->s_ent->nargs; ++i) ++ for (i = 1; i < n_args(tcp); ++i) + tprintf(", %#" PRI_klx, tcp->u_arg[i]); + + return RVAL_DECODED; +diff --git a/linux/alpha/get_syscall_args.c b/linux/alpha/get_syscall_args.c +index be61abf..c28eb62 100644 +--- a/linux/alpha/get_syscall_args.c ++++ b/linux/alpha/get_syscall_args.c +@@ -4,7 +4,7 @@ get_syscall_args(struct tcb *tcp) + { + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) ++ for (i = 0; i < n_args(tcp); ++i) + if (upeek(tcp, REG_A0+i, &tcp->u_arg[i]) < 0) + return -1; + return 1; +diff --git a/linux/bfin/get_syscall_args.c b/linux/bfin/get_syscall_args.c +index 506d3a9..bebaf03 100644 +--- a/linux/bfin/get_syscall_args.c ++++ b/linux/bfin/get_syscall_args.c +@@ -7,7 +7,7 @@ get_syscall_args(struct tcb *tcp) + }; + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) ++ for (i = 0; i < n_args(tcp); ++i) + if (upeek(tcp, argreg[i], &tcp->u_arg[i]) < 0) + return -1; + return 1; +diff --git a/linux/hppa/get_syscall_args.c b/linux/hppa/get_syscall_args.c +index aa938f5..70f2a24 100644 +--- a/linux/hppa/get_syscall_args.c ++++ b/linux/hppa/get_syscall_args.c +@@ -4,7 +4,7 @@ get_syscall_args(struct tcb *tcp) + { + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) ++ for (i = 0; i < n_args(tcp); ++i) + if (upeek(tcp, PT_GR26-4*i, &tcp->u_arg[i]) < 0) + return -1; + return 1; +diff --git a/linux/ia64/get_syscall_args.c b/linux/ia64/get_syscall_args.c +index ad73c54..eeeb59c 100644 +--- a/linux/ia64/get_syscall_args.c ++++ b/linux/ia64/get_syscall_args.c +@@ -11,7 +11,7 @@ get_syscall_args(struct tcb *tcp) + unsigned long *out0 = ia64_rse_skip_regs(rbs_end, -sof + sol); + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) { ++ for (i = 0; i < n_args(tcp); ++i) { + if (umove(tcp, + (unsigned long) ia64_rse_skip_regs(out0, i), + &tcp->u_arg[i]) < 0) { +diff --git a/linux/microblaze/get_syscall_args.c b/linux/microblaze/get_syscall_args.c +index 1a3a48f..0e249e3 100644 +--- a/linux/microblaze/get_syscall_args.c ++++ b/linux/microblaze/get_syscall_args.c +@@ -4,7 +4,7 @@ get_syscall_args(struct tcb *tcp) + { + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) ++ for (i = 0; i < n_args(tcp); ++i) + if (upeek(tcp, (5 + i) * 4, &tcp->u_arg[i]) < 0) + return -1; + return 1; +diff --git a/linux/mips/get_syscall_args.c b/linux/mips/get_syscall_args.c +index 3c9160e..0ff5136 100644 +--- a/linux/mips/get_syscall_args.c ++++ b/linux/mips/get_syscall_args.c +@@ -14,16 +14,16 @@ get_syscall_args(struct tcb *tcp) + tcp->u_arg[1] = mips_REG_A1; + tcp->u_arg[2] = mips_REG_A2; + tcp->u_arg[3] = mips_REG_A3; +- if (tcp->s_ent->nargs > 4 ++ if (n_args(tcp) > 4 + && umoven(tcp, mips_REG_SP + 4 * sizeof(tcp->u_arg[0]), +- (tcp->s_ent->nargs - 4) * sizeof(tcp->u_arg[0]), ++ (n_args(tcp) - 4) * sizeof(tcp->u_arg[0]), + &tcp->u_arg[4]) < 0) { + /* + * Let's proceed with the first 4 arguments + * instead of reporting the failure. + */ + memset(&tcp->u_arg[4], 0, +- (tcp->s_ent->nargs - 4) * sizeof(tcp->u_arg[0])); ++ (n_args(tcp) - 4) * sizeof(tcp->u_arg[0])); + } + #else + # error unsupported mips abi +diff --git a/linux/sh/get_syscall_args.c b/linux/sh/get_syscall_args.c +index b4ee1dd..02593b0 100644 +--- a/linux/sh/get_syscall_args.c ++++ b/linux/sh/get_syscall_args.c +@@ -12,7 +12,7 @@ get_syscall_args(struct tcb *tcp) + }; + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) ++ for (i = 0; i < n_args(tcp); ++i) + if (upeek(tcp, syscall_regs[i], &tcp->u_arg[i]) < 0) + return -1; + return 1; +diff --git a/linux/sh64/get_syscall_args.c b/linux/sh64/get_syscall_args.c +index e35c350..241ff09 100644 +--- a/linux/sh64/get_syscall_args.c ++++ b/linux/sh64/get_syscall_args.c +@@ -6,7 +6,7 @@ get_syscall_args(struct tcb *tcp) + static const int syscall_regs[MAX_ARGS] = { 2, 3, 4, 5, 6, 7 }; + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) ++ for (i = 0; i < n_args(tcp); ++i) + if (upeek(tcp, REG_GENERAL(syscall_regs[i]), + &tcp->u_arg[i]) < 0) + return -1; +diff --git a/linux/x86_64/get_syscall_args.c b/linux/x86_64/get_syscall_args.c +index f285ac3..8ee8ebd 100644 +--- a/linux/x86_64/get_syscall_args.c ++++ b/linux/x86_64/get_syscall_args.c +@@ -4,7 +4,7 @@ get_syscall_args(struct tcb *tcp) + { + if (x86_io.iov_len != sizeof(i386_regs)) { + /* x86-64 or x32 ABI */ +- if (tcp->s_ent->sys_flags & COMPAT_SYSCALL_TYPES) { ++ if (tcp_sysent(tcp)->sys_flags & COMPAT_SYSCALL_TYPES) { + /* + * X32 compat syscall: zero-extend from 32 bits. + * Use truncate_klong_to_current_wordsize(tcp->u_arg[N]) +diff --git a/linux/xtensa/get_syscall_args.c b/linux/xtensa/get_syscall_args.c +index 2a20cdb..6903221 100644 +--- a/linux/xtensa/get_syscall_args.c ++++ b/linux/xtensa/get_syscall_args.c +@@ -13,7 +13,7 @@ get_syscall_args(struct tcb *tcp) + }; + unsigned int i; + +- for (i = 0; i < tcp->s_ent->nargs; ++i) ++ for (i = 0; i < n_args(tcp); ++i) + if (upeek(tcp, xtensaregs[i], &tcp->u_arg[i]) < 0) + return -1; + return 1; +diff --git a/pathtrace.c b/pathtrace.c +index 2cd12e6..5493028 100644 +--- a/pathtrace.c ++++ b/pathtrace.c +@@ -167,7 +167,7 @@ pathtrace_match_set(struct tcb *tcp, struct path_set *set) + { + const struct_sysent *s; + +- s = tcp->s_ent; ++ s = tcp_sysent(tcp); + + if (!(s->sys_flags & (TRACE_FILE | TRACE_DESC | TRACE_NETWORK))) + return false; +diff --git a/prctl.c b/prctl.c +index 5830f11..c31ea60 100644 +--- a/prctl.c ++++ b/prctl.c +@@ -61,7 +61,7 @@ print_prctl_args(struct tcb *tcp, const unsigned int first) + { + unsigned int i; + +- for (i = first; i < tcp->s_ent->nargs; ++i) ++ for (i = first; i < n_args(tcp); ++i) + tprintf(", %#" PRI_klx, tcp->u_arg[i]); + } + +diff --git a/signal.c b/signal.c +index 17a3f79..e59a76d 100644 +--- a/signal.c ++++ b/signal.c +@@ -383,10 +383,10 @@ SYS_FUNC(sgetmask) + SYS_FUNC(sigsuspend) + { + #ifdef MIPS +- print_sigset_addr_len(tcp, tcp->u_arg[tcp->s_ent->nargs - 1], ++ print_sigset_addr_len(tcp, tcp->u_arg[n_args(tcp) - 1], + current_wordsize); + #else +- tprint_old_sigmask_val("", tcp->u_arg[tcp->s_ent->nargs - 1]); ++ tprint_old_sigmask_val("", tcp->u_arg[n_args(tcp) - 1]); + #endif + + return RVAL_DECODED; +diff --git a/syscall.c b/syscall.c +index 33f6dcd..40fcedb 100644 +--- a/syscall.c ++++ b/syscall.c +@@ -339,7 +339,7 @@ decode_ipc_subcall(struct tcb *tcp) + tcp->qual_flg = qual_flags(tcp->scno); + tcp->s_ent = &sysent[tcp->scno]; + +- const unsigned int n = tcp->s_ent->nargs; ++ const unsigned int n = n_args(tcp); + unsigned int i; + for (i = 0; i < n; i++) + tcp->u_arg[i] = tcp->u_arg[i + 1]; +@@ -363,7 +363,7 @@ decode_syscall_subcall(struct tcb *tcp) + * and sync_file_range) requires additional code, + * see linux/mips/get_syscall_args.c + */ +- if (tcp->s_ent->nargs == MAX_ARGS) { ++ if (n_args(tcp) == MAX_ARGS) { + if (umoven(tcp, + mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]), + sizeof(tcp->u_arg[0]), +@@ -382,7 +382,7 @@ dumpio(struct tcb *tcp) + return; + + if (is_number_in_set(fd, write_set)) { +- switch (tcp->s_ent->sen) { ++ switch (tcp_sysent(tcp)->sen) { + case SEN_write: + case SEN_pwrite: + case SEN_send: +@@ -409,7 +409,7 @@ dumpio(struct tcb *tcp) + return; + + if (is_number_in_set(fd, read_set)) { +- switch (tcp->s_ent->sen) { ++ switch (tcp_sysent(tcp)->sen) { + case SEN_read: + case SEN_pread: + case SEN_recv: +@@ -573,7 +573,7 @@ tamper_with_syscall_exiting(struct tcb *tcp) + + if (update_tcb) { + tcp->u_error = 0; +- get_error(tcp, !(tcp->s_ent->sys_flags & SYSCALL_NEVER_FAILS)); ++ get_error(tcp, !(tcp_sysent(tcp)->sys_flags & SYSCALL_NEVER_FAILS)); + } + + return 0; +@@ -593,10 +593,9 @@ syscall_entering_decode(struct tcb *tcp) + int res = get_scno(tcp); + if (res == 0) + return res; +- int scno_good = res; + if (res != 1 || (res = get_syscall_args(tcp)) != 1) { + printleader(tcp); +- tprintf("%s(", scno_good == 1 ? tcp->s_ent->sys_name : "????"); ++ tprintf("%s(", tcp_sysent(tcp)->sys_name); + /* + * " " will be added later by the code which + * detects ptrace errors. +@@ -608,7 +607,7 @@ syscall_entering_decode(struct tcb *tcp) + || defined SYS_socket_subcall \ + || defined SYS_syscall_subcall + for (;;) { +- switch (tcp->s_ent->sen) { ++ switch (tcp_sysent(tcp)->sen) { + # ifdef SYS_ipc_subcall + case SEN_ipc: + decode_ipc_subcall(tcp); +@@ -622,7 +621,7 @@ syscall_entering_decode(struct tcb *tcp) + # ifdef SYS_syscall_subcall + case SEN_syscall: + decode_syscall_subcall(tcp); +- if (tcp->s_ent->sen != SEN_syscall) ++ if (tcp_sysent(tcp)->sen != SEN_syscall) + continue; + break; + # endif +@@ -642,7 +641,7 @@ syscall_entering_trace(struct tcb *tcp, unsigned int *sig) + tcp->qual_flg &= ~QUAL_INJECT; + } + +- switch (tcp->s_ent->sen) { ++ switch (tcp_sysent(tcp)->sen) { + case SEN_execve: + case SEN_execveat: + #if defined SPARC || defined SPARC64 +@@ -672,14 +671,14 @@ syscall_entering_trace(struct tcb *tcp, unsigned int *sig) + + #ifdef ENABLE_STACKTRACE + if (stack_trace_enabled) { +- if (tcp->s_ent->sys_flags & STACKTRACE_CAPTURE_ON_ENTER) ++ if (tcp_sysent(tcp)->sys_flags & STACKTRACE_CAPTURE_ON_ENTER) + unwind_tcb_capture(tcp); + } + #endif + + printleader(tcp); +- tprintf("%s(", tcp->s_ent->sys_name); +- int res = raw(tcp) ? printargs(tcp) : tcp->s_ent->sys_func(tcp); ++ tprintf("%s(", tcp_sysent(tcp)->sys_name); ++ int res = raw(tcp) ? printargs(tcp) : tcp_sysent(tcp)->sys_func(tcp); + fflush(tcp->outf); + return res; + } +@@ -709,7 +708,7 @@ syscall_exiting_decode(struct tcb *tcp, struct timespec *pts) + if ((Tflag || cflag) && !(filtered(tcp) || hide_log(tcp))) + clock_gettime(CLOCK_MONOTONIC, pts); + +- if (tcp->s_ent->sys_flags & MEMORY_MAPPING_CHANGE) ++ if (tcp_sysent(tcp)->sys_flags & MEMORY_MAPPING_CHANGE) + mmap_notify_report(tcp); + + if (filtered(tcp) || hide_log(tcp)) +@@ -738,7 +737,7 @@ print_syscall_resume(struct tcb *tcp) + || (tcp->flags & TCB_REPRINT)) { + tcp->flags &= ~TCB_REPRINT; + printleader(tcp); +- tprintf("<... %s resumed>", tcp->s_ent->sys_name); ++ tprintf("<... %s resumed>", tcp_sysent(tcp)->sys_name); + } + } + +@@ -786,7 +785,7 @@ syscall_exiting_trace(struct tcb *tcp, struct timespec *ts, int res) + if (tcp->sys_func_rval & RVAL_DECODED) + sys_res = tcp->sys_func_rval; + else +- sys_res = tcp->s_ent->sys_func(tcp); ++ sys_res = tcp_sysent(tcp)->sys_func(tcp); + } + + tprints(") "); +@@ -1175,6 +1174,13 @@ free_sysent_buf(void *ptr) + free(ptr); + } + ++const struct_sysent stub_sysent = { ++ .nargs = MAX_ARGS, ++ .sen = SEN_printargs, ++ .sys_func = printargs, ++ .sys_name = "????", ++}; ++ + /* + * Returns: + * 0: "ignore this ptrace stop", syscall_entering_decode() should return a "bail +@@ -1186,6 +1192,10 @@ free_sysent_buf(void *ptr) + int + get_scno(struct tcb *tcp) + { ++ tcp->scno = -1; ++ tcp->s_ent = NULL; ++ tcp->qual_flg = QUAL_RAW | DEFAULT_QUAL_FLAGS; ++ + if (get_regs(tcp) < 0) + return -1; + +@@ -1202,14 +1212,11 @@ get_scno(struct tcb *tcp) + struct sysent_buf *s = xcalloc(1, sizeof(*s)); + + s->tcp = tcp; +- s->ent.nargs = MAX_ARGS; +- s->ent.sen = SEN_printargs; +- s->ent.sys_func = printargs; ++ s->ent = stub_sysent; + s->ent.sys_name = s->buf; + xsprintf(s->buf, "syscall_%#" PRI_klx, shuffle_scno(tcp->scno)); + + tcp->s_ent = &s->ent; +- tcp->qual_flg = QUAL_RAW | DEFAULT_QUAL_FLAGS; + + set_tcb_priv_data(tcp, s, free_sysent_buf); + +@@ -1246,7 +1253,7 @@ get_syscall_result(struct tcb *tcp) + return -1; + tcp->u_error = 0; + get_error(tcp, +- (!(tcp->s_ent->sys_flags & SYSCALL_NEVER_FAILS) ++ (!(tcp_sysent(tcp)->sys_flags & SYSCALL_NEVER_FAILS) + || syscall_tampered(tcp)) + && !syscall_tampered_nofail(tcp)); + +diff --git a/util.c b/util.c +index aefedee..b841c0f 100644 +--- a/util.c ++++ b/util.c +@@ -1161,7 +1161,7 @@ print_array_ex(struct tcb *const tcp, + int + printargs(struct tcb *tcp) + { +- const int n = tcp->s_ent->nargs; ++ const int n = n_args(tcp); + int i; + for (i = 0; i < n; ++i) + tprintf("%s%#" PRI_klx, i ? ", " : "", tcp->u_arg[i]); +@@ -1171,7 +1171,7 @@ printargs(struct tcb *tcp) + int + printargs_u(struct tcb *tcp) + { +- const int n = tcp->s_ent->nargs; ++ const int n = n_args(tcp); + int i; + for (i = 0; i < n; ++i) + tprintf("%s%u", i ? ", " : "", +@@ -1182,7 +1182,7 @@ printargs_u(struct tcb *tcp) + int + printargs_d(struct tcb *tcp) + { +- const int n = tcp->s_ent->nargs; ++ const int n = n_args(tcp); + int i; + for (i = 0; i < n; ++i) + tprintf("%s%d", i ? ", " : "", +-- +2.1.4 + diff --git a/SOURCES/0019-syscall.c-set-MEMORY_MAPPING_CHANGE-in-stub-sysent.patch b/SOURCES/0019-syscall.c-set-MEMORY_MAPPING_CHANGE-in-stub-sysent.patch new file mode 100644 index 0000000..fc5e0a6 --- /dev/null +++ b/SOURCES/0019-syscall.c-set-MEMORY_MAPPING_CHANGE-in-stub-sysent.patch @@ -0,0 +1,27 @@ +From 6f9c98e28df7cbc1e3417908604550956ca76f21 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 29 Jan 2019 15:35:00 +0100 +Subject: [PATCH 19/27] syscall.c: set MEMORY_MAPPING_CHANGE in stub sysent + +As unknown syscalls may incur unknown side effects. + +* syscall.c (stub_sysent): Set sys_flags to MEMORY_MAPPING_CHANGE. +--- + syscall.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/syscall.c b/syscall.c +index 40fcedb..b836cd6 100644 +--- a/syscall.c ++++ b/syscall.c +@@ -1176,6 +1176,7 @@ free_sysent_buf(void *ptr) + + const struct_sysent stub_sysent = { + .nargs = MAX_ARGS, ++ .sys_flags = MEMORY_MAPPING_CHANGE, + .sen = SEN_printargs, + .sys_func = printargs, + .sys_name = "????", +-- +2.1.4 + diff --git a/SOURCES/0020-Make-inline-message-on-failed-restart-attempt-more-v.patch b/SOURCES/0020-Make-inline-message-on-failed-restart-attempt-more-v.patch new file mode 100644 index 0000000..65fae34 --- /dev/null +++ b/SOURCES/0020-Make-inline-message-on-failed-restart-attempt-more-v.patch @@ -0,0 +1,33 @@ +From 38a060e855568e2990affd5cd37aeda372f79c33 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Sun, 10 Feb 2019 19:49:46 +0100 +Subject: [PATCH 20/27] Make inline message on failed restart attempt more + verbose + +Hopefully, now it is less confusing. + +* strace.c (ptrace_restart): Provide intent and pid in the inline error +message. + +References: https://bugzilla.redhat.com/show_bug.cgi?id=1662936 +--- + strace.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/strace.c b/strace.c +index 7fe6548..f2aa846 100644 +--- a/strace.c ++++ b/strace.c +@@ -380,7 +380,8 @@ ptrace_restart(const unsigned int op, struct tcb *const tcp, unsigned int sig) + * but before we tried to restart it. Log looks ugly. + */ + if (current_tcp && current_tcp->curcol != 0) { +- tprintf(" \n", msg, strerror(err)); ++ tprintf(" \n", ++ tcp->pid, msg, strerror(err)); + line_ended(); + } + if (err == ESRCH) +-- +2.1.4 + diff --git a/SOURCES/0021-ptrace_restart-do-not-print-diagnostics-when-ptrace-.patch b/SOURCES/0021-ptrace_restart-do-not-print-diagnostics-when-ptrace-.patch new file mode 100644 index 0000000..979703b --- /dev/null +++ b/SOURCES/0021-ptrace_restart-do-not-print-diagnostics-when-ptrace-.patch @@ -0,0 +1,41 @@ +From 179063d63c4e1f49dd863db7ec5d70a3fa2a3713 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Mon, 11 Feb 2019 00:57:38 +0100 +Subject: [PATCH 21/27] ptrace_restart: do not print diagnostics when ptrace + returns ESRCH + +After some discussion, it was decided that the situation +when the tracee is gone does not worth reporting. + +* strace.c (ptrace_restart): Return early if ptrace returned ESRCH. + +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1662936 +--- + strace.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/strace.c b/strace.c +index f2aa846..0745838 100644 +--- a/strace.c ++++ b/strace.c +@@ -353,7 +353,7 @@ ptrace_restart(const unsigned int op, struct tcb *const tcp, unsigned int sig) + errno = 0; + ptrace(op, tcp->pid, 0L, (unsigned long) sig); + err = errno; +- if (!err) ++ if (!err || err == ESRCH) + return 0; + + switch (op) { +@@ -384,8 +384,6 @@ ptrace_restart(const unsigned int op, struct tcb *const tcp, unsigned int sig) + tcp->pid, msg, strerror(err)); + line_ended(); + } +- if (err == ESRCH) +- return 0; + errno = err; + perror_msg("ptrace(PTRACE_%s,pid:%d,sig:%u)", msg, tcp->pid, sig); + return -1; +-- +2.1.4 + diff --git a/SOURCES/0022-tests-add-kill_child-test.patch b/SOURCES/0022-tests-add-kill_child-test.patch new file mode 100644 index 0000000..217baa1 --- /dev/null +++ b/SOURCES/0022-tests-add-kill_child-test.patch @@ -0,0 +1,636 @@ +From f5888ee34b2cca8562d2878dbc6b2db9b8256672 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Fri, 1 Feb 2019 11:04:51 +0100 +Subject: [PATCH 22/27] tests: add kill_child test + +This tests repeatedly creates and kills children, so some corner +cases in handling of not-quite-existing processes can be observed. + +Previously, strace was crashing in the following situation: + + 13994 ????( + ... + 13994 <... ???? resumed>) = ? + +as tcp->s_ent wasn't initialised on syscall entering and +strace.c:print_event_exit segfaulted when tried to access +tcp->s_ent->sys_name. + +* tests/kill_child.c: New file. +* tests/kill_child.test: New test. +* tests/.gitignore: Add kill_child. +* tests/Makefile.am (check_PROGRAMS): Likewise. +(MISC_TESTS): Add kill_child.test. + +Skipped files (not present in dist tarball): + tests/.gitignore + +Additional changes: + tests/Makefile.in (auto-generated from tests/Makefile.am) + tests-m32/Makefile.in (auto-generated from tests-m32/Makefile.am) + tests-m32/kill_child.c (copy of tests/kill_child.c) + tests-m32/kill_child.test (copy of tests/kill_child.test) + tests-m32/Makefile.in (auto-generted from tests-mx32/Makefile.am) + tests-mx32/kill_child.c (copy of tests/kill_child.c) + tests-mx32/kill_child.test (copy of tests/kill_child.test) + +Co-Authored-by: Dmitry V. Levin +--- + tests/.gitignore | 1 + + tests/Makefile.am | 2 ++ + tests/kill_child.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ + tests/kill_child.test | 31 +++++++++++++++++++++++ + 4 files changed, 103 insertions(+) + create mode 100644 tests/kill_child.c + create mode 100755 tests/kill_child.test + +Index: strace-4.24/tests/Makefile.am +=================================================================== +--- strace-4.24.orig/tests/Makefile.am 2019-03-10 05:34:51.995141191 +0100 ++++ strace-4.24/tests/Makefile.am 2019-03-10 05:40:37.969676713 +0100 +@@ -104,6 +104,7 @@ + ioctl_perf-success \ + ioctl_rtc-v \ + is_linux_mips_n64 \ ++ kill_child \ + ksysent \ + list_sigaction_signum \ + localtime \ +@@ -299,6 +300,7 @@ + get_regs.test \ + inject-nf.test \ + interactive_block.test \ ++ kill_child.test \ + ksysent.test \ + localtime.test \ + opipe.test \ +Index: strace-4.24/tests/kill_child.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/kill_child.c 2019-03-10 05:40:37.970676703 +0100 +@@ -0,0 +1,69 @@ ++/* ++ * Check for the corner case that previously lead to segfault ++ * due to an attempt to access unitialised tcp->s_ent. ++ * ++ * 13994 ????( ++ * ... ++ * 13994 <... ???? resumed>) = ? ++ * ++ * Copyright (c) 2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define ITERS 10000 ++#define SC_ITERS 10000 ++ ++int ++main(void) ++{ ++ volatile sig_atomic_t *const mem = ++ mmap(NULL, get_page_size(), PROT_READ | PROT_WRITE, ++ MAP_SHARED | MAP_ANONYMOUS, -1, 0); ++ if (mem == MAP_FAILED) ++ perror_msg_and_fail("mmap"); ++ ++ for (unsigned int i = 0; i < ITERS; ++i) { ++ mem[0] = mem[1] = 0; ++ ++ const pid_t pid = fork(); ++ if (pid < 0) ++ perror_msg_and_fail("fork"); ++ ++ if (!pid) { ++ /* wait for the parent */ ++ while (!mem[0]) ++ ; ++ /* let the parent know we are running */ ++ mem[1] = 1; ++ ++ for (unsigned int j = 0; j < SC_ITERS; j++) ++ sched_yield(); ++ ++ pause(); ++ return 0; ++ } ++ ++ /* let the child know we are running */ ++ mem[0] = 1; ++ /* wait for the child */ ++ while (!mem[1]) ++ ; ++ ++ if (kill(pid, SIGKILL)) ++ perror_msg_and_fail("kill"); ++ if (wait(NULL) != pid) ++ perror_msg_and_fail("wait"); ++ } ++ ++ return 0; ++} +Index: strace-4.24/tests/kill_child.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/kill_child.test 2019-03-10 05:40:37.970676703 +0100 +@@ -0,0 +1,31 @@ ++#!/bin/sh ++# ++# Check whether repeated killing of just forked processes crashes strace. ++# ++# Copyright (c) 2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++. "${srcdir=.}/init.sh" ++ ++run_prog_skip_if_failed date +%s > /dev/null ++s0="$(date +%s)" ++ ++run_prog ++args="-f -qq -e signal=none -e trace=sched_yield,/kill $args" ++ ++# Run strace until the known corner case is observed. ++while :; do ++ run_strace $args ++ ++ # Printing of "<... SYSCALL resumed>" in strace.c:print_event_exit ++ # used to segfault when the syscall number had not been obtained ++ # on syscall entering. ++ grep -q '^[1-9][0-9]* <\.\.\. ???? resumed>) \+= ?$' "$LOG" && exit 0 ++ ++ s1="$(date +%s)" ++ if [ "$(($s1-$s0))" -gt "$(($TIMEOUT_DURATION/2))" ]; then ++ skip_ 'Unable to reproduce <... ???? resumed>' ++ fi ++done +Index: strace-4.24/tests/Makefile.in +=================================================================== +--- strace-4.24.orig/tests/Makefile.in 2019-03-10 05:34:51.995141191 +0100 ++++ strace-4.24/tests/Makefile.in 2019-03-10 05:40:37.973676673 +0100 +@@ -153,8 +153,9 @@ + ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ +- is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \ +- list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \ ++ is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ ++ ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ ++ localtime$(EXEEXT) \ + mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ + msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ +@@ -1186,6 +1187,10 @@ + kill_OBJECTS = kill.$(OBJEXT) + kill_LDADD = $(LDADD) + kill_DEPENDENCIES = libtests.a ++kill_child_SOURCES = kill_child.c ++kill_child_OBJECTS = kill_child.$(OBJEXT) ++kill_child_LDADD = $(LDADD) ++kill_child_DEPENDENCIES = libtests.a + ksysent_SOURCES = ksysent.c + ksysent_OBJECTS = ksysent.$(OBJEXT) + ksysent_LDADD = $(LDADD) +@@ -2741,9 +2746,9 @@ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ +- keyctl-Xraw.c keyctl-Xverbose.c kill.c ksysent.c lchown.c \ +- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ +- localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ ++ keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ ++ lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ ++ llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ + madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ + mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ + mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +@@ -2886,9 +2891,9 @@ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ +- keyctl-Xraw.c keyctl-Xverbose.c kill.c ksysent.c lchown.c \ +- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ +- localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ ++ keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ ++ lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ ++ llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ + madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ + mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ + mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +@@ -4227,6 +4232,7 @@ + get_regs.test \ + inject-nf.test \ + interactive_block.test \ ++ kill_child.test \ + ksysent.test \ + localtime.test \ + opipe.test \ +@@ -5190,6 +5196,10 @@ + @rm -f kill$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) + ++kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) ++ @rm -f kill_child$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS) ++ + ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES) + @rm -f ksysent$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS) +@@ -6855,6 +6865,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ +Index: strace-4.24/tests-m32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.in 2018-08-14 02:44:38.000000000 +0200 ++++ strace-4.24/tests-m32/Makefile.in 2019-03-10 05:44:56.112091757 +0100 +@@ -153,8 +153,9 @@ + ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ +- is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \ +- list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \ ++ is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ ++ ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ ++ localtime$(EXEEXT) \ + mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ + msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ +@@ -1186,6 +1187,10 @@ + kill_OBJECTS = kill.$(OBJEXT) + kill_LDADD = $(LDADD) + kill_DEPENDENCIES = libtests.a ++kill_child_SOURCES = kill_child.c ++kill_child_OBJECTS = kill_child.$(OBJEXT) ++kill_child_LDADD = $(LDADD) ++kill_child_DEPENDENCIES = libtests.a + ksysent_SOURCES = ksysent.c + ksysent_OBJECTS = ksysent.$(OBJEXT) + ksysent_LDADD = $(LDADD) +@@ -2741,9 +2746,9 @@ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ +- keyctl-Xraw.c keyctl-Xverbose.c kill.c ksysent.c lchown.c \ +- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ +- localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ ++ keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ ++ lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ ++ llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ + madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ + mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ + mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +@@ -2886,9 +2891,9 @@ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ +- keyctl-Xraw.c keyctl-Xverbose.c kill.c ksysent.c lchown.c \ +- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ +- localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ ++ keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ ++ lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ ++ llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ + madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ + mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ + mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +@@ -4227,6 +4232,7 @@ + get_regs.test \ + inject-nf.test \ + interactive_block.test \ ++ kill_child.test \ + ksysent.test \ + localtime.test \ + opipe.test \ +@@ -5190,6 +5196,10 @@ + @rm -f kill$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) + ++kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) ++ @rm -f kill_child$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS) ++ + ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES) + @rm -f ksysent$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS) +@@ -6855,6 +6865,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ +Index: strace-4.24/tests-m32/kill_child.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/kill_child.c 2019-03-10 05:41:09.454361435 +0100 +@@ -0,0 +1,69 @@ ++/* ++ * Check for the corner case that previously lead to segfault ++ * due to an attempt to access unitialised tcp->s_ent. ++ * ++ * 13994 ????( ++ * ... ++ * 13994 <... ???? resumed>) = ? ++ * ++ * Copyright (c) 2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define ITERS 10000 ++#define SC_ITERS 10000 ++ ++int ++main(void) ++{ ++ volatile sig_atomic_t *const mem = ++ mmap(NULL, get_page_size(), PROT_READ | PROT_WRITE, ++ MAP_SHARED | MAP_ANONYMOUS, -1, 0); ++ if (mem == MAP_FAILED) ++ perror_msg_and_fail("mmap"); ++ ++ for (unsigned int i = 0; i < ITERS; ++i) { ++ mem[0] = mem[1] = 0; ++ ++ const pid_t pid = fork(); ++ if (pid < 0) ++ perror_msg_and_fail("fork"); ++ ++ if (!pid) { ++ /* wait for the parent */ ++ while (!mem[0]) ++ ; ++ /* let the parent know we are running */ ++ mem[1] = 1; ++ ++ for (unsigned int j = 0; j < SC_ITERS; j++) ++ sched_yield(); ++ ++ pause(); ++ return 0; ++ } ++ ++ /* let the child know we are running */ ++ mem[0] = 1; ++ /* wait for the child */ ++ while (!mem[1]) ++ ; ++ ++ if (kill(pid, SIGKILL)) ++ perror_msg_and_fail("kill"); ++ if (wait(NULL) != pid) ++ perror_msg_and_fail("wait"); ++ } ++ ++ return 0; ++} +Index: strace-4.24/tests-m32/kill_child.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/kill_child.test 2019-03-10 05:41:25.066205103 +0100 +@@ -0,0 +1,31 @@ ++#!/bin/sh ++# ++# Check whether repeated killing of just forked processes crashes strace. ++# ++# Copyright (c) 2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++. "${srcdir=.}/init.sh" ++ ++run_prog_skip_if_failed date +%s > /dev/null ++s0="$(date +%s)" ++ ++run_prog ++args="-f -qq -e signal=none -e trace=sched_yield,/kill $args" ++ ++# Run strace until the known corner case is observed. ++while :; do ++ run_strace $args ++ ++ # Printing of "<... SYSCALL resumed>" in strace.c:print_event_exit ++ # used to segfault when the syscall number had not been obtained ++ # on syscall entering. ++ grep -q '^[1-9][0-9]* <\.\.\. ???? resumed>) \+= ?$' "$LOG" && exit 0 ++ ++ s1="$(date +%s)" ++ if [ "$(($s1-$s0))" -gt "$(($TIMEOUT_DURATION/2))" ]; then ++ skip_ 'Unable to reproduce <... ???? resumed>' ++ fi ++done +Index: strace-4.24/tests-mx32/kill_child.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/kill_child.c 2019-03-10 05:41:12.566330273 +0100 +@@ -0,0 +1,69 @@ ++/* ++ * Check for the corner case that previously lead to segfault ++ * due to an attempt to access unitialised tcp->s_ent. ++ * ++ * 13994 ????( ++ * ... ++ * 13994 <... ???? resumed>) = ? ++ * ++ * Copyright (c) 2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define ITERS 10000 ++#define SC_ITERS 10000 ++ ++int ++main(void) ++{ ++ volatile sig_atomic_t *const mem = ++ mmap(NULL, get_page_size(), PROT_READ | PROT_WRITE, ++ MAP_SHARED | MAP_ANONYMOUS, -1, 0); ++ if (mem == MAP_FAILED) ++ perror_msg_and_fail("mmap"); ++ ++ for (unsigned int i = 0; i < ITERS; ++i) { ++ mem[0] = mem[1] = 0; ++ ++ const pid_t pid = fork(); ++ if (pid < 0) ++ perror_msg_and_fail("fork"); ++ ++ if (!pid) { ++ /* wait for the parent */ ++ while (!mem[0]) ++ ; ++ /* let the parent know we are running */ ++ mem[1] = 1; ++ ++ for (unsigned int j = 0; j < SC_ITERS; j++) ++ sched_yield(); ++ ++ pause(); ++ return 0; ++ } ++ ++ /* let the child know we are running */ ++ mem[0] = 1; ++ /* wait for the child */ ++ while (!mem[1]) ++ ; ++ ++ if (kill(pid, SIGKILL)) ++ perror_msg_and_fail("kill"); ++ if (wait(NULL) != pid) ++ perror_msg_and_fail("wait"); ++ } ++ ++ return 0; ++} +Index: strace-4.24/tests-mx32/kill_child.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/kill_child.test 2019-03-10 05:41:27.802177706 +0100 +@@ -0,0 +1,31 @@ ++#!/bin/sh ++# ++# Check whether repeated killing of just forked processes crashes strace. ++# ++# Copyright (c) 2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++. "${srcdir=.}/init.sh" ++ ++run_prog_skip_if_failed date +%s > /dev/null ++s0="$(date +%s)" ++ ++run_prog ++args="-f -qq -e signal=none -e trace=sched_yield,/kill $args" ++ ++# Run strace until the known corner case is observed. ++while :; do ++ run_strace $args ++ ++ # Printing of "<... SYSCALL resumed>" in strace.c:print_event_exit ++ # used to segfault when the syscall number had not been obtained ++ # on syscall entering. ++ grep -q '^[1-9][0-9]* <\.\.\. ???? resumed>) \+= ?$' "$LOG" && exit 0 ++ ++ s1="$(date +%s)" ++ if [ "$(($s1-$s0))" -gt "$(($TIMEOUT_DURATION/2))" ]; then ++ skip_ 'Unable to reproduce <... ???? resumed>' ++ fi ++done +Index: strace-4.24/tests-mx32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.in 2018-08-14 02:44:38.000000000 +0200 ++++ strace-4.24/tests-mx32/Makefile.in 2019-03-10 05:45:49.892553217 +0100 +@@ -153,8 +153,9 @@ + ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ +- is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \ +- list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \ ++ is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ ++ ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ ++ localtime$(EXEEXT) \ + mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ + msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ +@@ -1186,6 +1187,10 @@ + kill_OBJECTS = kill.$(OBJEXT) + kill_LDADD = $(LDADD) + kill_DEPENDENCIES = libtests.a ++kill_child_SOURCES = kill_child.c ++kill_child_OBJECTS = kill_child.$(OBJEXT) ++kill_child_LDADD = $(LDADD) ++kill_child_DEPENDENCIES = libtests.a + ksysent_SOURCES = ksysent.c + ksysent_OBJECTS = ksysent.$(OBJEXT) + ksysent_LDADD = $(LDADD) +@@ -2741,9 +2746,9 @@ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ +- keyctl-Xraw.c keyctl-Xverbose.c kill.c ksysent.c lchown.c \ +- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ +- localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ ++ keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ ++ lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ ++ llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ + madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ + mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ + mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +@@ -2886,9 +2891,9 @@ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ +- keyctl-Xraw.c keyctl-Xverbose.c kill.c ksysent.c lchown.c \ +- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ +- localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ ++ keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ ++ lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ ++ llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ + madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ + mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ + mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +@@ -4227,6 +4232,7 @@ + get_regs.test \ + inject-nf.test \ + interactive_block.test \ ++ kill_child.test \ + ksysent.test \ + localtime.test \ + opipe.test \ +@@ -5190,6 +5196,10 @@ + @rm -f kill$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) + ++kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) ++ @rm -f kill_child$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS) ++ + ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES) + @rm -f ksysent$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS) +@@ -6855,6 +6865,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ diff --git a/SOURCES/0023-tests-move-PTRACE_SEIZE-check-to-a-separate-file.patch b/SOURCES/0023-tests-move-PTRACE_SEIZE-check-to-a-separate-file.patch new file mode 100644 index 0000000..db58d88 --- /dev/null +++ b/SOURCES/0023-tests-move-PTRACE_SEIZE-check-to-a-separate-file.patch @@ -0,0 +1,193 @@ +From ca7fc3695b061c48af1975d14a3e50a87329031a Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Wed, 6 Mar 2019 16:02:38 +0000 +Subject: [PATCH 23/27] tests: move PTRACE_SEIZE check to a separate file + +The check is going to be used by another test soon. + +* tests/PTRACE_SEIZE.sh: New file. +* tests/detach-stopped.test: Use it. +* tests/Makefile.am (EXTRA_DIST): Add PTRACE_SEIZE.sh. + +Conflicts: + tests/Makefile.am + tests/detach-stopped.test + +Additional changes: + tests-m32/PTRACE_SEIZE.sh (copy of tests/PTRACE_SEIZE.sh) + tests-m32/detach-stopped.test (copy of tests/detach-stopped.test) + tests-mx32/PTRACE_SEIZE.sh (copy of tests/PTRACE_SEIZE.sh) + tests-mx32/detach-stopped.test (copy of tests/detach-stopped.test) + +--- + tests/Makefile.am | 1 + + tests/PTRACE_SEIZE.sh | 13 +++++++++++++ + tests/detach-stopped.test | 6 +----- + 3 files changed, 15 insertions(+), 5 deletions(-) + create mode 100755 tests/PTRACE_SEIZE.sh + +Index: strace-4.24/tests/Makefile.am +=================================================================== +--- strace-4.24.orig/tests/Makefile.am 2019-03-10 05:40:37.969676713 +0100 ++++ strace-4.24/tests/Makefile.am 2019-03-10 05:47:36.446486219 +0100 +@@ -361,6 +361,7 @@ + EXTRA_DIST = \ + COPYING \ + GPL-2.0-or-later \ ++ PTRACE_SEIZE.sh \ + accept_compat.h \ + attach-p-cmd.h \ + caps-abbrev.awk \ +Index: strace-4.24/tests/PTRACE_SEIZE.sh +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/PTRACE_SEIZE.sh 2019-03-10 05:47:36.447486209 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh ++# ++# Skip the test if PTRACE_SEIZE is not supported. ++# ++# Copyright (c) 2014-2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++$STRACE -d -enone / > /dev/null 2> "$LOG" ||: ++if grep -x "[^:]*strace: PTRACE_SEIZE doesn't work" "$LOG" > /dev/null; then ++ skip_ "PTRACE_SEIZE doesn't work" ++fi +Index: strace-4.24/tests/detach-stopped.test +=================================================================== +--- strace-4.24.orig/tests/detach-stopped.test 2019-03-10 05:34:50.982151335 +0100 ++++ strace-4.24/tests/detach-stopped.test 2019-03-10 05:47:36.447486209 +0100 +@@ -9,17 +9,13 @@ + # SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh" + + run_prog_skip_if_failed \ + kill -0 $$ + + check_prog sleep + +-$STRACE -d -enone / > /dev/null 2> "$LOG" +-if grep -x "[^:]*strace: PTRACE_SEIZE doesn't work" "$LOG" > /dev/null; then +- skip_ "PTRACE_SEIZE doesn't work" +-fi +- + set -e + + > "$LOG" +Index: strace-4.24/tests-m32/PTRACE_SEIZE.sh +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/PTRACE_SEIZE.sh 2019-03-10 05:48:20.038049708 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh ++# ++# Skip the test if PTRACE_SEIZE is not supported. ++# ++# Copyright (c) 2014-2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++$STRACE -d -enone / > /dev/null 2> "$LOG" ||: ++if grep -x "[^:]*strace: PTRACE_SEIZE doesn't work" "$LOG" > /dev/null; then ++ skip_ "PTRACE_SEIZE doesn't work" ++fi +Index: strace-4.24/tests-m32/detach-stopped.test +=================================================================== +--- strace-4.24.orig/tests-m32/detach-stopped.test 2017-05-22 19:33:51.000000000 +0200 ++++ strace-4.24/tests-m32/detach-stopped.test 2019-03-10 05:48:30.588944054 +0100 +@@ -6,40 +6,16 @@ + # Copyright (c) 2014-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh" + + run_prog_skip_if_failed \ + kill -0 $$ + + check_prog sleep + +-$STRACE -d -enone / > /dev/null 2> "$LOG" +-if grep -x "[^:]*strace: PTRACE_SEIZE doesn't work" "$LOG" > /dev/null; then +- skip_ "PTRACE_SEIZE doesn't work" +-fi +- + set -e + + > "$LOG" +Index: strace-4.24/tests-mx32/detach-stopped.test +=================================================================== +--- strace-4.24.orig/tests-mx32/detach-stopped.test 2017-05-22 19:33:51.000000000 +0200 ++++ strace-4.24/tests-mx32/detach-stopped.test 2019-03-10 05:48:33.040919501 +0100 +@@ -6,40 +6,16 @@ + # Copyright (c) 2014-2017 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh" + + run_prog_skip_if_failed \ + kill -0 $$ + + check_prog sleep + +-$STRACE -d -enone / > /dev/null 2> "$LOG" +-if grep -x "[^:]*strace: PTRACE_SEIZE doesn't work" "$LOG" > /dev/null; then +- skip_ "PTRACE_SEIZE doesn't work" +-fi +- + set -e + + > "$LOG" diff --git a/SOURCES/0024-tests-check-tracing-of-orphaned-process-group.patch b/SOURCES/0024-tests-check-tracing-of-orphaned-process-group.patch new file mode 100644 index 0000000..7b19208 --- /dev/null +++ b/SOURCES/0024-tests-check-tracing-of-orphaned-process-group.patch @@ -0,0 +1,901 @@ +From 96dc1aa20237b80087f6c9ee29147bb85a5594d9 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Wed, 6 Mar 2019 16:02:38 +0000 +Subject: [PATCH 24/27] tests: check tracing of orphaned process group + +* tests/orphaned_process_group.c: New file. +* tests/.gitignore: Add orphaned_process_group. +* tests/Makefile.am (check_PROGRAMS): Likewise. +* tests/gen_tests.in (orphaned_process_group): New test. + +Skipped files (not present in the tarball): + tests/.gitignore + +Additional changes: + tests/Makefile.in (generated from tests/Makefile.am) + tests/tests/orphaned_process_group.gen.test (generated from tests/gen_tests.in) + tests-m32/Makefile.in (generated from tests-m32/Makefile.am) + tests-m32/gen_tests.in (copy of tests/gen_tests.in) + tests-m32/orphaned_process_group.c (copy of tests/orphaned_process_group.c) + tests-m32/tests/orphaned_process_group.gen.test (generated from tests-m32/gen_tests.in) + tests-mx32/Makefile.in (generated from tests-mx32/Makefile.am) + tests-mx32/gen_tests.in (copy of tests/gen_tests.in) + tests-mx32/orphaned_process_group.c (copy of tests/orphaned_process_group.c) + tests-mx32/tests/orphaned_process_group.gen.test (generated from tests-mx32/gen_tests.in) + +--- + tests/.gitignore | 1 + + tests/Makefile.am | 1 + + tests/gen_tests.in | 1 + + tests/orphaned_process_group.c | 155 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 158 insertions(+) + create mode 100644 tests/orphaned_process_group.c + +Index: strace-4.24/tests/Makefile.am +=================================================================== +--- strace-4.24.orig/tests/Makefile.am 2019-03-10 05:47:36.446486219 +0100 ++++ strace-4.24/tests/Makefile.am 2019-03-10 05:50:05.488993755 +0100 +@@ -120,6 +120,7 @@ + nsyscalls-d \ + oldselect-P \ + oldselect-efault-P \ ++ orphaned_process_group \ + pc \ + perf_event_open_nonverbose \ + perf_event_open_unabbrev \ +Index: strace-4.24/tests/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests/gen_tests.in 2019-03-10 05:19:26.185411954 +0100 ++++ strace-4.24/tests/gen_tests.in 2019-03-10 05:50:05.488993755 +0100 +@@ -287,6 +287,7 @@ + oldstat -a32 -v -P stat.sample -P /dev/full + open -a30 -P $NAME.sample + openat -a36 -P $NAME.sample ++orphaned_process_group . "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld' + osf_utimes -a21 + pause -a8 -esignal=none + perf_event_open -a1 +Index: strace-4.24/tests/orphaned_process_group.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/orphaned_process_group.c 2019-03-10 05:50:05.488993755 +0100 +@@ -0,0 +1,155 @@ ++/* ++ * Check tracing of orphaned process group. ++ * ++ * Copyright (c) 2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define TIMEOUT 5 ++ ++static void ++alarm_handler(const int no) ++{ ++ error_msg_and_skip("Orphaned process group semantics" ++ " is not supported by the kernel"); ++} ++ ++int ++main(void) ++{ ++ int status; ++ ++ /* ++ * Unblock all signals. ++ */ ++ static sigset_t mask; ++ if (sigprocmask(SIG_SETMASK, &mask, NULL)) ++ perror_msg_and_fail("sigprocmask"); ++ ++ /* ++ * Create a pipe to track termination of processes. ++ */ ++ int pipe_fds[2]; ++ if (pipe(pipe_fds)) ++ perror_msg_and_fail("pipe"); ++ ++ /* ++ * Create a leader for its own new process group. ++ */ ++ pid_t leader = fork(); ++ if (leader < 0) ++ perror_msg_and_fail("fork"); ++ ++ if (leader) { ++ /* ++ * Close the writing end of the pipe. ++ */ ++ close(pipe_fds[1]); ++ ++ /* ++ * Install the SIGALRM signal handler. ++ */ ++ static const struct sigaction sa = { ++ .sa_handler = alarm_handler ++ }; ++ if (sigaction(SIGALRM, &sa, NULL)) ++ perror_msg_and_fail("sigaction"); ++ ++ /* ++ * Set an alarm clock. ++ */ ++ alarm(TIMEOUT); ++ ++ /* ++ * Wait for termination of the child process. ++ */ ++ if (waitpid(leader, &status, 0) != leader) ++ perror_msg_and_fail("waitpid leader"); ++ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) ++ error_msg_and_fail("waitpid leader: " ++ "unexpected wait status %d", ++ status); ++ ++ /* ++ * Wait for termination of all processes ++ * in the process group of the child process. ++ */ ++ if (read(pipe_fds[0], &status, sizeof(status)) != 0) ++ perror_msg_and_fail("read"); ++ ++ /* ++ * At this point all processes are gone. ++ * Let the tracer time to catch up. ++ */ ++ alarm(0); ++ sleep(1); ++ return 0; ++ } ++ ++ /* ++ * Close the reading end of the pipe. ++ */ ++ close(pipe_fds[0]); ++ ++ /* ++ * Create a new process group. ++ */ ++ if (setpgid(0, 0)) ++ perror_msg_and_fail("setpgid"); ++ ++ /* ++ * When the leader process terminates, the process group becomes orphaned. ++ * If any member of the orphaned process group is stopped, then ++ * a SIGHUP signal followed by a SIGCONT signal is sent to each process ++ * in the orphaned process group. ++ * Create a process in a stopped state to activate this behaviour. ++ */ ++ const pid_t stopped = fork(); ++ if (stopped < 0) ++ perror_msg_and_fail("fork"); ++ if (!stopped) { ++ static const struct sigaction sa = { .sa_handler = SIG_DFL }; ++ if (sigaction(SIGHUP, &sa, NULL)) ++ perror_msg_and_fail("sigaction"); ++ ++ raise(SIGSTOP); ++ _exit(0); ++ } ++ ++ /* ++ * Wait for the process to stop. ++ */ ++ if (waitpid(stopped, &status, WUNTRACED) != stopped) ++ perror_msg_and_fail("waitpid WUNTRACED"); ++ if (!WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) ++ error_msg_and_fail("unexpected wait status %d", status); ++ ++ /* ++ * Print the expected output. ++ */ ++ leader = getpid(); ++ printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL" ++ ", si_pid=%d, si_uid=%u} ---\n", ++ stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid()); ++ printf("%-5d --- stopped by SIGSTOP ---\n", stopped); ++ printf("%-5d +++ exited with 0 +++\n", leader); ++ printf("%-5d --- %s {si_signo=%s, si_code=SI_KERNEL} ---\n", ++ stopped, "SIGHUP", "SIGHUP"); ++ printf("%-5d +++ killed by %s +++\n", stopped, "SIGHUP"); ++ printf("%-5d +++ exited with 0 +++\n", getppid()); ++ ++ /* ++ * Make the process group orphaned. ++ */ ++ return 0; ++} +Index: strace-4.24/tests-m32/orphaned_process_group.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/orphaned_process_group.c 2019-03-10 05:51:47.527971970 +0100 +@@ -0,0 +1,155 @@ ++/* ++ * Check tracing of orphaned process group. ++ * ++ * Copyright (c) 2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define TIMEOUT 5 ++ ++static void ++alarm_handler(const int no) ++{ ++ error_msg_and_skip("Orphaned process group semantics" ++ " is not supported by the kernel"); ++} ++ ++int ++main(void) ++{ ++ int status; ++ ++ /* ++ * Unblock all signals. ++ */ ++ static sigset_t mask; ++ if (sigprocmask(SIG_SETMASK, &mask, NULL)) ++ perror_msg_and_fail("sigprocmask"); ++ ++ /* ++ * Create a pipe to track termination of processes. ++ */ ++ int pipe_fds[2]; ++ if (pipe(pipe_fds)) ++ perror_msg_and_fail("pipe"); ++ ++ /* ++ * Create a leader for its own new process group. ++ */ ++ pid_t leader = fork(); ++ if (leader < 0) ++ perror_msg_and_fail("fork"); ++ ++ if (leader) { ++ /* ++ * Close the writing end of the pipe. ++ */ ++ close(pipe_fds[1]); ++ ++ /* ++ * Install the SIGALRM signal handler. ++ */ ++ static const struct sigaction sa = { ++ .sa_handler = alarm_handler ++ }; ++ if (sigaction(SIGALRM, &sa, NULL)) ++ perror_msg_and_fail("sigaction"); ++ ++ /* ++ * Set an alarm clock. ++ */ ++ alarm(TIMEOUT); ++ ++ /* ++ * Wait for termination of the child process. ++ */ ++ if (waitpid(leader, &status, 0) != leader) ++ perror_msg_and_fail("waitpid leader"); ++ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) ++ error_msg_and_fail("waitpid leader: " ++ "unexpected wait status %d", ++ status); ++ ++ /* ++ * Wait for termination of all processes ++ * in the process group of the child process. ++ */ ++ if (read(pipe_fds[0], &status, sizeof(status)) != 0) ++ perror_msg_and_fail("read"); ++ ++ /* ++ * At this point all processes are gone. ++ * Let the tracer time to catch up. ++ */ ++ alarm(0); ++ sleep(1); ++ return 0; ++ } ++ ++ /* ++ * Close the reading end of the pipe. ++ */ ++ close(pipe_fds[0]); ++ ++ /* ++ * Create a new process group. ++ */ ++ if (setpgid(0, 0)) ++ perror_msg_and_fail("setpgid"); ++ ++ /* ++ * When the leader process terminates, the process group becomes orphaned. ++ * If any member of the orphaned process group is stopped, then ++ * a SIGHUP signal followed by a SIGCONT signal is sent to each process ++ * in the orphaned process group. ++ * Create a process in a stopped state to activate this behaviour. ++ */ ++ const pid_t stopped = fork(); ++ if (stopped < 0) ++ perror_msg_and_fail("fork"); ++ if (!stopped) { ++ static const struct sigaction sa = { .sa_handler = SIG_DFL }; ++ if (sigaction(SIGHUP, &sa, NULL)) ++ perror_msg_and_fail("sigaction"); ++ ++ raise(SIGSTOP); ++ _exit(0); ++ } ++ ++ /* ++ * Wait for the process to stop. ++ */ ++ if (waitpid(stopped, &status, WUNTRACED) != stopped) ++ perror_msg_and_fail("waitpid WUNTRACED"); ++ if (!WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) ++ error_msg_and_fail("unexpected wait status %d", status); ++ ++ /* ++ * Print the expected output. ++ */ ++ leader = getpid(); ++ printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL" ++ ", si_pid=%d, si_uid=%u} ---\n", ++ stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid()); ++ printf("%-5d --- stopped by SIGSTOP ---\n", stopped); ++ printf("%-5d +++ exited with 0 +++\n", leader); ++ printf("%-5d --- %s {si_signo=%s, si_code=SI_KERNEL} ---\n", ++ stopped, "SIGHUP", "SIGHUP"); ++ printf("%-5d +++ killed by %s +++\n", stopped, "SIGHUP"); ++ printf("%-5d +++ exited with 0 +++\n", getppid()); ++ ++ /* ++ * Make the process group orphaned. ++ */ ++ return 0; ++} +Index: strace-4.24/tests-mx32/orphaned_process_group.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/orphaned_process_group.c 2019-03-10 05:51:50.259944613 +0100 +@@ -0,0 +1,155 @@ ++/* ++ * Check tracing of orphaned process group. ++ * ++ * Copyright (c) 2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define TIMEOUT 5 ++ ++static void ++alarm_handler(const int no) ++{ ++ error_msg_and_skip("Orphaned process group semantics" ++ " is not supported by the kernel"); ++} ++ ++int ++main(void) ++{ ++ int status; ++ ++ /* ++ * Unblock all signals. ++ */ ++ static sigset_t mask; ++ if (sigprocmask(SIG_SETMASK, &mask, NULL)) ++ perror_msg_and_fail("sigprocmask"); ++ ++ /* ++ * Create a pipe to track termination of processes. ++ */ ++ int pipe_fds[2]; ++ if (pipe(pipe_fds)) ++ perror_msg_and_fail("pipe"); ++ ++ /* ++ * Create a leader for its own new process group. ++ */ ++ pid_t leader = fork(); ++ if (leader < 0) ++ perror_msg_and_fail("fork"); ++ ++ if (leader) { ++ /* ++ * Close the writing end of the pipe. ++ */ ++ close(pipe_fds[1]); ++ ++ /* ++ * Install the SIGALRM signal handler. ++ */ ++ static const struct sigaction sa = { ++ .sa_handler = alarm_handler ++ }; ++ if (sigaction(SIGALRM, &sa, NULL)) ++ perror_msg_and_fail("sigaction"); ++ ++ /* ++ * Set an alarm clock. ++ */ ++ alarm(TIMEOUT); ++ ++ /* ++ * Wait for termination of the child process. ++ */ ++ if (waitpid(leader, &status, 0) != leader) ++ perror_msg_and_fail("waitpid leader"); ++ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) ++ error_msg_and_fail("waitpid leader: " ++ "unexpected wait status %d", ++ status); ++ ++ /* ++ * Wait for termination of all processes ++ * in the process group of the child process. ++ */ ++ if (read(pipe_fds[0], &status, sizeof(status)) != 0) ++ perror_msg_and_fail("read"); ++ ++ /* ++ * At this point all processes are gone. ++ * Let the tracer time to catch up. ++ */ ++ alarm(0); ++ sleep(1); ++ return 0; ++ } ++ ++ /* ++ * Close the reading end of the pipe. ++ */ ++ close(pipe_fds[0]); ++ ++ /* ++ * Create a new process group. ++ */ ++ if (setpgid(0, 0)) ++ perror_msg_and_fail("setpgid"); ++ ++ /* ++ * When the leader process terminates, the process group becomes orphaned. ++ * If any member of the orphaned process group is stopped, then ++ * a SIGHUP signal followed by a SIGCONT signal is sent to each process ++ * in the orphaned process group. ++ * Create a process in a stopped state to activate this behaviour. ++ */ ++ const pid_t stopped = fork(); ++ if (stopped < 0) ++ perror_msg_and_fail("fork"); ++ if (!stopped) { ++ static const struct sigaction sa = { .sa_handler = SIG_DFL }; ++ if (sigaction(SIGHUP, &sa, NULL)) ++ perror_msg_and_fail("sigaction"); ++ ++ raise(SIGSTOP); ++ _exit(0); ++ } ++ ++ /* ++ * Wait for the process to stop. ++ */ ++ if (waitpid(stopped, &status, WUNTRACED) != stopped) ++ perror_msg_and_fail("waitpid WUNTRACED"); ++ if (!WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) ++ error_msg_and_fail("unexpected wait status %d", status); ++ ++ /* ++ * Print the expected output. ++ */ ++ leader = getpid(); ++ printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL" ++ ", si_pid=%d, si_uid=%u} ---\n", ++ stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid()); ++ printf("%-5d --- stopped by SIGSTOP ---\n", stopped); ++ printf("%-5d +++ exited with 0 +++\n", leader); ++ printf("%-5d --- %s {si_signo=%s, si_code=SI_KERNEL} ---\n", ++ stopped, "SIGHUP", "SIGHUP"); ++ printf("%-5d +++ killed by %s +++\n", stopped, "SIGHUP"); ++ printf("%-5d +++ exited with 0 +++\n", getppid()); ++ ++ /* ++ * Make the process group orphaned. ++ */ ++ return 0; ++} +Index: strace-4.24/tests/Makefile.in +=================================================================== +--- strace-4.24.orig/tests/Makefile.in 2019-03-10 05:40:37.973676673 +0100 ++++ strace-4.24/tests/Makefile.in 2019-03-10 05:56:10.763336015 +0100 +@@ -161,8 +161,8 @@ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ + netlink_netlink_diag$(EXEEXT) netlink_unix_diag$(EXEEXT) \ + nsyscalls$(EXEEXT) nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \ +- oldselect-efault-P$(EXEEXT) pc$(EXEEXT) \ +- perf_event_open_nonverbose$(EXEEXT) \ ++ oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \ ++ pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \ + perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \ + prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \ + prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \ +@@ -1743,6 +1743,10 @@ + openat_OBJECTS = openat.$(OBJEXT) + openat_LDADD = $(LDADD) + openat_DEPENDENCIES = libtests.a ++orphaned_process_group_SOURCES = orphaned_process_group.c ++orphaned_process_group_OBJECTS = orphaned_process_group.$(OBJEXT) ++orphaned_process_group_LDADD = $(LDADD) ++orphaned_process_group_DEPENDENCIES = libtests.a + osf_utimes_SOURCES = osf_utimes.c + osf_utimes_OBJECTS = osf_utimes.$(OBJEXT) + osf_utimes_LDADD = $(LDADD) +@@ -2786,7 +2790,8 @@ + old_mmap-P.c old_mmap-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.c old_mmap-v-none.c oldfstat.c oldlstat.c \ + oldselect.c oldselect-P.c oldselect-efault.c \ +- oldselect-efault-P.c oldstat.c open.c openat.c osf_utimes.c \ ++ oldselect-efault-P.c oldstat.c open.c openat.c \ ++ orphaned_process_group.c osf_utimes.c \ + pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \ + perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.c pipe.c pipe2.c \ +@@ -2931,7 +2936,8 @@ + old_mmap-P.c old_mmap-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.c old_mmap-v-none.c oldfstat.c oldlstat.c \ + oldselect.c oldselect-P.c oldselect-efault.c \ +- oldselect-efault-P.c oldstat.c open.c openat.c osf_utimes.c \ ++ oldselect-efault-P.c oldstat.c open.c openat.c \ ++ orphaned_process_group.c osf_utimes.c \ + pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \ + perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.c pipe.c pipe2.c \ +@@ -4058,7 +4064,8 @@ + oldselect.gen.test oldselect-P.gen.test \ + oldselect-efault.gen.test oldselect-efault-P.gen.test \ + oldstat.gen.test open.gen.test openat.gen.test \ +- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ ++ orphaned_process_group.gen.test osf_utimes.gen.test \ ++ pause.gen.test perf_event_open.gen.test \ + perf_event_open_nonverbose.gen.test \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.gen.test \ +@@ -5752,6 +5759,10 @@ + @rm -f openat$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS) + ++orphaned_process_group$(EXEEXT): $(orphaned_process_group_OBJECTS) $(orphaned_process_group_DEPENDENCIES) $(EXTRA_orphaned_process_group_DEPENDENCIES) ++ @rm -f orphaned_process_group$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(orphaned_process_group_OBJECTS) $(orphaned_process_group_LDADD) $(LIBS) ++ + osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) + @rm -f osf_utimes$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS) +@@ -7030,6 +7041,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orphaned_process_group.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osf_utimes.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pause.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc.Po@am__quote@ +@@ -9128,6 +9140,9 @@ + $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/orphaned_process_group.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +Index: strace-4.24/tests-m32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.in 2019-03-10 05:44:56.112091757 +0100 ++++ strace-4.24/tests-m32/Makefile.in 2019-03-10 05:57:09.322749620 +0100 +@@ -161,8 +161,8 @@ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ + netlink_netlink_diag$(EXEEXT) netlink_unix_diag$(EXEEXT) \ + nsyscalls$(EXEEXT) nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \ +- oldselect-efault-P$(EXEEXT) pc$(EXEEXT) \ +- perf_event_open_nonverbose$(EXEEXT) \ ++ oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \ ++ pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \ + perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \ + prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \ + prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \ +@@ -1743,6 +1743,10 @@ + openat_OBJECTS = openat.$(OBJEXT) + openat_LDADD = $(LDADD) + openat_DEPENDENCIES = libtests.a ++orphaned_process_group_SOURCES = orphaned_process_group.c ++orphaned_process_group_OBJECTS = orphaned_process_group.$(OBJEXT) ++orphaned_process_group_LDADD = $(LDADD) ++orphaned_process_group_DEPENDENCIES = libtests.a + osf_utimes_SOURCES = osf_utimes.c + osf_utimes_OBJECTS = osf_utimes.$(OBJEXT) + osf_utimes_LDADD = $(LDADD) +@@ -2786,7 +2790,8 @@ + old_mmap-P.c old_mmap-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.c old_mmap-v-none.c oldfstat.c oldlstat.c \ + oldselect.c oldselect-P.c oldselect-efault.c \ +- oldselect-efault-P.c oldstat.c open.c openat.c osf_utimes.c \ ++ oldselect-efault-P.c oldstat.c open.c openat.c \ ++ orphaned_process_group.c osf_utimes.c \ + pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \ + perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.c pipe.c pipe2.c \ +@@ -2931,7 +2936,8 @@ + old_mmap-P.c old_mmap-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.c old_mmap-v-none.c oldfstat.c oldlstat.c \ + oldselect.c oldselect-P.c oldselect-efault.c \ +- oldselect-efault-P.c oldstat.c open.c openat.c osf_utimes.c \ ++ oldselect-efault-P.c oldstat.c open.c openat.c \ ++ orphaned_process_group.c osf_utimes.c \ + pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \ + perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.c pipe.c pipe2.c \ +@@ -4058,7 +4064,8 @@ + oldselect.gen.test oldselect-P.gen.test \ + oldselect-efault.gen.test oldselect-efault-P.gen.test \ + oldstat.gen.test open.gen.test openat.gen.test \ +- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ ++ orphaned_process_group.gen.test osf_utimes.gen.test \ ++ pause.gen.test perf_event_open.gen.test \ + perf_event_open_nonverbose.gen.test \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.gen.test \ +@@ -5752,6 +5759,10 @@ + @rm -f openat$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS) + ++orphaned_process_group$(EXEEXT): $(orphaned_process_group_OBJECTS) $(orphaned_process_group_DEPENDENCIES) $(EXTRA_orphaned_process_group_DEPENDENCIES) ++ @rm -f orphaned_process_group$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(orphaned_process_group_OBJECTS) $(orphaned_process_group_LDADD) $(LIBS) ++ + osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) + @rm -f osf_utimes$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS) +@@ -7030,6 +7041,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orphaned_process_group.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osf_utimes.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pause.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc.Po@am__quote@ +@@ -9128,6 +9140,9 @@ + $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/orphaned_process_group.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +Index: strace-4.24/tests-mx32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.in 2019-03-10 05:45:49.892553217 +0100 ++++ strace-4.24/tests-mx32/Makefile.in 2019-03-10 05:57:19.939643305 +0100 +@@ -161,8 +161,8 @@ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ + netlink_netlink_diag$(EXEEXT) netlink_unix_diag$(EXEEXT) \ + nsyscalls$(EXEEXT) nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \ +- oldselect-efault-P$(EXEEXT) pc$(EXEEXT) \ +- perf_event_open_nonverbose$(EXEEXT) \ ++ oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \ ++ pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \ + perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \ + prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \ + prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \ +@@ -1743,6 +1743,10 @@ + openat_OBJECTS = openat.$(OBJEXT) + openat_LDADD = $(LDADD) + openat_DEPENDENCIES = libtests.a ++orphaned_process_group_SOURCES = orphaned_process_group.c ++orphaned_process_group_OBJECTS = orphaned_process_group.$(OBJEXT) ++orphaned_process_group_LDADD = $(LDADD) ++orphaned_process_group_DEPENDENCIES = libtests.a + osf_utimes_SOURCES = osf_utimes.c + osf_utimes_OBJECTS = osf_utimes.$(OBJEXT) + osf_utimes_LDADD = $(LDADD) +@@ -2786,7 +2790,8 @@ + old_mmap-P.c old_mmap-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.c old_mmap-v-none.c oldfstat.c oldlstat.c \ + oldselect.c oldselect-P.c oldselect-efault.c \ +- oldselect-efault-P.c oldstat.c open.c openat.c osf_utimes.c \ ++ oldselect-efault-P.c oldstat.c open.c openat.c \ ++ orphaned_process_group.c osf_utimes.c \ + pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \ + perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.c pipe.c pipe2.c \ +@@ -2931,7 +2936,8 @@ + old_mmap-P.c old_mmap-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.c old_mmap-v-none.c oldfstat.c oldlstat.c \ + oldselect.c oldselect-P.c oldselect-efault.c \ +- oldselect-efault-P.c oldstat.c open.c openat.c osf_utimes.c \ ++ oldselect-efault-P.c oldstat.c open.c openat.c \ ++ orphaned_process_group.c osf_utimes.c \ + pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \ + perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.c pipe.c pipe2.c \ +@@ -4058,7 +4064,8 @@ + oldselect.gen.test oldselect-P.gen.test \ + oldselect-efault.gen.test oldselect-efault-P.gen.test \ + oldstat.gen.test open.gen.test openat.gen.test \ +- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ ++ orphaned_process_group.gen.test osf_utimes.gen.test \ ++ pause.gen.test perf_event_open.gen.test \ + perf_event_open_nonverbose.gen.test \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.gen.test \ +@@ -5752,6 +5759,10 @@ + @rm -f openat$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS) + ++orphaned_process_group$(EXEEXT): $(orphaned_process_group_OBJECTS) $(orphaned_process_group_DEPENDENCIES) $(EXTRA_orphaned_process_group_DEPENDENCIES) ++ @rm -f orphaned_process_group$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(orphaned_process_group_OBJECTS) $(orphaned_process_group_LDADD) $(LIBS) ++ + osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) + @rm -f osf_utimes$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS) +@@ -7030,6 +7041,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orphaned_process_group.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osf_utimes.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pause.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc.Po@am__quote@ +@@ -9128,6 +9140,9 @@ + $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/orphaned_process_group.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +Index: strace-4.24/tests-m32/orphaned_process_group.gen.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/orphaned_process_group.gen.test 2019-03-10 05:59:50.567134970 +0100 +@@ -0,0 +1,4 @@ ++#!/bin/sh -efu ++# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (orphaned_process_group . "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld'); do not edit. ++. "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld' +Index: strace-4.24/tests-mx32/orphaned_process_group.gen.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/orphaned_process_group.gen.test 2019-03-10 05:59:51.671123915 +0100 +@@ -0,0 +1,4 @@ ++#!/bin/sh -efu ++# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (orphaned_process_group . "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld'); do not edit. ++. "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld' +Index: strace-4.24/tests/orphaned_process_group.gen.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/orphaned_process_group.gen.test 2019-03-10 05:59:48.722153445 +0100 +@@ -0,0 +1,4 @@ ++#!/bin/sh -efu ++# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (orphaned_process_group . "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld'); do not edit. ++. "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld' +Index: strace-4.24/tests-m32/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests-m32/gen_tests.in 2018-08-01 16:57:16.000000000 +0200 ++++ strace-4.24/tests-m32/gen_tests.in 2019-03-10 06:00:59.151448188 +0100 +@@ -3,27 +3,7 @@ + # Copyright (c) 2017-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + _newselect + _newselect-P -e trace=_newselect -P /dev/full 9>>/dev/full +@@ -307,6 +287,7 @@ + oldstat -a32 -v -P stat.sample -P /dev/full + open -a30 -P $NAME.sample + openat -a36 -P $NAME.sample ++orphaned_process_group . "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld' + osf_utimes -a21 + pause -a8 -esignal=none + perf_event_open -a1 +Index: strace-4.24/tests-mx32/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests-mx32/gen_tests.in 2018-08-01 16:57:16.000000000 +0200 ++++ strace-4.24/tests-mx32/gen_tests.in 2019-03-10 06:01:00.297436713 +0100 +@@ -3,27 +3,7 @@ + # Copyright (c) 2017-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + _newselect + _newselect-P -e trace=_newselect -P /dev/full 9>>/dev/full +@@ -307,6 +287,7 @@ + oldstat -a32 -v -P stat.sample -P /dev/full + open -a30 -P $NAME.sample + openat -a36 -P $NAME.sample ++orphaned_process_group . "${srcdir=.}/PTRACE_SEIZE.sh"; run_strace_match_diff -f -e trace=none -e signal='!chld' + osf_utimes -a21 + pause -a8 -esignal=none + perf_event_open -a1 diff --git a/SOURCES/0025-tests-check-tracing-of-looping-threads.patch b/SOURCES/0025-tests-check-tracing-of-looping-threads.patch new file mode 100644 index 0000000..827fa4a --- /dev/null +++ b/SOURCES/0025-tests-check-tracing-of-looping-threads.patch @@ -0,0 +1,874 @@ +From 1fc4e011bb0d977b64385e5dff91620c42985bcf Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Wed, 4 Jul 2018 02:11:27 +0000 +Subject: [PATCH 25/27] tests: check tracing of looping threads + +* test/many_looping_threads.c: Remove. +* test/.gitignore: Remove many_looping_threads. +* test/Makefile (PROGS): Likewise. +(many_looping_threads): Remove. +* tests/looping_threads.c: New file. +* tests/looping_threads.test: New test. +* tests/.gitignore: Add looping_threads. +* tests/Makefile.am (check_PROGRAMS): Likewise. +(looping_threads_LDADD): New variable. +(MISC_TESTS, XFAIL_TESTS): Add looping_threads.test. + +Conflicts: + tests/Makefile.am + +Skipped files (not present in the tarball): + test/.gitignore + test/Makefile + test/many_looping_threads.c + tests/.gitignore + +Additional changes: + tests/Makefile.in (generated from tests/Makefile.am) + tests-m32/Makefile.in (generated from tests-m32/Makefile.am) + tests-m32/looping_threads.c (copy of tests/looping_threads.c) + tests-m32/looping_threads.test (copy of tests/looping_threads.test) + tests-mx32/Makefile.in (generated from tests-mx32/Makefile.am) + tests-mx32/looping_threads.c (copy of tests/looping_threads.c) + tests-mx32/looping_threads.test (copy of tests/looping_threads.test) + +--- + test/.gitignore | 1 - + test/Makefile | 5 +- + test/many_looping_threads.c | 49 ------------------ + tests/.gitignore | 1 + + tests/Makefile.am | 6 ++- + tests/looping_threads.c | 121 ++++++++++++++++++++++++++++++++++++++++++++ + tests/looping_threads.test | 38 ++++++++++++++ + 7 files changed, 166 insertions(+), 55 deletions(-) + delete mode 100644 test/many_looping_threads.c + create mode 100644 tests/looping_threads.c + create mode 100755 tests/looping_threads.test + +Index: strace-4.24/tests/Makefile.am +=================================================================== +--- strace-4.24.orig/tests/Makefile.am 2020-01-27 17:41:26.653586903 +0100 ++++ strace-4.24/tests/Makefile.am 2020-01-27 20:17:51.315382082 +0100 +@@ -108,6 +108,7 @@ + ksysent \ + list_sigaction_signum \ + localtime \ ++ looping_threads \ + mmsg-silent \ + mmsg_name-v \ + msg_control-v \ +@@ -172,6 +173,7 @@ + fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + localtime_LDADD = $(clock_LIBS) $(LDADD) ++looping_threads_LDADD = -lpthread $(LDADD) + lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +@@ -304,6 +306,7 @@ + kill_child.test \ + ksysent.test \ + localtime.test \ ++ looping_threads.test \ + opipe.test \ + options-syntax.test \ + pc.test \ +@@ -347,7 +350,8 @@ + XFAIL_TESTS_mx32 = $(STACKTRACE_TESTS) + XFAIL_TESTS_x86_64 = int_0x80.gen.test + XFAIL_TESTS_x32 = int_0x80.gen.test +-XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH)) ++XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH)) \ ++ looping_threads.test + + TEST_LOG_COMPILER = env + AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) STRACE_NATIVE_ARCH=$(NATIVE_ARCH) \ +Index: strace-4.24/tests/looping_threads.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/looping_threads.c 2020-01-27 17:41:26.671586776 +0100 +@@ -0,0 +1,121 @@ ++/* ++ * Check tracing of looping threads. ++ * ++ * Copyright (c) 2009-2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static void * ++thread(void *arg) ++{ ++ for (;;) ++ getuid(); ++ return arg; ++} ++ ++int ++main(int ac, const char *av[]) ++{ ++ assert(ac == 3); ++ ++ int timeout = atoi(av[1]); ++ assert(timeout > 0); ++ ++ int num_threads = atoi(av[2]); ++ assert(num_threads > 0); ++ ++ /* ++ * Unblock all signals. ++ */ ++ static sigset_t mask; ++ if (sigprocmask(SIG_SETMASK, &mask, NULL)) ++ perror_msg_and_fail("sigprocmask"); ++ ++ /* ++ * Reset SIGALRM and SIGHUP signal handlers. ++ */ ++ static const struct sigaction sa_def = { .sa_handler = SIG_DFL }; ++ if (sigaction(SIGHUP, &sa_def, NULL)) ++ perror_msg_and_fail("sigaction SIGHUP"); ++ if (sigaction(SIGALRM, &sa_def, NULL)) ++ perror_msg_and_fail("sigaction SIGALRM"); ++ ++ /* ++ * Create a new process group. ++ */ ++ if (setpgid(0, 0)) ++ perror_msg_and_fail("setpgid"); ++ ++ /* ++ * Set an alarm clock. ++ */ ++ alarm(timeout); ++ ++ /* ++ * When the main process terminates, the process group becomes orphaned. ++ * If any member of the orphaned process group is stopped, then ++ * a SIGHUP signal followed by a SIGCONT signal is sent to each process ++ * in the orphaned process group. ++ * Create a process in a stopped state to activate this behaviour. ++ */ ++ const pid_t stopped = fork(); ++ if (stopped < 0) ++ perror_msg_and_fail("fork"); ++ if (!stopped) { ++ raise(SIGSTOP); ++ _exit(0); ++ } ++ ++ /* ++ * Wait for the process to stop. ++ */ ++ int status; ++ if (waitpid(stopped, &status, WUNTRACED) != stopped) ++ perror_msg_and_fail("waitpid WUNTRACED"); ++ if (!WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) ++ error_msg_and_fail("waitpid WUNTRACED: " ++ "unexpected wait status %d", status); ++ /* ++ * Create all threads in a subprocess, this guarantees that ++ * their tracer will not be their parent. ++ */ ++ pid_t pid = fork(); ++ if (pid < 0) ++ perror_msg_and_fail("fork"); ++ if (!pid) { ++ for (int i = 0; i < num_threads; i++) { ++ pthread_t t; ++ if ((errno = pthread_create(&t, NULL, thread, NULL))) { ++ if (EAGAIN == errno) ++ break; ++ perror_msg_and_fail("pthread_create #%d", i); ++ } ++ } ++ ++ /* This terminates all threads created above. */ ++ _exit(0); ++ } ++ ++ if (waitpid(pid, &status, 0) != pid) ++ perror_msg_and_fail("waitpid"); ++ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) ++ error_msg_and_fail("waitpid: unexpected wait status %d", ++ status); ++ ++ /* ++ * Make the process group orphaned. ++ */ ++ return 0; ++} +Index: strace-4.24/tests/looping_threads.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/looping_threads.test 2020-01-27 17:41:26.671586776 +0100 +@@ -0,0 +1,38 @@ ++#!/bin/sh ++# ++# Check tracing of looping threads. ++# ++# Copyright (c) 2009-2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++. "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh" ++ ++run_prog ../orphaned_process_group > /dev/null ++ ++run_prog_skip_if_failed date +%s > /dev/null ++s0="$(date +%s)" ++ ++check_prog nproc ++inc="$(nproc)" ++[ "$inc" -ge 1 ] || inc=1 ++ ++timeout_2="$(($TIMEOUT_DURATION/2))" ++timeout_8="$(($TIMEOUT_DURATION/8))" ++nproc=1 ++ ++run_prog "../$NAME" "$timeout_8" "$nproc" ++ ++while :; do ++ run_strace -f -qq -enone -esignal=none "../$NAME" "$timeout_2" "$nproc" ++ ++ s1="$(date +%s)" ++ [ "$(($s1-$s0))" -lt "$timeout_8" ] || ++ break ++ ++ nproc="$(($nproc+$inc))" ++done ++ ++warn_ "$ME_: nproc=$nproc elapsed=$(($s1-$s0))" +Index: strace-4.24/tests-m32/looping_threads.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/looping_threads.c 2020-01-27 17:41:26.671586776 +0100 +@@ -0,0 +1,121 @@ ++/* ++ * Check tracing of looping threads. ++ * ++ * Copyright (c) 2009-2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static void * ++thread(void *arg) ++{ ++ for (;;) ++ getuid(); ++ return arg; ++} ++ ++int ++main(int ac, const char *av[]) ++{ ++ assert(ac == 3); ++ ++ int timeout = atoi(av[1]); ++ assert(timeout > 0); ++ ++ int num_threads = atoi(av[2]); ++ assert(num_threads > 0); ++ ++ /* ++ * Unblock all signals. ++ */ ++ static sigset_t mask; ++ if (sigprocmask(SIG_SETMASK, &mask, NULL)) ++ perror_msg_and_fail("sigprocmask"); ++ ++ /* ++ * Reset SIGALRM and SIGHUP signal handlers. ++ */ ++ static const struct sigaction sa_def = { .sa_handler = SIG_DFL }; ++ if (sigaction(SIGHUP, &sa_def, NULL)) ++ perror_msg_and_fail("sigaction SIGHUP"); ++ if (sigaction(SIGALRM, &sa_def, NULL)) ++ perror_msg_and_fail("sigaction SIGALRM"); ++ ++ /* ++ * Create a new process group. ++ */ ++ if (setpgid(0, 0)) ++ perror_msg_and_fail("setpgid"); ++ ++ /* ++ * Set an alarm clock. ++ */ ++ alarm(timeout); ++ ++ /* ++ * When the main process terminates, the process group becomes orphaned. ++ * If any member of the orphaned process group is stopped, then ++ * a SIGHUP signal followed by a SIGCONT signal is sent to each process ++ * in the orphaned process group. ++ * Create a process in a stopped state to activate this behaviour. ++ */ ++ const pid_t stopped = fork(); ++ if (stopped < 0) ++ perror_msg_and_fail("fork"); ++ if (!stopped) { ++ raise(SIGSTOP); ++ _exit(0); ++ } ++ ++ /* ++ * Wait for the process to stop. ++ */ ++ int status; ++ if (waitpid(stopped, &status, WUNTRACED) != stopped) ++ perror_msg_and_fail("waitpid WUNTRACED"); ++ if (!WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) ++ error_msg_and_fail("waitpid WUNTRACED: " ++ "unexpected wait status %d", status); ++ /* ++ * Create all threads in a subprocess, this guarantees that ++ * their tracer will not be their parent. ++ */ ++ pid_t pid = fork(); ++ if (pid < 0) ++ perror_msg_and_fail("fork"); ++ if (!pid) { ++ for (int i = 0; i < num_threads; i++) { ++ pthread_t t; ++ if ((errno = pthread_create(&t, NULL, thread, NULL))) { ++ if (EAGAIN == errno) ++ break; ++ perror_msg_and_fail("pthread_create #%d", i); ++ } ++ } ++ ++ /* This terminates all threads created above. */ ++ _exit(0); ++ } ++ ++ if (waitpid(pid, &status, 0) != pid) ++ perror_msg_and_fail("waitpid"); ++ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) ++ error_msg_and_fail("waitpid: unexpected wait status %d", ++ status); ++ ++ /* ++ * Make the process group orphaned. ++ */ ++ return 0; ++} +Index: strace-4.24/tests-mx32/looping_threads.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/looping_threads.c 2020-01-27 17:41:26.671586776 +0100 +@@ -0,0 +1,121 @@ ++/* ++ * Check tracing of looping threads. ++ * ++ * Copyright (c) 2009-2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#include "tests.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static void * ++thread(void *arg) ++{ ++ for (;;) ++ getuid(); ++ return arg; ++} ++ ++int ++main(int ac, const char *av[]) ++{ ++ assert(ac == 3); ++ ++ int timeout = atoi(av[1]); ++ assert(timeout > 0); ++ ++ int num_threads = atoi(av[2]); ++ assert(num_threads > 0); ++ ++ /* ++ * Unblock all signals. ++ */ ++ static sigset_t mask; ++ if (sigprocmask(SIG_SETMASK, &mask, NULL)) ++ perror_msg_and_fail("sigprocmask"); ++ ++ /* ++ * Reset SIGALRM and SIGHUP signal handlers. ++ */ ++ static const struct sigaction sa_def = { .sa_handler = SIG_DFL }; ++ if (sigaction(SIGHUP, &sa_def, NULL)) ++ perror_msg_and_fail("sigaction SIGHUP"); ++ if (sigaction(SIGALRM, &sa_def, NULL)) ++ perror_msg_and_fail("sigaction SIGALRM"); ++ ++ /* ++ * Create a new process group. ++ */ ++ if (setpgid(0, 0)) ++ perror_msg_and_fail("setpgid"); ++ ++ /* ++ * Set an alarm clock. ++ */ ++ alarm(timeout); ++ ++ /* ++ * When the main process terminates, the process group becomes orphaned. ++ * If any member of the orphaned process group is stopped, then ++ * a SIGHUP signal followed by a SIGCONT signal is sent to each process ++ * in the orphaned process group. ++ * Create a process in a stopped state to activate this behaviour. ++ */ ++ const pid_t stopped = fork(); ++ if (stopped < 0) ++ perror_msg_and_fail("fork"); ++ if (!stopped) { ++ raise(SIGSTOP); ++ _exit(0); ++ } ++ ++ /* ++ * Wait for the process to stop. ++ */ ++ int status; ++ if (waitpid(stopped, &status, WUNTRACED) != stopped) ++ perror_msg_and_fail("waitpid WUNTRACED"); ++ if (!WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) ++ error_msg_and_fail("waitpid WUNTRACED: " ++ "unexpected wait status %d", status); ++ /* ++ * Create all threads in a subprocess, this guarantees that ++ * their tracer will not be their parent. ++ */ ++ pid_t pid = fork(); ++ if (pid < 0) ++ perror_msg_and_fail("fork"); ++ if (!pid) { ++ for (int i = 0; i < num_threads; i++) { ++ pthread_t t; ++ if ((errno = pthread_create(&t, NULL, thread, NULL))) { ++ if (EAGAIN == errno) ++ break; ++ perror_msg_and_fail("pthread_create #%d", i); ++ } ++ } ++ ++ /* This terminates all threads created above. */ ++ _exit(0); ++ } ++ ++ if (waitpid(pid, &status, 0) != pid) ++ perror_msg_and_fail("waitpid"); ++ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) ++ error_msg_and_fail("waitpid: unexpected wait status %d", ++ status); ++ ++ /* ++ * Make the process group orphaned. ++ */ ++ return 0; ++} +Index: strace-4.24/tests/Makefile.in +=================================================================== +--- strace-4.24.orig/tests/Makefile.in 2020-01-27 17:41:26.655586889 +0100 ++++ strace-4.24/tests/Makefile.in 2020-01-27 20:17:47.817414191 +0100 +@@ -155,7 +155,7 @@ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ + is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ + ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ +- localtime$(EXEEXT) \ ++ localtime$(EXEEXT) looping_threads$(EXEEXT) \ + mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ + msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ +@@ -1226,6 +1226,9 @@ + lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT) + lookup_dcookie_LDADD = $(LDADD) + lookup_dcookie_DEPENDENCIES = libtests.a ++looping_threads_SOURCES = looping_threads.c ++looping_threads_OBJECTS = looping_threads.$(OBJEXT) ++looping_threads_DEPENDENCIES = $(LDADD) + lseek_SOURCES = lseek.c + lseek_OBJECTS = lseek.$(OBJEXT) + lseek_LDADD = $(LDADD) +@@ -2752,11 +2755,12 @@ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ + lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ +- llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ +- madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ +- mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ +- mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +- mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ ++ llseek.c localtime.c lookup_dcookie.c looping_threads.c \ ++ lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \ ++ memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \ ++ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ ++ mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ ++ mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ + mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c \ + move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \ +@@ -2898,11 +2902,12 @@ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ + lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ +- llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ +- madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ +- mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ +- mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +- mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ ++ llseek.c localtime.c lookup_dcookie.c looping_threads.c \ ++ lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \ ++ memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \ ++ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ ++ mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ ++ mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ + mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c \ + move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \ +@@ -3922,6 +3927,7 @@ + fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + localtime_LDADD = $(clock_LIBS) $(LDADD) ++looping_threads_LDADD = -lpthread $(LDADD) + lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +@@ -4242,6 +4248,7 @@ + kill_child.test \ + ksysent.test \ + localtime.test \ ++ looping_threads.test \ + opipe.test \ + options-syntax.test \ + pc.test \ +@@ -5243,6 +5250,10 @@ + @rm -f lookup_dcookie$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS) + ++looping_threads$(EXEEXT): $(looping_threads_OBJECTS) $(looping_threads_DEPENDENCIES) $(EXTRA_looping_threads_DEPENDENCIES) ++ @rm -f looping_threads$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(looping_threads_OBJECTS) $(looping_threads_LDADD) $(LIBS) ++ + lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES) + @rm -f lseek$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS) +@@ -6912,6 +6923,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup_dcookie.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/looping_threads.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat64-lstat64.Po@am__quote@ +Index: strace-4.24/tests-m32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.in 2020-01-27 17:41:26.657586875 +0100 ++++ strace-4.24/tests-m32/Makefile.in 2020-01-27 20:17:47.817414191 +0100 +@@ -155,7 +155,7 @@ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ + is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ + ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ +- localtime$(EXEEXT) \ ++ localtime$(EXEEXT) looping_threads$(EXEEXT) \ + mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ + msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ +@@ -1226,6 +1226,9 @@ + lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT) + lookup_dcookie_LDADD = $(LDADD) + lookup_dcookie_DEPENDENCIES = libtests.a ++looping_threads_SOURCES = looping_threads.c ++looping_threads_OBJECTS = looping_threads.$(OBJEXT) ++looping_threads_DEPENDENCIES = $(LDADD) + lseek_SOURCES = lseek.c + lseek_OBJECTS = lseek.$(OBJEXT) + lseek_LDADD = $(LDADD) +@@ -2752,11 +2755,12 @@ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ + lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ +- llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ +- madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ +- mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ +- mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +- mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ ++ llseek.c localtime.c lookup_dcookie.c looping_threads.c \ ++ lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \ ++ memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \ ++ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ ++ mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ ++ mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ + mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c \ + move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \ +@@ -2898,11 +2902,12 @@ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ + lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ +- llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ +- madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ +- mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ +- mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +- mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ ++ llseek.c localtime.c lookup_dcookie.c looping_threads.c \ ++ lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \ ++ memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \ ++ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ ++ mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ ++ mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ + mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c \ + move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \ +@@ -3922,6 +3927,7 @@ + fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + localtime_LDADD = $(clock_LIBS) $(LDADD) ++looping_threads_LDADD = -lpthread $(LDADD) + lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +@@ -4242,6 +4248,7 @@ + kill_child.test \ + ksysent.test \ + localtime.test \ ++ looping_threads.test \ + opipe.test \ + options-syntax.test \ + pc.test \ +@@ -5243,6 +5250,10 @@ + @rm -f lookup_dcookie$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS) + ++looping_threads$(EXEEXT): $(looping_threads_OBJECTS) $(looping_threads_DEPENDENCIES) $(EXTRA_looping_threads_DEPENDENCIES) ++ @rm -f looping_threads$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(looping_threads_OBJECTS) $(looping_threads_LDADD) $(LIBS) ++ + lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES) + @rm -f lseek$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS) +@@ -6912,6 +6923,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup_dcookie.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/looping_threads.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat64-lstat64.Po@am__quote@ +Index: strace-4.24/tests-mx32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.in 2020-01-27 17:41:26.658586868 +0100 ++++ strace-4.24/tests-mx32/Makefile.in 2020-01-27 20:17:47.817414191 +0100 +@@ -155,7 +155,7 @@ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ + is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ + ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ +- localtime$(EXEEXT) \ ++ localtime$(EXEEXT) looping_threads$(EXEEXT) \ + mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ + msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ + net-tpacket_stats-success$(EXEEXT) netlink_inet_diag$(EXEEXT) \ +@@ -1226,6 +1226,9 @@ + lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT) + lookup_dcookie_LDADD = $(LDADD) + lookup_dcookie_DEPENDENCIES = libtests.a ++looping_threads_SOURCES = looping_threads.c ++looping_threads_OBJECTS = looping_threads.$(OBJEXT) ++looping_threads_DEPENDENCIES = $(LDADD) + lseek_SOURCES = lseek.c + lseek_OBJECTS = lseek.$(OBJEXT) + lseek_LDADD = $(LDADD) +@@ -2752,11 +2755,12 @@ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ + lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ +- llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ +- madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ +- mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ +- mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +- mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ ++ llseek.c localtime.c lookup_dcookie.c looping_threads.c \ ++ lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \ ++ memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \ ++ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ ++ mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ ++ mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ + mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c \ + move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \ +@@ -2898,11 +2902,12 @@ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ + lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ +- llseek.c localtime.c lookup_dcookie.c lseek.c lstat.c lstat64.c \ +- madvise.c mbind.c membarrier.c memfd_create.c migrate_pages.c \ +- mincore.c mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \ +- mlockall.c mmap.c mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ +- mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ ++ llseek.c localtime.c lookup_dcookie.c looping_threads.c \ ++ lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \ ++ memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \ ++ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ ++ mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ ++ mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c \ + mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c \ + move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \ +@@ -3922,6 +3927,7 @@ + fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + localtime_LDADD = $(clock_LIBS) $(LDADD) ++looping_threads_LDADD = -lpthread $(LDADD) + lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 + mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +@@ -4242,6 +4248,7 @@ + kill_child.test \ + ksysent.test \ + localtime.test \ ++ looping_threads.test \ + opipe.test \ + options-syntax.test \ + pc.test \ +@@ -5243,6 +5250,10 @@ + @rm -f lookup_dcookie$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS) + ++looping_threads$(EXEEXT): $(looping_threads_OBJECTS) $(looping_threads_DEPENDENCIES) $(EXTRA_looping_threads_DEPENDENCIES) ++ @rm -f looping_threads$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(looping_threads_OBJECTS) $(looping_threads_LDADD) $(LIBS) ++ + lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES) + @rm -f lseek$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS) +@@ -6912,6 +6923,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup_dcookie.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/looping_threads.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat64-lstat64.Po@am__quote@ +Index: strace-4.24/tests-m32/looping_threads.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/looping_threads.test 2020-01-27 20:18:24.992072957 +0100 +@@ -0,0 +1,38 @@ ++#!/bin/sh ++# ++# Check tracing of looping threads. ++# ++# Copyright (c) 2009-2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++. "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh" ++ ++run_prog ../orphaned_process_group > /dev/null ++ ++run_prog_skip_if_failed date +%s > /dev/null ++s0="$(date +%s)" ++ ++check_prog nproc ++inc="$(nproc)" ++[ "$inc" -ge 1 ] || inc=1 ++ ++timeout_2="$(($TIMEOUT_DURATION/2))" ++timeout_8="$(($TIMEOUT_DURATION/8))" ++nproc=1 ++ ++run_prog "../$NAME" "$timeout_8" "$nproc" ++ ++while :; do ++ run_strace -f -qq -enone -esignal=none "../$NAME" "$timeout_2" "$nproc" ++ ++ s1="$(date +%s)" ++ [ "$(($s1-$s0))" -lt "$timeout_8" ] || ++ break ++ ++ nproc="$(($nproc+$inc))" ++done ++ ++warn_ "$ME_: nproc=$nproc elapsed=$(($s1-$s0))" +Index: strace-4.24/tests-mx32/looping_threads.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/looping_threads.test 2020-01-27 20:18:26.879055636 +0100 +@@ -0,0 +1,38 @@ ++#!/bin/sh ++# ++# Check tracing of looping threads. ++# ++# Copyright (c) 2009-2019 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++. "${srcdir=.}/init.sh" ++. "${srcdir=.}/PTRACE_SEIZE.sh" ++ ++run_prog ../orphaned_process_group > /dev/null ++ ++run_prog_skip_if_failed date +%s > /dev/null ++s0="$(date +%s)" ++ ++check_prog nproc ++inc="$(nproc)" ++[ "$inc" -ge 1 ] || inc=1 ++ ++timeout_2="$(($TIMEOUT_DURATION/2))" ++timeout_8="$(($TIMEOUT_DURATION/8))" ++nproc=1 ++ ++run_prog "../$NAME" "$timeout_8" "$nproc" ++ ++while :; do ++ run_strace -f -qq -enone -esignal=none "../$NAME" "$timeout_2" "$nproc" ++ ++ s1="$(date +%s)" ++ [ "$(($s1-$s0))" -lt "$timeout_8" ] || ++ break ++ ++ nproc="$(($nproc+$inc))" ++done ++ ++warn_ "$ME_: nproc=$nproc elapsed=$(($s1-$s0))" diff --git a/SOURCES/0026-Add-a-generic-list-implementation.patch b/SOURCES/0026-Add-a-generic-list-implementation.patch new file mode 100644 index 0000000..e6fda07 --- /dev/null +++ b/SOURCES/0026-Add-a-generic-list-implementation.patch @@ -0,0 +1,368 @@ +From 31a5eee990d64a98a071ce74cd4d53190c0fe94b Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Sun, 11 Sep 2016 12:11:45 +0300 +Subject: [PATCH 26/27] Add a generic list implementation + +Similar to the one used in the Linux kernel. + +* macros.h (cast_ptr, containerof): New macros. +* list.h: New file. +* Makefile.am (strace_SOURCES): Add it. +--- + Makefile.am | 1 + + list.h | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + macros.h | 19 ++++ + 3 files changed, 320 insertions(+) + create mode 100644 list.h + +diff --git a/Makefile.am b/Makefile.am +index f6679a3..f252bda 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -165,6 +165,7 @@ strace_SOURCES = \ + linux/asm_stat.h \ + linux/x32/asm_stat.h \ + linux/x86_64/asm_stat.h \ ++ list.h \ + listen.c \ + lookup_dcookie.c \ + loop.c \ +diff --git a/list.h b/list.h +new file mode 100644 +index 0000000..cf68fa7 +--- /dev/null ++++ b/list.h +@@ -0,0 +1,300 @@ ++/* ++ * Some simple implementation of lists similar to the one used in the kernel. ++ * ++ * Copyright (c) 2016-2019 The strace developers. ++ * All rights reserved. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ */ ++ ++#ifndef STRACE_LIST_H ++#define STRACE_LIST_H ++ ++/* ++ * struct list_item and related macros and functions provide an interface ++ * for manipulating and iterating linked lists. In order to have list ++ * associated with its payload, struct list_item has to be embedded into ++ * a structure type representing payload, and (optionally) an additional ++ * struct list_item should be added somewhere as a starting point for list ++ * iteration (creating a list with a designated head). A situation where ++ * no designated head exists, and each embedded struct list_head is considered ++ * a head (i.e. starting point for list iteration), is also possible. ++ * ++ * List head has to be initialised with list_init() call. Statically allocated ++ * list heads can also be defined with an EMPTY_LIST() macro. ++ * ++ * In order to get a pointer to list item from a struct list_item, list_elem ++ * macro is used. ++ * ++ * When a designated head is used, list_head() and list_tail() can be used ++ * for getting pointer to the first and the last list item, respectively. ++ * ++ * list_next() and list_prev() macros can be used for obtaining pointers ++ * to the next and the previous items in the list, respectively. Note that ++ * they do not perform additional checks for the validity of these pointers, ++ * so they have to be guarded with respective list_head/list_tail checks in case ++ * of lists with designated heads (where the list's head is not embedded withing ++ * a list item. ++ * ++ * list_{insert,append,remove,remove_tail,remove_head,replace} provide some ++ * basic means of list manipulation. ++ * ++ * list_foreach() and list_foreach_safe() are wrapper macros for simplifying ++ * iteration over a list, with the latter having an additional argument ++ * for storing temporary pointer, thus allowing list manipulations during ++ * its iteration. ++ * ++ * A simple example: ++ * ++ * struct my_struct { ++ * int a; ++ * struct list_item l1; ++ * struct list_item l2; ++ * }; ++ * ++ * EMPTY_LIST(list_1); <--- Defining a designated head for list ++ * ++ * struct my_struct *item = ++ * calloc(1, sizeof(*item)); ++ * list_init(&item->l2); <--- Initialising structure field that ++ * is used for lists without designated ++ * head. ++ * list_insert(&list_1, &item->l1); <--- Inserting an item into the list ++ * ++ * item = calloc(1, sizeof(*item)); ++ * list_init(&item->l2); ++ * ++ * list_append(&(list_head(list_1, struct my_struct, l1)->l2), &item->l2); ++ * ++ * struct my_struct *cur = item; <--- Iteration over a headless list ++ * do { ++ * printf("%d\n", cur->a); ++ * } while ((cur = list_next(&cur, l2)) != item); ++ * ++ * struct my_struct *i; ++ * list_foreach(i, list_1, l1) { <--- Iteration over list_1 without list ++ * printf("%d\n", i->a); modification ++ * } ++ * ++ * struct my_struct *tmp; <--- Iteration with modification ++ * list_foreach_safe(i, list_1, l1, tmp) { ++ * list_remove(&i->l1); ++ * free(i); ++ * } ++ * ++ * See also: ++ * "Linux kernel design patterns - part 2", section "Linked Lists" ++ * https://lwn.net/Articles/336255/ ++ */ ++ ++#include "macros.h" ++ ++struct list_item { ++ struct list_item *prev; ++ struct list_item *next; ++}; ++ ++/** ++ * Define an empty list head. ++ * ++ * @param l_ List head variable name. ++ */ ++#define EMPTY_LIST(l_) struct list_item l_ = { &l_, &l_ } ++ ++/** Initialise an empty list. */ ++static inline void ++list_init(struct list_item *l) ++{ ++ l->prev = l; ++ l->next = l; ++} ++ ++/** Check whether list is empty. */ ++static inline bool ++list_is_empty(const struct list_item *l) ++{ ++ return ((l->next == l) && (l->prev == l)) ++ /* ++ * XXX This could be the case when struct list_item hasn't been ++ * initialised at all; we should probably also call some ++ * errror_func_msg() in that case, as it looks like sloppy ++ * programming. ++ */ ++ || (!l->next && !l->prev); ++} ++ ++/** ++ * Convert a pointer to a struct list_item to a pointer to a list item. ++ * ++ * @param var Pointer to struct list_item. ++ * @param type Type of the list's item. ++ * @param field Name of the field that holds the respective struct list_item. ++ */ ++#define list_elem(var, type, field) containerof((var), type, field) ++ ++/** ++ * Get the first element in a list. ++ * ++ * @param head Pointer to the list's head. ++ * @param type Type of the list's item. ++ * @param field Name of the field that holds the respective struct list_item. ++ */ ++#define list_head(head, type, field) \ ++ (list_is_empty(head) ? NULL : list_elem((head)->next, type, field)) ++/** ++ * Get the last element in a list. ++ * ++ * @param head Pointer to the list's head. ++ * @param type Type of the list's item. ++ * @param field Name of the field that holds the respective struct list_item. ++ */ ++#define list_tail(head, type, field) \ ++ (list_is_empty(head) ? NULL : list_elem((head)->prev, type, field)) ++ ++/** ++ * Get the next element in a list. ++ * ++ * @param var Pointer to a list item. ++ * @param field Name of the field that holds the respective struct list_item. ++ */ ++#define list_next(var, field) \ ++ list_elem((var)->field.next, typeof(*(var)), field) ++/** ++ * Get the previous element in a list. ++ * ++ * @param var Pointer to a list item. ++ * @param field Name of the field that holds the respective struct list_item. ++ */ ++#define list_prev(var, field) \ ++ list_elem((var)->field.prev, typeof(*(var)), field) ++ ++/** ++ * Insert an item into a list. The item is placed as the next list item ++ * to the head. ++ */ ++static inline void ++list_insert(struct list_item *head, struct list_item *item) ++{ ++ item->next = head->next; ++ item->prev = head; ++ head->next->prev = item; ++ head->next = item; ++} ++ ++/** ++ * Insert an item into a list. The item is placed as the previous list item ++ * to the head. ++ */ ++static inline void ++list_append(struct list_item *head, struct list_item *item) ++{ ++ item->next = head; ++ item->prev = head->prev; ++ head->prev->next = item; ++ head->prev = item; ++} ++ ++/** ++ * Remove an item from a list. ++ * ++ * @param item Pointer to struct list_item of the item to be removed. ++ * @return Whether the action has been performed. ++ */ ++static inline bool ++list_remove(struct list_item *item) ++{ ++ if (!item->next || !item->prev || list_is_empty(item)) ++ return false; ++ ++ item->prev->next = item->next; ++ item->next->prev = item->prev; ++ item->next = item->prev = item; ++ ++ return true; ++} ++ ++/** ++ * Remove the last element of a list. ++ * ++ * @param head Pointer to the list's head. ++ * @return Pointer to struct list_item removed from the list; ++ * or NULL, if the list is empty. ++ */ ++static inline struct list_item * ++list_remove_tail(struct list_item *head) ++{ ++ struct list_item *t = list_is_empty(head) ? NULL : head->prev; ++ ++ if (t) ++ list_remove(t); ++ ++ return t; ++} ++ ++/** ++ * Remove the first element of a list. ++ * ++ * @param head Pointer to the list's head. ++ * @return Pointer to struct list_item removed from the list; ++ * or NULL, if the list is empty. ++ */ ++static inline struct list_item * ++list_remove_head(struct list_item *head) ++{ ++ struct list_item *h = list_is_empty(head) ? NULL : head->next; ++ ++ if (h) ++ list_remove(h); ++ ++ return h; ++} ++ ++/** ++ * Replace an old struct list_item in a list with the new one. ++ * ++ * @param old Pointer to struct list_item of the item to be replaced. ++ * @param new Pointer to struct list_item of the item to be replaced with. ++ * @return Whether the replacement has been performed. ++ */ ++static inline bool ++list_replace(struct list_item *old, struct list_item *new) ++{ ++ if (!old->next || !old->prev || list_is_empty(old)) ++ return false; ++ ++ new->next = old->next; ++ new->prev = old->prev; ++ old->prev->next = new; ++ old->next->prev = new; ++ old->next = old->prev = old; ++ ++ return true; ++} ++ ++/** ++ * List iteration wrapper for non-destructive operations. ++ * ++ * @param var_ Variable holding pointer to a current list item. ++ * @param head_ Pointer to the list's head. ++ * @param field_ Name of the field containing the respective struct list_item ++ * inside list items. ++ */ ++#define list_foreach(var_, head_, field_) \ ++ for (var_ = list_elem((head_)->next, typeof(*var_), field_); \ ++ &(var_->field_) != (head_); var_ = list_next(var_, field_)) ++ ++/** ++ * List iteration wrapper for destructive operations. ++ * ++ * @param var_ Variable holding pointer to a current list item. ++ * @param head_ Pointer to the list's head. ++ * @param field_ Name of the field containing the respective struct list_item ++ * inside list items. ++ * @param _tmp Temporary variable for storing pointer to the next item. ++ */ ++#define list_foreach_safe(var_, head_, field_, _tmp) \ ++ for (var_ = list_elem((head_)->next, typeof(*var_), field_), \ ++ _tmp = list_elem((var_)->field_.next, typeof(*var_), field_); \ ++ &var_->field_ != head_; var_ = _tmp, _tmp = list_next(_tmp, field_)) ++ ++#endif /* !STRACE_LIST_H */ +diff --git a/macros.h b/macros.h +index 9346d90..6951928 100644 +--- a/macros.h ++++ b/macros.h +@@ -33,6 +33,25 @@ + (offsetof(type_, member_) + sizeof(((type_ *)0)->member_)) + #endif + ++#ifndef cast_ptr ++# define cast_ptr(type_, var_) \ ++ ((type_) (uintptr_t) (const volatile void *) (var_)) ++#endif ++ ++#ifndef containerof ++/** ++ * Return a pointer to a structure that contains the provided variable. ++ * ++ * @param ptr_ Pointer to data that is a field of the container structure. ++ * @param struct_ Type of the container structure. ++ * @param member_ Name of the member field. ++ * @return Pointer to the container structure. ++ */ ++# define containerof(ptr_, struct_, member_) \ ++ cast_ptr(struct_ *, \ ++ (const volatile char *) (ptr_) - offsetof(struct_, member_)) ++#endif ++ + static inline bool + is_filled(const char *ptr, char fill, size_t size) + { +-- +2.1.4 + diff --git a/SOURCES/0027-Implement-queueing-of-threads-before-dispatching-the.patch b/SOURCES/0027-Implement-queueing-of-threads-before-dispatching-the.patch new file mode 100644 index 0000000..c531c43 --- /dev/null +++ b/SOURCES/0027-Implement-queueing-of-threads-before-dispatching-the.patch @@ -0,0 +1,611 @@ +From 496f922dad9b58b891f417b937ac5fb0b0a8649a Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 8 Aug 2018 21:41:39 +0200 +Subject: [PATCH 27/27] Implement queueing of threads before dispatching them + +It is possible that some tracees call a lot of cheap syscalls too fast, +and that can stress the tracer to the point some tracees are not served +for indefinite amount of time. In order to avoid that unfairness, try +to collect all the pending tracees first along with the relevant +information and only then dispatch the events. + +* defs.h: Include "list.h". +(struct tcb): Add wait_data_idx, delayed_wait_data, and wait_list +fields. +* strace.c (struct tcb_wait_data): Add "msg" field. +(tcb_wait_tab, tcb_wait_tab_size): New static variables. +(alloctcb): Initialize wait_list. +(droptcb): Remove tcp from wait_list. +(maybe_switch_tcbs): Get old pid from +tcb_wait_tab[tcp->wait_data_idx].msg instead of calling +ptrace(PTRACE_GETEVENTMSG). +(trace_wait_data_size, init_trace_wait_data, copy_trace_wait_data, +free_trace_wait_data, tcb_wait_tab_check_size): New functions, in order +to allow the code outside next_event to operate with wait_data as with +an opaque object (needed for dispatch_event and restart_delayed_tcb). +(next_event): Add pending_tcps, extra_tcp, wait_nohang, elem, and +wait_tab_pos variables; check for elements in pending_tcps and skip +waiting if the list is not empty; check for extra_tcp and skip waiting +along with swapping wait_data_idx with wait_extra_data_idx; +after the initial wait4(), call wait4() in loop with WNOHANG flag set; +fetch siginfo on signal and eventmsg on PTRACE_EVENT_EXEC; +return the first tcp in pending_tcps list. +(dispatch_event): Store a pointer to a copy of tcb_wait_data in +tcp->delayed_wait_data if tcp's restart has to be delayed. +(restart_delayed_tcb): Use tcp->delayed_wait_data, create a stub +tcb_wait_data if it is NULL, free temporary trace_wait_data. +* tests/Makefile.am (XFAIL_TEST): Remove looping_threads.test. + +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=478419 +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=526740 +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=851457 +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1609318 +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1610774 +Co-Authored-by: Dmitry V. Levin +Co-Authored-by: Denys Vlasenko +Co-Authored-by: Andreas Schwab +Co-Authored-by: Jeff Law +Co-Authored-by: DJ Delorie + +Conflicts: + defs.h + tests/Makefile.am +--- + defs.h | 12 ++ + strace.c | 393 +++++++++++++++++++++++++++++++++++++----------------- + tests/Makefile.am | 3 +- + 3 files changed, 283 insertions(+), 125 deletions(-) + +diff --git a/defs.h b/defs.h +index 811bb0d..2a614a7 100644 +--- a/defs.h ++++ b/defs.h +@@ -36,6 +36,7 @@ + #include "arch_defs.h" + #include "error_prints.h" + #include "gcc_compat.h" ++#include "list.h" + #include "kernel_types.h" + #include "macros.h" + #include "mpers_type.h" +@@ -218,6 +219,17 @@ struct tcb { + + struct mmap_cache_t *mmap_cache; + ++ /* ++ * Data that is stored during process wait traversal. ++ * We use indices as the actual data is stored in an array ++ * that is realloc'ed at runtime. ++ */ ++ size_t wait_data_idx; ++ /** Wait data storage for a delayed process. */ ++ struct tcb_wait_data *delayed_wait_data; ++ struct list_item wait_list; ++ ++ + #ifdef HAVE_LINUX_KVM_H + struct vcpu_info *vcpu_info_list; + #endif +diff --git a/strace.c b/strace.c +index 0745838..0914dc7 100644 +--- a/strace.c ++++ b/strace.c +@@ -141,6 +141,7 @@ static struct tcb *current_tcp; + struct tcb_wait_data { + enum trace_event te; /**< Event passed to dispatch_event() */ + int status; /**< status, returned by wait4() */ ++ unsigned long msg; /**< Value returned by PTRACE_GETEVENTMSG */ + siginfo_t si; /**< siginfo, returned by PTRACE_GETSIGINFO */ + }; + +@@ -148,6 +149,10 @@ static struct tcb **tcbtab; + static unsigned int nprocs; + static size_t tcbtabsize; + ++static struct tcb_wait_data *tcb_wait_tab; ++static size_t tcb_wait_tab_size; ++ ++ + #ifndef HAVE_PROGRAM_INVOCATION_NAME + char *program_invocation_name; + #endif +@@ -745,6 +750,7 @@ alloctcb(int pid) + tcp = tcbtab[i]; + if (!tcp->pid) { + memset(tcp, 0, sizeof(*tcp)); ++ list_init(&tcp->wait_list); + tcp->pid = pid; + #if SUPPORTED_PERSONALITIES > 1 + tcp->currpers = current_personality; +@@ -833,6 +839,8 @@ droptcb(struct tcb *tcp) + if (printing_tcp == tcp) + printing_tcp = NULL; + ++ list_remove(&tcp->wait_list); ++ + memset(tcp, 0, sizeof(*tcp)); + } + +@@ -2051,10 +2059,8 @@ maybe_switch_tcbs(struct tcb *tcp, const int pid) + { + FILE *fp; + struct tcb *execve_thread; +- long old_pid = 0; ++ long old_pid = tcb_wait_tab[tcp->wait_data_idx].msg; + +- if (ptrace(PTRACE_GETEVENTMSG, pid, NULL, &old_pid) < 0) +- return tcp; + /* Avoid truncation in pid2tcb() param passing */ + if (old_pid <= 0 || old_pid == pid) + return tcp; +@@ -2207,20 +2213,74 @@ print_event_exit(struct tcb *tcp) + line_ended(); + } + +-static const struct tcb_wait_data * +-next_event(void) ++static size_t ++trace_wait_data_size(struct tcb *tcp) + { +- static struct tcb_wait_data wait_data; ++ return sizeof(struct tcb_wait_data); ++} + +- int pid; +- int status; +- struct tcb *tcp; +- struct tcb_wait_data *wd = &wait_data; +- struct rusage ru; ++static struct tcb_wait_data * ++init_trace_wait_data(void *p) ++{ ++ struct tcb_wait_data *wd = p; ++ ++ memset(wd, 0, sizeof(*wd)); ++ ++ return wd; ++} + ++static struct tcb_wait_data * ++copy_trace_wait_data(const struct tcb_wait_data *wd) ++{ ++ struct tcb_wait_data *new_wd = xmalloc(sizeof(*new_wd)); ++ ++ memcpy(new_wd, wd, sizeof(*wd)); ++ ++ return new_wd; ++} ++ ++static void ++free_trace_wait_data(struct tcb_wait_data *wd) ++{ ++ free(wd); ++} ++ ++static void ++tcb_wait_tab_check_size(const size_t size) ++{ ++ while (size >= tcb_wait_tab_size) { ++ tcb_wait_tab = xgrowarray(tcb_wait_tab, ++ &tcb_wait_tab_size, ++ sizeof(tcb_wait_tab[0])); ++ } ++} ++ ++static const struct tcb_wait_data * ++next_event(void) ++{ + if (interrupted) + return NULL; + ++ struct tcb *tcp = NULL; ++ struct list_item *elem; ++ ++ static EMPTY_LIST(pending_tcps); ++ /* Handle the queued tcbs before waiting for new events. */ ++ if (!list_is_empty(&pending_tcps)) ++ goto next_event_get_tcp; ++ ++ static struct tcb *extra_tcp; ++ static size_t wait_extra_data_idx; ++ /* Handle the extra tcb event. */ ++ if (extra_tcp) { ++ tcp = extra_tcp; ++ extra_tcp = NULL; ++ tcp->wait_data_idx = wait_extra_data_idx; ++ ++ debug_msg("dequeued extra event for pid %u", tcp->pid); ++ goto next_event_exit; ++ } ++ + /* + * Used to exit simply when nprocs hits zero, but in this testcase: + * int main(void) { _exit(!!fork()); } +@@ -2262,8 +2322,10 @@ next_event(void) + * then the system call will be interrupted and + * the expiration will be handled by the signal handler. + */ +- pid = wait4(-1, &status, __WALL, (cflag ? &ru : NULL)); +- const int wait_errno = errno; ++ int status; ++ struct rusage ru; ++ int pid = wait4(-1, &status, __WALL, (cflag ? &ru : NULL)); ++ int wait_errno = errno; + + /* + * The window of opportunity to handle expirations +@@ -2279,135 +2341,202 @@ next_event(void) + return NULL; + } + +- if (pid < 0) { +- if (wait_errno == EINTR) { +- wd->te = TE_NEXT; +- return wd; ++ size_t wait_tab_pos = 0; ++ bool wait_nohang = false; ++ ++ /* ++ * Wait for new events until wait4() returns 0 (meaning that there's ++ * nothing more to wait for for now), or a second event for some tcb ++ * appears (which may happen if a tracee was SIGKILL'ed, for example). ++ */ ++ for (;;) { ++ struct tcb_wait_data *wd; ++ ++ if (pid < 0) { ++ if (wait_errno == EINTR) ++ break; ++ if (wait_nohang) ++ break; ++ if (nprocs == 0 && wait_errno == ECHILD) ++ return NULL; ++ /* ++ * If nprocs > 0, ECHILD is not expected, ++ * treat it as any other error here: ++ */ ++ errno = wait_errno; ++ perror_msg_and_die("wait4(__WALL)"); + } +- if (nprocs == 0 && wait_errno == ECHILD) +- return NULL; +- /* +- * If nprocs > 0, ECHILD is not expected, +- * treat it as any other error here: +- */ +- errno = wait_errno; +- perror_msg_and_die("wait4(__WALL)"); +- } + +- wd->status = status; ++ if (!pid) ++ break; + +- if (pid == popen_pid) { +- if (!WIFSTOPPED(status)) +- popen_pid = 0; +- wd->te = TE_NEXT; +- return wd; +- } ++ if (pid == popen_pid) { ++ if (!WIFSTOPPED(status)) ++ popen_pid = 0; ++ break; ++ } + +- if (debug_flag) +- print_debug_info(pid, status); ++ if (debug_flag) ++ print_debug_info(pid, status); + +- /* Look up 'pid' in our table. */ +- tcp = pid2tcb(pid); ++ /* Look up 'pid' in our table. */ ++ tcp = pid2tcb(pid); + +- if (!tcp) { +- tcp = maybe_allocate_tcb(pid, status); + if (!tcp) { +- wd->te = TE_NEXT; +- return wd; ++ tcp = maybe_allocate_tcb(pid, status); ++ if (!tcp) ++ goto next_event_wait_next; + } +- } + +- clear_regs(tcp); ++ if (cflag) { ++ struct timespec stime = { ++ .tv_sec = ru.ru_stime.tv_sec, ++ .tv_nsec = ru.ru_stime.tv_usec * 1000 ++ }; ++ ts_sub(&tcp->dtime, &stime, &tcp->stime); ++ tcp->stime = stime; ++ } + +- /* Set current output file */ +- set_current_tcp(tcp); ++ tcb_wait_tab_check_size(wait_tab_pos); + +- if (cflag) { +- struct timespec stime = { +- .tv_sec = ru.ru_stime.tv_sec, +- .tv_nsec = ru.ru_stime.tv_usec * 1000 +- }; +- ts_sub(&tcp->dtime, &stime, &tcp->stime); +- tcp->stime = stime; +- } ++ /* Initialise a new wait data structure. */ ++ wd = tcb_wait_tab + wait_tab_pos; ++ init_trace_wait_data(wd); ++ wd->status = status; + +- if (WIFSIGNALED(status)) { +- wd->te = TE_SIGNALLED; +- return wd; +- } ++ if (WIFSIGNALED(status)) { ++ wd->te = TE_SIGNALLED; ++ } else if (WIFEXITED(status)) { ++ wd->te = TE_EXITED; ++ } else { ++ /* ++ * As WCONTINUED flag has not been specified to wait4, ++ * it cannot be WIFCONTINUED(status), so the only case ++ * that remains is WIFSTOPPED(status). ++ */ + +- if (WIFEXITED(status)) { +- wd->te = TE_EXITED; +- return wd; ++ const unsigned int sig = WSTOPSIG(status); ++ const unsigned int event = (unsigned int) status >> 16; ++ ++ switch (event) { ++ case 0: ++ /* ++ * Is this post-attach SIGSTOP? ++ * Interestingly, the process may stop ++ * with STOPSIG equal to some other signal ++ * than SIGSTOP if we happened to attach ++ * just before the process takes a signal. ++ */ ++ if (sig == SIGSTOP && ++ (tcp->flags & TCB_IGNORE_ONE_SIGSTOP)) { ++ debug_func_msg("ignored SIGSTOP on " ++ "pid %d", tcp->pid); ++ tcp->flags &= ~TCB_IGNORE_ONE_SIGSTOP; ++ wd->te = TE_RESTART; ++ } else if (sig == syscall_trap_sig) { ++ wd->te = TE_SYSCALL_STOP; ++ } else { ++ /* ++ * True if tracee is stopped by signal ++ * (as opposed to "tracee received ++ * signal"). ++ * TODO: shouldn't we check for ++ * errno == EINVAL too? ++ * We can get ESRCH instead, you know... ++ */ ++ bool stopped = ptrace(PTRACE_GETSIGINFO, ++ pid, 0, &wd->si) < 0; ++ ++ wd->te = stopped ? TE_GROUP_STOP ++ : TE_SIGNAL_DELIVERY_STOP; ++ } ++ break; ++ case PTRACE_EVENT_STOP: ++ /* ++ * PTRACE_INTERRUPT-stop or group-stop. ++ * PTRACE_INTERRUPT-stop has sig == SIGTRAP here. ++ */ ++ switch (sig) { ++ case SIGSTOP: ++ case SIGTSTP: ++ case SIGTTIN: ++ case SIGTTOU: ++ wd->te = TE_GROUP_STOP; ++ break; ++ default: ++ wd->te = TE_RESTART; ++ } ++ break; ++ case PTRACE_EVENT_EXEC: ++ /* ++ * TODO: shouldn't we check for ++ * errno == EINVAL here, too? ++ * We can get ESRCH instead, you know... ++ */ ++ if (ptrace(PTRACE_GETEVENTMSG, pid, NULL, ++ &wd->msg) < 0) ++ wd->msg = 0; ++ ++ wd->te = TE_STOP_BEFORE_EXECVE; ++ break; ++ case PTRACE_EVENT_EXIT: ++ wd->te = TE_STOP_BEFORE_EXIT; ++ break; ++ default: ++ wd->te = TE_RESTART; ++ } ++ } ++ ++ if (!wd->te) ++ error_func_msg("Tracing event hasn't been determined " ++ "for pid %d, status %0#x", pid, status); ++ ++ if (!list_is_empty(&tcp->wait_list)) { ++ wait_extra_data_idx = wait_tab_pos; ++ extra_tcp = tcp; ++ debug_func_msg("queued extra pid %d", tcp->pid); ++ } else { ++ tcp->wait_data_idx = wait_tab_pos; ++ list_append(&pending_tcps, &tcp->wait_list); ++ debug_func_msg("queued pid %d", tcp->pid); ++ } ++ ++ wait_tab_pos++; ++ ++ if (extra_tcp) ++ break; ++ ++next_event_wait_next: ++ pid = wait4(-1, &status, __WALL | WNOHANG, (cflag ? &ru : NULL)); ++ wait_errno = errno; ++ wait_nohang = true; + } + +- /* +- * As WCONTINUED flag has not been specified to wait4, +- * it cannot be WIFCONTINUED(status), so the only case +- * that remains is WIFSTOPPED(status). +- */ ++next_event_get_tcp: ++ elem = list_remove_head(&pending_tcps); ++ ++ if (!elem) { ++ tcb_wait_tab_check_size(0); ++ memset(tcb_wait_tab, 0, sizeof(*tcb_wait_tab)); ++ tcb_wait_tab->te = TE_NEXT; + ++ return tcb_wait_tab; ++ } else { ++ tcp = list_elem(elem, struct tcb, wait_list); ++ debug_func_msg("dequeued pid %d", tcp->pid); ++ } ++ ++next_event_exit: + /* Is this the very first time we see this tracee stopped? */ + if (tcp->flags & TCB_STARTUP) + startup_tcb(tcp); + +- const unsigned int sig = WSTOPSIG(status); +- const unsigned int event = (unsigned int) status >> 16; ++ clear_regs(tcp); + +- switch (event) { +- case 0: +- /* +- * Is this post-attach SIGSTOP? +- * Interestingly, the process may stop +- * with STOPSIG equal to some other signal +- * than SIGSTOP if we happened to attach +- * just before the process takes a signal. +- */ +- if (sig == SIGSTOP && (tcp->flags & TCB_IGNORE_ONE_SIGSTOP)) { +- debug_func_msg("ignored SIGSTOP on pid %d", tcp->pid); +- tcp->flags &= ~TCB_IGNORE_ONE_SIGSTOP; +- wd->te = TE_RESTART; +- } else if (sig == syscall_trap_sig) { +- wd->te = TE_SYSCALL_STOP; +- } else { +- memset(&wd->si, 0, sizeof(wd->si)); +- /* +- * True if tracee is stopped by signal +- * (as opposed to "tracee received signal"). +- * TODO: shouldn't we check for errno == EINVAL too? +- * We can get ESRCH instead, you know... +- */ +- bool stopped = ptrace(PTRACE_GETSIGINFO, pid, 0, &wd->si) < 0; +- wd->te = stopped ? TE_GROUP_STOP : TE_SIGNAL_DELIVERY_STOP; +- } +- break; +- case PTRACE_EVENT_STOP: +- /* +- * PTRACE_INTERRUPT-stop or group-stop. +- * PTRACE_INTERRUPT-stop has sig == SIGTRAP here. +- */ +- switch (sig) { +- case SIGSTOP: +- case SIGTSTP: +- case SIGTTIN: +- case SIGTTOU: +- wd->te = TE_GROUP_STOP; +- break; +- default: +- wd->te = TE_RESTART; +- } +- break; +- case PTRACE_EVENT_EXEC: +- wd->te = TE_STOP_BEFORE_EXECVE; +- break; +- case PTRACE_EVENT_EXIT: +- wd->te = TE_STOP_BEFORE_EXIT; +- break; +- default: +- wd->te = TE_RESTART; +- } ++ /* Set current output file */ ++ set_current_tcp(tcp); + +- return wd; ++ return tcb_wait_tab + tcp->wait_data_idx; + } + + static int +@@ -2569,8 +2698,15 @@ dispatch_event(const struct tcb_wait_data *wd) + return false; + + /* If the process is being delayed, do not ptrace_restart just yet */ +- if (syscall_delayed(current_tcp)) ++ if (syscall_delayed(current_tcp)) { ++ if (current_tcp->delayed_wait_data) ++ error_func_msg("pid %d has delayed wait data set" ++ " already", current_tcp->pid); ++ ++ current_tcp->delayed_wait_data = copy_trace_wait_data(wd); ++ + return true; ++ } + + if (ptrace_restart(restart_op, current_tcp, restart_sig) < 0) { + /* Note: ptrace_restart emitted error message */ +@@ -2583,7 +2719,15 @@ dispatch_event(const struct tcb_wait_data *wd) + static bool + restart_delayed_tcb(struct tcb *const tcp) + { +- const struct tcb_wait_data wd = { .te = TE_RESTART }; ++ struct tcb_wait_data *wd = tcp->delayed_wait_data; ++ ++ if (!wd) { ++ error_func_msg("No delayed wait data found for pid %d", ++ tcp->pid); ++ wd = init_trace_wait_data(alloca(trace_wait_data_size(tcp))); ++ } ++ ++ wd->te = TE_RESTART; + + debug_func_msg("pid %d", tcp->pid); + +@@ -2591,9 +2735,12 @@ restart_delayed_tcb(struct tcb *const tcp) + + struct tcb *const prev_tcp = current_tcp; + current_tcp = tcp; +- bool ret = dispatch_event(&wd); ++ bool ret = dispatch_event(wd); + current_tcp = prev_tcp; + ++ free_trace_wait_data(tcp->delayed_wait_data); ++ tcp->delayed_wait_data = NULL; ++ + return ret; + } + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index de7a3d2..51f00a9 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -350,8 +350,7 @@ XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) + XFAIL_TESTS_mx32 = $(STACKTRACE_TESTS) + XFAIL_TESTS_x86_64 = int_0x80.gen.test + XFAIL_TESTS_x32 = int_0x80.gen.test +-XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH)) \ +- looping_threads.test ++XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH)) + + TEST_LOG_COMPILER = env + AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) STRACE_NATIVE_ARCH=$(NATIVE_ARCH) \ +-- +2.1.4 + diff --git a/SOURCES/0028-macros-add-ROUNDUP-macro.patch b/SOURCES/0028-macros-add-ROUNDUP-macro.patch new file mode 100644 index 0000000..41d0c08 --- /dev/null +++ b/SOURCES/0028-macros-add-ROUNDUP-macro.patch @@ -0,0 +1,25 @@ +From cbbf708b4d2f8a66b07cf805f82edbe892c0bbf7 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Sun, 2 Sep 2018 18:15:40 +0200 +Subject: [PATCH] macros: add ROUNDUP macro + +* macros.h (ROUNDUP): New macro. +--- + macros.h | 4 ++++ + 1 file changed, 4 insertions(+) + +Index: strace-4.24/macros.h +=================================================================== +--- strace-4.24.orig/macros.h 2019-08-01 18:40:47.322659137 +0200 ++++ strace-4.24/macros.h 2019-08-01 19:49:00.405972298 +0200 +@@ -28,6 +28,10 @@ + #endif + #define CLAMP(val, min, max) MIN(MAX(min, val), max) + ++#ifndef ROUNDUP ++# define ROUNDUP(val_, div_) ((((val_) + (div_) - 1) / (div_)) * (div_)) ++#endif ++ + #ifndef offsetofend + # define offsetofend(type_, member_) \ + (offsetof(type_, member_) + sizeof(((type_ *)0)->member_)) diff --git a/SOURCES/0029-util-update-dumpstr.patch b/SOURCES/0029-util-update-dumpstr.patch new file mode 100644 index 0000000..a4f38eb --- /dev/null +++ b/SOURCES/0029-util-update-dumpstr.patch @@ -0,0 +1,49 @@ +From 79acbcf2550f3a55108240558efb8b9c36eb8399 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 19 Feb 2019 03:10:11 +0100 +Subject: [PATCH] util: update dumpstr + +Use a buffer of a limited size, use proper type for dump amount, avoid +hard-coding of byte counts, calculate output buffer size more accurately +and minimise its rewriting, pad offset with zeros in accordance +with expected output amount. + +* defs.h (dumpstr): Change the type of len argument from int to +kernel_ulong_t. +* macros.h (ROUNDUP_DIV): New macro. +(ROUNDUP): Rewrite using ROUNDUP_DIV. +* util.c (ILOG2_ITER_): New macro. +(ilog2_64, ilog2_32): New functions. +(ilog2_klong): New macro, wrapper around ilog2_32/ilog2_64, so (potentially +more expensive) ilog2_64 is not used for ilog2 calculation +of a kernel_ulong_t-typed variable on architectures with 32-bit kernel long. +(dumpstr): Update. + +Co-Authored-by: Dmitry V. Levin +--- + defs.h | 2 +- + macros.h | 6 +- + util.c | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++------------- + 3 files changed, 169 insertions(+), 44 deletions(-) + +diff --git a/macros.h b/macros.h +index 7f019480..61abf826 100644 +--- a/macros.h ++++ b/macros.h +@@ -28,8 +28,12 @@ + #endif + #define CLAMP(val, min, max) MIN(MAX(min, val), max) + ++#ifndef ROUNDUP_DIV ++# define ROUNDUP_DIV(val_, div_) (((val_) + (div_) - 1) / (div_)) ++#endif ++ + #ifndef ROUNDUP +-# define ROUNDUP(val_, div_) ((((val_) + (div_) - 1) / (div_)) * (div_)) ++# define ROUNDUP(val_, div_) (ROUNDUP_DIV((val_), (div_)) * (div_)) + #endif + + #ifndef offsetofend +-- +2.13.6 + diff --git a/SOURCES/0030-evdev-avoid-bit-vector-decoding-on-non-successful-an.patch b/SOURCES/0030-evdev-avoid-bit-vector-decoding-on-non-successful-an.patch new file mode 100644 index 0000000..3d21fae --- /dev/null +++ b/SOURCES/0030-evdev-avoid-bit-vector-decoding-on-non-successful-an.patch @@ -0,0 +1,42 @@ +From 7ada13f3a40e2f58aea335cf910666378e7dd99a Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Fri, 12 Jul 2019 14:38:33 +0200 +Subject: [PATCH 1/3] evdev: avoid bit vector decoding on non-successful and 0 + return codes + +Reported by Clang. + + strace/evdev.c:157:3: note: The value 0 is assigned to 'size' + # size = tcp->u_rval * 8; + # ^~~~~~~~~~~~~~~~~~~~~~ + strace/evdev.c:158:2: warning: Declared variable-length array (VLA) + has zero size + # char decoded_arg[size]; + # ^ + +* evdev.c (decode_bitset_): Bail out before decoded_arg VLA definition. +--- + evdev.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/evdev.c b/evdev.c +index e402d26e..4b811cf8 100644 +--- a/evdev.c ++++ b/evdev.c +@@ -155,6 +155,13 @@ decode_bitset_(struct tcb *const tcp, const kernel_ulong_t arg, + size = max_nr; + else + size = tcp->u_rval * 8; ++ ++ if (syserror(tcp) || !size) { ++ printaddr(arg); ++ ++ return RVAL_IOCTL_DECODED; ++ } ++ + char decoded_arg[size]; + + if (umove_or_printaddr(tcp, arg, &decoded_arg)) +-- +2.13.6 + diff --git a/SOURCES/0031-evdev-fix-array-size-calculation-in-decode_bitset_.patch b/SOURCES/0031-evdev-fix-array-size-calculation-in-decode_bitset_.patch new file mode 100644 index 0000000..18cf773 --- /dev/null +++ b/SOURCES/0031-evdev-fix-array-size-calculation-in-decode_bitset_.patch @@ -0,0 +1,57 @@ +From 96194ed74158f0b9976fae43a910ad14eaea141e Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Fri, 12 Jul 2019 14:57:28 +0200 +Subject: [PATCH 2/3] evdev: fix array size calculation in decode_bitset_ + +max_nr is in bits (as it is a number of flags), result is in bytes, and +the array allocation has to be in personality words. + +There's still an open question, however, what to do on big-endian +architectures when a non-divisible-by-4 value is returned. + +* evdev.c (decode_bitset_): Declare size_bits, initialise it and use it +later instead of size; round up size by personality's word boundary. +--- + evdev.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/evdev.c b/evdev.c +index 4b811cf8..a3d9cb55 100644 +--- a/evdev.c ++++ b/evdev.c +@@ -151,10 +151,14 @@ decode_bitset_(struct tcb *const tcp, const kernel_ulong_t arg, + tprints(", "); + + unsigned int size; ++ unsigned int size_bits; ++ + if ((kernel_ulong_t) tcp->u_rval > max_nr / 8) +- size = max_nr; ++ size_bits = max_nr; + else +- size = tcp->u_rval * 8; ++ size_bits = tcp->u_rval * 8; ++ ++ size = ROUNDUP(ROUNDUP_DIV(size_bits, 8), current_wordsize); + + if (syserror(tcp) || !size) { + printaddr(arg); +@@ -170,13 +174,13 @@ decode_bitset_(struct tcb *const tcp, const kernel_ulong_t arg, + tprints("["); + + int bit_displayed = 0; +- int i = next_set_bit(decoded_arg, 0, size); ++ int i = next_set_bit(decoded_arg, 0, size_bits); + if (i < 0) { + tprints(" 0 "); + } else { + printxval_dispatch(decode_nr, decode_nr_size, i, dflt, xt); + +- while ((i = next_set_bit(decoded_arg, i + 1, size)) > 0) { ++ while ((i = next_set_bit(decoded_arg, i + 1, size_bits)) > 0) { + if (abbrev(tcp) && bit_displayed >= 3) { + tprints(", ..."); + break; +-- +2.13.6 + diff --git a/SOURCES/0032-tests-check-decoding-of-successful-evdev-ioctl.patch b/SOURCES/0032-tests-check-decoding-of-successful-evdev-ioctl.patch new file mode 100644 index 0000000..44d5630 --- /dev/null +++ b/SOURCES/0032-tests-check-decoding-of-successful-evdev-ioctl.patch @@ -0,0 +1,1243 @@ +From e286b9cbc0bd542bb441c5acb65fef5f58b71aef Mon Sep 17 00:00:00 2001 +From: Zhibin Li <08826794brmt@gmail.com> +Date: Wed, 1 Aug 2018 17:54:35 +0800 +Subject: [PATCH] tests: check decoding of successful evdev ioctl + +* tests/ioctl_evdev-success.c: New file. +* tests/ioctl_evdev-success-v.c: Likewise. +* tests/ioctl_evdev-success.test: New test. +* tests/ioctl_evdev-success-v.test: Likewise. +* tests/.gitignore: Add ioctl_evdev-success and ioctl_evdev-success-v. +* tests/Makefile.am (check_PROGRAMS): Likewise. +(DECODER_TESTS): Add the two tests mentioned above. + +Skipped files (not present in the tarball): + tests/.gitignore + +Additional changes: + tests/Makefile.in (generated from tests/Makefile.am) + tests-m32/Makefile.am (generated from tests/Makefile.am) + tests-m32/Makefile.in (generated from tests-m32/Makefile.am) + tests-m32/ioctl_evdev-success-v.c (copy of tests/ioctl_evdev-success-v.c) + tests-m32/ioctl_evdev-success-v.test (copy of tests/ioctl_evdev-success-v.test) + tests-m32/ioctl_evdev-success.c (copy of tests/ioctl_evdev-success.c) + tests-m32/ioctl_evdev-success.test (copy of tests/ioctl_evdev-success.test) + tests-mx32/Makefile.am (generated from tests/Makefile.am) + tests-mx32/Makefile.in (generated from tests-mx32/Makefile.am) + tests-mx32/ioctl_evdev-success-v.c (copy of tests/ioctl_evdev-success-v.c) + tests-mx32/ioctl_evdev-success-v.test (copy of tests/ioctl_evdev-success-v.test) + tests-mx32/ioctl_evdev-success.c (copy of tests/ioctl_evdev-success.c) + tests-mx32/ioctl_evdev-success.test (copy of tests/ioctl_evdev-success.test) +--- + tests/.gitignore | 2 + + tests/Makefile.am | 4 + + tests/ioctl_evdev-success-v.c | 2 + + tests/ioctl_evdev-success-v.test | 13 +++ + tests/ioctl_evdev-success.c | 232 +++++++++++++++++++++++++++++++++++++++ + tests/ioctl_evdev-success.test | 13 +++ + 6 files changed, 266 insertions(+) + create mode 100644 tests/ioctl_evdev-success-v.c + create mode 100755 tests/ioctl_evdev-success-v.test + create mode 100644 tests/ioctl_evdev-success.c + create mode 100755 tests/ioctl_evdev-success.test + +Index: strace-4.24/tests/Makefile.am +=================================================================== +--- strace-4.24.orig/tests/Makefile.am 2020-01-27 17:41:26.696586601 +0100 ++++ strace-4.24/tests/Makefile.am 2020-01-27 18:52:08.799318174 +0100 +@@ -98,6 +98,8 @@ + int_0x80 \ + ioctl_dm-v \ + ioctl_evdev-v \ ++ ioctl_evdev-success \ ++ ioctl_evdev-success-v \ + ioctl_loop-nv \ + ioctl_loop-v \ + ioctl_nsfs \ +@@ -231,6 +233,8 @@ + futex.test \ + getuid.test \ + ioctl.test \ ++ ioctl_evdev-success.test \ ++ ioctl_evdev-success-v.test \ + ioctl_perf-success.test \ + ipc_msgbuf.test \ + kern_features-fault.test \ +Index: strace-4.24/tests-m32/Makefile.am +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.am 2020-01-27 17:13:38.520010457 +0100 ++++ strace-4.24/tests-m32/Makefile.am 2020-01-27 18:52:08.799318174 +0100 +@@ -118,6 +118,8 @@ + int_0x80 \ + ioctl_dm-v \ + ioctl_evdev-v \ ++ ioctl_evdev-success \ ++ ioctl_evdev-success-v \ + ioctl_loop-nv \ + ioctl_loop-v \ + ioctl_nsfs \ +@@ -247,6 +249,8 @@ + futex.test \ + getuid.test \ + ioctl.test \ ++ ioctl_evdev-success.test \ ++ ioctl_evdev-success-v.test \ + ioctl_perf-success.test \ + ipc_msgbuf.test \ + kern_features-fault.test \ +Index: strace-4.24/tests-mx32/Makefile.am +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.am 2020-01-27 17:13:38.520010457 +0100 ++++ strace-4.24/tests-mx32/Makefile.am 2020-01-27 18:52:08.799318174 +0100 +@@ -118,6 +118,8 @@ + int_0x80 \ + ioctl_dm-v \ + ioctl_evdev-v \ ++ ioctl_evdev-success \ ++ ioctl_evdev-success-v \ + ioctl_loop-nv \ + ioctl_loop-v \ + ioctl_nsfs \ +@@ -247,6 +249,8 @@ + futex.test \ + getuid.test \ + ioctl.test \ ++ ioctl_evdev-success.test \ ++ ioctl_evdev-success-v.test \ + ioctl_perf-success.test \ + ipc_msgbuf.test \ + kern_features-fault.test \ +Index: strace-4.24/tests/ioctl_evdev-success-v.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/ioctl_evdev-success-v.c 2020-01-27 17:41:26.745586256 +0100 +@@ -0,0 +1,2 @@ ++#define VERBOSE 1 ++#include "ioctl_evdev-success.c" +Index: strace-4.24/tests-m32/ioctl_evdev-success-v.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/ioctl_evdev-success-v.c 2020-01-27 17:41:26.745586256 +0100 +@@ -0,0 +1,2 @@ ++#define VERBOSE 1 ++#include "ioctl_evdev-success.c" +Index: strace-4.24/tests-mx32/ioctl_evdev-success-v.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/ioctl_evdev-success-v.c 2020-01-27 17:41:26.745586256 +0100 +@@ -0,0 +1,2 @@ ++#define VERBOSE 1 ++#include "ioctl_evdev-success.c" +Index: strace-4.24/tests/ioctl_evdev-success-v.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/ioctl_evdev-success-v.test 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh -efu ++ ++. "${srcdir=.}/scno_tampering.sh" ++ ++: ${IOCTL_INJECT_START=256} ++: ${IOCTL_INJECT_RETVAL=8} ++ ++run_prog ++run_strace -a16 -v -e trace=ioctl \ ++ -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success-v "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" ++grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" ++match_diff "$OUT" "$EXP" +Index: strace-4.24/tests-m32/ioctl_evdev-success-v.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/ioctl_evdev-success-v.test 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh -efu ++ ++. "${srcdir=.}/scno_tampering.sh" ++ ++: ${IOCTL_INJECT_START=256} ++: ${IOCTL_INJECT_RETVAL=8} ++ ++run_prog ++run_strace -a16 -v -e trace=ioctl \ ++ -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success-v "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" ++grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" ++match_diff "$OUT" "$EXP" +Index: strace-4.24/tests-mx32/ioctl_evdev-success-v.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/ioctl_evdev-success-v.test 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh -efu ++ ++. "${srcdir=.}/scno_tampering.sh" ++ ++: ${IOCTL_INJECT_START=256} ++: ${IOCTL_INJECT_RETVAL=8} ++ ++run_prog ++run_strace -a16 -v -e trace=ioctl \ ++ -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success-v "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" ++grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" ++match_diff "$OUT" "$EXP" +Index: strace-4.24/tests/ioctl_evdev-success.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/ioctl_evdev-success.c 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,232 @@ ++#include "tests.h" ++ ++#ifdef HAVE_LINUX_INPUT_H ++ ++# include ++# include ++# include ++# include ++# include ++# include "print_fields.h" ++ ++static const char *errstr; ++ ++struct evdev_check { ++ unsigned long cmd; ++ const char *cmd_str; ++ void *arg_ptr; ++ void (*print_arg)(long rc, void *ptr, void *arg); ++}; ++ ++static long ++invoke_test_syscall(unsigned long cmd, void *p) ++{ ++ long rc = ioctl(-1, cmd, p); ++ errstr = sprintrc(rc); ++ static char inj_errstr[4096]; ++ ++ snprintf(inj_errstr, sizeof(inj_errstr), "%s (INJECTED)", errstr); ++ errstr = inj_errstr; ++ return rc; ++} ++ ++static void ++test_evdev(struct evdev_check *check, void *arg) ++{ ++ long rc = invoke_test_syscall(check->cmd, check->arg_ptr); ++ printf("ioctl(-1, %s, ", check->cmd_str); ++ if (check->print_arg) ++ check->print_arg(rc, check->arg_ptr, arg); ++ else ++ printf("%p", check->arg_ptr); ++ printf(") = %s\n", errstr); ++} ++ ++static void ++print_input_absinfo(long rc, void *ptr, void *arg) ++{ ++ struct input_absinfo *absinfo = ptr; ++ ++ if (rc < 0) { ++ printf("%p", absinfo); ++ return; ++ } ++ PRINT_FIELD_U("{", *absinfo, value); ++ PRINT_FIELD_U(", ", *absinfo, minimum); ++# if VERBOSE ++ PRINT_FIELD_U(", ", *absinfo, maximum); ++ PRINT_FIELD_U(", ", *absinfo, fuzz); ++ PRINT_FIELD_U(", ", *absinfo, flat); ++# ifdef HAVE_STRUCT_INPUT_ABSINFO_RESOLUTION ++ PRINT_FIELD_U(", ", *absinfo, resolution); ++# endif ++# else ++ printf(", ..."); ++# endif ++ printf("}"); ++} ++ ++static void ++print_input_id(long rc, void *ptr, void *arg) ++{ ++ struct input_id *id = ptr; ++ ++ if (rc < 0) { ++ printf("%p", id); ++ return; ++ } ++ printf("{ID_BUS=%" PRIu16 ++ ", ID_VENDOR=%" PRIu16 ++ ", ID_PRODUCT=%" PRIu16 ++ ", ID_VERSION=%" PRIu16 "}", ++ id->bustype, id->vendor, id->product, id->version); ++} ++ ++# ifdef EVIOCGMTSLOTS ++static void ++print_mtslots(long rc, void *ptr, void *arg) ++{ ++ int *buffer = ptr; ++ const char **str = arg; ++ int num = atoi(*(str + 1)); ++ ++ if (rc < 0) { ++ printf("%p", buffer); ++ return; ++ } ++ ++ printf("{code=%s", *str); ++ printf(", values=["); ++ for (unsigned int i = 1; i <= (unsigned) num; i++) ++ printf("%s%s", i > 1 ? ", " : "", *(str + i + 1)); ++ printf("]}"); ++} ++# endif ++ ++static void ++print_getbit(long rc, void *ptr, void *arg) ++{ ++ const char **str = arg; ++ int num = atoi(*str); ++ ++ if (rc < 0) { ++ printf("%p", ptr); ++ return; ++ } ++ ++ printf("["); ++ printf("%s", *(str + 1)); ++ for (unsigned int i = 2; i <= (unsigned) num; i++) { ++# if ! VERBOSE ++ if (i > 4) { ++ printf(", ..."); ++ break; ++ } ++# endif ++ printf(", "); ++ printf("%s", *(str + i)); ++ } ++ printf("]"); ++} ++ ++int ++main(int argc, char **argv) ++{ ++ unsigned long num_skip; ++ long inject_retval; ++ bool locked = false; ++ ++ if (argc == 1) ++ return 0; ++ ++ if (argc < 3) ++ error_msg_and_fail("Usage: %s NUM_SKIP INJECT_RETVAL", argv[0]); ++ ++ num_skip = strtoul(argv[1], NULL, 0); ++ inject_retval = strtol(argv[2], NULL, 0); ++ ++ if (inject_retval < 0) ++ error_msg_and_fail("Expected non-negative INJECT_RETVAL, " ++ "but got %ld", inject_retval); ++ ++ for (unsigned int i = 0; i < num_skip; i++) { ++ long rc = ioctl(-1, EVIOCGID, NULL); ++ printf("ioctl(-1, EVIOCGID, NULL) = %s%s\n", ++ sprintrc(rc), ++ rc == inject_retval ? " (INJECTED)" : ""); ++ ++ if (rc != inject_retval) ++ continue; ++ ++ locked = true; ++ break; ++ } ++ ++ if (!locked) ++ error_msg_and_fail("Hasn't locked on ioctl(-1" ++ ", EVIOCGID, NULL) returning %lu", ++ inject_retval); ++ ++ TAIL_ALLOC_OBJECT_CONST_PTR(struct input_id, id); ++ TAIL_ALLOC_OBJECT_CONST_PTR(struct input_absinfo, absinfo); ++ TAIL_ALLOC_OBJECT_CONST_PTR(int, bad_addr_slot); ++# ifdef EVIOCGMTSLOTS ++ int mtslots[] = { ABS_MT_SLOT, 1, 3 }; ++ /* we use the second element to indicate the number of values */ ++ /* mtslots_str[1] is "2" so the number of values is 2 */ ++ const char *mtslots_str[] = { "ABS_MT_SLOT", "2", "1", "3" }; ++ ++ /* invalid flag */ ++ int invalid_mtslot[] = { -1, 1 }; ++ char invalid_str[4096]; ++ snprintf(invalid_str, sizeof(invalid_str), "%#x /* ABS_MT_??? */", invalid_mtslot[0]); ++ const char *invalid_mtslot_str[] = { invalid_str, "1", "1" }; ++# endif ++ ++ /* set more than 4 bits */ ++ unsigned long ev_more[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND | 1 << EV_PWR }; ++ /* we use the first element to indicate the number of set bits */ ++ /* ev_more_str[0] is "5" so the number of set bits is 5 */ ++ const char *ev_more_str[] = { "5", "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR" }; ++ ++ /* set less than 4 bits */ ++ unsigned long ev_less[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; ++ const char *ev_less_str[] = { "3", "EV_ABS", "EV_MSC", "EV_LED" }; ++ ++ /* set zero bit */ ++ unsigned long ev_zero[] = { 0x0 }; ++ const char *ev_zero_str[] = { "0", " 0 " }; ++ ++ /* KEY_MAX is 0x2ff which is greater than retval * 8 */ ++ unsigned long key[] = { 1 << KEY_1 | 1 << KEY_2, 0 }; ++ const char *key_str[] = { "2", "KEY_1", "KEY_2" }; ++ ++ struct { ++ struct evdev_check check; ++ void *ptr; ++ } a[] = { ++ { { ARG_STR(EVIOCGID), id, print_input_id }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_X)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, &ev_more_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, &ev_less_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_zero, print_getbit }, &ev_zero_str }, ++ { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, &key_str}, ++# ifdef EVIOCGMTSLOTS ++ { { ARG_STR(EVIOCGMTSLOTS(12)), mtslots, print_mtslots }, &mtslots_str }, ++ { { ARG_STR(EVIOCGMTSLOTS(8)), invalid_mtslot, print_mtslots }, &invalid_mtslot_str } ++# endif ++ }; ++ for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { ++ test_evdev(&a[i].check, a[i].ptr); ++ } ++ ++ puts("+++ exited with 0 +++"); ++ return 0; ++} ++#else ++ ++SKIP_MAIN_UNDEFINED("HAVE_LINUX_INPUT_H") ++ ++#endif +Index: strace-4.24/tests-m32/ioctl_evdev-success.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/ioctl_evdev-success.c 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,232 @@ ++#include "tests.h" ++ ++#ifdef HAVE_LINUX_INPUT_H ++ ++# include ++# include ++# include ++# include ++# include ++# include "print_fields.h" ++ ++static const char *errstr; ++ ++struct evdev_check { ++ unsigned long cmd; ++ const char *cmd_str; ++ void *arg_ptr; ++ void (*print_arg)(long rc, void *ptr, void *arg); ++}; ++ ++static long ++invoke_test_syscall(unsigned long cmd, void *p) ++{ ++ long rc = ioctl(-1, cmd, p); ++ errstr = sprintrc(rc); ++ static char inj_errstr[4096]; ++ ++ snprintf(inj_errstr, sizeof(inj_errstr), "%s (INJECTED)", errstr); ++ errstr = inj_errstr; ++ return rc; ++} ++ ++static void ++test_evdev(struct evdev_check *check, void *arg) ++{ ++ long rc = invoke_test_syscall(check->cmd, check->arg_ptr); ++ printf("ioctl(-1, %s, ", check->cmd_str); ++ if (check->print_arg) ++ check->print_arg(rc, check->arg_ptr, arg); ++ else ++ printf("%p", check->arg_ptr); ++ printf(") = %s\n", errstr); ++} ++ ++static void ++print_input_absinfo(long rc, void *ptr, void *arg) ++{ ++ struct input_absinfo *absinfo = ptr; ++ ++ if (rc < 0) { ++ printf("%p", absinfo); ++ return; ++ } ++ PRINT_FIELD_U("{", *absinfo, value); ++ PRINT_FIELD_U(", ", *absinfo, minimum); ++# if VERBOSE ++ PRINT_FIELD_U(", ", *absinfo, maximum); ++ PRINT_FIELD_U(", ", *absinfo, fuzz); ++ PRINT_FIELD_U(", ", *absinfo, flat); ++# ifdef HAVE_STRUCT_INPUT_ABSINFO_RESOLUTION ++ PRINT_FIELD_U(", ", *absinfo, resolution); ++# endif ++# else ++ printf(", ..."); ++# endif ++ printf("}"); ++} ++ ++static void ++print_input_id(long rc, void *ptr, void *arg) ++{ ++ struct input_id *id = ptr; ++ ++ if (rc < 0) { ++ printf("%p", id); ++ return; ++ } ++ printf("{ID_BUS=%" PRIu16 ++ ", ID_VENDOR=%" PRIu16 ++ ", ID_PRODUCT=%" PRIu16 ++ ", ID_VERSION=%" PRIu16 "}", ++ id->bustype, id->vendor, id->product, id->version); ++} ++ ++# ifdef EVIOCGMTSLOTS ++static void ++print_mtslots(long rc, void *ptr, void *arg) ++{ ++ int *buffer = ptr; ++ const char **str = arg; ++ int num = atoi(*(str + 1)); ++ ++ if (rc < 0) { ++ printf("%p", buffer); ++ return; ++ } ++ ++ printf("{code=%s", *str); ++ printf(", values=["); ++ for (unsigned int i = 1; i <= (unsigned) num; i++) ++ printf("%s%s", i > 1 ? ", " : "", *(str + i + 1)); ++ printf("]}"); ++} ++# endif ++ ++static void ++print_getbit(long rc, void *ptr, void *arg) ++{ ++ const char **str = arg; ++ int num = atoi(*str); ++ ++ if (rc < 0) { ++ printf("%p", ptr); ++ return; ++ } ++ ++ printf("["); ++ printf("%s", *(str + 1)); ++ for (unsigned int i = 2; i <= (unsigned) num; i++) { ++# if ! VERBOSE ++ if (i > 4) { ++ printf(", ..."); ++ break; ++ } ++# endif ++ printf(", "); ++ printf("%s", *(str + i)); ++ } ++ printf("]"); ++} ++ ++int ++main(int argc, char **argv) ++{ ++ unsigned long num_skip; ++ long inject_retval; ++ bool locked = false; ++ ++ if (argc == 1) ++ return 0; ++ ++ if (argc < 3) ++ error_msg_and_fail("Usage: %s NUM_SKIP INJECT_RETVAL", argv[0]); ++ ++ num_skip = strtoul(argv[1], NULL, 0); ++ inject_retval = strtol(argv[2], NULL, 0); ++ ++ if (inject_retval < 0) ++ error_msg_and_fail("Expected non-negative INJECT_RETVAL, " ++ "but got %ld", inject_retval); ++ ++ for (unsigned int i = 0; i < num_skip; i++) { ++ long rc = ioctl(-1, EVIOCGID, NULL); ++ printf("ioctl(-1, EVIOCGID, NULL) = %s%s\n", ++ sprintrc(rc), ++ rc == inject_retval ? " (INJECTED)" : ""); ++ ++ if (rc != inject_retval) ++ continue; ++ ++ locked = true; ++ break; ++ } ++ ++ if (!locked) ++ error_msg_and_fail("Hasn't locked on ioctl(-1" ++ ", EVIOCGID, NULL) returning %lu", ++ inject_retval); ++ ++ TAIL_ALLOC_OBJECT_CONST_PTR(struct input_id, id); ++ TAIL_ALLOC_OBJECT_CONST_PTR(struct input_absinfo, absinfo); ++ TAIL_ALLOC_OBJECT_CONST_PTR(int, bad_addr_slot); ++# ifdef EVIOCGMTSLOTS ++ int mtslots[] = { ABS_MT_SLOT, 1, 3 }; ++ /* we use the second element to indicate the number of values */ ++ /* mtslots_str[1] is "2" so the number of values is 2 */ ++ const char *mtslots_str[] = { "ABS_MT_SLOT", "2", "1", "3" }; ++ ++ /* invalid flag */ ++ int invalid_mtslot[] = { -1, 1 }; ++ char invalid_str[4096]; ++ snprintf(invalid_str, sizeof(invalid_str), "%#x /* ABS_MT_??? */", invalid_mtslot[0]); ++ const char *invalid_mtslot_str[] = { invalid_str, "1", "1" }; ++# endif ++ ++ /* set more than 4 bits */ ++ unsigned long ev_more[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND | 1 << EV_PWR }; ++ /* we use the first element to indicate the number of set bits */ ++ /* ev_more_str[0] is "5" so the number of set bits is 5 */ ++ const char *ev_more_str[] = { "5", "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR" }; ++ ++ /* set less than 4 bits */ ++ unsigned long ev_less[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; ++ const char *ev_less_str[] = { "3", "EV_ABS", "EV_MSC", "EV_LED" }; ++ ++ /* set zero bit */ ++ unsigned long ev_zero[] = { 0x0 }; ++ const char *ev_zero_str[] = { "0", " 0 " }; ++ ++ /* KEY_MAX is 0x2ff which is greater than retval * 8 */ ++ unsigned long key[] = { 1 << KEY_1 | 1 << KEY_2, 0 }; ++ const char *key_str[] = { "2", "KEY_1", "KEY_2" }; ++ ++ struct { ++ struct evdev_check check; ++ void *ptr; ++ } a[] = { ++ { { ARG_STR(EVIOCGID), id, print_input_id }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_X)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, &ev_more_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, &ev_less_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_zero, print_getbit }, &ev_zero_str }, ++ { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, &key_str}, ++# ifdef EVIOCGMTSLOTS ++ { { ARG_STR(EVIOCGMTSLOTS(12)), mtslots, print_mtslots }, &mtslots_str }, ++ { { ARG_STR(EVIOCGMTSLOTS(8)), invalid_mtslot, print_mtslots }, &invalid_mtslot_str } ++# endif ++ }; ++ for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { ++ test_evdev(&a[i].check, a[i].ptr); ++ } ++ ++ puts("+++ exited with 0 +++"); ++ return 0; ++} ++#else ++ ++SKIP_MAIN_UNDEFINED("HAVE_LINUX_INPUT_H") ++ ++#endif +Index: strace-4.24/tests-mx32/ioctl_evdev-success.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/ioctl_evdev-success.c 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,232 @@ ++#include "tests.h" ++ ++#ifdef HAVE_LINUX_INPUT_H ++ ++# include ++# include ++# include ++# include ++# include ++# include "print_fields.h" ++ ++static const char *errstr; ++ ++struct evdev_check { ++ unsigned long cmd; ++ const char *cmd_str; ++ void *arg_ptr; ++ void (*print_arg)(long rc, void *ptr, void *arg); ++}; ++ ++static long ++invoke_test_syscall(unsigned long cmd, void *p) ++{ ++ long rc = ioctl(-1, cmd, p); ++ errstr = sprintrc(rc); ++ static char inj_errstr[4096]; ++ ++ snprintf(inj_errstr, sizeof(inj_errstr), "%s (INJECTED)", errstr); ++ errstr = inj_errstr; ++ return rc; ++} ++ ++static void ++test_evdev(struct evdev_check *check, void *arg) ++{ ++ long rc = invoke_test_syscall(check->cmd, check->arg_ptr); ++ printf("ioctl(-1, %s, ", check->cmd_str); ++ if (check->print_arg) ++ check->print_arg(rc, check->arg_ptr, arg); ++ else ++ printf("%p", check->arg_ptr); ++ printf(") = %s\n", errstr); ++} ++ ++static void ++print_input_absinfo(long rc, void *ptr, void *arg) ++{ ++ struct input_absinfo *absinfo = ptr; ++ ++ if (rc < 0) { ++ printf("%p", absinfo); ++ return; ++ } ++ PRINT_FIELD_U("{", *absinfo, value); ++ PRINT_FIELD_U(", ", *absinfo, minimum); ++# if VERBOSE ++ PRINT_FIELD_U(", ", *absinfo, maximum); ++ PRINT_FIELD_U(", ", *absinfo, fuzz); ++ PRINT_FIELD_U(", ", *absinfo, flat); ++# ifdef HAVE_STRUCT_INPUT_ABSINFO_RESOLUTION ++ PRINT_FIELD_U(", ", *absinfo, resolution); ++# endif ++# else ++ printf(", ..."); ++# endif ++ printf("}"); ++} ++ ++static void ++print_input_id(long rc, void *ptr, void *arg) ++{ ++ struct input_id *id = ptr; ++ ++ if (rc < 0) { ++ printf("%p", id); ++ return; ++ } ++ printf("{ID_BUS=%" PRIu16 ++ ", ID_VENDOR=%" PRIu16 ++ ", ID_PRODUCT=%" PRIu16 ++ ", ID_VERSION=%" PRIu16 "}", ++ id->bustype, id->vendor, id->product, id->version); ++} ++ ++# ifdef EVIOCGMTSLOTS ++static void ++print_mtslots(long rc, void *ptr, void *arg) ++{ ++ int *buffer = ptr; ++ const char **str = arg; ++ int num = atoi(*(str + 1)); ++ ++ if (rc < 0) { ++ printf("%p", buffer); ++ return; ++ } ++ ++ printf("{code=%s", *str); ++ printf(", values=["); ++ for (unsigned int i = 1; i <= (unsigned) num; i++) ++ printf("%s%s", i > 1 ? ", " : "", *(str + i + 1)); ++ printf("]}"); ++} ++# endif ++ ++static void ++print_getbit(long rc, void *ptr, void *arg) ++{ ++ const char **str = arg; ++ int num = atoi(*str); ++ ++ if (rc < 0) { ++ printf("%p", ptr); ++ return; ++ } ++ ++ printf("["); ++ printf("%s", *(str + 1)); ++ for (unsigned int i = 2; i <= (unsigned) num; i++) { ++# if ! VERBOSE ++ if (i > 4) { ++ printf(", ..."); ++ break; ++ } ++# endif ++ printf(", "); ++ printf("%s", *(str + i)); ++ } ++ printf("]"); ++} ++ ++int ++main(int argc, char **argv) ++{ ++ unsigned long num_skip; ++ long inject_retval; ++ bool locked = false; ++ ++ if (argc == 1) ++ return 0; ++ ++ if (argc < 3) ++ error_msg_and_fail("Usage: %s NUM_SKIP INJECT_RETVAL", argv[0]); ++ ++ num_skip = strtoul(argv[1], NULL, 0); ++ inject_retval = strtol(argv[2], NULL, 0); ++ ++ if (inject_retval < 0) ++ error_msg_and_fail("Expected non-negative INJECT_RETVAL, " ++ "but got %ld", inject_retval); ++ ++ for (unsigned int i = 0; i < num_skip; i++) { ++ long rc = ioctl(-1, EVIOCGID, NULL); ++ printf("ioctl(-1, EVIOCGID, NULL) = %s%s\n", ++ sprintrc(rc), ++ rc == inject_retval ? " (INJECTED)" : ""); ++ ++ if (rc != inject_retval) ++ continue; ++ ++ locked = true; ++ break; ++ } ++ ++ if (!locked) ++ error_msg_and_fail("Hasn't locked on ioctl(-1" ++ ", EVIOCGID, NULL) returning %lu", ++ inject_retval); ++ ++ TAIL_ALLOC_OBJECT_CONST_PTR(struct input_id, id); ++ TAIL_ALLOC_OBJECT_CONST_PTR(struct input_absinfo, absinfo); ++ TAIL_ALLOC_OBJECT_CONST_PTR(int, bad_addr_slot); ++# ifdef EVIOCGMTSLOTS ++ int mtslots[] = { ABS_MT_SLOT, 1, 3 }; ++ /* we use the second element to indicate the number of values */ ++ /* mtslots_str[1] is "2" so the number of values is 2 */ ++ const char *mtslots_str[] = { "ABS_MT_SLOT", "2", "1", "3" }; ++ ++ /* invalid flag */ ++ int invalid_mtslot[] = { -1, 1 }; ++ char invalid_str[4096]; ++ snprintf(invalid_str, sizeof(invalid_str), "%#x /* ABS_MT_??? */", invalid_mtslot[0]); ++ const char *invalid_mtslot_str[] = { invalid_str, "1", "1" }; ++# endif ++ ++ /* set more than 4 bits */ ++ unsigned long ev_more[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND | 1 << EV_PWR }; ++ /* we use the first element to indicate the number of set bits */ ++ /* ev_more_str[0] is "5" so the number of set bits is 5 */ ++ const char *ev_more_str[] = { "5", "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR" }; ++ ++ /* set less than 4 bits */ ++ unsigned long ev_less[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; ++ const char *ev_less_str[] = { "3", "EV_ABS", "EV_MSC", "EV_LED" }; ++ ++ /* set zero bit */ ++ unsigned long ev_zero[] = { 0x0 }; ++ const char *ev_zero_str[] = { "0", " 0 " }; ++ ++ /* KEY_MAX is 0x2ff which is greater than retval * 8 */ ++ unsigned long key[] = { 1 << KEY_1 | 1 << KEY_2, 0 }; ++ const char *key_str[] = { "2", "KEY_1", "KEY_2" }; ++ ++ struct { ++ struct evdev_check check; ++ void *ptr; ++ } a[] = { ++ { { ARG_STR(EVIOCGID), id, print_input_id }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_X)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, &ev_more_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, &ev_less_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_zero, print_getbit }, &ev_zero_str }, ++ { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, &key_str}, ++# ifdef EVIOCGMTSLOTS ++ { { ARG_STR(EVIOCGMTSLOTS(12)), mtslots, print_mtslots }, &mtslots_str }, ++ { { ARG_STR(EVIOCGMTSLOTS(8)), invalid_mtslot, print_mtslots }, &invalid_mtslot_str } ++# endif ++ }; ++ for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { ++ test_evdev(&a[i].check, a[i].ptr); ++ } ++ ++ puts("+++ exited with 0 +++"); ++ return 0; ++} ++#else ++ ++SKIP_MAIN_UNDEFINED("HAVE_LINUX_INPUT_H") ++ ++#endif +Index: strace-4.24/tests/ioctl_evdev-success.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/ioctl_evdev-success.test 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh -efu ++ ++. "${srcdir=.}/scno_tampering.sh" ++ ++: ${IOCTL_INJECT_START=256} ++: ${IOCTL_INJECT_RETVAL=8} ++ ++run_prog ++run_strace -a16 -e trace=ioctl \ ++ -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" ++grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" ++match_diff "$OUT" "$EXP" +Index: strace-4.24/tests-m32/ioctl_evdev-success.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/ioctl_evdev-success.test 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh -efu ++ ++. "${srcdir=.}/scno_tampering.sh" ++ ++: ${IOCTL_INJECT_START=256} ++: ${IOCTL_INJECT_RETVAL=8} ++ ++run_prog ++run_strace -a16 -e trace=ioctl \ ++ -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" ++grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" ++match_diff "$OUT" "$EXP" +Index: strace-4.24/tests-mx32/ioctl_evdev-success.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/ioctl_evdev-success.test 2020-01-27 18:52:13.048280185 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh -efu ++ ++. "${srcdir=.}/scno_tampering.sh" ++ ++: ${IOCTL_INJECT_START=256} ++: ${IOCTL_INJECT_RETVAL=8} ++ ++run_prog ++run_strace -a16 -e trace=ioctl \ ++ -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" ++grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" ++match_diff "$OUT" "$EXP" +Index: strace-4.24/tests/Makefile.in +=================================================================== +--- strace-4.24.orig/tests/Makefile.in 2020-01-27 17:41:26.673586762 +0100 ++++ strace-4.24/tests/Makefile.in 2020-01-27 18:52:08.799318174 +0100 +@@ -150,7 +150,8 @@ + filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \ + getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \ + inject-nf$(EXEEXT) int_0x80$(EXEEXT) ioctl_dm-v$(EXEEXT) \ +- ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ ++ ioctl_evdev-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \ ++ ioctl_evdev-success-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ + is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ +@@ -974,6 +975,14 @@ + ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT) + ioctl_evdev_LDADD = $(LDADD) + ioctl_evdev_DEPENDENCIES = libtests.a ++ioctl_evdev_success_SOURCES = ioctl_evdev-success.c ++ioctl_evdev_success_OBJECTS = ioctl_evdev-success.$(OBJEXT) ++ioctl_evdev_success_LDADD = $(LDADD) ++ioctl_evdev_success_DEPENDENCIES = libtests.a ++ioctl_evdev_success_v_SOURCES = ioctl_evdev-success-v.c ++ioctl_evdev_success_v_OBJECTS = ioctl_evdev-success-v.$(OBJEXT) ++ioctl_evdev_success_v_LDADD = $(LDADD) ++ioctl_evdev_success_v_DEPENDENCIES = libtests.a + ioctl_evdev_v_SOURCES = ioctl_evdev-v.c + ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT) + ioctl_evdev_v_LDADD = $(LDADD) +@@ -2740,11 +2749,12 @@ + getuid.c getuid32.c getxxid.c group_req.c inet-cmsg.c \ + init_module.c inject-nf.c inotify.c inotify_init1.c int_0x80.c \ + ioctl.c ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \ +- ioctl_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c \ +- ioctl_kvm_run-v.c ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c \ +- ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ +- ioctl_perf.c ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c \ +- ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ ++ ioctl_evdev-success.c ioctl_evdev-success-v.c ioctl_evdev-v.c \ ++ ioctl_inotify.c ioctl_kvm_run.c ioctl_kvm_run-v.c \ ++ ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c ioctl_loop-nv.c \ ++ ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c ioctl_perf.c \ ++ ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c ioctl_rtc-v.c \ ++ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ + ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ +@@ -2887,11 +2897,12 @@ + getuid.c getuid32.c getxxid.c group_req.c inet-cmsg.c \ + init_module.c inject-nf.c inotify.c inotify_init1.c int_0x80.c \ + ioctl.c ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \ +- ioctl_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c \ +- ioctl_kvm_run-v.c ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c \ +- ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ +- ioctl_perf.c ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c \ +- ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ ++ ioctl_evdev-success.c ioctl_evdev-success-v.c ioctl_evdev-v.c \ ++ ioctl_inotify.c ioctl_kvm_run.c ioctl_kvm_run-v.c \ ++ ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c ioctl_loop-nv.c \ ++ ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c ioctl_perf.c \ ++ ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c ioctl_rtc-v.c \ ++ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ + ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ +@@ -4173,6 +4184,8 @@ + futex.test \ + getuid.test \ + ioctl.test \ ++ ioctl_evdev-success.test \ ++ ioctl_evdev-success-v.test \ + ioctl_perf-success.test \ + ipc_msgbuf.test \ + kern_features-fault.test \ +@@ -4998,6 +5011,14 @@ + @rm -f ioctl_evdev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS) + ++ioctl_evdev-success$(EXEEXT): $(ioctl_evdev_success_OBJECTS) $(ioctl_evdev_success_DEPENDENCIES) $(EXTRA_ioctl_evdev_success_DEPENDENCIES) ++ @rm -f ioctl_evdev-success$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(ioctl_evdev_success_OBJECTS) $(ioctl_evdev_success_LDADD) $(LIBS) ++ ++ioctl_evdev-success-v$(EXEEXT): $(ioctl_evdev_success_v_OBJECTS) $(ioctl_evdev_success_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_success_v_DEPENDENCIES) ++ @rm -f ioctl_evdev-success-v$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(ioctl_evdev_success_v_OBJECTS) $(ioctl_evdev_success_v_LDADD) $(LIBS) ++ + ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES) + @rm -f ioctl_evdev-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +@@ -6833,6 +6854,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-success-v.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-success.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-v.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_inotify.Po@am__quote@ +Index: strace-4.24/tests-m32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.in 2020-01-27 18:52:08.799318174 +0100 ++++ strace-4.24/tests-m32/Makefile.in 2020-01-27 18:53:26.448623928 +0100 +@@ -150,7 +150,8 @@ + filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \ + getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \ + inject-nf$(EXEEXT) int_0x80$(EXEEXT) ioctl_dm-v$(EXEEXT) \ +- ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ ++ ioctl_evdev-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \ ++ ioctl_evdev-success-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ + is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ +@@ -974,6 +975,14 @@ + ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT) + ioctl_evdev_LDADD = $(LDADD) + ioctl_evdev_DEPENDENCIES = libtests.a ++ioctl_evdev_success_SOURCES = ioctl_evdev-success.c ++ioctl_evdev_success_OBJECTS = ioctl_evdev-success.$(OBJEXT) ++ioctl_evdev_success_LDADD = $(LDADD) ++ioctl_evdev_success_DEPENDENCIES = libtests.a ++ioctl_evdev_success_v_SOURCES = ioctl_evdev-success-v.c ++ioctl_evdev_success_v_OBJECTS = ioctl_evdev-success-v.$(OBJEXT) ++ioctl_evdev_success_v_LDADD = $(LDADD) ++ioctl_evdev_success_v_DEPENDENCIES = libtests.a + ioctl_evdev_v_SOURCES = ioctl_evdev-v.c + ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT) + ioctl_evdev_v_LDADD = $(LDADD) +@@ -2740,11 +2749,12 @@ + getuid.c getuid32.c getxxid.c group_req.c inet-cmsg.c \ + init_module.c inject-nf.c inotify.c inotify_init1.c int_0x80.c \ + ioctl.c ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \ +- ioctl_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c \ +- ioctl_kvm_run-v.c ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c \ +- ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ +- ioctl_perf.c ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c \ +- ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ ++ ioctl_evdev-success.c ioctl_evdev-success-v.c ioctl_evdev-v.c \ ++ ioctl_inotify.c ioctl_kvm_run.c ioctl_kvm_run-v.c \ ++ ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c ioctl_loop-nv.c \ ++ ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c ioctl_perf.c \ ++ ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c ioctl_rtc-v.c \ ++ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ + ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ +@@ -2887,11 +2897,12 @@ + getuid.c getuid32.c getxxid.c group_req.c inet-cmsg.c \ + init_module.c inject-nf.c inotify.c inotify_init1.c int_0x80.c \ + ioctl.c ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \ +- ioctl_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c \ +- ioctl_kvm_run-v.c ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c \ +- ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ +- ioctl_perf.c ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c \ +- ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ ++ ioctl_evdev-success.c ioctl_evdev-success-v.c ioctl_evdev-v.c \ ++ ioctl_inotify.c ioctl_kvm_run.c ioctl_kvm_run-v.c \ ++ ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c ioctl_loop-nv.c \ ++ ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c ioctl_perf.c \ ++ ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c ioctl_rtc-v.c \ ++ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ + ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ +@@ -4173,6 +4184,8 @@ + futex.test \ + getuid.test \ + ioctl.test \ ++ ioctl_evdev-success.test \ ++ ioctl_evdev-success-v.test \ + ioctl_perf-success.test \ + ipc_msgbuf.test \ + kern_features-fault.test \ +@@ -4998,6 +5011,14 @@ + @rm -f ioctl_evdev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS) + ++ioctl_evdev-success$(EXEEXT): $(ioctl_evdev_success_OBJECTS) $(ioctl_evdev_success_DEPENDENCIES) $(EXTRA_ioctl_evdev_success_DEPENDENCIES) ++ @rm -f ioctl_evdev-success$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(ioctl_evdev_success_OBJECTS) $(ioctl_evdev_success_LDADD) $(LIBS) ++ ++ioctl_evdev-success-v$(EXEEXT): $(ioctl_evdev_success_v_OBJECTS) $(ioctl_evdev_success_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_success_v_DEPENDENCIES) ++ @rm -f ioctl_evdev-success-v$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(ioctl_evdev_success_v_OBJECTS) $(ioctl_evdev_success_v_LDADD) $(LIBS) ++ + ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES) + @rm -f ioctl_evdev-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +@@ -6833,6 +6854,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-success-v.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-success.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-v.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_inotify.Po@am__quote@ +Index: strace-4.24/tests-mx32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.in 2020-01-27 18:52:08.799318174 +0100 ++++ strace-4.24/tests-mx32/Makefile.in 2020-01-27 18:53:20.750674873 +0100 +@@ -150,7 +150,8 @@ + filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \ + getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \ + inject-nf$(EXEEXT) int_0x80$(EXEEXT) ioctl_dm-v$(EXEEXT) \ +- ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ ++ ioctl_evdev-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \ ++ ioctl_evdev-success-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(EXEEXT) ioctl_rtc-v$(EXEEXT) \ + is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ +@@ -974,6 +975,14 @@ + ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT) + ioctl_evdev_LDADD = $(LDADD) + ioctl_evdev_DEPENDENCIES = libtests.a ++ioctl_evdev_success_SOURCES = ioctl_evdev-success.c ++ioctl_evdev_success_OBJECTS = ioctl_evdev-success.$(OBJEXT) ++ioctl_evdev_success_LDADD = $(LDADD) ++ioctl_evdev_success_DEPENDENCIES = libtests.a ++ioctl_evdev_success_v_SOURCES = ioctl_evdev-success-v.c ++ioctl_evdev_success_v_OBJECTS = ioctl_evdev-success-v.$(OBJEXT) ++ioctl_evdev_success_v_LDADD = $(LDADD) ++ioctl_evdev_success_v_DEPENDENCIES = libtests.a + ioctl_evdev_v_SOURCES = ioctl_evdev-v.c + ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT) + ioctl_evdev_v_LDADD = $(LDADD) +@@ -2740,11 +2749,12 @@ + getuid.c getuid32.c getxxid.c group_req.c inet-cmsg.c \ + init_module.c inject-nf.c inotify.c inotify_init1.c int_0x80.c \ + ioctl.c ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \ +- ioctl_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c \ +- ioctl_kvm_run-v.c ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c \ +- ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ +- ioctl_perf.c ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c \ +- ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ ++ ioctl_evdev-success.c ioctl_evdev-success-v.c ioctl_evdev-v.c \ ++ ioctl_inotify.c ioctl_kvm_run.c ioctl_kvm_run-v.c \ ++ ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c ioctl_loop-nv.c \ ++ ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c ioctl_perf.c \ ++ ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c ioctl_rtc-v.c \ ++ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ + ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ +@@ -2887,11 +2897,12 @@ + getuid.c getuid32.c getxxid.c group_req.c inet-cmsg.c \ + init_module.c inject-nf.c inotify.c inotify_init1.c int_0x80.c \ + ioctl.c ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \ +- ioctl_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c \ +- ioctl_kvm_run-v.c ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c \ +- ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ +- ioctl_perf.c ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c \ +- ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ ++ ioctl_evdev-success.c ioctl_evdev-success-v.c ioctl_evdev-v.c \ ++ ioctl_inotify.c ioctl_kvm_run.c ioctl_kvm_run-v.c \ ++ ioctl_kvm_run_auxstr_vcpu.c ioctl_loop.c ioctl_loop-nv.c \ ++ ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c ioctl_perf.c \ ++ ioctl_perf-success.c ioctl_ptp.c ioctl_rtc.c ioctl_rtc-v.c \ ++ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \ + ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ +@@ -4173,6 +4184,8 @@ + futex.test \ + getuid.test \ + ioctl.test \ ++ ioctl_evdev-success.test \ ++ ioctl_evdev-success-v.test \ + ioctl_perf-success.test \ + ipc_msgbuf.test \ + kern_features-fault.test \ +@@ -4998,6 +5011,14 @@ + @rm -f ioctl_evdev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS) + ++ioctl_evdev-success$(EXEEXT): $(ioctl_evdev_success_OBJECTS) $(ioctl_evdev_success_DEPENDENCIES) $(EXTRA_ioctl_evdev_success_DEPENDENCIES) ++ @rm -f ioctl_evdev-success$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(ioctl_evdev_success_OBJECTS) $(ioctl_evdev_success_LDADD) $(LIBS) ++ ++ioctl_evdev-success-v$(EXEEXT): $(ioctl_evdev_success_v_OBJECTS) $(ioctl_evdev_success_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_success_v_DEPENDENCIES) ++ @rm -f ioctl_evdev-success-v$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(ioctl_evdev_success_v_OBJECTS) $(ioctl_evdev_success_v_LDADD) $(LIBS) ++ + ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES) + @rm -f ioctl_evdev-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +@@ -6833,6 +6854,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-success-v.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-success.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-v.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_inotify.Po@am__quote@ diff --git a/SOURCES/0033-tests-test-evdev-bitset-decoding-more-thoroughly.patch b/SOURCES/0033-tests-test-evdev-bitset-decoding-more-thoroughly.patch new file mode 100644 index 0000000..e2abf52 --- /dev/null +++ b/SOURCES/0033-tests-test-evdev-bitset-decoding-more-thoroughly.patch @@ -0,0 +1,795 @@ +From cdd8206af74fcb961f0179e21eacf5d55d23f0ac Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Fri, 12 Jul 2019 14:31:44 +0200 +Subject: [PATCH 3/3] tests: test evdev bitset decoding more thoroughly + +* tests/ioctl_evdev-success-v.test: Inject various values. +* tests/ioctl_evdev-success.test: Likewise. +* tests/ioctl_evdev-success.c (NUM_WORDS): New macro. +(struct evdev_check): Constify arg_ptr and print_arg args. +(invoke_test_syscall, test_evdev, print_input_absinfo, print_input_id, +print_mtslots): Add const qualifiers. +(print_getbit): Add const qualifiers, rewrite to expect trailing NULL +in the string array instead of leading string count. +(main): Set size for ev_more, ev_less, ev_zero arrays; replace leading +count element in ev_more_str, ev_less_str, ev_zero_str with trailing +NULL; replace ev_more_str and ev_less_str with ev_more_str_2/ev_less_str_2 +and ev_more_str_3/ev_less_str_3 that differ by presence of flags that reside +beyond first two bytes; add static and const qualifiers where possible; +add key/key_sts_8/key_str_16 values; update a to provide either ev_more_str_2 +or ev_more_str_3 and either key_str_8 or key_str_16 depending on inject_retval +value. +--- + tests/ioctl_evdev-success-v.test | 15 +++--- + tests/ioctl_evdev-success.c | 100 ++++++++++++++++++++++++++------------- + tests/ioctl_evdev-success.test | 15 +++--- + 3 files changed, 84 insertions(+), 46 deletions(-) + +Index: strace-4.24/tests/ioctl_evdev-success-v.test +=================================================================== +--- strace-4.24.orig/tests/ioctl_evdev-success-v.test 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests/ioctl_evdev-success-v.test 2019-08-01 19:21:32.297062218 +0200 +@@ -3,11 +3,14 @@ + . "${srcdir=.}/scno_tampering.sh" + + : ${IOCTL_INJECT_START=256} +-: ${IOCTL_INJECT_RETVAL=8} + + run_prog +-run_strace -a16 -v -e trace=ioctl \ +- -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ +- ../ioctl_evdev-success-v "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" +-grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +-match_diff "$OUT" "$EXP" ++ ++for ret in 0 2 8 15 16; do ++ run_strace -a16 -v -e trace=ioctl \ ++ -e inject=ioctl:retval="${ret}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success-v \ ++ "${IOCTL_INJECT_START}" "${ret}"> "$EXP.$ret" ++ grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT.$ret" ++ match_diff "$OUT.$ret" "$EXP.$ret" ++done +Index: strace-4.24/tests/ioctl_evdev-success.c +=================================================================== +--- strace-4.24.orig/tests/ioctl_evdev-success.c 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests/ioctl_evdev-success.c 2019-08-01 19:21:32.297062218 +0200 +@@ -2,6 +2,7 @@ + + #ifdef HAVE_LINUX_INPUT_H + ++# include + # include + # include + # include +@@ -9,17 +10,19 @@ + # include + # include "print_fields.h" + ++# define NUM_WORDS 4 ++ + static const char *errstr; + + struct evdev_check { + unsigned long cmd; + const char *cmd_str; +- void *arg_ptr; +- void (*print_arg)(long rc, void *ptr, void *arg); ++ const void *arg_ptr; ++ void (*print_arg)(long rc, const void *ptr, const void *arg); + }; + + static long +-invoke_test_syscall(unsigned long cmd, void *p) ++invoke_test_syscall(unsigned long cmd, const void *p) + { + long rc = ioctl(-1, cmd, p); + errstr = sprintrc(rc); +@@ -31,7 +34,7 @@ + } + + static void +-test_evdev(struct evdev_check *check, void *arg) ++test_evdev(struct evdev_check *check, const void *arg) + { + long rc = invoke_test_syscall(check->cmd, check->arg_ptr); + printf("ioctl(-1, %s, ", check->cmd_str); +@@ -43,9 +46,9 @@ + } + + static void +-print_input_absinfo(long rc, void *ptr, void *arg) ++print_input_absinfo(long rc, const void *ptr, const void *arg) + { +- struct input_absinfo *absinfo = ptr; ++ const struct input_absinfo *absinfo = ptr; + + if (rc < 0) { + printf("%p", absinfo); +@@ -67,9 +70,9 @@ + } + + static void +-print_input_id(long rc, void *ptr, void *arg) ++print_input_id(long rc, const void *ptr, const void *arg) + { +- struct input_id *id = ptr; ++ const struct input_id *id = ptr; + + if (rc < 0) { + printf("%p", id); +@@ -84,10 +87,10 @@ + + # ifdef EVIOCGMTSLOTS + static void +-print_mtslots(long rc, void *ptr, void *arg) ++print_mtslots(long rc, const void *ptr, const void *arg) + { +- int *buffer = ptr; +- const char **str = arg; ++ const int *buffer = ptr; ++ const char * const * str = arg; + int num = atoi(*(str + 1)); + + if (rc < 0) { +@@ -104,27 +107,26 @@ + # endif + + static void +-print_getbit(long rc, void *ptr, void *arg) ++print_getbit(long rc, const void *ptr, const void *arg) + { +- const char **str = arg; +- int num = atoi(*str); ++ const char * const *str = arg; + +- if (rc < 0) { ++ if (rc <= 0) { + printf("%p", ptr); + return; + } + + printf("["); +- printf("%s", *(str + 1)); +- for (unsigned int i = 2; i <= (unsigned) num; i++) { ++ for (unsigned long i = 0; str[i]; i++) { + # if ! VERBOSE +- if (i > 4) { ++ if (i >= 4) { + printf(", ..."); + break; + } + # endif +- printf(", "); +- printf("%s", *(str + i)); ++ if (i) ++ printf(", "); ++ printf("%s", str[i]); + } + printf("]"); + } +@@ -170,6 +172,7 @@ + TAIL_ALLOC_OBJECT_CONST_PTR(struct input_id, id); + TAIL_ALLOC_OBJECT_CONST_PTR(struct input_absinfo, absinfo); + TAIL_ALLOC_OBJECT_CONST_PTR(int, bad_addr_slot); ++ + # ifdef EVIOCGMTSLOTS + int mtslots[] = { ABS_MT_SLOT, 1, 3 }; + /* we use the second element to indicate the number of values */ +@@ -183,36 +186,65 @@ + const char *invalid_mtslot_str[] = { invalid_str, "1", "1" }; + # endif + ++ enum { ULONG_BIT = sizeof(unsigned long) * 8 }; ++ + /* set more than 4 bits */ +- unsigned long ev_more[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND | 1 << EV_PWR }; +- /* we use the first element to indicate the number of set bits */ +- /* ev_more_str[0] is "5" so the number of set bits is 5 */ +- const char *ev_more_str[] = { "5", "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR" }; ++ static const unsigned long ev_more[NUM_WORDS] = { ++ 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND ++ | 1 << EV_PWR }; ++ static const char * const ev_more_str_2[] = { ++ "EV_ABS", "EV_MSC", NULL }; ++ static const char * const ev_more_str_3[] = { ++ "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR", NULL }; + + /* set less than 4 bits */ +- unsigned long ev_less[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; +- const char *ev_less_str[] = { "3", "EV_ABS", "EV_MSC", "EV_LED" }; ++ static const unsigned long ev_less[NUM_WORDS] = { ++ 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; ++ static const char * const ev_less_str_2[] = { ++ "EV_ABS", "EV_MSC", NULL }; ++ static const char * const ev_less_str_3[] = { ++ "EV_ABS", "EV_MSC", "EV_LED", NULL }; + + /* set zero bit */ +- unsigned long ev_zero[] = { 0x0 }; +- const char *ev_zero_str[] = { "0", " 0 " }; ++ static const unsigned long ev_zero[NUM_WORDS] = { 0x0 }; ++ static const char * const ev_zero_str[] = { " 0 ", NULL }; + + /* KEY_MAX is 0x2ff which is greater than retval * 8 */ +- unsigned long key[] = { 1 << KEY_1 | 1 << KEY_2, 0 }; +- const char *key_str[] = { "2", "KEY_1", "KEY_2" }; ++ static const unsigned long key[NUM_WORDS] = { ++ 1 << KEY_1 | 1 << KEY_2, ++ [ KEY_F12 / ULONG_BIT ] = 1 << (KEY_F12 % ULONG_BIT) }; ++ ++ static const char * const key_str_8[] = { ++ "KEY_1", "KEY_2", NULL }; ++ static const char * const key_str_16[] = { ++ "KEY_1", "KEY_2", "KEY_F12", NULL }; ++ ++ assert(sizeof(ev_more) >= (unsigned long) inject_retval); ++ assert(sizeof(ev_less) >= (unsigned long) inject_retval); ++ assert(sizeof(ev_zero) >= (unsigned long) inject_retval); ++ assert(sizeof(key) >= (unsigned long) inject_retval); + + struct { + struct evdev_check check; +- void *ptr; ++ const void *ptr; + } a[] = { + { { ARG_STR(EVIOCGID), id, print_input_id }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_X)), absinfo, print_input_absinfo }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, +- { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, &ev_more_str }, +- { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, &ev_less_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, ++ inject_retval * 8 <= EV_LED ++ ? (const void *) &ev_more_str_2 ++ : (const void *) &ev_more_str_3 }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, ++ inject_retval * 8 <= EV_LED ++ ? (const void *) &ev_less_str_2 ++ : (const void *) &ev_less_str_3 }, + { { ARG_STR(EVIOCGBIT(0, 0)), ev_zero, print_getbit }, &ev_zero_str }, +- { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, &key_str}, ++ { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, ++ inject_retval * 8 <= KEY_F12 ++ ? (const void *) &key_str_8 ++ : (const void *) &key_str_16 }, + # ifdef EVIOCGMTSLOTS + { { ARG_STR(EVIOCGMTSLOTS(12)), mtslots, print_mtslots }, &mtslots_str }, + { { ARG_STR(EVIOCGMTSLOTS(8)), invalid_mtslot, print_mtslots }, &invalid_mtslot_str } +Index: strace-4.24/tests/ioctl_evdev-success.test +=================================================================== +--- strace-4.24.orig/tests/ioctl_evdev-success.test 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests/ioctl_evdev-success.test 2019-08-01 19:21:32.298062205 +0200 +@@ -3,11 +3,14 @@ + . "${srcdir=.}/scno_tampering.sh" + + : ${IOCTL_INJECT_START=256} +-: ${IOCTL_INJECT_RETVAL=8} + + run_prog +-run_strace -a16 -e trace=ioctl \ +- -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ +- ../ioctl_evdev-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" +-grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +-match_diff "$OUT" "$EXP" ++ ++for ret in 0 2 8 15 16; do ++ run_strace -a16 -e trace=ioctl \ ++ -e inject=ioctl:retval="${ret}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success \ ++ "${IOCTL_INJECT_START}" "${ret}"> "$EXP.${ret}" ++ grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT.$ret" ++ match_diff "$OUT.$ret" "$EXP.$ret" ++done +Index: strace-4.24/tests-m32/ioctl_evdev-success-v.test +=================================================================== +--- strace-4.24.orig/tests-m32/ioctl_evdev-success-v.test 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests-m32/ioctl_evdev-success-v.test 2019-08-01 19:21:32.298062205 +0200 +@@ -3,11 +3,14 @@ + . "${srcdir=.}/scno_tampering.sh" + + : ${IOCTL_INJECT_START=256} +-: ${IOCTL_INJECT_RETVAL=8} + + run_prog +-run_strace -a16 -v -e trace=ioctl \ +- -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ +- ../ioctl_evdev-success-v "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" +-grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +-match_diff "$OUT" "$EXP" ++ ++for ret in 0 2 8 15 16; do ++ run_strace -a16 -v -e trace=ioctl \ ++ -e inject=ioctl:retval="${ret}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success-v \ ++ "${IOCTL_INJECT_START}" "${ret}"> "$EXP.$ret" ++ grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT.$ret" ++ match_diff "$OUT.$ret" "$EXP.$ret" ++done +Index: strace-4.24/tests-m32/ioctl_evdev-success.test +=================================================================== +--- strace-4.24.orig/tests-m32/ioctl_evdev-success.test 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests-m32/ioctl_evdev-success.test 2019-08-01 19:21:32.298062205 +0200 +@@ -3,11 +3,14 @@ + . "${srcdir=.}/scno_tampering.sh" + + : ${IOCTL_INJECT_START=256} +-: ${IOCTL_INJECT_RETVAL=8} + + run_prog +-run_strace -a16 -e trace=ioctl \ +- -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ +- ../ioctl_evdev-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" +-grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +-match_diff "$OUT" "$EXP" ++ ++for ret in 0 2 8 15 16; do ++ run_strace -a16 -e trace=ioctl \ ++ -e inject=ioctl:retval="${ret}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success \ ++ "${IOCTL_INJECT_START}" "${ret}"> "$EXP.${ret}" ++ grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT.$ret" ++ match_diff "$OUT.$ret" "$EXP.$ret" ++done +Index: strace-4.24/tests-mx32/ioctl_evdev-success-v.test +=================================================================== +--- strace-4.24.orig/tests-mx32/ioctl_evdev-success-v.test 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests-mx32/ioctl_evdev-success-v.test 2019-08-01 19:21:32.298062205 +0200 +@@ -3,11 +3,14 @@ + . "${srcdir=.}/scno_tampering.sh" + + : ${IOCTL_INJECT_START=256} +-: ${IOCTL_INJECT_RETVAL=8} + + run_prog +-run_strace -a16 -v -e trace=ioctl \ +- -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ +- ../ioctl_evdev-success-v "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" +-grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +-match_diff "$OUT" "$EXP" ++ ++for ret in 0 2 8 15 16; do ++ run_strace -a16 -v -e trace=ioctl \ ++ -e inject=ioctl:retval="${ret}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success-v \ ++ "${IOCTL_INJECT_START}" "${ret}"> "$EXP.$ret" ++ grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT.$ret" ++ match_diff "$OUT.$ret" "$EXP.$ret" ++done +Index: strace-4.24/tests-mx32/ioctl_evdev-success.test +=================================================================== +--- strace-4.24.orig/tests-mx32/ioctl_evdev-success.test 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests-mx32/ioctl_evdev-success.test 2019-08-01 19:21:32.299062192 +0200 +@@ -3,11 +3,14 @@ + . "${srcdir=.}/scno_tampering.sh" + + : ${IOCTL_INJECT_START=256} +-: ${IOCTL_INJECT_RETVAL=8} + + run_prog +-run_strace -a16 -e trace=ioctl \ +- -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ +- ../ioctl_evdev-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}"> "$EXP" +-grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +-match_diff "$OUT" "$EXP" ++ ++for ret in 0 2 8 15 16; do ++ run_strace -a16 -e trace=ioctl \ ++ -e inject=ioctl:retval="${ret}":when="${IOCTL_INJECT_START}+" \ ++ ../ioctl_evdev-success \ ++ "${IOCTL_INJECT_START}" "${ret}"> "$EXP.${ret}" ++ grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT.$ret" ++ match_diff "$OUT.$ret" "$EXP.$ret" ++done +Index: strace-4.24/tests-m32/ioctl_evdev-success.c +=================================================================== +--- strace-4.24.orig/tests-m32/ioctl_evdev-success.c 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests-m32/ioctl_evdev-success.c 2019-08-29 12:09:27.898700830 +0200 +@@ -2,6 +2,7 @@ + + #ifdef HAVE_LINUX_INPUT_H + ++# include + # include + # include + # include +@@ -9,17 +10,19 @@ + # include + # include "print_fields.h" + ++# define NUM_WORDS 4 ++ + static const char *errstr; + + struct evdev_check { + unsigned long cmd; + const char *cmd_str; +- void *arg_ptr; +- void (*print_arg)(long rc, void *ptr, void *arg); ++ const void *arg_ptr; ++ void (*print_arg)(long rc, const void *ptr, const void *arg); + }; + + static long +-invoke_test_syscall(unsigned long cmd, void *p) ++invoke_test_syscall(unsigned long cmd, const void *p) + { + long rc = ioctl(-1, cmd, p); + errstr = sprintrc(rc); +@@ -31,7 +34,7 @@ + } + + static void +-test_evdev(struct evdev_check *check, void *arg) ++test_evdev(struct evdev_check *check, const void *arg) + { + long rc = invoke_test_syscall(check->cmd, check->arg_ptr); + printf("ioctl(-1, %s, ", check->cmd_str); +@@ -43,9 +46,9 @@ + } + + static void +-print_input_absinfo(long rc, void *ptr, void *arg) ++print_input_absinfo(long rc, const void *ptr, const void *arg) + { +- struct input_absinfo *absinfo = ptr; ++ const struct input_absinfo *absinfo = ptr; + + if (rc < 0) { + printf("%p", absinfo); +@@ -67,9 +70,9 @@ + } + + static void +-print_input_id(long rc, void *ptr, void *arg) ++print_input_id(long rc, const void *ptr, const void *arg) + { +- struct input_id *id = ptr; ++ const struct input_id *id = ptr; + + if (rc < 0) { + printf("%p", id); +@@ -84,10 +87,10 @@ + + # ifdef EVIOCGMTSLOTS + static void +-print_mtslots(long rc, void *ptr, void *arg) ++print_mtslots(long rc, const void *ptr, const void *arg) + { +- int *buffer = ptr; +- const char **str = arg; ++ const int *buffer = ptr; ++ const char * const * str = arg; + int num = atoi(*(str + 1)); + + if (rc < 0) { +@@ -104,27 +107,26 @@ + # endif + + static void +-print_getbit(long rc, void *ptr, void *arg) ++print_getbit(long rc, const void *ptr, const void *arg) + { +- const char **str = arg; +- int num = atoi(*str); ++ const char * const *str = arg; + +- if (rc < 0) { ++ if (rc <= 0) { + printf("%p", ptr); + return; + } + + printf("["); +- printf("%s", *(str + 1)); +- for (unsigned int i = 2; i <= (unsigned) num; i++) { ++ for (unsigned long i = 0; str[i]; i++) { + # if ! VERBOSE +- if (i > 4) { ++ if (i >= 4) { + printf(", ..."); + break; + } + # endif +- printf(", "); +- printf("%s", *(str + i)); ++ if (i) ++ printf(", "); ++ printf("%s", str[i]); + } + printf("]"); + } +@@ -170,6 +172,7 @@ + TAIL_ALLOC_OBJECT_CONST_PTR(struct input_id, id); + TAIL_ALLOC_OBJECT_CONST_PTR(struct input_absinfo, absinfo); + TAIL_ALLOC_OBJECT_CONST_PTR(int, bad_addr_slot); ++ + # ifdef EVIOCGMTSLOTS + int mtslots[] = { ABS_MT_SLOT, 1, 3 }; + /* we use the second element to indicate the number of values */ +@@ -183,36 +186,65 @@ + const char *invalid_mtslot_str[] = { invalid_str, "1", "1" }; + # endif + ++ enum { ULONG_BIT = sizeof(unsigned long) * 8 }; ++ + /* set more than 4 bits */ +- unsigned long ev_more[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND | 1 << EV_PWR }; +- /* we use the first element to indicate the number of set bits */ +- /* ev_more_str[0] is "5" so the number of set bits is 5 */ +- const char *ev_more_str[] = { "5", "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR" }; ++ static const unsigned long ev_more[NUM_WORDS] = { ++ 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND ++ | 1 << EV_PWR }; ++ static const char * const ev_more_str_2[] = { ++ "EV_ABS", "EV_MSC", NULL }; ++ static const char * const ev_more_str_3[] = { ++ "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR", NULL }; + + /* set less than 4 bits */ +- unsigned long ev_less[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; +- const char *ev_less_str[] = { "3", "EV_ABS", "EV_MSC", "EV_LED" }; ++ static const unsigned long ev_less[NUM_WORDS] = { ++ 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; ++ static const char * const ev_less_str_2[] = { ++ "EV_ABS", "EV_MSC", NULL }; ++ static const char * const ev_less_str_3[] = { ++ "EV_ABS", "EV_MSC", "EV_LED", NULL }; + + /* set zero bit */ +- unsigned long ev_zero[] = { 0x0 }; +- const char *ev_zero_str[] = { "0", " 0 " }; ++ static const unsigned long ev_zero[NUM_WORDS] = { 0x0 }; ++ static const char * const ev_zero_str[] = { " 0 ", NULL }; + + /* KEY_MAX is 0x2ff which is greater than retval * 8 */ +- unsigned long key[] = { 1 << KEY_1 | 1 << KEY_2, 0 }; +- const char *key_str[] = { "2", "KEY_1", "KEY_2" }; ++ static const unsigned long key[NUM_WORDS] = { ++ 1 << KEY_1 | 1 << KEY_2, ++ [ KEY_F12 / ULONG_BIT ] = 1 << (KEY_F12 % ULONG_BIT) }; ++ ++ static const char * const key_str_8[] = { ++ "KEY_1", "KEY_2", NULL }; ++ static const char * const key_str_16[] = { ++ "KEY_1", "KEY_2", "KEY_F12", NULL }; ++ ++ assert(sizeof(ev_more) >= (unsigned long) inject_retval); ++ assert(sizeof(ev_less) >= (unsigned long) inject_retval); ++ assert(sizeof(ev_zero) >= (unsigned long) inject_retval); ++ assert(sizeof(key) >= (unsigned long) inject_retval); + + struct { + struct evdev_check check; +- void *ptr; ++ const void *ptr; + } a[] = { + { { ARG_STR(EVIOCGID), id, print_input_id }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_X)), absinfo, print_input_absinfo }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, +- { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, &ev_more_str }, +- { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, &ev_less_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, ++ inject_retval * 8 <= EV_LED ++ ? (const void *) &ev_more_str_2 ++ : (const void *) &ev_more_str_3 }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, ++ inject_retval * 8 <= EV_LED ++ ? (const void *) &ev_less_str_2 ++ : (const void *) &ev_less_str_3 }, + { { ARG_STR(EVIOCGBIT(0, 0)), ev_zero, print_getbit }, &ev_zero_str }, +- { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, &key_str}, ++ { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, ++ inject_retval * 8 <= KEY_F12 ++ ? (const void *) &key_str_8 ++ : (const void *) &key_str_16 }, + # ifdef EVIOCGMTSLOTS + { { ARG_STR(EVIOCGMTSLOTS(12)), mtslots, print_mtslots }, &mtslots_str }, + { { ARG_STR(EVIOCGMTSLOTS(8)), invalid_mtslot, print_mtslots }, &invalid_mtslot_str } +Index: strace-4.24/tests-mx32/ioctl_evdev-success.c +=================================================================== +--- strace-4.24.orig/tests-mx32/ioctl_evdev-success.c 2019-08-01 18:40:58.009521546 +0200 ++++ strace-4.24/tests-mx32/ioctl_evdev-success.c 2019-08-29 12:09:30.350669261 +0200 +@@ -2,6 +2,7 @@ + + #ifdef HAVE_LINUX_INPUT_H + ++# include + # include + # include + # include +@@ -9,17 +10,19 @@ + # include + # include "print_fields.h" + ++# define NUM_WORDS 4 ++ + static const char *errstr; + + struct evdev_check { + unsigned long cmd; + const char *cmd_str; +- void *arg_ptr; +- void (*print_arg)(long rc, void *ptr, void *arg); ++ const void *arg_ptr; ++ void (*print_arg)(long rc, const void *ptr, const void *arg); + }; + + static long +-invoke_test_syscall(unsigned long cmd, void *p) ++invoke_test_syscall(unsigned long cmd, const void *p) + { + long rc = ioctl(-1, cmd, p); + errstr = sprintrc(rc); +@@ -31,7 +34,7 @@ + } + + static void +-test_evdev(struct evdev_check *check, void *arg) ++test_evdev(struct evdev_check *check, const void *arg) + { + long rc = invoke_test_syscall(check->cmd, check->arg_ptr); + printf("ioctl(-1, %s, ", check->cmd_str); +@@ -43,9 +46,9 @@ + } + + static void +-print_input_absinfo(long rc, void *ptr, void *arg) ++print_input_absinfo(long rc, const void *ptr, const void *arg) + { +- struct input_absinfo *absinfo = ptr; ++ const struct input_absinfo *absinfo = ptr; + + if (rc < 0) { + printf("%p", absinfo); +@@ -67,9 +70,9 @@ + } + + static void +-print_input_id(long rc, void *ptr, void *arg) ++print_input_id(long rc, const void *ptr, const void *arg) + { +- struct input_id *id = ptr; ++ const struct input_id *id = ptr; + + if (rc < 0) { + printf("%p", id); +@@ -84,10 +87,10 @@ + + # ifdef EVIOCGMTSLOTS + static void +-print_mtslots(long rc, void *ptr, void *arg) ++print_mtslots(long rc, const void *ptr, const void *arg) + { +- int *buffer = ptr; +- const char **str = arg; ++ const int *buffer = ptr; ++ const char * const * str = arg; + int num = atoi(*(str + 1)); + + if (rc < 0) { +@@ -104,27 +107,26 @@ + # endif + + static void +-print_getbit(long rc, void *ptr, void *arg) ++print_getbit(long rc, const void *ptr, const void *arg) + { +- const char **str = arg; +- int num = atoi(*str); ++ const char * const *str = arg; + +- if (rc < 0) { ++ if (rc <= 0) { + printf("%p", ptr); + return; + } + + printf("["); +- printf("%s", *(str + 1)); +- for (unsigned int i = 2; i <= (unsigned) num; i++) { ++ for (unsigned long i = 0; str[i]; i++) { + # if ! VERBOSE +- if (i > 4) { ++ if (i >= 4) { + printf(", ..."); + break; + } + # endif +- printf(", "); +- printf("%s", *(str + i)); ++ if (i) ++ printf(", "); ++ printf("%s", str[i]); + } + printf("]"); + } +@@ -170,6 +172,7 @@ + TAIL_ALLOC_OBJECT_CONST_PTR(struct input_id, id); + TAIL_ALLOC_OBJECT_CONST_PTR(struct input_absinfo, absinfo); + TAIL_ALLOC_OBJECT_CONST_PTR(int, bad_addr_slot); ++ + # ifdef EVIOCGMTSLOTS + int mtslots[] = { ABS_MT_SLOT, 1, 3 }; + /* we use the second element to indicate the number of values */ +@@ -183,36 +186,65 @@ + const char *invalid_mtslot_str[] = { invalid_str, "1", "1" }; + # endif + ++ enum { ULONG_BIT = sizeof(unsigned long) * 8 }; ++ + /* set more than 4 bits */ +- unsigned long ev_more[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND | 1 << EV_PWR }; +- /* we use the first element to indicate the number of set bits */ +- /* ev_more_str[0] is "5" so the number of set bits is 5 */ +- const char *ev_more_str[] = { "5", "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR" }; ++ static const unsigned long ev_more[NUM_WORDS] = { ++ 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED | 1 << EV_SND ++ | 1 << EV_PWR }; ++ static const char * const ev_more_str_2[] = { ++ "EV_ABS", "EV_MSC", NULL }; ++ static const char * const ev_more_str_3[] = { ++ "EV_ABS", "EV_MSC", "EV_LED", "EV_SND", "EV_PWR", NULL }; + + /* set less than 4 bits */ +- unsigned long ev_less[] = { 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; +- const char *ev_less_str[] = { "3", "EV_ABS", "EV_MSC", "EV_LED" }; ++ static const unsigned long ev_less[NUM_WORDS] = { ++ 1 << EV_ABS | 1 << EV_MSC | 1 << EV_LED }; ++ static const char * const ev_less_str_2[] = { ++ "EV_ABS", "EV_MSC", NULL }; ++ static const char * const ev_less_str_3[] = { ++ "EV_ABS", "EV_MSC", "EV_LED", NULL }; + + /* set zero bit */ +- unsigned long ev_zero[] = { 0x0 }; +- const char *ev_zero_str[] = { "0", " 0 " }; ++ static const unsigned long ev_zero[NUM_WORDS] = { 0x0 }; ++ static const char * const ev_zero_str[] = { " 0 ", NULL }; + + /* KEY_MAX is 0x2ff which is greater than retval * 8 */ +- unsigned long key[] = { 1 << KEY_1 | 1 << KEY_2, 0 }; +- const char *key_str[] = { "2", "KEY_1", "KEY_2" }; ++ static const unsigned long key[NUM_WORDS] = { ++ 1 << KEY_1 | 1 << KEY_2, ++ [ KEY_F12 / ULONG_BIT ] = 1 << (KEY_F12 % ULONG_BIT) }; ++ ++ static const char * const key_str_8[] = { ++ "KEY_1", "KEY_2", NULL }; ++ static const char * const key_str_16[] = { ++ "KEY_1", "KEY_2", "KEY_F12", NULL }; ++ ++ assert(sizeof(ev_more) >= (unsigned long) inject_retval); ++ assert(sizeof(ev_less) >= (unsigned long) inject_retval); ++ assert(sizeof(ev_zero) >= (unsigned long) inject_retval); ++ assert(sizeof(key) >= (unsigned long) inject_retval); + + struct { + struct evdev_check check; +- void *ptr; ++ const void *ptr; + } a[] = { + { { ARG_STR(EVIOCGID), id, print_input_id }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_X)), absinfo, print_input_absinfo }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, + { { ARG_STR(EVIOCGABS(ABS_Y)), absinfo, print_input_absinfo }, NULL }, +- { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, &ev_more_str }, +- { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, &ev_less_str }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_more, print_getbit }, ++ inject_retval * 8 <= EV_LED ++ ? (const void *) &ev_more_str_2 ++ : (const void *) &ev_more_str_3 }, ++ { { ARG_STR(EVIOCGBIT(0, 0)), ev_less, print_getbit }, ++ inject_retval * 8 <= EV_LED ++ ? (const void *) &ev_less_str_2 ++ : (const void *) &ev_less_str_3 }, + { { ARG_STR(EVIOCGBIT(0, 0)), ev_zero, print_getbit }, &ev_zero_str }, +- { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, &key_str}, ++ { { ARG_STR(EVIOCGBIT(EV_KEY, 0)), key, print_getbit }, ++ inject_retval * 8 <= KEY_F12 ++ ? (const void *) &key_str_8 ++ : (const void *) &key_str_16 }, + # ifdef EVIOCGMTSLOTS + { { ARG_STR(EVIOCGMTSLOTS(12)), mtslots, print_mtslots }, &mtslots_str }, + { { ARG_STR(EVIOCGMTSLOTS(8)), invalid_mtslot, print_mtslots }, &invalid_mtslot_str } diff --git a/SOURCES/0034-s390x-beautify-sthyi-data-tail-prints.patch b/SOURCES/0034-s390x-beautify-sthyi-data-tail-prints.patch new file mode 100644 index 0000000..a0aff24 --- /dev/null +++ b/SOURCES/0034-s390x-beautify-sthyi-data-tail-prints.patch @@ -0,0 +1,37 @@ +From f476724ea13d6fae08219aba75a7669eb3e836b3 Mon Sep 17 00:00:00 2001 +From: Janosch Frank +Date: Fri, 30 Nov 2018 16:41:39 +0100 +Subject: [PATCH] s390x: beautify sthyi data tail prints + +The test already expects a ", " before the print of struct +padding. Let's add it to s390.c to make the output look a bit nicer and +fix test runs on z/VM that have padding at the end of the STHYI structs. + +* s390.c (decode_ebcdic): Add missing comma. + +Signed-off-by: Janosch Frank +--- + s390.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/s390.c b/s390.c +index 422c08d..a00c274 100644 +--- a/s390.c ++++ b/s390.c +@@ -472,10 +472,12 @@ decode_ebcdic(const char *ebcdic, char *ascii, size_t size) + do { \ + if ((size_) > sizeof(*(hdr_)) && \ + !is_filled((char *) ((hdr_) + 1), '\0', \ +- (size_) - sizeof(*(hdr_)))) \ ++ (size_) - sizeof(*(hdr_)))) { \ ++ tprints(", "); \ + print_quoted_string((char *) ((hdr_) + 1), \ + (size_) - sizeof(*(hdr_)), \ + QUOTE_FORCE_HEX); \ ++ } \ + } while (0) + + static void +-- +2.1.4 + diff --git a/SOURCES/0035-v4l2-avoid-shifting-left-a-signed-number-by-31-bit.patch b/SOURCES/0035-v4l2-avoid-shifting-left-a-signed-number-by-31-bit.patch new file mode 100644 index 0000000..a2c85f9 --- /dev/null +++ b/SOURCES/0035-v4l2-avoid-shifting-left-a-signed-number-by-31-bit.patch @@ -0,0 +1,32 @@ +From 91281fec7823f1cd3df3374fbcbd14af52a3fa1b Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 14 Aug 2019 17:15:47 +0200 +Subject: [PATCH] v4l2: avoid shifting left a signed number by 31 bit + +cppcheck warns about it with the following diagnostics: + + error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is + undefined behaviour + +* v4l2.c [!v4l2_fourcc_be] (v4l2_fourcc_be): Shift left 1U and not 1 in +order to get 0x80000000. +--- + v4l2.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/v4l2.c b/v4l2.c +index 5da457c..505e7b8 100644 +--- a/v4l2.c ++++ b/v4l2.c +@@ -47,7 +47,7 @@ typedef struct v4l2_standard struct_v4l2_standard; + + /* v4l2_fourcc_be was added by Linux commit v3.18-rc1~101^2^2~127 */ + #ifndef v4l2_fourcc_be +-# define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31)) ++# define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1U << 31)) + #endif + + #define FMT_FRACT "%u/%u" +-- +2.1.4 + diff --git a/SOURCES/0036-syscall.c-avoid-infinite-loop-in-subcalls-parsing.patch b/SOURCES/0036-syscall.c-avoid-infinite-loop-in-subcalls-parsing.patch new file mode 100644 index 0000000..9144dc1 --- /dev/null +++ b/SOURCES/0036-syscall.c-avoid-infinite-loop-in-subcalls-parsing.patch @@ -0,0 +1,55 @@ +From 522ad3a0e73148dadd2480cd9cec84d9112b2e57 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 4 Sep 2018 14:48:13 +0200 +Subject: [PATCH] syscall.c: avoid infinite loop in subcalls parsing + +clang complains about it, so it might be a good reason to refactor it +into something more linear. + +* syscall.c (syscall_entering_decode): Put syscall subcall decoding +before ipc/socket subcall decoding, remove the loop. +--- + syscall.c | 19 ++++++------------- + 1 file changed, 6 insertions(+), 13 deletions(-) + +diff --git a/syscall.c b/syscall.c +index bae7343..a67d744 100644 +--- a/syscall.c ++++ b/syscall.c +@@ -579,11 +579,13 @@ syscall_entering_decode(struct tcb *tcp) + return res; + } + ++# ifdef SYS_syscall_subcall ++ if (tcp_sysent(tcp)->sen == SEN_syscall) ++ decode_syscall_subcall(tcp); ++# endif + #if defined SYS_ipc_subcall \ +- || defined SYS_socket_subcall \ +- || defined SYS_syscall_subcall +- for (;;) { +- switch (tcp_sysent(tcp)->sen) { ++ || defined SYS_socket_subcall ++ switch (tcp_sysent(tcp)->sen) { + # ifdef SYS_ipc_subcall + case SEN_ipc: + decode_ipc_subcall(tcp); +@@ -594,15 +596,6 @@ syscall_entering_decode(struct tcb *tcp) + decode_socket_subcall(tcp); + break; + # endif +-# ifdef SYS_syscall_subcall +- case SEN_syscall: +- decode_syscall_subcall(tcp); +- if (tcp_sysent(tcp)->sen != SEN_syscall) +- continue; +- break; +-# endif +- } +- break; + } + #endif + +-- +2.1.4 + diff --git a/SOURCES/0037-kvm-avoid-bogus-vcpu_info-assignment-in-vcpu_registe.patch b/SOURCES/0037-kvm-avoid-bogus-vcpu_info-assignment-in-vcpu_registe.patch new file mode 100644 index 0000000..7531868 --- /dev/null +++ b/SOURCES/0037-kvm-avoid-bogus-vcpu_info-assignment-in-vcpu_registe.patch @@ -0,0 +1,36 @@ +From 9446038e9face3313373ca5f7539476789fd4660 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 18 Dec 2018 05:37:30 +0100 +Subject: [PATCH] kvm: avoid bogus vcpu_info assignment in vcpu_register + +Also reformat code a bit to make nesting a bit clearer. + +Reported by Clang. + +* kvm.c (vcpu_register): Do not assign vcpu_alloc result to vcpu_info +as this value is not used afterwards in the function. +--- + kvm.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/kvm.c b/kvm.c +index 984a75e..8bdf1cc 100644 +--- a/kvm.c ++++ b/kvm.c +@@ -76,10 +76,9 @@ vcpu_register(struct tcb *const tcp, int fd, int cpuid) + + struct vcpu_info *vcpu_info = vcpu_find(tcp, fd); + +- if (!vcpu_info) +- vcpu_info = vcpu_alloc(tcp, fd, cpuid); +- else if (vcpu_info->cpuid != cpuid) +- { ++ if (!vcpu_info) { ++ vcpu_alloc(tcp, fd, cpuid); ++ } else if (vcpu_info->cpuid != cpuid) { + vcpu_info->cpuid = cpuid; + vcpu_info->resolved = false; + } +-- +2.1.4 + diff --git a/SOURCES/0038-xlat-use-unsgined-type-for-mount_flags-fallback-valu.patch b/SOURCES/0038-xlat-use-unsgined-type-for-mount_flags-fallback-valu.patch new file mode 100644 index 0000000..5bc3768 --- /dev/null +++ b/SOURCES/0038-xlat-use-unsgined-type-for-mount_flags-fallback-valu.patch @@ -0,0 +1,365 @@ +From c26541c73c3b4be2977e719d77287255eb346cdf Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Thu, 17 Oct 2019 13:13:45 +0200 +Subject: [PATCH] xlat: use unsgined type for mount_flags fallback values + +Reported by cppcheck: + + strace/xlat/mount_flags.h:256: error[shiftTooManyBitsSigned]: + Shifting signed 32-bit value by 31 bits is undefined behaviour + # 254| XLAT(MS_BORN), + # 255| XLAT(MS_ACTIVE), + # 256|-> XLAT(MS_NOUSER), + # 257| XLAT_END + # 258| }; + +* xlat/mount_flags.in: Use 1U instead of 1 as a bit shifting operand. + +References: https://bugzilla.redhat.com/show_bug.cgi?id=1747524 +--- + xlat/mount_flags.in | 60 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 30 insertions(+), 30 deletions(-) + +Index: strace-4.24/xlat/mount_flags.in +=================================================================== +--- strace-4.24.orig/xlat/mount_flags.in 2018-04-24 02:35:27.000000000 +0200 ++++ strace-4.24/xlat/mount_flags.in 2019-12-02 18:37:39.403710911 +0100 +@@ -1,30 +1,30 @@ +-MS_RDONLY 1 +-MS_NOSUID 2 +-MS_NODEV 4 +-MS_NOEXEC 8 +-MS_SYNCHRONOUS 16 +-MS_REMOUNT 32 +-MS_MANDLOCK 64 +-MS_DIRSYNC 128 +-MS_NOATIME 1024 +-MS_NODIRATIME 2048 +-MS_BIND 4096 +-MS_MOVE 8192 +-MS_REC 16384 +-MS_SILENT 32768 +-MS_POSIXACL (1<<16) +-MS_UNBINDABLE (1<<17) +-MS_PRIVATE (1<<18) +-MS_SLAVE (1<<19) +-MS_SHARED (1<<20) +-MS_RELATIME (1<<21) +-MS_KERNMOUNT (1<<22) +-MS_I_VERSION (1<<23) +-MS_STRICTATIME (1<<24) +-MS_LAZYTIME (1<<25) +-MS_SUBMOUNT (1<<26) +-MS_NOREMOTELOCK (1<<27) +-MS_NOSEC (1<<28) +-MS_BORN (1<<29) +-MS_ACTIVE (1<<30) +-MS_NOUSER (1<<31) ++MS_RDONLY (1U<<0) ++MS_NOSUID (1U<<1) ++MS_NODEV (1U<<2) ++MS_NOEXEC (1U<<3) ++MS_SYNCHRONOUS (1U<<4) ++MS_REMOUNT (1U<<5) ++MS_MANDLOCK (1U<<6) ++MS_DIRSYNC (1U<<7) ++MS_NOATIME (1U<<10) ++MS_NODIRATIME (1U<<11) ++MS_BIND (1U<<12) ++MS_MOVE (1U<<13) ++MS_REC (1U<<14) ++MS_SILENT (1U<<15) ++MS_POSIXACL (1U<<16) ++MS_UNBINDABLE (1U<<17) ++MS_PRIVATE (1U<<18) ++MS_SLAVE (1U<<19) ++MS_SHARED (1U<<20) ++MS_RELATIME (1U<<21) ++MS_KERNMOUNT (1U<<22) ++MS_I_VERSION (1U<<23) ++MS_STRICTATIME (1U<<24) ++MS_LAZYTIME (1U<<25) ++MS_SUBMOUNT (1U<<26) ++MS_NOREMOTELOCK (1U<<27) ++MS_NOSEC (1U<<28) ++MS_BORN (1U<<29) ++MS_ACTIVE (1U<<30) ++MS_NOUSER (1U<<31) +Index: strace-4.24/xlat/mount_flags.h +=================================================================== +--- strace-4.24.orig/xlat/mount_flags.h 2018-08-14 02:44:19.000000000 +0200 ++++ strace-4.24/xlat/mount_flags.h 2019-12-02 18:38:36.102900164 +0100 +@@ -5,213 +5,213 @@ + + #if defined(MS_RDONLY) || (defined(HAVE_DECL_MS_RDONLY) && HAVE_DECL_MS_RDONLY) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_RDONLY) == (1), "MS_RDONLY != 1"); ++static_assert((MS_RDONLY) == ((1U<<0)), "MS_RDONLY != (1U<<0)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_RDONLY 1 ++# define MS_RDONLY (1U<<0) + #endif + #if defined(MS_NOSUID) || (defined(HAVE_DECL_MS_NOSUID) && HAVE_DECL_MS_NOSUID) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NOSUID) == (2), "MS_NOSUID != 2"); ++static_assert((MS_NOSUID) == ((1U<<1)), "MS_NOSUID != (1U<<1)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NOSUID 2 ++# define MS_NOSUID (1U<<1) + #endif + #if defined(MS_NODEV) || (defined(HAVE_DECL_MS_NODEV) && HAVE_DECL_MS_NODEV) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NODEV) == (4), "MS_NODEV != 4"); ++static_assert((MS_NODEV) == ((1U<<2)), "MS_NODEV != (1U<<2)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NODEV 4 ++# define MS_NODEV (1U<<2) + #endif + #if defined(MS_NOEXEC) || (defined(HAVE_DECL_MS_NOEXEC) && HAVE_DECL_MS_NOEXEC) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NOEXEC) == (8), "MS_NOEXEC != 8"); ++static_assert((MS_NOEXEC) == ((1U<<3)), "MS_NOEXEC != (1U<<3)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NOEXEC 8 ++# define MS_NOEXEC (1U<<3) + #endif + #if defined(MS_SYNCHRONOUS) || (defined(HAVE_DECL_MS_SYNCHRONOUS) && HAVE_DECL_MS_SYNCHRONOUS) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_SYNCHRONOUS) == (16), "MS_SYNCHRONOUS != 16"); ++static_assert((MS_SYNCHRONOUS) == ((1U<<4)), "MS_SYNCHRONOUS != (1U<<4)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_SYNCHRONOUS 16 ++# define MS_SYNCHRONOUS (1U<<4) + #endif + #if defined(MS_REMOUNT) || (defined(HAVE_DECL_MS_REMOUNT) && HAVE_DECL_MS_REMOUNT) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_REMOUNT) == (32), "MS_REMOUNT != 32"); ++static_assert((MS_REMOUNT) == ((1U<<5)), "MS_REMOUNT != (1U<<5)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_REMOUNT 32 ++# define MS_REMOUNT (1U<<5) + #endif + #if defined(MS_MANDLOCK) || (defined(HAVE_DECL_MS_MANDLOCK) && HAVE_DECL_MS_MANDLOCK) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_MANDLOCK) == (64), "MS_MANDLOCK != 64"); ++static_assert((MS_MANDLOCK) == ((1U<<6)), "MS_MANDLOCK != (1U<<6)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_MANDLOCK 64 ++# define MS_MANDLOCK (1U<<6) + #endif + #if defined(MS_DIRSYNC) || (defined(HAVE_DECL_MS_DIRSYNC) && HAVE_DECL_MS_DIRSYNC) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_DIRSYNC) == (128), "MS_DIRSYNC != 128"); ++static_assert((MS_DIRSYNC) == ((1U<<7)), "MS_DIRSYNC != (1U<<7)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_DIRSYNC 128 ++# define MS_DIRSYNC (1U<<7) + #endif + #if defined(MS_NOATIME) || (defined(HAVE_DECL_MS_NOATIME) && HAVE_DECL_MS_NOATIME) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NOATIME) == (1024), "MS_NOATIME != 1024"); ++static_assert((MS_NOATIME) == ((1U<<10)), "MS_NOATIME != (1U<<10)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NOATIME 1024 ++# define MS_NOATIME (1U<<10) + #endif + #if defined(MS_NODIRATIME) || (defined(HAVE_DECL_MS_NODIRATIME) && HAVE_DECL_MS_NODIRATIME) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NODIRATIME) == (2048), "MS_NODIRATIME != 2048"); ++static_assert((MS_NODIRATIME) == ((1U<<11)), "MS_NODIRATIME != (1U<<11)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NODIRATIME 2048 ++# define MS_NODIRATIME (1U<<11) + #endif + #if defined(MS_BIND) || (defined(HAVE_DECL_MS_BIND) && HAVE_DECL_MS_BIND) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_BIND) == (4096), "MS_BIND != 4096"); ++static_assert((MS_BIND) == ((1U<<12)), "MS_BIND != (1U<<12)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_BIND 4096 ++# define MS_BIND (1U<<12) + #endif + #if defined(MS_MOVE) || (defined(HAVE_DECL_MS_MOVE) && HAVE_DECL_MS_MOVE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_MOVE) == (8192), "MS_MOVE != 8192"); ++static_assert((MS_MOVE) == ((1U<<13)), "MS_MOVE != (1U<<13)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_MOVE 8192 ++# define MS_MOVE (1U<<13) + #endif + #if defined(MS_REC) || (defined(HAVE_DECL_MS_REC) && HAVE_DECL_MS_REC) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_REC) == (16384), "MS_REC != 16384"); ++static_assert((MS_REC) == ((1U<<14)), "MS_REC != (1U<<14)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_REC 16384 ++# define MS_REC (1U<<14) + #endif + #if defined(MS_SILENT) || (defined(HAVE_DECL_MS_SILENT) && HAVE_DECL_MS_SILENT) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_SILENT) == (32768), "MS_SILENT != 32768"); ++static_assert((MS_SILENT) == ((1U<<15)), "MS_SILENT != (1U<<15)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_SILENT 32768 ++# define MS_SILENT (1U<<15) + #endif + #if defined(MS_POSIXACL) || (defined(HAVE_DECL_MS_POSIXACL) && HAVE_DECL_MS_POSIXACL) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_POSIXACL) == ((1<<16)), "MS_POSIXACL != (1<<16)"); ++static_assert((MS_POSIXACL) == ((1U<<16)), "MS_POSIXACL != (1U<<16)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_POSIXACL (1<<16) ++# define MS_POSIXACL (1U<<16) + #endif + #if defined(MS_UNBINDABLE) || (defined(HAVE_DECL_MS_UNBINDABLE) && HAVE_DECL_MS_UNBINDABLE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_UNBINDABLE) == ((1<<17)), "MS_UNBINDABLE != (1<<17)"); ++static_assert((MS_UNBINDABLE) == ((1U<<17)), "MS_UNBINDABLE != (1U<<17)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_UNBINDABLE (1<<17) ++# define MS_UNBINDABLE (1U<<17) + #endif + #if defined(MS_PRIVATE) || (defined(HAVE_DECL_MS_PRIVATE) && HAVE_DECL_MS_PRIVATE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_PRIVATE) == ((1<<18)), "MS_PRIVATE != (1<<18)"); ++static_assert((MS_PRIVATE) == ((1U<<18)), "MS_PRIVATE != (1U<<18)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_PRIVATE (1<<18) ++# define MS_PRIVATE (1U<<18) + #endif + #if defined(MS_SLAVE) || (defined(HAVE_DECL_MS_SLAVE) && HAVE_DECL_MS_SLAVE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_SLAVE) == ((1<<19)), "MS_SLAVE != (1<<19)"); ++static_assert((MS_SLAVE) == ((1U<<19)), "MS_SLAVE != (1U<<19)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_SLAVE (1<<19) ++# define MS_SLAVE (1U<<19) + #endif + #if defined(MS_SHARED) || (defined(HAVE_DECL_MS_SHARED) && HAVE_DECL_MS_SHARED) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_SHARED) == ((1<<20)), "MS_SHARED != (1<<20)"); ++static_assert((MS_SHARED) == ((1U<<20)), "MS_SHARED != (1U<<20)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_SHARED (1<<20) ++# define MS_SHARED (1U<<20) + #endif + #if defined(MS_RELATIME) || (defined(HAVE_DECL_MS_RELATIME) && HAVE_DECL_MS_RELATIME) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_RELATIME) == ((1<<21)), "MS_RELATIME != (1<<21)"); ++static_assert((MS_RELATIME) == ((1U<<21)), "MS_RELATIME != (1U<<21)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_RELATIME (1<<21) ++# define MS_RELATIME (1U<<21) + #endif + #if defined(MS_KERNMOUNT) || (defined(HAVE_DECL_MS_KERNMOUNT) && HAVE_DECL_MS_KERNMOUNT) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_KERNMOUNT) == ((1<<22)), "MS_KERNMOUNT != (1<<22)"); ++static_assert((MS_KERNMOUNT) == ((1U<<22)), "MS_KERNMOUNT != (1U<<22)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_KERNMOUNT (1<<22) ++# define MS_KERNMOUNT (1U<<22) + #endif + #if defined(MS_I_VERSION) || (defined(HAVE_DECL_MS_I_VERSION) && HAVE_DECL_MS_I_VERSION) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_I_VERSION) == ((1<<23)), "MS_I_VERSION != (1<<23)"); ++static_assert((MS_I_VERSION) == ((1U<<23)), "MS_I_VERSION != (1U<<23)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_I_VERSION (1<<23) ++# define MS_I_VERSION (1U<<23) + #endif + #if defined(MS_STRICTATIME) || (defined(HAVE_DECL_MS_STRICTATIME) && HAVE_DECL_MS_STRICTATIME) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_STRICTATIME) == ((1<<24)), "MS_STRICTATIME != (1<<24)"); ++static_assert((MS_STRICTATIME) == ((1U<<24)), "MS_STRICTATIME != (1U<<24)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_STRICTATIME (1<<24) ++# define MS_STRICTATIME (1U<<24) + #endif + #if defined(MS_LAZYTIME) || (defined(HAVE_DECL_MS_LAZYTIME) && HAVE_DECL_MS_LAZYTIME) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_LAZYTIME) == ((1<<25)), "MS_LAZYTIME != (1<<25)"); ++static_assert((MS_LAZYTIME) == ((1U<<25)), "MS_LAZYTIME != (1U<<25)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_LAZYTIME (1<<25) ++# define MS_LAZYTIME (1U<<25) + #endif + #if defined(MS_SUBMOUNT) || (defined(HAVE_DECL_MS_SUBMOUNT) && HAVE_DECL_MS_SUBMOUNT) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_SUBMOUNT) == ((1<<26)), "MS_SUBMOUNT != (1<<26)"); ++static_assert((MS_SUBMOUNT) == ((1U<<26)), "MS_SUBMOUNT != (1U<<26)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_SUBMOUNT (1<<26) ++# define MS_SUBMOUNT (1U<<26) + #endif + #if defined(MS_NOREMOTELOCK) || (defined(HAVE_DECL_MS_NOREMOTELOCK) && HAVE_DECL_MS_NOREMOTELOCK) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NOREMOTELOCK) == ((1<<27)), "MS_NOREMOTELOCK != (1<<27)"); ++static_assert((MS_NOREMOTELOCK) == ((1U<<27)), "MS_NOREMOTELOCK != (1U<<27)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NOREMOTELOCK (1<<27) ++# define MS_NOREMOTELOCK (1U<<27) + #endif + #if defined(MS_NOSEC) || (defined(HAVE_DECL_MS_NOSEC) && HAVE_DECL_MS_NOSEC) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NOSEC) == ((1<<28)), "MS_NOSEC != (1<<28)"); ++static_assert((MS_NOSEC) == ((1U<<28)), "MS_NOSEC != (1U<<28)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NOSEC (1<<28) ++# define MS_NOSEC (1U<<28) + #endif + #if defined(MS_BORN) || (defined(HAVE_DECL_MS_BORN) && HAVE_DECL_MS_BORN) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_BORN) == ((1<<29)), "MS_BORN != (1<<29)"); ++static_assert((MS_BORN) == ((1U<<29)), "MS_BORN != (1U<<29)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_BORN (1<<29) ++# define MS_BORN (1U<<29) + #endif + #if defined(MS_ACTIVE) || (defined(HAVE_DECL_MS_ACTIVE) && HAVE_DECL_MS_ACTIVE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_ACTIVE) == ((1<<30)), "MS_ACTIVE != (1<<30)"); ++static_assert((MS_ACTIVE) == ((1U<<30)), "MS_ACTIVE != (1U<<30)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_ACTIVE (1<<30) ++# define MS_ACTIVE (1U<<30) + #endif + #if defined(MS_NOUSER) || (defined(HAVE_DECL_MS_NOUSER) && HAVE_DECL_MS_NOUSER) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((MS_NOUSER) == ((1<<31)), "MS_NOUSER != (1<<31)"); ++static_assert((MS_NOUSER) == ((1U<<31)), "MS_NOUSER != (1U<<31)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define MS_NOUSER (1<<31) ++# define MS_NOUSER (1U<<31) + #endif + + #ifndef XLAT_MACROS_ONLY diff --git a/SOURCES/0039-unwind-libdw-fix-initialization-of-libdwfl-cache.patch b/SOURCES/0039-unwind-libdw-fix-initialization-of-libdwfl-cache.patch new file mode 100644 index 0000000..17fd6cc --- /dev/null +++ b/SOURCES/0039-unwind-libdw-fix-initialization-of-libdwfl-cache.patch @@ -0,0 +1,36 @@ +From 69b2c33a77fa687feb41fafdbe187013aa812384 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 7 Jan 2020 18:54:55 +0000 +Subject: [PATCH] unwind-libdw: fix initialization of libdwfl cache + +This fixes stack trace printing for early syscalls that precede +the first syscall from memory mapping or execve families. + +* unwind-libdw.c (tcb_init): Set struct ctx.last_proc_updating +to a value different from mapping_generation so that libdwfl cache +is properly initialized before the first use. +* NEWS: Mention this fix. + +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1788636 +--- +Backport changes: + - NEWS hunk has been dropped. + +--- + NEWS | 2 ++ + unwind-libdw.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +Index: strace-4.24/unwind-libdw.c +=================================================================== +--- strace-4.24.orig/unwind-libdw.c 2020-01-23 12:55:01.922338273 +0100 ++++ strace-4.24/unwind-libdw.c 2020-01-23 12:55:06.131299136 +0100 +@@ -69,7 +69,7 @@ + + struct ctx *ctx = xmalloc(sizeof(*ctx)); + ctx->dwfl = dwfl; +- ctx->last_proc_updating = 0; ++ ctx->last_proc_updating = mapping_generation - 1; + return ctx; + } + diff --git a/SOURCES/0041-tests-add-strace-k-p-test.patch b/SOURCES/0041-tests-add-strace-k-p-test.patch new file mode 100644 index 0000000..a9c924c --- /dev/null +++ b/SOURCES/0041-tests-add-strace-k-p-test.patch @@ -0,0 +1,724 @@ +From 8e515c744935fe67e6a1b941f4c5414472c163b7 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Mon, 20 Jan 2020 16:19:40 +0100 +Subject: [PATCH] tests: add strace-k-p test + +Add a check of the stack unwinding for attached processes. + +* tests/stack-fcall-attach.c: New file. +* tests/strace-k-p.expected: Likewise. +* tests/strace-k-p.test: New test. +* tests/Makefile.am (EXTRA_DIST): Add strace-k-p.expected and strace-k-p.test. +(STACKTRACE_TESTS): Add strace-k-p.test +(check_PROGRAMS): Add stack-fcall-attach. +(stack_fcall_attach_SOURCES): New variable. +* tests/stack-fcall.c: Include "tests.h" and . +[!ATTACH_MODE] (ATTACH_MODE): Define to 0. +(main) [ATTACH_MODE]: Wait a bit. +* tests/strace-k.test: Add attach mode. + +Complements: v5.4-18-g69b2c33 "unwind-libdw: fix initialization of libdwfl cache" +--- +Backport changes: + * "SIGURG" line has been removed from tests/strace-k-p.expected, as it requires + v4.25~22 "Print stack traces on signals" and v4.25~21 "tests: check stack + unwinding for signals". + * "chdir" usage in tests/strace-k-p.expected has been replaced with "getpid", + as it is the syscall that was used in the stack-fcall.c at the time. + * Added the respective changes to tests/Makefile.in file. + * The changes to tests/stack-fcall-attach.c, tests/strace-k-p.expected, + tests/strace-k-p.test, tests/Makefile.am, tests/stack-fcall.c, + and tests/strace-k.test have been copied over to tests-m32 and tests-mx32 + directories. + +--- + tests/Makefile.am | 8 +++++++- + tests/stack-fcall-attach.c | 2 ++ + tests/stack-fcall.c | 11 +++++++++++ + tests/strace-k-p.expected | 2 ++ + tests/strace-k-p.test | 13 +++++++++++++ + tests/strace-k.test | 17 ++++++++++++++++- + 6 files changed, 51 insertions(+), 2 deletions(-) + create mode 100644 tests/stack-fcall-attach.c + create mode 100644 tests/strace-k-p.expected + create mode 100755 tests/strace-k-p.test + +Index: strace-4.24/tests/Makefile.am +=================================================================== +--- strace-4.24.orig/tests/Makefile.am 2020-01-23 14:58:43.424959638 +0100 ++++ strace-4.24/tests/Makefile.am 2020-01-23 14:58:43.440959144 +0100 +@@ -156,6 +156,7 @@ + signal_receive \ + sleep \ + stack-fcall \ ++ stack-fcall-attach \ + stack-fcall-mangled \ + threads-execve \ + unblock_reset_raise \ +@@ -198,6 +199,9 @@ + stack_fcall_SOURCES = stack-fcall.c \ + stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c + ++stack_fcall_attach_SOURCES = stack-fcall-attach.c \ ++ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c ++ + stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ + stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ + stack-fcall-mangled-2.c stack-fcall-mangled-3.c +@@ -205,7 +209,7 @@ + include gen_tests.am + + if ENABLE_STACKTRACE +-STACKTRACE_TESTS = strace-k.test ++STACKTRACE_TESTS = strace-k.test strace-k-p.test + if USE_DEMANGLE + STACKTRACE_TESTS += strace-k-demangle.test + endif +@@ -423,6 +427,8 @@ + strace-ff.expected \ + strace-k-demangle.expected \ + strace-k-demangle.test \ ++ strace-k-p.expected \ ++ strace-k-p.test \ + strace-k.expected \ + strace-k.test \ + strace-r.expected \ +Index: strace-4.24/tests/stack-fcall-attach.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/stack-fcall-attach.c 2020-01-23 14:58:43.441959113 +0100 +@@ -0,0 +1,2 @@ ++#define ATTACH_MODE 1 ++#include "stack-fcall.c" +Index: strace-4.24/tests/stack-fcall.c +=================================================================== +--- strace-4.24.orig/tests/stack-fcall.c 2020-01-23 14:58:09.934993679 +0100 ++++ strace-4.24/tests/stack-fcall.c 2020-01-23 14:58:43.441959113 +0100 +@@ -1,7 +1,18 @@ ++#include "tests.h" ++#include + #include "stack-fcall.h" + ++#ifndef ATTACH_MODE ++# define ATTACH_MODE 0 ++#endif ++ + int main(int argc, char **argv) + { ++#if ATTACH_MODE ++ /* sleep a bit to let the tracer time to catch up */ ++ sleep(1); ++#endif ++ + f0(argc); + return 0; + } +Index: strace-4.24/tests/strace-k-p.expected +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/strace-k-p.expected 2020-01-23 16:23:03.932457826 +0100 +@@ -0,0 +1 @@ ++(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main +Index: strace-4.24/tests/strace-k-p.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests/strace-k-p.test 2020-01-23 14:58:43.441959113 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh ++# ++# Check strace -k for attached tracees. ++# ++# Copyright (c) 2020 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++ATTACH_MODE=1 ++test_prog=../stack-fcall-attach ++ ++. "${srcdir=.}"/strace-k.test +Index: strace-4.24/tests/strace-k.test +=================================================================== +--- strace-4.24.orig/tests/strace-k.test 2020-01-23 14:58:43.001972698 +0100 ++++ strace-4.24/tests/strace-k.test 2020-01-23 14:58:43.441959113 +0100 +@@ -11,6 +11,8 @@ + + . "${srcdir=.}/init.sh" + ++: "${ATTACH_MODE=0}" ++ + # strace -k is implemented using /proc/$pid/maps + [ -f /proc/self/maps ] || + framework_skip_ '/proc/self/maps is not available' +@@ -20,7 +22,19 @@ + check_prog tr + + run_prog "${test_prog=../stack-fcall}" +-run_strace -e getpid -k $args ++if [ "x${ATTACH_MODE}" = "x1" ]; then ++ ../set_ptracer_any "${test_prog}" >> "$EXP" & ++ tracee_pid=$! ++ ++ while ! [ -s "$EXP" ]; do ++ kill -0 "$tracee_pid" 2> /dev/null || ++ fail_ 'set_ptracer_any failed' ++ done ++ ++ run_strace -e getpid -k -p "$tracee_pid" ++else ++ run_strace -e getpid -k $args ++fi + + expected="$srcdir/$NAME.expected" + sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | +Index: strace-4.24/tests/Makefile.in +=================================================================== +--- strace-4.24.orig/tests/Makefile.in 2020-01-23 14:58:43.425959607 +0100 ++++ strace-4.24/tests/Makefile.in 2020-01-23 14:57:57.710371128 +0100 +@@ -178,9 +178,9 @@ + seccomp-strict$(EXEEXT) select-P$(EXEEXT) \ + set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \ + set_sigign$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \ +- stack-fcall$(EXEEXT) stack-fcall-mangled$(EXEEXT) \ +- threads-execve$(EXEEXT) unblock_reset_raise$(EXEEXT) \ +- unix-pair-send-recv$(EXEEXT) \ ++ stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \ ++ stack-fcall-mangled$(EXEEXT) threads-execve$(EXEEXT) \ ++ unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \ + unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \ + wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT) + @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test +@@ -2427,6 +2427,12 @@ + stack_fcall_OBJECTS = $(am_stack_fcall_OBJECTS) + stack_fcall_LDADD = $(LDADD) + stack_fcall_DEPENDENCIES = libtests.a ++am_stack_fcall_attach_OBJECTS = stack-fcall-attach.$(OBJEXT) \ ++ stack-fcall-0.$(OBJEXT) stack-fcall-1.$(OBJEXT) \ ++ stack-fcall-2.$(OBJEXT) stack-fcall-3.$(OBJEXT) ++stack_fcall_attach_OBJECTS = $(am_stack_fcall_attach_OBJECTS) ++stack_fcall_attach_LDADD = $(LDADD) ++stack_fcall_attach_DEPENDENCIES = libtests.a + am_stack_fcall_mangled_OBJECTS = stack-fcall-mangled.$(OBJEXT) \ + stack-fcall-mangled-0.$(OBJEXT) \ + stack-fcall-mangled-1.$(OBJEXT) \ +@@ -2851,7 +2857,7 @@ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.c socketcall.c \ +- sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \ ++ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ + $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ + statfs64.c statx.c swap.c sxetmask.c symlink.c symlinkat.c \ + sync.c sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ +@@ -2999,7 +3005,7 @@ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.c socketcall.c \ +- sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \ ++ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ + $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ + statfs64.c statx.c swap.c sxetmask.c symlink.c symlinkat.c \ + sync.c sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ +@@ -3226,7 +3232,8 @@ + bases=`echo $$bases` + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck +-@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) ++@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \ ++@ENABLE_STACKTRACE_TRUE@ $(am__append_1) + TEST_SUITE_LOG = test-suite.log + TEST_EXTENSIONS = @EXEEXT@ .test + am__test_logs1 = $(TESTS:=.log) +@@ -3960,6 +3967,9 @@ + stack_fcall_SOURCES = stack-fcall.c \ + stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c + ++stack_fcall_attach_SOURCES = stack-fcall-attach.c \ ++ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c ++ + stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ + stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ + stack-fcall-mangled-2.c stack-fcall-mangled-3.c +@@ -4163,7 +4173,7 @@ + xettimeofday.gen.test + @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = + @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ +-@ENABLE_STACKTRACE_TRUE@ $(am__append_1) ++@ENABLE_STACKTRACE_TRUE@ strace-k-p.test $(am__append_1) + DECODER_TESTS = \ + bpf-success-v.test \ + bpf-success.test \ +@@ -4366,6 +4376,8 @@ + strace-ff.expected \ + strace-k-demangle.expected \ + strace-k-demangle.test \ ++ strace-k-p.expected \ ++ strace-k-p.test \ + strace-k.expected \ + strace-k.test \ + strace-r.expected \ +@@ -6454,6 +6466,10 @@ + @rm -f stack-fcall$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(stack_fcall_OBJECTS) $(stack_fcall_LDADD) $(LIBS) + ++stack-fcall-attach$(EXEEXT): $(stack_fcall_attach_OBJECTS) $(stack_fcall_attach_DEPENDENCIES) $(EXTRA_stack_fcall_attach_DEPENDENCIES) ++ @rm -f stack-fcall-attach$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(stack_fcall_attach_OBJECTS) $(stack_fcall_attach_LDADD) $(LIBS) ++ + stack-fcall-mangled$(EXEEXT): $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_DEPENDENCIES) $(EXTRA_stack_fcall_mangled_DEPENDENCIES) + @rm -f stack-fcall-mangled$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_LDADD) $(LIBS) +@@ -7244,6 +7260,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-1.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-3.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-attach.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-mangled-0.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-mangled-1.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-mangled-2.Po@am__quote@ +Index: strace-4.24/tests-m32/Makefile.am +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.am 2020-01-23 14:58:43.422959699 +0100 ++++ strace-4.24/tests-m32/Makefile.am 2020-01-23 14:58:43.442959082 +0100 +@@ -173,6 +173,7 @@ + signal_receive \ + sleep \ + stack-fcall \ ++ stack-fcall-attach \ + stack-fcall-mangled \ + threads-execve \ + unblock_reset_raise \ +@@ -214,6 +215,9 @@ + stack_fcall_SOURCES = stack-fcall.c \ + stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c + ++stack_fcall_attach_SOURCES = stack-fcall-attach.c \ ++ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c ++ + stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ + stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ + stack-fcall-mangled-2.c stack-fcall-mangled-3.c +@@ -221,7 +225,7 @@ + include gen_tests.am + + if ENABLE_STACKTRACE +-STACKTRACE_TESTS = strace-k.test ++STACKTRACE_TESTS = strace-k.test strace-k-p.test + if USE_DEMANGLE + STACKTRACE_TESTS += strace-k-demangle.test + endif +@@ -434,6 +438,8 @@ + strace-ff.expected \ + strace-k-demangle.expected \ + strace-k-demangle.test \ ++ strace-k-p.expected \ ++ strace-k-p.test \ + strace-k.expected \ + strace-k.test \ + strace-r.expected \ +Index: strace-4.24/tests-m32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.in 2020-01-23 14:58:43.424959638 +0100 ++++ strace-4.24/tests-m32/Makefile.in 2020-01-23 17:52:08.510416337 +0100 +@@ -177,9 +177,9 @@ + seccomp-strict$(EXEEXT) select-P$(EXEEXT) \ + set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \ + set_sigign$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \ +- stack-fcall$(EXEEXT) stack-fcall-mangled$(EXEEXT) \ +- threads-execve$(EXEEXT) unblock_reset_raise$(EXEEXT) \ +- unix-pair-send-recv$(EXEEXT) \ ++ stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \ ++ stack-fcall-mangled$(EXEEXT) threads-execve$(EXEEXT) \ ++ unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \ + unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \ + wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT) + @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test +@@ -2418,6 +2418,12 @@ + stack_fcall_OBJECTS = $(am_stack_fcall_OBJECTS) + stack_fcall_LDADD = $(LDADD) + stack_fcall_DEPENDENCIES = libtests.a ++am_stack_fcall_attach_OBJECTS = stack-fcall-attach.$(OBJEXT) \ ++ stack-fcall-0.$(OBJEXT) stack-fcall-1.$(OBJEXT) \ ++ stack-fcall-2.$(OBJEXT) stack-fcall-3.$(OBJEXT) ++stack_fcall_attach_OBJECTS = $(am_stack_fcall_attach_OBJECTS) ++stack_fcall_attach_LDADD = $(LDADD) ++stack_fcall_attach_DEPENDENCIES = libtests.a + am_stack_fcall_mangled_OBJECTS = stack-fcall-mangled.$(OBJEXT) \ + stack-fcall-mangled-0.$(OBJEXT) \ + stack-fcall-mangled-1.$(OBJEXT) \ +@@ -2841,7 +2847,7 @@ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.c socketcall.c \ +- sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \ ++ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ + $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ + statfs64.c statx.c swap.c sxetmask.c symlink.c symlinkat.c \ + sync.c sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ +@@ -2988,7 +2994,7 @@ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.c socketcall.c \ +- sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \ ++ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ + $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ + statfs64.c statx.c swap.c sxetmask.c symlink.c symlinkat.c \ + sync.c sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ +@@ -3215,7 +3221,8 @@ + bases=`echo $$bases` + RECHECK_LOGS = $(TEST_LOGS) + AM_RECURSIVE_TARGETS = check recheck +-@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) ++@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \ ++@ENABLE_STACKTRACE_TRUE@ $(am__append_1) + TEST_SUITE_LOG = test-suite.log + TEST_EXTENSIONS = @EXEEXT@ .test + am__test_logs1 = $(TESTS:=.log) +@@ -3949,6 +3956,9 @@ + stack_fcall_SOURCES = stack-fcall.c \ + stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c + ++stack_fcall_attach_SOURCES = stack-fcall-attach.c \ ++ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c ++ + stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ + stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ + stack-fcall-mangled-2.c stack-fcall-mangled-3.c +@@ -4152,7 +4162,7 @@ + xettimeofday.gen.test + @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = + @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ +-@ENABLE_STACKTRACE_TRUE@ $(am__append_1) ++@ENABLE_STACKTRACE_TRUE@ strace-k-p.test $(am__append_1) + DECODER_TESTS = \ + bpf-success-v.test \ + bpf-success.test \ +@@ -4353,6 +4363,8 @@ + strace-ff.expected \ + strace-k-demangle.expected \ + strace-k-demangle.test \ ++ strace-k-p.expected \ ++ strace-k-p.test \ + strace-k.expected \ + strace-k.test \ + strace-r.expected \ +@@ -6433,6 +6445,10 @@ + @rm -f stack-fcall$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(stack_fcall_OBJECTS) $(stack_fcall_LDADD) $(LIBS) + ++stack-fcall-attach$(EXEEXT): $(stack_fcall_attach_OBJECTS) $(stack_fcall_attach_DEPENDENCIES) $(EXTRA_stack_fcall_attach_DEPENDENCIES) ++ @rm -f stack-fcall-attach$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(stack_fcall_attach_OBJECTS) $(stack_fcall_attach_LDADD) $(LIBS) ++ + stack-fcall-mangled$(EXEEXT): $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_DEPENDENCIES) $(EXTRA_stack_fcall_mangled_DEPENDENCIES) + @rm -f stack-fcall-mangled$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_LDADD) $(LIBS) +@@ -7221,6 +7237,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-1.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-3.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-attach.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-mangled-0.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-mangled-1.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-mangled-2.Po@am__quote@ +Index: strace-4.24/tests-mx32/Makefile.am +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.am 2020-01-23 14:58:43.424959638 +0100 ++++ strace-4.24/tests-mx32/Makefile.am 2020-01-23 14:58:43.443959051 +0100 +@@ -173,6 +173,7 @@ + signal_receive \ + sleep \ + stack-fcall \ ++ stack-fcall-attach \ + stack-fcall-mangled \ + threads-execve \ + unblock_reset_raise \ +@@ -214,6 +215,9 @@ + stack_fcall_SOURCES = stack-fcall.c \ + stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c + ++stack_fcall_attach_SOURCES = stack-fcall-attach.c \ ++ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c ++ + stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ + stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ + stack-fcall-mangled-2.c stack-fcall-mangled-3.c +@@ -221,7 +225,7 @@ + include gen_tests.am + + if ENABLE_STACKTRACE +-STACKTRACE_TESTS = strace-k.test ++STACKTRACE_TESTS = strace-k.test strace-k-p.test + if USE_DEMANGLE + STACKTRACE_TESTS += strace-k-demangle.test + endif +@@ -434,6 +438,8 @@ + strace-ff.expected \ + strace-k-demangle.expected \ + strace-k-demangle.test \ ++ strace-k-p.expected \ ++ strace-k-p.test \ + strace-k.expected \ + strace-k.test \ + strace-r.expected \ +Index: strace-4.24/tests-mx32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.in 2020-01-23 14:58:43.424959638 +0100 ++++ strace-4.24/tests-mx32/Makefile.in 2020-01-23 14:58:08.177047958 +0100 +@@ -177,9 +177,9 @@ + seccomp-strict$(EXEEXT) select-P$(EXEEXT) \ + set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \ + set_sigign$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \ +- stack-fcall$(EXEEXT) stack-fcall-mangled$(EXEEXT) \ +- threads-execve$(EXEEXT) unblock_reset_raise$(EXEEXT) \ +- unix-pair-send-recv$(EXEEXT) \ ++ stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \ ++ stack-fcall-mangled$(EXEEXT) threads-execve$(EXEEXT) \ ++ unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \ + unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \ + wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT) + @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test +@@ -2841,7 +2841,7 @@ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.c socketcall.c \ +- sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \ ++ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ + $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ + statfs64.c statx.c swap.c sxetmask.c symlink.c symlinkat.c \ + sync.c sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ +@@ -2988,7 +2988,7 @@ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.c socketcall.c \ +- sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \ ++ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ + $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ + statfs64.c statx.c swap.c sxetmask.c symlink.c symlinkat.c \ + sync.c sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ +Index: strace-4.24/tests-m32/stack-fcall-attach.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/stack-fcall-attach.c 2020-01-23 15:42:03.377780293 +0100 +@@ -0,0 +1,2 @@ ++#define ATTACH_MODE 1 ++#include "stack-fcall.c" +Index: strace-4.24/tests-m32/stack-fcall.c +=================================================================== +--- strace-4.24.orig/tests-m32/stack-fcall.c 2017-12-29 16:20:21.000000000 +0100 ++++ strace-4.24/tests-m32/stack-fcall.c 2020-01-23 15:42:03.381780261 +0100 +@@ -1,7 +1,18 @@ ++#include "tests.h" ++#include + #include "stack-fcall.h" + ++#ifndef ATTACH_MODE ++# define ATTACH_MODE 0 ++#endif ++ + int main(int argc, char **argv) + { ++#if ATTACH_MODE ++ /* sleep a bit to let the tracer time to catch up */ ++ sleep(1); ++#endif ++ + f0(argc); + return 0; + } +Index: strace-4.24/tests-m32/strace-k-p.expected +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/strace-k-p.expected 2020-01-23 16:22:56.367298204 +0100 +@@ -0,0 +1 @@ ++(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main +Index: strace-4.24/tests-m32/strace-k-p.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-m32/strace-k-p.test 2020-01-23 15:42:03.383780246 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh ++# ++# Check strace -k for attached tracees. ++# ++# Copyright (c) 2020 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++ATTACH_MODE=1 ++test_prog=../stack-fcall-attach ++ ++. "${srcdir=.}"/strace-k.test +Index: strace-4.24/tests-m32/strace-k.test +=================================================================== +--- strace-4.24.orig/tests-m32/strace-k.test 2018-06-14 13:00:00.000000000 +0200 ++++ strace-4.24/tests-m32/strace-k.test 2020-01-23 15:42:03.385780230 +0100 +@@ -7,30 +7,12 @@ + # Copyright (c) 2014-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + ++: "${ATTACH_MODE=0}" ++ + # strace -k is implemented using /proc/$pid/maps + [ -f /proc/self/maps ] || + framework_skip_ '/proc/self/maps is not available' +@@ -40,7 +22,19 @@ + check_prog tr + + run_prog "${test_prog=../stack-fcall}" +-run_strace -e getpid -k $args ++if [ "x${ATTACH_MODE}" = "x1" ]; then ++ ../set_ptracer_any "${test_prog}" >> "$EXP" & ++ tracee_pid=$! ++ ++ while ! [ -s "$EXP" ]; do ++ kill -0 "$tracee_pid" 2> /dev/null || ++ fail_ 'set_ptracer_any failed' ++ done ++ ++ run_strace -e getpid -k -p "$tracee_pid" ++else ++ run_strace -e getpid -k $args ++fi + + expected="$srcdir/$NAME.expected" + sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | +Index: strace-4.24/tests-mx32/stack-fcall-attach.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/stack-fcall-attach.c 2020-01-23 15:42:10.783722024 +0100 +@@ -0,0 +1,2 @@ ++#define ATTACH_MODE 1 ++#include "stack-fcall.c" +Index: strace-4.24/tests-mx32/stack-fcall.c +=================================================================== +--- strace-4.24.orig/tests-mx32/stack-fcall.c 2017-12-29 16:20:21.000000000 +0100 ++++ strace-4.24/tests-mx32/stack-fcall.c 2020-01-23 15:42:10.797721914 +0100 +@@ -1,7 +1,18 @@ ++#include "tests.h" ++#include + #include "stack-fcall.h" + ++#ifndef ATTACH_MODE ++# define ATTACH_MODE 0 ++#endif ++ + int main(int argc, char **argv) + { ++#if ATTACH_MODE ++ /* sleep a bit to let the tracer time to catch up */ ++ sleep(1); ++#endif ++ + f0(argc); + return 0; + } +Index: strace-4.24/tests-mx32/strace-k-p.expected +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/strace-k-p.expected 2020-01-23 16:22:53.346234461 +0100 +@@ -0,0 +1 @@ ++(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main +Index: strace-4.24/tests-mx32/strace-k-p.test +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ strace-4.24/tests-mx32/strace-k-p.test 2020-01-23 15:42:10.803721866 +0100 +@@ -0,0 +1,13 @@ ++#!/bin/sh ++# ++# Check strace -k for attached tracees. ++# ++# Copyright (c) 2020 The strace developers. ++# All rights reserved. ++# ++# SPDX-License-Identifier: GPL-2.0-or-later ++ ++ATTACH_MODE=1 ++test_prog=../stack-fcall-attach ++ ++. "${srcdir=.}"/strace-k.test +Index: strace-4.24/tests-mx32/strace-k.test +=================================================================== +--- strace-4.24.orig/tests-mx32/strace-k.test 2018-06-14 13:00:00.000000000 +0200 ++++ strace-4.24/tests-mx32/strace-k.test 2020-01-23 15:42:10.810721811 +0100 +@@ -7,30 +7,12 @@ + # Copyright (c) 2014-2018 The strace developers. + # All rights reserved. + # +-# Redistribution and use in source and binary forms, with or without +-# modification, are permitted provided that the following conditions +-# are met: +-# 1. Redistributions of source code must retain the above copyright +-# notice, this list of conditions and the following disclaimer. +-# 2. Redistributions in binary form must reproduce the above copyright +-# notice, this list of conditions and the following disclaimer in the +-# documentation and/or other materials provided with the distribution. +-# 3. The name of the author may not be used to endorse or promote products +-# derived from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# SPDX-License-Identifier: GPL-2.0-or-later + + . "${srcdir=.}/init.sh" + ++: "${ATTACH_MODE=0}" ++ + # strace -k is implemented using /proc/$pid/maps + [ -f /proc/self/maps ] || + framework_skip_ '/proc/self/maps is not available' +@@ -40,7 +22,19 @@ + check_prog tr + + run_prog "${test_prog=../stack-fcall}" +-run_strace -e getpid -k $args ++if [ "x${ATTACH_MODE}" = "x1" ]; then ++ ../set_ptracer_any "${test_prog}" >> "$EXP" & ++ tracee_pid=$! ++ ++ while ! [ -s "$EXP" ]; do ++ kill -0 "$tracee_pid" 2> /dev/null || ++ fail_ 'set_ptracer_any failed' ++ done ++ ++ run_strace -e getpid -k -p "$tracee_pid" ++else ++ run_strace -e getpid -k $args ++fi + + expected="$srcdir/$NAME.expected" + sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | diff --git a/SOURCES/0042-sockaddr-properly-decode-sockaddr_hci-addresses-with.patch b/SOURCES/0042-sockaddr-properly-decode-sockaddr_hci-addresses-with.patch new file mode 100644 index 0000000..1ec639e --- /dev/null +++ b/SOURCES/0042-sockaddr-properly-decode-sockaddr_hci-addresses-with.patch @@ -0,0 +1,225 @@ +From 5a9b0f1ef83300f853e77ada03515c8542c1cfe0 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Thu, 29 Aug 2019 19:03:51 +0200 +Subject: [PATCH] sockaddr: properly decode sockaddr_hci addresses without + hci_channel + +Before Linux commit v2.6.38-rc1~476^2~14^2~3^2~43^2~9, +struct sockaddr_hci did not contain hci_channel field. + +* configure.ac (AC_CHECK_HEADERS([bluetooth/bluetooth.h])): Add check +for struct sockaddr_hci.hci_channel. +* sockaddr.c (print_sockaddr_data_bt): Decode struct sockaddr_hci +without hci_channel field. +* tests/net-sockaddr.c (check_hci): Add check for struct sockaddr_hci +decoding without hci_channel field; guard hci_channel with #ifdef +HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL. +(check_raw): Remove "len++", as 4-byte AF_BLUETOOTH socket addresses are +interpreted as struct sockaddr_hci without hci_channel field. +--- + configure.ac | 3 +++ + sockaddr.c | 16 +++++++++++++--- + tests/net-sockaddr.c | 18 ++++++++++++++---- + 3 files changed, 30 insertions(+), 7 deletions(-) + +Index: strace-4.24/configure.ac +=================================================================== +--- strace-4.24.orig/configure.ac 2020-01-26 13:47:02.277446765 +0100 ++++ strace-4.24/configure.ac 2020-01-26 13:47:08.976575337 +0100 +@@ -458,6 +458,9 @@ + ]) + + AC_CHECK_HEADERS([bluetooth/bluetooth.h], [ ++ AC_CHECK_MEMBERS([struct sockaddr_hci.hci_channel],,, ++ [#include ++ #include ]) + AC_CHECK_MEMBERS([struct sockaddr_l2.l2_bdaddr_type],,, + [#include + #include ]) +Index: strace-4.24/sockaddr.c +=================================================================== +--- strace-4.24.orig/sockaddr.c 2020-01-26 13:47:08.977575356 +0100 ++++ strace-4.24/sockaddr.c 2020-01-27 16:26:32.975222449 +0100 +@@ -355,12 +355,21 @@ + }; + + switch (addrlen) { ++ case offsetofend(struct sockaddr_hci, hci_dev): + case sizeof(struct sockaddr_hci): { + const struct sockaddr_hci *const hci = buf; +- tprintf("hci_dev=htobs(%hu), hci_channel=", +- btohs(hci->hci_dev)); +- printxval_index(hci_channels, hci->hci_channel, +- "HCI_CHANNEL_???"); ++ tprintf("hci_dev=htobs(%hu)", btohs(hci->hci_dev)); ++ ++ /* ++ * hci_channel field has been introduced ++ * Linux commit in v2.6.38-rc1~476^2~14^2~3^2~43^2~9. ++ */ ++ if (addrlen == sizeof(struct sockaddr_hci)) { ++ tprints(", hci_channel="); ++ printxval_index(hci_channels, hci->hci_channel, ++ "HCI_CHANNEL_???"); ++ } ++ + break; + } + case sizeof(struct sockaddr_sco): { +Index: strace-4.24/tests/net-sockaddr.c +=================================================================== +--- strace-4.24.orig/tests/net-sockaddr.c 2020-01-26 13:47:02.279446803 +0100 ++++ strace-4.24/tests/net-sockaddr.c 2020-01-26 13:47:08.979575395 +0100 +@@ -364,11 +364,22 @@ + TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_hci, hci); + hci->hci_family = AF_BLUETOOTH; + hci->hci_dev = htobs(h_port); ++# ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL + hci->hci_channel = HCI_CHANNEL_RAW; ++# endif + unsigned int len = sizeof(*hci); +- int ret = connect(-1, (void *) hci, len); ++ ++ int ret = connect(-1, (void *) hci, 4); ++ printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" ++ "}, 4) = %d EBADF (%m)\n", ++ h_port, ret); ++ ++ ret = connect(-1, (void *) hci, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" +- ", hci_channel=HCI_CHANNEL_RAW}, %u) = %d EBADF (%m)\n", ++# ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL ++ ", hci_channel=HCI_CHANNEL_RAW" ++# endif ++ "}, %u) = %d EBADF (%m)\n", + h_port, len, ret); + } + +@@ -521,9 +532,8 @@ + " = %d EBADF (%m)\n", len, ret); + + u.sa->sa_family = AF_BLUETOOTH; +- ++len; + ret = connect(-1, (void *) u.st, len); +- printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"00\"}, %u)" ++ printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)" + " = %d EBADF (%m)\n", len, ret); + } + +Index: strace-4.24/tests-m32/net-sockaddr.c +=================================================================== +--- strace-4.24.orig/tests-m32/net-sockaddr.c 2020-01-26 13:47:02.282446861 +0100 ++++ strace-4.24/tests-m32/net-sockaddr.c 2020-01-26 13:47:08.979575395 +0100 +@@ -384,11 +384,22 @@ + TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_hci, hci); + hci->hci_family = AF_BLUETOOTH; + hci->hci_dev = htobs(h_port); ++# ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL + hci->hci_channel = HCI_CHANNEL_RAW; ++# endif + unsigned int len = sizeof(*hci); +- int ret = connect(-1, (void *) hci, len); ++ ++ int ret = connect(-1, (void *) hci, 4); ++ printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" ++ "}, 4) = %d EBADF (%m)\n", ++ h_port, ret); ++ ++ ret = connect(-1, (void *) hci, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" +- ", hci_channel=HCI_CHANNEL_RAW}, %u) = %d EBADF (%m)\n", ++# ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL ++ ", hci_channel=HCI_CHANNEL_RAW" ++# endif ++ "}, %u) = %d EBADF (%m)\n", + h_port, len, ret); + } + +@@ -541,9 +552,8 @@ + " = %d EBADF (%m)\n", len, ret); + + u.sa->sa_family = AF_BLUETOOTH; +- ++len; + ret = connect(-1, (void *) u.st, len); +- printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"00\"}, %u)" ++ printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)" + " = %d EBADF (%m)\n", len, ret); + } + +Index: strace-4.24/tests-mx32/net-sockaddr.c +=================================================================== +--- strace-4.24.orig/tests-mx32/net-sockaddr.c 2020-01-26 13:47:02.282446861 +0100 ++++ strace-4.24/tests-mx32/net-sockaddr.c 2020-01-26 13:47:08.979575395 +0100 +@@ -384,11 +384,22 @@ + TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_hci, hci); + hci->hci_family = AF_BLUETOOTH; + hci->hci_dev = htobs(h_port); ++# ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL + hci->hci_channel = HCI_CHANNEL_RAW; ++# endif + unsigned int len = sizeof(*hci); +- int ret = connect(-1, (void *) hci, len); ++ ++ int ret = connect(-1, (void *) hci, 4); ++ printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" ++ "}, 4) = %d EBADF (%m)\n", ++ h_port, ret); ++ ++ ret = connect(-1, (void *) hci, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" +- ", hci_channel=HCI_CHANNEL_RAW}, %u) = %d EBADF (%m)\n", ++# ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL ++ ", hci_channel=HCI_CHANNEL_RAW" ++# endif ++ "}, %u) = %d EBADF (%m)\n", + h_port, len, ret); + } + +@@ -541,9 +552,8 @@ + " = %d EBADF (%m)\n", len, ret); + + u.sa->sa_family = AF_BLUETOOTH; +- ++len; + ret = connect(-1, (void *) u.st, len); +- printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"00\"}, %u)" ++ printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)" + " = %d EBADF (%m)\n", len, ret); + } + +Index: strace-4.24/configure +=================================================================== +--- strace-4.24.orig/configure 2020-01-26 13:47:02.285446919 +0100 ++++ strace-4.24/configure 2020-01-26 13:47:08.981575433 +0100 +@@ -11240,6 +11240,18 @@ + #define HAVE_BLUETOOTH_BLUETOOTH_H 1 + _ACEOF + ++ ac_fn_c_check_member "$LINENO" "struct sockaddr_hci" "hci_channel" "ac_cv_member_struct_sockaddr_hci_hci_channel" "#include ++ #include ++" ++if test "x$ac_cv_member_struct_sockaddr_hci_hci_channel" = xyes; then : ++ ++cat >>confdefs.h <<_ACEOF ++#define HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL 1 ++_ACEOF ++ ++ ++fi ++ + ac_fn_c_check_member "$LINENO" "struct sockaddr_l2" "l2_bdaddr_type" "ac_cv_member_struct_sockaddr_l2_l2_bdaddr_type" "#include + #include + " +Index: strace-4.24/config.h.in +=================================================================== +--- strace-4.24.orig/config.h.in 2020-01-26 13:47:02.287446957 +0100 ++++ strace-4.24/config.h.in 2020-01-26 13:47:08.982575452 +0100 +@@ -1315,6 +1315,9 @@ + /* Define to 1 if the system has the type `struct sigcontext'. */ + #undef HAVE_STRUCT_SIGCONTEXT + ++/* Define to 1 if `hci_channel' is a member of `struct sockaddr_hci'. */ ++#undef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL ++ + /* Define to 1 if `l2_bdaddr_type' is a member of `struct sockaddr_l2'. */ + #undef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + diff --git a/SOURCES/0043-tests-fix-expected-output-for-some-ipc-tests.patch b/SOURCES/0043-tests-fix-expected-output-for-some-ipc-tests.patch new file mode 100644 index 0000000..a05241d --- /dev/null +++ b/SOURCES/0043-tests-fix-expected-output-for-some-ipc-tests.patch @@ -0,0 +1,90 @@ +From 4377e3a1535a0ec3a42da8a1366ad6943f4efa0e Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Sun, 4 Aug 2019 08:47:00 +0000 +Subject: [PATCH] tests: fix expected output for some ipc tests + +* tests/gen_tests.in (ipc_msgbuf-Xraw, ipc_shm, ipc_shm-Xabbrev, +ipc_shm-Xverbose): Adjust -a argument. +--- +Backport changes: + * tests/gen_tests.in change is copied over to tests-m32/gen_tests.in + and tests-m32/gen_tests.in +--- + tests/gen_tests.in | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +Index: strace-4.24/tests/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests/gen_tests.in 2020-01-27 18:21:22.896068950 +0100 ++++ strace-4.24/tests/gen_tests.in 2020-01-27 18:21:42.169892032 +0100 +@@ -147,16 +147,16 @@ + ipc_msg-Xraw +ipc.sh -Xraw -a16 + ipc_msg-Xverbose +ipc.sh -Xverbose -a34 + ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 ++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 + ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose + ipc_sem +ipc.sh -a29 + ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 + ipc_sem-Xraw +ipc.sh -Xraw -a19 + ipc_sem-Xverbose +ipc.sh -Xverbose -a36 +-ipc_shm +ipc.sh -a29 +-ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 ++ipc_shm +ipc.sh -a26 ++ipc_shm-Xabbrev +ipc.sh -Xabbrev -a26 + ipc_shm-Xraw +ipc.sh -Xraw -a19 +-ipc_shm-Xverbose +ipc.sh -Xverbose -a36 ++ipc_shm-Xverbose +ipc.sh -Xverbose -a34 + kcmp -a22 + kcmp-y -a22 -y -e trace=kcmp + kern_features -a16 +Index: strace-4.24/tests-m32/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests-m32/gen_tests.in 2020-01-27 18:21:36.149947290 +0100 ++++ strace-4.24/tests-m32/gen_tests.in 2020-01-27 18:38:00.954898561 +0100 +@@ -147,16 +147,16 @@ + ipc_msg-Xraw +ipc.sh -Xraw -a16 + ipc_msg-Xverbose +ipc.sh -Xverbose -a34 + ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 ++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 + ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose + ipc_sem +ipc.sh -a29 + ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 + ipc_sem-Xraw +ipc.sh -Xraw -a19 + ipc_sem-Xverbose +ipc.sh -Xverbose -a36 +-ipc_shm +ipc.sh -a29 +-ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 ++ipc_shm +ipc.sh -a26 ++ipc_shm-Xabbrev +ipc.sh -Xabbrev -a26 + ipc_shm-Xraw +ipc.sh -Xraw -a19 +-ipc_shm-Xverbose +ipc.sh -Xverbose -a36 ++ipc_shm-Xverbose +ipc.sh -Xverbose -a34 + kcmp -a22 + kcmp-y -a22 -y -e trace=kcmp + kern_features -a16 +Index: strace-4.24/tests-mx32/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests-mx32/gen_tests.in 2020-01-27 18:21:37.445935394 +0100 ++++ strace-4.24/tests-mx32/gen_tests.in 2020-01-27 18:37:59.481911731 +0100 +@@ -147,16 +147,16 @@ + ipc_msg-Xraw +ipc.sh -Xraw -a16 + ipc_msg-Xverbose +ipc.sh -Xverbose -a34 + ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 ++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 + ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose + ipc_sem +ipc.sh -a29 + ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 + ipc_sem-Xraw +ipc.sh -Xraw -a19 + ipc_sem-Xverbose +ipc.sh -Xverbose -a36 +-ipc_shm +ipc.sh -a29 +-ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 ++ipc_shm +ipc.sh -a26 ++ipc_shm-Xabbrev +ipc.sh -Xabbrev -a26 + ipc_shm-Xraw +ipc.sh -Xraw -a19 +-ipc_shm-Xverbose +ipc.sh -Xverbose -a36 ++ipc_shm-Xverbose +ipc.sh -Xverbose -a34 + kcmp -a22 + kcmp-y -a22 -y -e trace=kcmp + kern_features -a16 diff --git a/SOURCES/0044-tests-fix-a-argument-in-ipc_msgbuf-Xraw-test.patch b/SOURCES/0044-tests-fix-a-argument-in-ipc_msgbuf-Xraw-test.patch new file mode 100644 index 0000000..3ce20d2 --- /dev/null +++ b/SOURCES/0044-tests-fix-a-argument-in-ipc_msgbuf-Xraw-test.patch @@ -0,0 +1,53 @@ +From a75c7c4bcb6b48680275de3e99e17e0ebec811ec Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Thu, 7 Nov 2019 19:58:36 +0000 +Subject: [PATCH] tests: fix -a argument in ipc_msgbuf-Xraw test + +* tests/gen_tests.in (ipc_msgbuf-Xraw): Change -a argument from 20 to 19. +--- +Backport change: + * tests/gen_tests.in change has been copied over to tests-m32/gen_tests.in + and tests-mx32/gen_tests.in. +--- + tests/gen_tests.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: strace-4.24/tests/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests/gen_tests.in 2020-01-27 18:21:42.169892032 +0100 ++++ strace-4.24/tests/gen_tests.in 2020-01-27 18:38:14.935773561 +0100 +@@ -147,7 +147,7 @@ + ipc_msg-Xraw +ipc.sh -Xraw -a16 + ipc_msg-Xverbose +ipc.sh -Xverbose -a34 + ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 ++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a19 + ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose + ipc_sem +ipc.sh -a29 + ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 +Index: strace-4.24/tests-m32/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests-m32/gen_tests.in 2020-01-27 18:38:00.954898561 +0100 ++++ strace-4.24/tests-m32/gen_tests.in 2020-01-27 18:38:23.407697816 +0100 +@@ -147,7 +147,7 @@ + ipc_msg-Xraw +ipc.sh -Xraw -a16 + ipc_msg-Xverbose +ipc.sh -Xverbose -a34 + ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 ++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a19 + ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose + ipc_sem +ipc.sh -a29 + ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 +Index: strace-4.24/tests-mx32/gen_tests.in +=================================================================== +--- strace-4.24.orig/tests-mx32/gen_tests.in 2020-01-27 18:37:59.481911731 +0100 ++++ strace-4.24/tests-mx32/gen_tests.in 2020-01-27 18:38:24.645686747 +0100 +@@ -147,7 +147,7 @@ + ipc_msg-Xraw +ipc.sh -Xraw -a16 + ipc_msg-Xverbose +ipc.sh -Xverbose -a34 + ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 ++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a19 + ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose + ipc_sem +ipc.sh -a29 + ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 diff --git a/SOURCES/0045-Fix-preprocessor-indentation.patch b/SOURCES/0045-Fix-preprocessor-indentation.patch new file mode 100644 index 0000000..60e0180 --- /dev/null +++ b/SOURCES/0045-Fix-preprocessor-indentation.patch @@ -0,0 +1,288 @@ +From d6c71dd0611e7e337edaf36c35ad51a90f404b14 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Sun, 30 Dec 2018 15:35:21 +0000 +Subject: [PATCH] Fix preprocessor indentation + +Indent the C preprocessor directives to reflect their nesting +using the following script: + +$ cppi -l $(git grep -El '^[[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif|define|pragma)[[:space:]]' |grep -v '\.sh$') |while read f; do + cppi < "$f" > "$f".cppi; mv "$f".cppi "$f" +done +--- + bpf_attr.h | 106 ++++++++++++++++++++++++++++++------------------------------- + 1 file changed, 53 insertions(+), 53 deletions(-) + +diff --git a/bpf_attr.h b/bpf_attr.h +index 925221d..dc7694c 100644 +--- a/bpf_attr.h ++++ b/bpf_attr.h +@@ -6,7 +6,7 @@ + */ + + #ifndef STRACE_BPF_ATTR_H +-#define STRACE_BPF_ATTR_H ++# define STRACE_BPF_ATTR_H + + /* + * The policy is that all fields of type uint64_t in this header file +@@ -19,21 +19,21 @@ + * v4.16-rc1~123^2~109^2~5^2~4. + */ + +-#ifndef BPF_OBJ_NAME_LEN +-# define BPF_OBJ_NAME_LEN 16U +-#else +-# if BPF_OBJ_NAME_LEN != 16U +-# error "Unexpected value of BPF_OBJ_NAME_LEN" ++# ifndef BPF_OBJ_NAME_LEN ++# define BPF_OBJ_NAME_LEN 16U ++# else ++# if BPF_OBJ_NAME_LEN != 16U ++# error "Unexpected value of BPF_OBJ_NAME_LEN" ++# endif + # endif +-#endif + +-#ifndef BPF_TAG_SIZE +-# define BPF_TAG_SIZE 8 +-#else +-# if BPF_TAG_SIZE != 8 +-# error "Unexpected value of BPF_TAG_SIZE" ++# ifndef BPF_TAG_SIZE ++# define BPF_TAG_SIZE 8 ++# else ++# if BPF_TAG_SIZE != 8 ++# error "Unexpected value of BPF_TAG_SIZE" ++# endif + # endif +-#endif + + struct BPF_MAP_CREATE_struct { + uint32_t map_type; +@@ -47,9 +47,9 @@ struct BPF_MAP_CREATE_struct { + uint32_t map_ifindex; + }; + +-#define BPF_MAP_CREATE_struct_size \ ++# define BPF_MAP_CREATE_struct_size \ + sizeof(struct BPF_MAP_CREATE_struct) +-#define expected_BPF_MAP_CREATE_struct_size 48 ++# define expected_BPF_MAP_CREATE_struct_size 48 + + struct BPF_MAP_LOOKUP_ELEM_struct { + uint32_t map_fd; +@@ -57,9 +57,9 @@ struct BPF_MAP_LOOKUP_ELEM_struct { + uint64_t ATTRIBUTE_ALIGNED(8) value; + }; + +-#define BPF_MAP_LOOKUP_ELEM_struct_size \ ++# define BPF_MAP_LOOKUP_ELEM_struct_size \ + sizeof(struct BPF_MAP_LOOKUP_ELEM_struct) +-#define expected_BPF_MAP_LOOKUP_ELEM_struct_size 24 ++# define expected_BPF_MAP_LOOKUP_ELEM_struct_size 24 + + struct BPF_MAP_UPDATE_ELEM_struct { + uint32_t map_fd; +@@ -68,18 +68,18 @@ struct BPF_MAP_UPDATE_ELEM_struct { + uint64_t ATTRIBUTE_ALIGNED(8) flags; + }; + +-#define BPF_MAP_UPDATE_ELEM_struct_size \ ++# define BPF_MAP_UPDATE_ELEM_struct_size \ + sizeof(struct BPF_MAP_UPDATE_ELEM_struct) +-#define expected_BPF_MAP_UPDATE_ELEM_struct_size 32 ++# define expected_BPF_MAP_UPDATE_ELEM_struct_size 32 + + struct BPF_MAP_DELETE_ELEM_struct { + uint32_t map_fd; + uint64_t ATTRIBUTE_ALIGNED(8) key; + }; + +-#define BPF_MAP_DELETE_ELEM_struct_size \ ++# define BPF_MAP_DELETE_ELEM_struct_size \ + sizeof(struct BPF_MAP_DELETE_ELEM_struct) +-#define expected_BPF_MAP_DELETE_ELEM_struct_size 16 ++# define expected_BPF_MAP_DELETE_ELEM_struct_size 16 + + struct BPF_MAP_GET_NEXT_KEY_struct { + uint32_t map_fd; +@@ -87,9 +87,9 @@ struct BPF_MAP_GET_NEXT_KEY_struct { + uint64_t ATTRIBUTE_ALIGNED(8) next_key; + }; + +-#define BPF_MAP_GET_NEXT_KEY_struct_size \ ++# define BPF_MAP_GET_NEXT_KEY_struct_size \ + sizeof(struct BPF_MAP_GET_NEXT_KEY_struct) +-#define expected_BPF_MAP_GET_NEXT_KEY_struct_size 24 ++# define expected_BPF_MAP_GET_NEXT_KEY_struct_size 24 + + struct BPF_PROG_LOAD_struct { + uint32_t prog_type; +@@ -106,9 +106,9 @@ struct BPF_PROG_LOAD_struct { + uint32_t expected_attach_type; + }; + +-#define BPF_PROG_LOAD_struct_size \ ++# define BPF_PROG_LOAD_struct_size \ + offsetofend(struct BPF_PROG_LOAD_struct, expected_attach_type) +-#define expected_BPF_PROG_LOAD_struct_size 72 ++# define expected_BPF_PROG_LOAD_struct_size 72 + + struct BPF_OBJ_PIN_struct { + uint64_t ATTRIBUTE_ALIGNED(8) pathname; +@@ -116,12 +116,12 @@ struct BPF_OBJ_PIN_struct { + uint32_t file_flags; + }; + +-#define BPF_OBJ_PIN_struct_size \ ++# define BPF_OBJ_PIN_struct_size \ + sizeof(struct BPF_OBJ_PIN_struct) +-#define expected_BPF_OBJ_PIN_struct_size 16 ++# define expected_BPF_OBJ_PIN_struct_size 16 + +-#define BPF_OBJ_GET_struct BPF_OBJ_PIN_struct +-#define BPF_OBJ_GET_struct_size BPF_OBJ_PIN_struct_size ++# define BPF_OBJ_GET_struct BPF_OBJ_PIN_struct ++# define BPF_OBJ_GET_struct_size BPF_OBJ_PIN_struct_size + + struct BPF_PROG_ATTACH_struct { + uint32_t target_fd; +@@ -130,9 +130,9 @@ struct BPF_PROG_ATTACH_struct { + uint32_t attach_flags; + }; + +-#define BPF_PROG_ATTACH_struct_size \ ++# define BPF_PROG_ATTACH_struct_size \ + sizeof(struct BPF_PROG_ATTACH_struct) +-#define expected_BPF_PROG_ATTACH_struct_size 16 ++# define expected_BPF_PROG_ATTACH_struct_size 16 + + struct BPF_PROG_DETACH_struct { + uint32_t target_fd; +@@ -140,9 +140,9 @@ struct BPF_PROG_DETACH_struct { + uint32_t attach_type; + }; + +-#define BPF_PROG_DETACH_struct_size \ ++# define BPF_PROG_DETACH_struct_size \ + sizeof(struct BPF_PROG_DETACH_struct) +-#define expected_BPF_PROG_DETACH_struct_size 12 ++# define expected_BPF_PROG_DETACH_struct_size 12 + + struct BPF_PROG_TEST_RUN_struct /* test */ { + uint32_t prog_fd; +@@ -155,9 +155,9 @@ struct BPF_PROG_TEST_RUN_struct /* test */ { + uint32_t duration; + }; + +-#define BPF_PROG_TEST_RUN_struct_size \ ++# define BPF_PROG_TEST_RUN_struct_size \ + sizeof(struct BPF_PROG_TEST_RUN_struct) +-#define expected_BPF_PROG_TEST_RUN_struct_size 40 ++# define expected_BPF_PROG_TEST_RUN_struct_size 40 + + struct BPF_PROG_GET_NEXT_ID_struct { + uint32_t start_id; +@@ -165,12 +165,12 @@ struct BPF_PROG_GET_NEXT_ID_struct { + uint32_t open_flags; + }; + +-#define BPF_PROG_GET_NEXT_ID_struct_size \ ++# define BPF_PROG_GET_NEXT_ID_struct_size \ + sizeof(struct BPF_PROG_GET_NEXT_ID_struct) +-#define expected_BPF_PROG_GET_NEXT_ID_struct_size 12 ++# define expected_BPF_PROG_GET_NEXT_ID_struct_size 12 + +-#define BPF_MAP_GET_NEXT_ID_struct BPF_PROG_GET_NEXT_ID_struct +-#define BPF_MAP_GET_NEXT_ID_struct_size BPF_PROG_GET_NEXT_ID_struct_size ++# define BPF_MAP_GET_NEXT_ID_struct BPF_PROG_GET_NEXT_ID_struct ++# define BPF_MAP_GET_NEXT_ID_struct_size BPF_PROG_GET_NEXT_ID_struct_size + + struct BPF_PROG_GET_FD_BY_ID_struct { + uint32_t prog_id; +@@ -178,9 +178,9 @@ struct BPF_PROG_GET_FD_BY_ID_struct { + uint32_t open_flags; + }; + +-#define BPF_PROG_GET_FD_BY_ID_struct_size \ ++# define BPF_PROG_GET_FD_BY_ID_struct_size \ + sizeof(struct BPF_PROG_GET_FD_BY_ID_struct) +-#define expected_BPF_PROG_GET_FD_BY_ID_struct_size 12 ++# define expected_BPF_PROG_GET_FD_BY_ID_struct_size 12 + + struct BPF_MAP_GET_FD_BY_ID_struct { + uint32_t map_id; +@@ -188,9 +188,9 @@ struct BPF_MAP_GET_FD_BY_ID_struct { + uint32_t open_flags; + }; + +-#define BPF_MAP_GET_FD_BY_ID_struct_size \ ++# define BPF_MAP_GET_FD_BY_ID_struct_size \ + sizeof(struct BPF_MAP_GET_FD_BY_ID_struct) +-#define expected_BPF_MAP_GET_FD_BY_ID_struct_size 12 ++# define expected_BPF_MAP_GET_FD_BY_ID_struct_size 12 + + struct BPF_OBJ_GET_INFO_BY_FD_struct /* info */ { + uint32_t bpf_fd; +@@ -198,9 +198,9 @@ struct BPF_OBJ_GET_INFO_BY_FD_struct /* info */ { + uint64_t ATTRIBUTE_ALIGNED(8) info; + }; + +-#define BPF_OBJ_GET_INFO_BY_FD_struct_size \ ++# define BPF_OBJ_GET_INFO_BY_FD_struct_size \ + sizeof(struct BPF_OBJ_GET_INFO_BY_FD_struct) +-#define expected_BPF_OBJ_GET_INFO_BY_FD_struct_size 16 ++# define expected_BPF_OBJ_GET_INFO_BY_FD_struct_size 16 + + struct BPF_PROG_QUERY_struct /* query */ { + uint32_t target_fd; +@@ -211,18 +211,18 @@ struct BPF_PROG_QUERY_struct /* query */ { + uint32_t prog_cnt; + }; + +-#define BPF_PROG_QUERY_struct_size \ ++# define BPF_PROG_QUERY_struct_size \ + offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt) +-#define expected_BPF_PROG_QUERY_struct_size 28 ++# define expected_BPF_PROG_QUERY_struct_size 28 + + struct BPF_RAW_TRACEPOINT_OPEN_struct /* raw_tracepoint */ { + uint64_t ATTRIBUTE_ALIGNED(8) name; + uint32_t prog_fd; + }; + +-#define BPF_RAW_TRACEPOINT_OPEN_struct_size \ ++# define BPF_RAW_TRACEPOINT_OPEN_struct_size \ + offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, prog_fd) +-#define expected_BPF_RAW_TRACEPOINT_OPEN_struct_size 12 ++# define expected_BPF_RAW_TRACEPOINT_OPEN_struct_size 12 + + struct bpf_map_info_struct { + uint32_t type; +@@ -241,9 +241,9 @@ struct bpf_map_info_struct { + uint64_t ATTRIBUTE_ALIGNED(8) netns_ino; /* skip check */ + }; + +-#define bpf_map_info_struct_size \ ++# define bpf_map_info_struct_size \ + sizeof(struct bpf_map_info_struct) +-#define expected_bpf_map_info_struct_size 64 ++# define expected_bpf_map_info_struct_size 64 + + struct bpf_prog_info_struct { + uint32_t type; +@@ -267,8 +267,8 @@ struct bpf_prog_info_struct { + uint64_t ATTRIBUTE_ALIGNED(8) netns_ino; /* skip check */ + }; + +-#define bpf_prog_info_struct_size \ ++# define bpf_prog_info_struct_size \ + sizeof(struct bpf_prog_info_struct) +-#define expected_bpf_prog_info_struct_size 104 ++# define expected_bpf_prog_info_struct_size 104 + + #endif /* !STRACE_BPF_ATTR_H */ +-- +2.1.4 + diff --git a/SOURCES/0046-bpf-exclude-bit-fields-from-the-check.patch b/SOURCES/0046-bpf-exclude-bit-fields-from-the-check.patch new file mode 100644 index 0000000..4356351 --- /dev/null +++ b/SOURCES/0046-bpf-exclude-bit-fields-from-the-check.patch @@ -0,0 +1,28 @@ +From 579f27020c59c426a8fef8b970da9907f59809f8 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 12 Mar 2019 11:17:20 +0000 +Subject: [PATCH] bpf: exclude bit fields from the check + +Currently we have no instruments to check the size and offsets +of bit fields. + +* gen_bpf_attr_check.sh: Do not print bit fields. +* m4/gen_bpf_attr_m4.awk: Likewise. +--- + gen_bpf_attr_check.sh | 2 +- + m4/gen_bpf_attr_m4.awk | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: strace-4.24/gen_bpf_attr_check.sh +=================================================================== +--- strace-4.24.orig/gen_bpf_attr_check.sh 2020-01-30 13:18:02.606944355 +0100 ++++ strace-4.24/gen_bpf_attr_check.sh 2020-01-30 13:31:03.710562191 +0100 +@@ -30,7 +30,7 @@ + enum="$enum${enum:+.}" + ENUM="$ENUM${ENUM:+_}" + sed -n '/^struct '"$struct"' [^{]*{/,/^};$/p' < "$input" | +- sed -n 's/^[[:space:]]\+[^][;]*[[:space:]]\([^][[:space:];]\+\)\(\[[^;]*\]\)\?;$/\1/p' | ++ sed -n 's/^[[:space:]]\+[^][;:]*[[:space:]]\([^][[:space:];:]\+\)\(\[[^;:]*\]\)\?;$/\1/p' | + while read field; do + FIELD="$(printf %s "$field" |tr '[:lower:]' '[:upper:]')" + cat < +Date: Tue, 12 Mar 2019 11:17:20 +0000 +Subject: [PATCH] bpf: print struct bpf_prog_info.gpl_compatible + +This bit field was added by Linux commit v4.18-rc1~114^2~376^2~6. + +* bpf_attr.h (struct bpf_prog_info_struct): Add gpl_compatible field. +* bpf.c (print_bpf_prog_info): Print gpl_compatible field. +* tests/bpf-obj_get_info_by_fd.c (main): Update expected output. +--- + bpf.c | 5 ++++- + bpf_attr.h | 1 + + tests/bpf-obj_get_info_by_fd.c | 3 +++ + 3 files changed, 8 insertions(+), 1 deletion(-) + +Index: strace-4.24/bpf.c +=================================================================== +--- strace-4.24.orig/bpf.c 2020-01-28 00:12:27.629445789 +0100 ++++ strace-4.24/bpf.c 2020-01-28 00:14:36.905228319 +0100 +@@ -528,11 +528,14 @@ + + /* + * ifindex, netns_dev, and netns_ino fields were introduced +- * by Linux commit v4.16-rc1~123^2~227^2~5^2~2. ++ * by Linux commit v4.16-rc1~123^2~227^2~5^2~2, and ++ * gpl_compatible was added later by Linux commit ++ * v4.18-rc1~114^2~376^2~6. + */ + if (len <= offsetof(struct bpf_prog_info_struct, ifindex)) + goto print_bpf_prog_info_end; + PRINT_FIELD_IFINDEX(", ", info, ifindex); ++ tprintf(", gpl_compatible=%u", info.gpl_compatible); + PRINT_FIELD_DEV(", ", info, netns_dev); + PRINT_FIELD_U(", ", info, netns_ino); + +Index: strace-4.24/bpf_attr.h +=================================================================== +--- strace-4.24.orig/bpf_attr.h 2020-01-28 00:14:12.107461855 +0100 ++++ strace-4.24/bpf_attr.h 2020-01-28 00:14:36.905228319 +0100 +@@ -259,6 +259,7 @@ + uint64_t ATTRIBUTE_ALIGNED(8) map_ids; + char name[BPF_OBJ_NAME_LEN]; + uint32_t ifindex; ++ uint32_t gpl_compatible:1; + /* + * The kernel UAPI is broken by Linux commit + * v4.16-rc1~123^2~227^2~5^2~2 . +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:12:27.629445789 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:14:36.905228319 +0100 +@@ -461,6 +461,9 @@ + offsetof(struct bpf_prog_info_struct, ifindex)) + printf(", ifindex=%u", prog_info->ifindex); + if (bpf_prog_get_info_attr.info_len > ++ offsetofend(struct bpf_prog_info_struct, ifindex)) ++ printf(", gpl_compatible=%u", prog_info->gpl_compatible); ++ if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(prog_info->netns_dev), +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-27 17:41:26.542587684 +0100 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:16.441855977 +0100 +@@ -461,6 +461,9 @@ + offsetof(struct bpf_prog_info_struct, ifindex)) + printf(", ifindex=%u", prog_info->ifindex); + if (bpf_prog_get_info_attr.info_len > ++ offsetofend(struct bpf_prog_info_struct, ifindex)) ++ printf(", gpl_compatible=%u", prog_info->gpl_compatible); ++ if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(prog_info->netns_dev), +Index: strace-4.24/tests-m32/bpf.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf.c 2018-07-11 02:00:57.000000000 +0200 ++++ strace-4.24/tests-m32/bpf.c 2020-01-28 00:15:08.917926835 +0100 +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-27 17:41:26.542587684 +0100 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:18.824833536 +0100 +@@ -461,6 +461,9 @@ + offsetof(struct bpf_prog_info_struct, ifindex)) + printf(", ifindex=%u", prog_info->ifindex); + if (bpf_prog_get_info_attr.info_len > ++ offsetofend(struct bpf_prog_info_struct, ifindex)) ++ printf(", gpl_compatible=%u", prog_info->gpl_compatible); ++ if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(prog_info->netns_dev), +Index: strace-4.24/tests-mx32/bpf.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf.c 2018-07-11 02:00:57.000000000 +0200 ++++ strace-4.24/tests-mx32/bpf.c 2020-01-28 00:15:10.852908612 +0100 +@@ -5,27 +5,7 @@ + * Copyright (c) 2015-2018 The strace developers. + * All rights reserved. + * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. The name of the author may not be used to endorse or promote products +- * derived from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * SPDX-License-Identifier: GPL-2.0-or-later + */ + + #include "tests.h" diff --git a/SOURCES/0048-bpf-add-support-for-btf_-fields-in-BPF_MAP_CREATE.patch b/SOURCES/0048-bpf-add-support-for-btf_-fields-in-BPF_MAP_CREATE.patch new file mode 100644 index 0000000..3dc1ffe --- /dev/null +++ b/SOURCES/0048-bpf-add-support-for-btf_-fields-in-BPF_MAP_CREATE.patch @@ -0,0 +1,199 @@ +From 14a9b6ca66109fc1231eb16e98a9ce4262fb610c Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 12 Mar 2019 11:17:20 +0000 +Subject: [PATCH] bpf: add support for btf_* fields in BPF_MAP_CREATE + +* bpf_attr.h (struct BPF_MAP_CREATE_struct): Add btf_fd, +btf_key_type_id, and btf_value_type_id fields. +* bpf.c (BEGIN_BPF_CMD_DECODER(BPF_MAP_CREATE)): Decode btf_fd, +btf_key_type_id, and btf_value_type_id fields introduced by Linux +commits v4.18-rc1~114^2~417^2~1^2~3 and v4.18-rc1~114^2~148^2~7^2~2. +* tests/bpf.c (BPF_MAP_CREATE_checks): Check it. +* tests/bpf-obj_get_info_by_fd.c (print_map_create): Update expected +output. +--- + bpf.c | 10 ++++++++++ + bpf_attr.h | 5 ++++- + tests/bpf-obj_get_info_by_fd.c | 4 ++++ + tests/bpf.c | 20 ++++++++++++++++++++ + 4 files changed, 38 insertions(+), 1 deletion(-) + +Index: strace-4.24/bpf.c +=================================================================== +--- strace-4.24.orig/bpf.c 2020-01-28 00:14:36.905228319 +0100 ++++ strace-4.24/bpf.c 2020-01-28 00:15:26.973756792 +0100 +@@ -212,6 +212,16 @@ + if (len <= offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + break; + PRINT_FIELD_IFINDEX(", ", attr, map_ifindex); ++ ++ /* ++ * The following three fields were introduced by Linux commits ++ * v4.18-rc1~114^2~417^2~1^2~3 and v4.18-rc1~114^2~148^2~7^2~2. ++ */ ++ if (len <= offsetof(struct BPF_MAP_CREATE_struct, btf_fd)) ++ break; ++ PRINT_FIELD_FD(", ", attr, btf_fd, tcp); ++ PRINT_FIELD_U(", ", attr, btf_key_type_id); ++ PRINT_FIELD_U(", ", attr, btf_value_type_id); + } + END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD) + +Index: strace-4.24/bpf_attr.h +=================================================================== +--- strace-4.24.orig/bpf_attr.h 2020-01-28 00:14:36.905228319 +0100 ++++ strace-4.24/bpf_attr.h 2020-01-28 00:15:26.974756783 +0100 +@@ -45,11 +45,14 @@ + uint32_t numa_node; + char map_name[BPF_OBJ_NAME_LEN]; + uint32_t map_ifindex; ++ uint32_t btf_fd; ++ uint32_t btf_key_type_id; ++ uint32_t btf_value_type_id; + }; + + # define BPF_MAP_CREATE_struct_size \ + sizeof(struct BPF_MAP_CREATE_struct) +-# define expected_BPF_MAP_CREATE_struct_size 48 ++# define expected_BPF_MAP_CREATE_struct_size 60 + + struct BPF_MAP_LOOKUP_ELEM_struct { + uint32_t map_fd; +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:14:36.905228319 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:26.974756783 +0100 +@@ -84,6 +84,10 @@ + printf(", map_name=\"test_map\""); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + printf(", map_ifindex=0"); ++ if (size > offsetof(struct BPF_MAP_CREATE_struct, btf_fd)) { ++ printf(", btf_fd=0" ++ ", btf_key_type_id=0, btf_value_type_id=0"); ++ } + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); +Index: strace-4.24/tests/bpf.c +=================================================================== +--- strace-4.24.orig/tests/bpf.c 2020-01-28 00:14:36.905228319 +0100 ++++ strace-4.24/tests/bpf.c 2020-01-28 00:15:26.975756773 +0100 +@@ -400,6 +400,26 @@ + ", map_ifindex=" IFINDEX_LO_STR, + .init_fn = init_BPF_MAP_CREATE_attr7, + }, ++ { /* 8 */ ++ .data = { .BPF_MAP_CREATE_data = { ++ .btf_fd = 0xbadc0ded, ++ .btf_key_type_id = 0xfacefeed, ++ .btf_value_type_id = 0xcafef00d ++ } }, ++ .size = offsetofend(struct BPF_MAP_CREATE_struct, ++ btf_value_type_id), ++ .str = "map_type=BPF_MAP_TYPE_UNSPEC" ++ ", key_size=0" ++ ", value_size=0" ++ ", max_entries=0" ++ ", map_flags=0" ++ ", inner_map_fd=0" ++ ", map_name=\"\"" ++ ", map_ifindex=0" ++ ", btf_fd=-1159983635" ++ ", btf_key_type_id=4207869677" ++ ", btf_value_type_id=3405705229" ++ }, + }; + + static const struct bpf_attr_check BPF_MAP_LOOKUP_ELEM_checks[] = { +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:16.441855977 +0100 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:51.739523557 +0100 +@@ -84,6 +84,10 @@ + printf(", map_name=\"test_map\""); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + printf(", map_ifindex=0"); ++ if (size > offsetof(struct BPF_MAP_CREATE_struct, btf_fd)) { ++ printf(", btf_fd=0" ++ ", btf_key_type_id=0, btf_value_type_id=0"); ++ } + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); +Index: strace-4.24/tests-m32/bpf.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf.c 2020-01-28 00:15:08.917926835 +0100 ++++ strace-4.24/tests-m32/bpf.c 2020-01-28 00:15:45.840579111 +0100 +@@ -400,6 +400,26 @@ + ", map_ifindex=" IFINDEX_LO_STR, + .init_fn = init_BPF_MAP_CREATE_attr7, + }, ++ { /* 8 */ ++ .data = { .BPF_MAP_CREATE_data = { ++ .btf_fd = 0xbadc0ded, ++ .btf_key_type_id = 0xfacefeed, ++ .btf_value_type_id = 0xcafef00d ++ } }, ++ .size = offsetofend(struct BPF_MAP_CREATE_struct, ++ btf_value_type_id), ++ .str = "map_type=BPF_MAP_TYPE_UNSPEC" ++ ", key_size=0" ++ ", value_size=0" ++ ", max_entries=0" ++ ", map_flags=0" ++ ", inner_map_fd=0" ++ ", map_name=\"\"" ++ ", map_ifindex=0" ++ ", btf_fd=-1159983635" ++ ", btf_key_type_id=4207869677" ++ ", btf_value_type_id=3405705229" ++ }, + }; + + static const struct bpf_attr_check BPF_MAP_LOOKUP_ELEM_checks[] = { +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:18.824833536 +0100 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:55.110491811 +0100 +@@ -84,6 +84,10 @@ + printf(", map_name=\"test_map\""); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + printf(", map_ifindex=0"); ++ if (size > offsetof(struct BPF_MAP_CREATE_struct, btf_fd)) { ++ printf(", btf_fd=0" ++ ", btf_key_type_id=0, btf_value_type_id=0"); ++ } + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); +Index: strace-4.24/tests-mx32/bpf.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf.c 2020-01-28 00:15:10.852908612 +0100 ++++ strace-4.24/tests-mx32/bpf.c 2020-01-28 00:15:48.667552488 +0100 +@@ -400,6 +400,26 @@ + ", map_ifindex=" IFINDEX_LO_STR, + .init_fn = init_BPF_MAP_CREATE_attr7, + }, ++ { /* 8 */ ++ .data = { .BPF_MAP_CREATE_data = { ++ .btf_fd = 0xbadc0ded, ++ .btf_key_type_id = 0xfacefeed, ++ .btf_value_type_id = 0xcafef00d ++ } }, ++ .size = offsetofend(struct BPF_MAP_CREATE_struct, ++ btf_value_type_id), ++ .str = "map_type=BPF_MAP_TYPE_UNSPEC" ++ ", key_size=0" ++ ", value_size=0" ++ ", max_entries=0" ++ ", map_flags=0" ++ ", inner_map_fd=0" ++ ", map_name=\"\"" ++ ", map_ifindex=0" ++ ", btf_fd=-1159983635" ++ ", btf_key_type_id=4207869677" ++ ", btf_value_type_id=3405705229" ++ }, + }; + + static const struct bpf_attr_check BPF_MAP_LOOKUP_ELEM_checks[] = { diff --git a/SOURCES/0049-bpf-add-support-for-btf_-fields-in-struct-bpf_map_in.patch b/SOURCES/0049-bpf-add-support-for-btf_-fields-in-struct-bpf_map_in.patch new file mode 100644 index 0000000..f9a4630 --- /dev/null +++ b/SOURCES/0049-bpf-add-support-for-btf_-fields-in-struct-bpf_map_in.patch @@ -0,0 +1,119 @@ +From 27bd13d3664a6047e9431e01bd13fc04cc5e373b Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 12 Mar 2019 11:17:20 +0000 +Subject: [PATCH] bpf: add support for btf_* fields in struct bpf_map_info + +* bpf_attr.h (struct bpf_map_info_struct): Add btf_fd, btf_key_type_id, +and btf_value_type_id fields. +* bpf.c (print_bpf_map_info): Decode btf_fd, btf_key_type_id, +and btf_value_type_id fields introduced by Linux commits +v4.18-rc1~114^2~223^2~21^2~4 and v4.18-rc1~114^2~148^2~7^2~2. +* tests/bpf-obj_get_info_by_fd.c (main): Update expected output. +--- + bpf.c | 10 ++++++++++ + bpf_attr.h | 7 +++++-- + tests/bpf-obj_get_info_by_fd.c | 9 +++++++++ + 3 files changed, 24 insertions(+), 2 deletions(-) + +Index: strace-4.24/bpf.c +=================================================================== +--- strace-4.24.orig/bpf.c 2020-01-28 00:15:26.973756792 +0100 ++++ strace-4.24/bpf.c 2020-01-28 00:15:59.919446522 +0100 +@@ -466,6 +466,16 @@ + PRINT_FIELD_DEV(", ", info, netns_dev); + PRINT_FIELD_U(", ", info, netns_ino); + ++ /* ++ * The next three fields were introduced by Linux commits ++ * v4.18-rc1~114^2~223^2~21^2~4 and v4.18-rc1~114^2~148^2~7^2~2. ++ */ ++ if (len <= offsetof(struct bpf_map_info_struct, btf_id)) ++ goto print_bpf_map_info_end; ++ PRINT_FIELD_U(", ", info, btf_id); ++ PRINT_FIELD_U(", ", info, btf_key_type_id); ++ PRINT_FIELD_U(", ", info, btf_value_type_id); ++ + decode_attr_extra_data(tcp, info_buf, size, bpf_map_info_struct_size); + + print_bpf_map_info_end: +Index: strace-4.24/bpf_attr.h +=================================================================== +--- strace-4.24.orig/bpf_attr.h 2020-01-28 00:15:26.974756783 +0100 ++++ strace-4.24/bpf_attr.h 2020-01-28 00:15:59.919446522 +0100 +@@ -242,11 +242,14 @@ + */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_dev; /* skip check */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_ino; /* skip check */ ++ uint32_t btf_id; ++ uint32_t btf_key_type_id; ++ uint32_t btf_value_type_id; + }; + + # define bpf_map_info_struct_size \ +- sizeof(struct bpf_map_info_struct) +-# define expected_bpf_map_info_struct_size 64 ++ offsetofend(struct bpf_map_info_struct, btf_value_type_id) ++# define expected_bpf_map_info_struct_size 76 + + struct bpf_prog_info_struct { + uint32_t type; +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:26.974756783 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:59.920446513 +0100 +@@ -324,6 +324,15 @@ + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, map_info->netns_ino); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_id); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_key_type_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_key_type_id); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_value_type_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_value_type_id); + printf("}"); + #else /* !VERBOSE */ + printf("%p", map_info); +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:51.739523557 +0100 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:14.855305862 +0100 +@@ -324,6 +324,15 @@ + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, map_info->netns_ino); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_id); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_key_type_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_key_type_id); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_value_type_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_value_type_id); + printf("}"); + #else /* !VERBOSE */ + printf("%p", map_info); +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:55.110491811 +0100 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:23.096228252 +0100 +@@ -324,6 +324,15 @@ + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, map_info->netns_ino); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_id); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_key_type_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_key_type_id); ++ if (bpf_map_get_info_attr.info_len > ++ offsetof(struct bpf_map_info_struct, btf_value_type_id)) ++ PRINT_FIELD_U(", ", *map_info, btf_value_type_id); + printf("}"); + #else /* !VERBOSE */ + printf("%p", map_info); diff --git a/SOURCES/0050-bpf-add-support-for-jited_ksyms-and-jited_func_lens-.patch b/SOURCES/0050-bpf-add-support-for-jited_ksyms-and-jited_func_lens-.patch new file mode 100644 index 0000000..723937b --- /dev/null +++ b/SOURCES/0050-bpf-add-support-for-jited_ksyms-and-jited_func_lens-.patch @@ -0,0 +1,220 @@ +From d1f90bcdc7cf95cf442321f18452d0367e80b7d5 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 12 Mar 2019 11:17:20 +0000 +Subject: [PATCH] bpf: add support for *jited_ksyms and *jited_func_lens fields + in struct bpf_prog_info + +* bpf_attr.h (struct bpf_prog_info_struct): Add nr_jited_ksyms, +nr_jited_func_lens, jited_ksyms, and jited_func_lens fields. +* bpf.c (struct obj_get_info_saved): Likewise. +(print_bpf_prog_info): Decode these fields introduced by Linux commits +v4.18-rc1~114^2~148^2~3^2~6 and v4.18-rc1~114^2~148^2~3^2~2. +* tests/bpf-obj_get_info_by_fd.c (main): Update expected output. +--- + bpf.c | 40 ++++++++++++++++++++++++++++++++++++++++ + bpf_attr.h | 6 +++++- + tests/bpf-obj_get_info_by_fd.c | 21 +++++++++++++++++++++ + 3 files changed, 66 insertions(+), 1 deletion(-) + +Index: strace-4.24/bpf.c +=================================================================== +--- strace-4.24.orig/bpf.c 2020-01-28 00:15:59.919446522 +0100 ++++ strace-4.24/bpf.c 2020-01-28 00:16:27.823183735 +0100 +@@ -427,6 +427,11 @@ + uint32_t jited_prog_len; + uint32_t xlated_prog_len; + uint32_t nr_map_ids; ++ ++ uint32_t nr_jited_ksyms; ++ uint32_t nr_jited_func_lens; ++ uint64_t jited_ksyms; ++ uint64_t jited_func_lens; + }; + + static void +@@ -497,6 +502,10 @@ + saved->jited_prog_len = info.jited_prog_len; + saved->xlated_prog_len = info.xlated_prog_len; + saved->nr_map_ids = info.nr_map_ids; ++ saved->nr_jited_ksyms = info.nr_jited_ksyms; ++ saved->nr_jited_func_lens = info.nr_jited_func_lens; ++ saved->jited_ksyms = info.jited_ksyms; ++ saved->jited_func_lens = info.jited_func_lens; + + return; + } +@@ -559,6 +568,37 @@ + PRINT_FIELD_DEV(", ", info, netns_dev); + PRINT_FIELD_U(", ", info, netns_ino); + ++ /* ++ * The next four fields were introduced by Linux commits ++ * v4.18-rc1~114^2~148^2~3^2~6 and v4.18-rc1~114^2~148^2~3^2~2. ++ */ ++ if (len <= offsetof(struct bpf_prog_info_struct, nr_jited_ksyms)) ++ goto print_bpf_prog_info_end; ++ ++ tprints(", nr_jited_ksyms="); ++ if (saved->nr_jited_ksyms != info.nr_jited_ksyms) ++ tprintf("%" PRIu32 " => ", saved->nr_jited_ksyms); ++ tprintf("%" PRIu32, info.nr_jited_ksyms); ++ ++ tprints(", nr_jited_func_lens="); ++ if (saved->nr_jited_func_lens != info.nr_jited_func_lens) ++ tprintf("%" PRIu32 " => ", saved->nr_jited_func_lens); ++ tprintf("%" PRIu32, info.nr_jited_func_lens); ++ ++ tprints(", jited_ksyms="); ++ if (saved->jited_ksyms != info.jited_ksyms) { ++ printaddr64(saved->jited_ksyms); ++ tprints(" => "); ++ } ++ printaddr64(info.jited_ksyms); ++ ++ tprints(", jited_func_lens="); ++ if (saved->jited_func_lens != info.jited_func_lens) { ++ printaddr64(saved->jited_func_lens); ++ tprints(" => "); ++ } ++ printaddr64(info.jited_func_lens); ++ + decode_attr_extra_data(tcp, info_buf, size, bpf_prog_info_struct_size); + + print_bpf_prog_info_end: +Index: strace-4.24/bpf_attr.h +=================================================================== +--- strace-4.24.orig/bpf_attr.h 2020-01-28 00:15:59.919446522 +0100 ++++ strace-4.24/bpf_attr.h 2020-01-28 00:16:27.823183735 +0100 +@@ -272,10 +272,14 @@ + */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_dev; /* skip check */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_ino; /* skip check */ ++ uint32_t nr_jited_ksyms; ++ uint32_t nr_jited_func_lens; ++ uint64_t ATTRIBUTE_ALIGNED(8) jited_ksyms; ++ uint64_t ATTRIBUTE_ALIGNED(8) jited_func_lens; + }; + + # define bpf_prog_info_struct_size \ + sizeof(struct bpf_prog_info_struct) +-# define expected_bpf_prog_info_struct_size 104 ++# define expected_bpf_prog_info_struct_size 128 + + #endif /* !STRACE_BPF_ATTR_H */ +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:15:59.920446513 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:27.823183735 +0100 +@@ -358,6 +358,8 @@ + memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; ++ prog_info->nr_jited_ksyms = 0; ++ prog_info->nr_jited_func_lens = 0; + memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: +@@ -485,6 +487,25 @@ + offsetof(struct bpf_prog_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, prog_info->netns_ino); + ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_ksyms)) { ++ printf(", nr_jited_ksyms=0"); ++ if (prog_info->nr_jited_ksyms) ++ printf(" => %u", prog_info->nr_jited_ksyms); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_func_lens)) { ++ printf(", nr_jited_func_lens=0"); ++ if (prog_info->nr_jited_func_lens) ++ printf(" => %u", prog_info->nr_jited_func_lens); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_ksyms)) ++ printf(", jited_ksyms=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_func_lens)) ++ printf(", jited_func_lens=NULL"); ++ + printf("}"); + # else /* !VERBOSE */ + printf("%p", prog_info); +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:14.855305862 +0100 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:37.300094485 +0100 +@@ -358,6 +358,8 @@ + memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; ++ prog_info->nr_jited_ksyms = 0; ++ prog_info->nr_jited_func_lens = 0; + memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: +@@ -485,6 +487,25 @@ + offsetof(struct bpf_prog_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, prog_info->netns_ino); + ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_ksyms)) { ++ printf(", nr_jited_ksyms=0"); ++ if (prog_info->nr_jited_ksyms) ++ printf(" => %u", prog_info->nr_jited_ksyms); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_func_lens)) { ++ printf(", nr_jited_func_lens=0"); ++ if (prog_info->nr_jited_func_lens) ++ printf(" => %u", prog_info->nr_jited_func_lens); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_ksyms)) ++ printf(", jited_ksyms=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_func_lens)) ++ printf(", jited_func_lens=NULL"); ++ + printf("}"); + # else /* !VERBOSE */ + printf("%p", prog_info); +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:23.096228252 +0100 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:34.082124791 +0100 +@@ -358,6 +358,8 @@ + memset(prog_info, 0, PROG_INFO_SZ); + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; ++ prog_info->nr_jited_ksyms = 0; ++ prog_info->nr_jited_func_lens = 0; + memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: +@@ -485,6 +487,25 @@ + offsetof(struct bpf_prog_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, prog_info->netns_ino); + ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_ksyms)) { ++ printf(", nr_jited_ksyms=0"); ++ if (prog_info->nr_jited_ksyms) ++ printf(" => %u", prog_info->nr_jited_ksyms); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_func_lens)) { ++ printf(", nr_jited_func_lens=0"); ++ if (prog_info->nr_jited_func_lens) ++ printf(" => %u", prog_info->nr_jited_func_lens); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_ksyms)) ++ printf(", jited_ksyms=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_func_lens)) ++ printf(", jited_func_lens=NULL"); ++ + printf("}"); + # else /* !VERBOSE */ + printf("%p", prog_info); diff --git a/SOURCES/0051-bpf-add-support-for-new-twelve-fields-in-struct-bpf_.patch b/SOURCES/0051-bpf-add-support-for-new-twelve-fields-in-struct-bpf_.patch new file mode 100644 index 0000000..5918265 --- /dev/null +++ b/SOURCES/0051-bpf-add-support-for-new-twelve-fields-in-struct-bpf_.patch @@ -0,0 +1,410 @@ +From 940fe50f5a72d2624b217ccaf720b05f06a4dd90 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 12 Mar 2019 11:17:20 +0000 +Subject: [PATCH] bpf: add support for new twelve fields in struct + bpf_prog_info + +* bpf_attr.h (struct bpf_prog_info_struct): Add btf_id, +func_info_rec_size, func_info, nr_func_info, nr_line_info, line_info, +jited_line_info, nr_jited_line_info, line_info_rec_size, +jited_line_info_rec_size, nr_prog_tags, and prog_tags fields. +* bpf.c (struct obj_get_info_saved): Add func_info_rec_size, +nr_func_info, nr_line_info, jited_line_info, nr_jited_line_info, +line_info_rec_size, jited_line_info_rec_size, and nr_prog_tags fields. +(print_bpf_prog_info): Decode the twelve fields introduced by Linux +commits v5.0-rc1~129^2~209^2~16^2~8, v5.0-rc1~129^2~114^2~5^2~6, +v5.0-rc1~129^2~114^2^2~2, and v5.0-rc1~129^2~15^2~22. +* NEWS: Mention the latest bpf decoding enhancements. +* tests/bpf-obj_get_info_by_fd.c (main): Update expected output. + +Resolves: https://github.com/strace/strace/issues/94 +--- + NEWS | 1 + + bpf.c | 78 ++++++++++++++++++++++++++++++++++++++++++ + bpf_attr.h | 14 +++++++- + tests/bpf-obj_get_info_by_fd.c | 66 +++++++++++++++++++++++++++++++++++ + 4 files changed, 158 insertions(+), 1 deletion(-) + +Index: strace-4.24/bpf.c +=================================================================== +--- strace-4.24.orig/bpf.c 2020-01-28 00:16:27.823183735 +0100 ++++ strace-4.24/bpf.c 2020-01-28 00:16:43.588035268 +0100 +@@ -432,6 +432,15 @@ + uint32_t nr_jited_func_lens; + uint64_t jited_ksyms; + uint64_t jited_func_lens; ++ ++ uint32_t func_info_rec_size; ++ uint32_t nr_func_info; ++ uint32_t nr_line_info; ++ uint32_t nr_jited_line_info; ++ uint64_t jited_line_info; ++ uint32_t line_info_rec_size; ++ uint32_t jited_line_info_rec_size; ++ uint32_t nr_prog_tags; + }; + + static void +@@ -507,6 +516,15 @@ + saved->jited_ksyms = info.jited_ksyms; + saved->jited_func_lens = info.jited_func_lens; + ++ saved->func_info_rec_size = info.func_info_rec_size; ++ saved->nr_func_info = info.nr_func_info; ++ saved->nr_line_info = info.nr_line_info; ++ saved->nr_jited_line_info = info.nr_jited_line_info; ++ saved->jited_line_info = info.jited_line_info; ++ saved->line_info_rec_size = info.line_info_rec_size; ++ saved->jited_line_info_rec_size = info.jited_line_info_rec_size; ++ saved->nr_prog_tags = info.nr_prog_tags; ++ + return; + } + +@@ -599,6 +617,66 @@ + } + printaddr64(info.jited_func_lens); + ++ /* ++ * The next twelve fields were introduced by Linux commits ++ * v5.0-rc1~129^2~209^2~16^2~8 ++ * v5.0-rc1~129^2~114^2~5^2~6 ++ * v5.0-rc1~129^2~114^2^2~2 ++ * v5.0-rc1~129^2~15^2~22 ++ */ ++ if (len <= offsetof(struct bpf_prog_info_struct, btf_id)) ++ goto print_bpf_prog_info_end; ++ ++ PRINT_FIELD_U(", ", info, btf_id); ++ ++ tprints(", func_info_rec_size="); ++ if (saved->func_info_rec_size != info.func_info_rec_size) ++ tprintf("%" PRIu32 " => ", saved->func_info_rec_size); ++ tprintf("%" PRIu32, info.func_info_rec_size); ++ ++ PRINT_FIELD_ADDR64(", ", info, func_info); ++ ++ tprints(", nr_func_info="); ++ if (saved->nr_func_info != info.nr_func_info) ++ tprintf("%" PRIu32 " => ", saved->nr_func_info); ++ tprintf("%" PRIu32, info.nr_func_info); ++ ++ tprints(", nr_line_info="); ++ if (saved->nr_line_info != info.nr_line_info) ++ tprintf("%" PRIu32 " => ", saved->nr_line_info); ++ tprintf("%" PRIu32, info.nr_line_info); ++ ++ PRINT_FIELD_ADDR64(", ", info, line_info); ++ ++ tprints(", jited_line_info="); ++ if (saved->jited_line_info != info.jited_line_info) { ++ printaddr64(saved->jited_line_info); ++ tprints(" => "); ++ } ++ printaddr64(info.jited_line_info); ++ ++ tprints(", nr_jited_line_info="); ++ if (saved->nr_jited_line_info != info.nr_jited_line_info) ++ tprintf("%" PRIu32 " => ", saved->nr_jited_line_info); ++ tprintf("%" PRIu32, info.nr_jited_line_info); ++ ++ tprints(", line_info_rec_size="); ++ if (saved->line_info_rec_size != info.line_info_rec_size) ++ tprintf("%" PRIu32 " => ", saved->line_info_rec_size); ++ tprintf("%" PRIu32, info.line_info_rec_size); ++ ++ tprints(", jited_line_info_rec_size="); ++ if (saved->jited_line_info_rec_size != info.jited_line_info_rec_size) ++ tprintf("%" PRIu32 " => ", saved->jited_line_info_rec_size); ++ tprintf("%" PRIu32, info.jited_line_info_rec_size); ++ ++ tprints(", nr_prog_tags="); ++ if (saved->nr_prog_tags != info.nr_prog_tags) ++ tprintf("%" PRIu32 " => ", saved->nr_prog_tags); ++ tprintf("%" PRIu32, info.nr_prog_tags); ++ ++ PRINT_FIELD_ADDR64(", ", info, prog_tags); ++ + decode_attr_extra_data(tcp, info_buf, size, bpf_prog_info_struct_size); + + print_bpf_prog_info_end: +Index: strace-4.24/bpf_attr.h +=================================================================== +--- strace-4.24.orig/bpf_attr.h 2020-01-28 00:16:27.823183735 +0100 ++++ strace-4.24/bpf_attr.h 2020-01-28 00:16:43.588035268 +0100 +@@ -276,10 +276,22 @@ + uint32_t nr_jited_func_lens; + uint64_t ATTRIBUTE_ALIGNED(8) jited_ksyms; + uint64_t ATTRIBUTE_ALIGNED(8) jited_func_lens; ++ uint32_t btf_id; ++ uint32_t func_info_rec_size; ++ uint64_t ATTRIBUTE_ALIGNED(8) func_info; ++ uint32_t nr_func_info; ++ uint32_t nr_line_info; ++ uint64_t ATTRIBUTE_ALIGNED(8) line_info; ++ uint64_t ATTRIBUTE_ALIGNED(8) jited_line_info; ++ uint32_t nr_jited_line_info; ++ uint32_t line_info_rec_size; ++ uint32_t jited_line_info_rec_size; ++ uint32_t nr_prog_tags; ++ uint64_t ATTRIBUTE_ALIGNED(8) prog_tags; + }; + + # define bpf_prog_info_struct_size \ + sizeof(struct bpf_prog_info_struct) +-# define expected_bpf_prog_info_struct_size 128 ++# define expected_bpf_prog_info_struct_size 192 + + #endif /* !STRACE_BPF_ATTR_H */ +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:27.823183735 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:43.589035258 +0100 +@@ -360,6 +360,14 @@ + prog_info->jited_prog_len = 0; + prog_info->nr_jited_ksyms = 0; + prog_info->nr_jited_func_lens = 0; ++ prog_info->func_info_rec_size = 0; ++ prog_info->nr_func_info = 0; ++ prog_info->nr_line_info = 0; ++ prog_info->nr_jited_line_info = 0; ++ prog_info->jited_line_info = 0; ++ prog_info->line_info_rec_size = 0; ++ prog_info->jited_line_info_rec_size = 0; ++ prog_info->nr_prog_tags = 0; + memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: +@@ -506,6 +514,64 @@ + offsetof(struct bpf_prog_info_struct, jited_func_lens)) + printf(", jited_func_lens=NULL"); + ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, btf_id)) ++ PRINT_FIELD_U(", ", *prog_info, btf_id); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, func_info_rec_size)) { ++ printf(", func_info_rec_size=0"); ++ if (prog_info->func_info_rec_size) ++ printf(" => %u", prog_info->func_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, func_info)) ++ printf(", func_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_func_info)) { ++ printf(", nr_func_info=0"); ++ if (prog_info->nr_func_info) ++ printf(" => %u", prog_info->nr_func_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_line_info)) { ++ printf(", nr_line_info=0"); ++ if (prog_info->nr_line_info) ++ printf(" => %u", prog_info->nr_line_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, line_info)) ++ printf(", line_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_line_info)) ++ printf(", jited_line_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_line_info)) { ++ printf(", nr_jited_line_info=0"); ++ if (prog_info->nr_jited_line_info) ++ printf(" => %u", prog_info->nr_jited_line_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, line_info_rec_size)) { ++ printf(", line_info_rec_size=0"); ++ if (prog_info->line_info_rec_size) ++ printf(" => %u", prog_info->line_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_line_info_rec_size)) { ++ printf(", jited_line_info_rec_size=0"); ++ if (prog_info->jited_line_info_rec_size) ++ printf(" => %u", prog_info->jited_line_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_prog_tags)) { ++ printf(", nr_prog_tags=0"); ++ if (prog_info->nr_prog_tags) ++ printf(" => %u", prog_info->nr_prog_tags); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, prog_tags)) ++ printf(", prog_tags=NULL"); ++ + printf("}"); + # else /* !VERBOSE */ + printf("%p", prog_info); +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:37.300094485 +0100 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:49.360980900 +0100 +@@ -360,6 +360,14 @@ + prog_info->jited_prog_len = 0; + prog_info->nr_jited_ksyms = 0; + prog_info->nr_jited_func_lens = 0; ++ prog_info->func_info_rec_size = 0; ++ prog_info->nr_func_info = 0; ++ prog_info->nr_line_info = 0; ++ prog_info->nr_jited_line_info = 0; ++ prog_info->jited_line_info = 0; ++ prog_info->line_info_rec_size = 0; ++ prog_info->jited_line_info_rec_size = 0; ++ prog_info->nr_prog_tags = 0; + memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: +@@ -506,6 +514,64 @@ + offsetof(struct bpf_prog_info_struct, jited_func_lens)) + printf(", jited_func_lens=NULL"); + ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, btf_id)) ++ PRINT_FIELD_U(", ", *prog_info, btf_id); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, func_info_rec_size)) { ++ printf(", func_info_rec_size=0"); ++ if (prog_info->func_info_rec_size) ++ printf(" => %u", prog_info->func_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, func_info)) ++ printf(", func_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_func_info)) { ++ printf(", nr_func_info=0"); ++ if (prog_info->nr_func_info) ++ printf(" => %u", prog_info->nr_func_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_line_info)) { ++ printf(", nr_line_info=0"); ++ if (prog_info->nr_line_info) ++ printf(" => %u", prog_info->nr_line_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, line_info)) ++ printf(", line_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_line_info)) ++ printf(", jited_line_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_line_info)) { ++ printf(", nr_jited_line_info=0"); ++ if (prog_info->nr_jited_line_info) ++ printf(" => %u", prog_info->nr_jited_line_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, line_info_rec_size)) { ++ printf(", line_info_rec_size=0"); ++ if (prog_info->line_info_rec_size) ++ printf(" => %u", prog_info->line_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_line_info_rec_size)) { ++ printf(", jited_line_info_rec_size=0"); ++ if (prog_info->jited_line_info_rec_size) ++ printf(" => %u", prog_info->jited_line_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_prog_tags)) { ++ printf(", nr_prog_tags=0"); ++ if (prog_info->nr_prog_tags) ++ printf(" => %u", prog_info->nr_prog_tags); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, prog_tags)) ++ printf(", prog_tags=NULL"); ++ + printf("}"); + # else /* !VERBOSE */ + printf("%p", prog_info); +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:34.082124791 +0100 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:51.902956961 +0100 +@@ -360,6 +360,14 @@ + prog_info->jited_prog_len = 0; + prog_info->nr_jited_ksyms = 0; + prog_info->nr_jited_func_lens = 0; ++ prog_info->func_info_rec_size = 0; ++ prog_info->nr_func_info = 0; ++ prog_info->nr_line_info = 0; ++ prog_info->nr_jited_line_info = 0; ++ prog_info->jited_line_info = 0; ++ prog_info->line_info_rec_size = 0; ++ prog_info->jited_line_info_rec_size = 0; ++ prog_info->nr_prog_tags = 0; + memset(prog_info + 1, 0, PROG_INFO_SZ - sizeof(*prog_info)); + switch (i) { + case 1: +@@ -506,6 +514,64 @@ + offsetof(struct bpf_prog_info_struct, jited_func_lens)) + printf(", jited_func_lens=NULL"); + ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, btf_id)) ++ PRINT_FIELD_U(", ", *prog_info, btf_id); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, func_info_rec_size)) { ++ printf(", func_info_rec_size=0"); ++ if (prog_info->func_info_rec_size) ++ printf(" => %u", prog_info->func_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, func_info)) ++ printf(", func_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_func_info)) { ++ printf(", nr_func_info=0"); ++ if (prog_info->nr_func_info) ++ printf(" => %u", prog_info->nr_func_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_line_info)) { ++ printf(", nr_line_info=0"); ++ if (prog_info->nr_line_info) ++ printf(" => %u", prog_info->nr_line_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, line_info)) ++ printf(", line_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_line_info)) ++ printf(", jited_line_info=NULL"); ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_jited_line_info)) { ++ printf(", nr_jited_line_info=0"); ++ if (prog_info->nr_jited_line_info) ++ printf(" => %u", prog_info->nr_jited_line_info); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, line_info_rec_size)) { ++ printf(", line_info_rec_size=0"); ++ if (prog_info->line_info_rec_size) ++ printf(" => %u", prog_info->line_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, jited_line_info_rec_size)) { ++ printf(", jited_line_info_rec_size=0"); ++ if (prog_info->jited_line_info_rec_size) ++ printf(" => %u", prog_info->jited_line_info_rec_size); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, nr_prog_tags)) { ++ printf(", nr_prog_tags=0"); ++ if (prog_info->nr_prog_tags) ++ printf(" => %u", prog_info->nr_prog_tags); ++ } ++ if (bpf_prog_get_info_attr.info_len > ++ offsetof(struct bpf_prog_info_struct, prog_tags)) ++ printf(", prog_tags=NULL"); ++ + printf("}"); + # else /* !VERBOSE */ + printf("%p", prog_info); diff --git a/SOURCES/0052-tests-robustify-bpf-obj_get_info_by_fd-test-against-.patch b/SOURCES/0052-tests-robustify-bpf-obj_get_info_by_fd-test-against-.patch new file mode 100644 index 0000000..53216c3 --- /dev/null +++ b/SOURCES/0052-tests-robustify-bpf-obj_get_info_by_fd-test-against-.patch @@ -0,0 +1,79 @@ +From c661605b520fa64b6fc042a642027c14ae9a62f9 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Tue, 21 May 2019 23:30:35 +0000 +Subject: [PATCH] tests: robustify bpf-obj_get_info_by_fd test against future + kernels + +* tests/bpf-obj_get_info_by_fd.c (print_prog_load, main): Change +log_level from 42 to 7, to placate Linux kernels containing commit +v5.2-rc1~133^2~193^2~18^2~9. +--- + tests/bpf-obj_get_info_by_fd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: strace-4.24/tests/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:43.589035258 +0100 ++++ strace-4.24/tests/bpf-obj_get_info_by_fd.c 2020-01-28 01:49:32.228432719 +0100 +@@ -180,7 +180,7 @@ + if (size > offsetof(struct BPF_PROG_LOAD_struct, license)) + printf(", license=\"BSD\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, log_buf)) +- printf(", log_level=42, log_size=%zu, log_buf=\"\"", ++ printf(", log_level=7, log_size=%zu, log_buf=\"\"", + sizeof(log_buf)); + if (size > offsetof(struct BPF_PROG_LOAD_struct, kern_version)) + printf(", kern_version=KERNEL_VERSION(57005, 192, 222)"); +@@ -239,7 +239,7 @@ + .insn_cnt = ARRAY_SIZE(socket_prog), + .insns = (uintptr_t) socket_prog, + .license = (uintptr_t) license, +- .log_level = 42, ++ .log_level = 7, + .log_size = sizeof(log_buf), + .log_buf = (uintptr_t) log_buf, + .kern_version = 0xdeadc0de, +Index: strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:49.360980900 +0100 ++++ strace-4.24/tests-m32/bpf-obj_get_info_by_fd.c 2020-01-28 01:53:08.192398852 +0100 +@@ -180,7 +180,7 @@ + if (size > offsetof(struct BPF_PROG_LOAD_struct, license)) + printf(", license=\"BSD\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, log_buf)) +- printf(", log_level=42, log_size=%zu, log_buf=\"\"", ++ printf(", log_level=7, log_size=%zu, log_buf=\"\"", + sizeof(log_buf)); + if (size > offsetof(struct BPF_PROG_LOAD_struct, kern_version)) + printf(", kern_version=KERNEL_VERSION(57005, 192, 222)"); +@@ -239,7 +239,7 @@ + .insn_cnt = ARRAY_SIZE(socket_prog), + .insns = (uintptr_t) socket_prog, + .license = (uintptr_t) license, +- .log_level = 42, ++ .log_level = 7, + .log_size = sizeof(log_buf), + .log_buf = (uintptr_t) log_buf, + .kern_version = 0xdeadc0de, +Index: strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c +=================================================================== +--- strace-4.24.orig/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 00:16:51.902956961 +0100 ++++ strace-4.24/tests-mx32/bpf-obj_get_info_by_fd.c 2020-01-28 01:53:10.772374555 +0100 +@@ -180,7 +180,7 @@ + if (size > offsetof(struct BPF_PROG_LOAD_struct, license)) + printf(", license=\"BSD\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, log_buf)) +- printf(", log_level=42, log_size=%zu, log_buf=\"\"", ++ printf(", log_level=7, log_size=%zu, log_buf=\"\"", + sizeof(log_buf)); + if (size > offsetof(struct BPF_PROG_LOAD_struct, kern_version)) + printf(", kern_version=KERNEL_VERSION(57005, 192, 222)"); +@@ -239,7 +239,7 @@ + .insn_cnt = ARRAY_SIZE(socket_prog), + .insns = (uintptr_t) socket_prog, + .license = (uintptr_t) license, +- .log_level = 42, ++ .log_level = 7, + .log_size = sizeof(log_buf), + .log_buf = (uintptr_t) log_buf, + .kern_version = 0xdeadc0de, diff --git a/SOURCES/0100-Wire-up-rseq-syscall-on-architectures-that-use-gener.patch b/SOURCES/0100-Wire-up-rseq-syscall-on-architectures-that-use-gener.patch new file mode 100644 index 0000000..d53e2e5 --- /dev/null +++ b/SOURCES/0100-Wire-up-rseq-syscall-on-architectures-that-use-gener.patch @@ -0,0 +1,37 @@ +From 0b051a218d5e7e51677c26c691dcf619a7d894e9 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Mon, 11 Feb 2019 23:35:07 +0000 +Subject: [PATCH] Wire up rseq syscall on architectures that use generic + unistd.h + +* linux/32/syscallent.h [293]: Wire up rseq syscall introduced by linux +commit v4.19-rc1~109^2~47. +* linux/64/syscallent.h [293]: Likewise. +* NEWS: Mention this. +--- + NEWS | 2 ++ + linux/32/syscallent.h | 1 + + linux/64/syscallent.h | 1 + + 3 files changed, 4 insertions(+) + +Index: strace-4.24/linux/32/syscallent.h +=================================================================== +--- strace-4.24.orig/linux/32/syscallent.h 2019-06-13 01:05:32.297055881 +0200 ++++ strace-4.24/linux/32/syscallent.h 2019-06-13 01:05:42.887824722 +0200 +@@ -283,6 +283,7 @@ + [290] = { 1, 0, SEN(pkey_free), "pkey_free" }, + [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, + [292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, ++[293] = { 4, 0, SEN(rseq), "rseq" }, + + #undef sys_ARCH_mmap + #undef ARCH_WANT_SYNC_FILE_RANGE2 +Index: strace-4.24/linux/64/syscallent.h +=================================================================== +--- strace-4.24.orig/linux/64/syscallent.h 2019-06-13 01:05:32.297055881 +0200 ++++ strace-4.24/linux/64/syscallent.h 2019-06-13 01:05:42.888824700 +0200 +@@ -276,3 +276,4 @@ + [290] = { 1, 0, SEN(pkey_free), "pkey_free" }, + [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, + [292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, ++[293] = { 4, 0, SEN(rseq), "rseq" }, diff --git a/SOURCES/0101-Wire-up-kexec_file_load-syscall-on-architectures-tha.patch b/SOURCES/0101-Wire-up-kexec_file_load-syscall-on-architectures-tha.patch new file mode 100644 index 0000000..3bf9c97 --- /dev/null +++ b/SOURCES/0101-Wire-up-kexec_file_load-syscall-on-architectures-tha.patch @@ -0,0 +1,39 @@ +From 898f0ad0bc498c45734bc95917b74cfdc6466c26 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Mon, 11 Feb 2019 23:35:07 +0000 +Subject: [PATCH] Wire up kexec_file_load syscall on architectures that use + generic unistd.h + +* linux/32/syscallent.h [294]: Wire up kexec_file_load syscall +introduced by linux commit v5.0-rc1~35^2~41^2~15. +* linux/64/syscallent.h [294]: Likewise. +* NEWS: Mention this. + +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1676045 +--- + NEWS | 2 +- + linux/32/syscallent.h | 1 + + linux/64/syscallent.h | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +Index: strace-4.24/linux/32/syscallent.h +=================================================================== +--- strace-4.24.orig/linux/32/syscallent.h 2019-06-13 01:05:42.887824722 +0200 ++++ strace-4.24/linux/32/syscallent.h 2019-06-13 01:06:00.405442367 +0200 +@@ -284,6 +284,7 @@ + [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, + [292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, + [293] = { 4, 0, SEN(rseq), "rseq" }, ++[294] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, + + #undef sys_ARCH_mmap + #undef ARCH_WANT_SYNC_FILE_RANGE2 +Index: strace-4.24/linux/64/syscallent.h +=================================================================== +--- strace-4.24.orig/linux/64/syscallent.h 2019-06-13 01:05:42.888824700 +0200 ++++ strace-4.24/linux/64/syscallent.h 2019-06-13 01:06:00.405442367 +0200 +@@ -277,3 +277,4 @@ + [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, + [292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, + [293] = { 4, 0, SEN(rseq), "rseq" }, ++[294] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, diff --git a/SOURCES/0201-limit-qual_fault-scope-on-aarch64.patch b/SOURCES/0201-limit-qual_fault-scope-on-aarch64.patch new file mode 100644 index 0000000..49c2e90 --- /dev/null +++ b/SOURCES/0201-limit-qual_fault-scope-on-aarch64.patch @@ -0,0 +1,42 @@ +Limit the scope of qual_fault.tests on aarch64 as otherwise it takes +unacceptable amount of time on available builders (more than an hour). +Index: strace-4.24/tests/qual_fault.test +=================================================================== +--- strace-4.24.orig/tests/qual_fault.test 2019-06-13 17:37:10.708269613 +0200 ++++ strace-4.24/tests/qual_fault.test 2019-06-13 17:41:29.358829506 +0200 +@@ -75,18 +75,32 @@ + done + } + +-for err in '' ENOSYS 22 einval; do ++ ++case "$STRACE_ARCH" in ++ aarch64) ++ NUMBERS1='2' ++ NUMBERS2='3' ++ ERRS='EnoSys 22' ++ ;; ++ *) ++ ERRS='ENOSYS 22 einval' ++ NUMBERS1='1 2 3 5 7 11' ++ NUMBERS2='1 2 3 5 7 11' ++ ;; ++esac ++ ++for err in '' $(echo $ERRS); do + for fault in writev desc,51; do + check_fault_injection \ + writev $fault "$err" '' '' 1 -efault=chdir + check_fault_injection \ + writev $fault "$err" '' '' 1 -efault=chdir -efault=none +- for F in 1 2 3 5 7 11; do ++ for F in $(echo $NUMBERS1); do + check_fault_injection \ + writev $fault "$err" $F '' 1 + check_fault_injection \ + writev $fault "$err" $F + 1 +- for S in 1 2 3 5 7 11; do ++ for S in $(echo $NUMBERS2); do + check_fault_injection \ + writev $fault "$err" $F $S 1 + check_fault_injection \ diff --git a/SOURCES/0202-disable-ksysent-on-8.2.patch b/SOURCES/0202-disable-ksysent-on-8.2.patch new file mode 100644 index 0000000..102f151 --- /dev/null +++ b/SOURCES/0202-disable-ksysent-on-8.2.patch @@ -0,0 +1,76 @@ +Unfortunately, strace 5.1 rebase didn't make it into RHEL 8.2. +As a result, ksystent tests now fails due to presence of new io_uring* syscalls. +Disable it for 8.2 in anticipation of a rebase in 8.3 timeframe. + +Index: strace-4.24/tests-m32/Makefile.am +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.am 2019-12-02 18:36:41.156516491 +0100 ++++ strace-4.24/tests-m32/Makefile.am 2019-12-02 20:32:00.744610221 +0100 +@@ -323,7 +323,6 @@ + get_regs.test \ + inject-nf.test \ + interactive_block.test \ +- ksysent.test \ + localtime.test \ + opipe.test \ + options-syntax.test \ +Index: strace-4.24/tests-m32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-m32/Makefile.in 2019-12-02 18:36:41.079516234 +0100 ++++ strace-4.24/tests-m32/Makefile.in 2019-12-02 20:32:07.676582952 +0100 +@@ -4246,7 +4246,6 @@ + inject-nf.test \ + interactive_block.test \ + kill_child.test \ +- ksysent.test \ + localtime.test \ + looping_threads.test \ + opipe.test \ +Index: strace-4.24/tests-mx32/Makefile.am +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.am 2019-12-02 18:36:41.156516491 +0100 ++++ strace-4.24/tests-mx32/Makefile.am 2019-12-02 20:32:33.983479462 +0100 +@@ -323,7 +323,6 @@ + get_regs.test \ + inject-nf.test \ + interactive_block.test \ +- ksysent.test \ + localtime.test \ + opipe.test \ + options-syntax.test \ +Index: strace-4.24/tests-mx32/Makefile.in +=================================================================== +--- strace-4.24.orig/tests-mx32/Makefile.in 2019-12-02 18:36:41.080516237 +0100 ++++ strace-4.24/tests-mx32/Makefile.in 2019-12-02 20:32:29.375497590 +0100 +@@ -4246,7 +4246,6 @@ + inject-nf.test \ + interactive_block.test \ + kill_child.test \ +- ksysent.test \ + localtime.test \ + looping_threads.test \ + opipe.test \ +Index: strace-4.24/tests/Makefile.am +=================================================================== +--- strace-4.24.orig/tests/Makefile.am 2019-12-02 18:36:41.156516491 +0100 ++++ strace-4.24/tests/Makefile.am 2019-12-02 20:31:29.951731358 +0100 +@@ -308,7 +308,6 @@ + inject-nf.test \ + interactive_block.test \ + kill_child.test \ +- ksysent.test \ + localtime.test \ + looping_threads.test \ + opipe.test \ +Index: strace-4.24/tests/Makefile.in +=================================================================== +--- strace-4.24.orig/tests/Makefile.in 2019-12-02 18:36:41.160516504 +0100 ++++ strace-4.24/tests/Makefile.in 2019-12-02 20:31:49.786653329 +0100 +@@ -4259,7 +4259,6 @@ + inject-nf.test \ + interactive_block.test \ + kill_child.test \ +- ksysent.test \ + localtime.test \ + looping_threads.test \ + opipe.test \ diff --git a/SPECS/strace.spec b/SPECS/strace.spec new file mode 100644 index 0000000..a518681 --- /dev/null +++ b/SPECS/strace.spec @@ -0,0 +1,918 @@ +Summary: Tracks and displays system calls associated with a running process +Name: strace +Version: 4.24 +Release: 9%{?dist} +# The test suite is GPLv2+, all the rest is LGPLv2.1+. +License: LGPL-2.1+ and GPL-2.0+ +Group: Development/Debuggers +URL: https://strace.io/ +Source: https://strace.io/files/%{version}/%{name}-%{version}.tar.xz + +BuildRequires: libacl-devel time gcc gzip +BuildRequires: pkgconfig(bluez) +BuildRequires: elfutils-devel binutils-devel + +## General bug fixes +# v4.25~91 "evdev: fix decoding of bit sets" +Patch1: 0001-evdev-fix-decoding-of-bit-sets.patch +# v4.25~90 "evdev: fix decoding of EVIOCGBIT(0, ...)" +Patch2: 0002-evdev-fix-decoding-of-EVIOCGBIT-0.patch +# v4.25~83 "xlat: fix typo in smc_protocols.in" +Patch3: 0003-xlat-fix-typo-in-smc_protocols.in.patch + +## Pre-requisite for the queueing patch +# v4.25~82 "strace.c: introduce struct tcb_wait_data" +Patch4: 0004-strace.c-introduce-struct-tcb_wait_data.patch + +## Documentation +# v4.26~83 "Document -X option in strace -h output" +Patch5: 0005-Document-X-option-in-strace-h-output.patch + +## Addresses https://bugzilla.redhat.com/1660759 ("strace prints "xlat_idx: +## Unexpected xlat value 0 at index 4" messages") +# v4.26~36 "evdev: fix off-by-one error in decode_bitset" +Patch6: 0006-evdev-fix-off-by-one-error-in-decode_bitset.patch +# v4.26~35 "nlattr: fix off-by-one error in indexed xlat lookup" +Patch7: 0007-nlattr-fix-off-by-one-error-in-indexed-xlat-lookup.patch +# v4.26~34 "aio: fix off-by-one error in indexed xlat lookup" +Patch8: 0008-aio-fix-off-by-one-error-in-indexed-xlat-lookup.patch +# v4.26~31 "rtnl_link: fix off-by-one errors in indexed and sorted xlat lookups" +Patch9: 0009-rtnl_link-fix-off-by-one-errors-in-indexed-and-sorte.patch +# v4.26~30 "rtnl_link: fix off-by-one errors in indexed and sorted xlat lookups" +Patch10: 0010-xlat_idx-do-not-issue-warnings-for-holes-in-indices.patch + +## man page updates +# v4.26~27 "strace.1.in: print names of entities in bold, provide man page sections" +Patch11: 0011-strace.1.in-print-names-of-entities-in-bold-provide-.patch +# v4.26~26 "strace.1.in: consistently use CTRL-combinations" +Patch12: 0012-strace.1.in-consistently-use-CTRL-combinations.patch + +## License change +# v4.26~53 "tests: change the license to GPL-2.0-or-later" +Patch13: 0013-tests-change-the-license-to-GPL-2.0-or-later.patch +# v4.26~52 "Change the license of strace to LGPL-2.1-or-later" +Patch14: 0014-Change-the-license-of-strace-to-LGPL-2.1-or-later.patch + +## Tests fixes, can be hit on newer kernels +# v5.0~95 "tests: use tail_alloc instead of calloc in bpf-obj_get_info_by_fd-prog*" +Patch15: 0015-tests-use-tail_alloc-instead-of-calloc-in-bpf-obj_ge.patch +# v5.0~94 "tests: fix prog_info initialization in bpf-obj_get_info_by_fd-prog*" +Patch16: 0016-tests-fix-prog_info-initialization-in-bpf-obj_get_in.patch + +## General bug fixes +# v5.0~71 "Merge "<... resumed>" printing" +Patch17: 0017-Merge-.-resumed-printing.patch +# v5.0~69 "Use accessors for tcp->s_ent, return a stub struct if it is NULL" +Patch18: 0018-Use-accessors-for-tcp-s_ent-return-a-stub-struct-if-.patch +# v5.0~66 "syscall.c: set MEMORY_MAPPING_CHANGE in stub sysent" +Patch19: 0019-syscall.c-set-MEMORY_MAPPING_CHANGE-in-stub-sysent.patch + +## Addresses https://bugzilla.redhat.com/1662936 ("strace reports +## 'ptrace(SYSCALL): No such process' on multi-threaded testcase on RHEL-8") +# v5.0~67 "Make inline message on failed restart attempt more verbose" +Patch20: 0020-Make-inline-message-on-failed-restart-attempt-more-v.patch +# v5.0~64 "ptrace_restart: do not print diagnostics when ptrace returns ESRCH" +Patch21: 0021-ptrace_restart-do-not-print-diagnostics-when-ptrace-.patch + +## Pre-requisites for the queueing patch +# v5.0~60 "tests: add kill_child test" +Patch22: 0022-tests-add-kill_child-test.patch +# v5.0~30 "tests: move PTRACE_SEIZE check to a separate file" +Patch23: 0023-tests-move-PTRACE_SEIZE-check-to-a-separate-file.patch +# v5.0~29 "tests: check tracing of orphaned process group" +Patch24: 0024-tests-check-tracing-of-orphaned-process-group.patch +# v5.0~27 "tests: check tracing of looping threads" +Patch25: 0025-tests-check-tracing-of-looping-threads.patch + +## Implementation of tcp queueing +## Addresses https://bugzilla.redhat.com/1609318 ("Some threads are not created +## when strace with -f option is executed") and all previous its incarnations +## (478419, 526740, 851457, 1610774). +# v5.0~26 "Add a generic list implementation" +Patch26: 0026-Add-a-generic-list-implementation.patch +# v5.0~25 "Implement queueing of threads before dispatching them" +Patch27: 0027-Implement-queueing-of-threads-before-dispatching-the.patch + +## Pre-requisites for "evdev: fix array size calculation in decode_bitset_" +# v4.25~30 "macros: add ROUNDUP macro" +Patch28: 0028-macros-add-ROUNDUP-macro.patch +# v5.0~45 "util: update dumpstr" (only macros.h change) +Patch29: 0029-util-update-dumpstr.patch + +## Reported by covscan +# v5.2-3-g7ada13f "evdev: avoid bit vector decoding on non-successful and 0 return codes" +Patch30: 0030-evdev-avoid-bit-vector-decoding-on-non-successful-an.patch +# v5.2-4-g96194ed "evdev: fix array size calculation in decode_bitset_" +Patch31: 0031-evdev-fix-array-size-calculation-in-decode_bitset_.patch + +## Pre-requisite for "tests: test evdev bitset decoding more thoroughly" +# v4.25~89 "tests: check decoding of successful evdev ioctl" +Patch32: 0032-tests-check-decoding-of-successful-evdev-ioctl.patch + +## Test for patches "evdev: avoid bit vector decoding on non-successful and 0 +## return codes" and "evdev: fix array size calculation in decode_bitset_" +# v5.2-5-gcdd8206 "tests: test evdev bitset decoding more thoroughly" +Patch33: 0033-tests-test-evdev-bitset-decoding-more-thoroughly.patch + +## https://bugzilla.redhat.com/1747475 https://bugzilla.redhat.com/1747514 +# v4.26~65 "s390x: beautify sthyi data tail prints" +Patch34: 0034-s390x-beautify-sthyi-data-tail-prints.patch + +## Reported by covscan (https://bugzilla.redhat.com/1747524 +## https://bugzilla.redhat.com/1747526 https://bugzilla.redhat.com/1747530) +# v5.2-84-g91281fec "v4l2: avoid shifting left a signed number by 31 bit" +Patch35: 0035-v4l2-avoid-shifting-left-a-signed-number-by-31-bit.patch +# v5.2~21 "syscall.c: avoid infinite loop in subcalls parsing" +Patch36: 0036-syscall.c-avoid-infinite-loop-in-subcalls-parsing.patch +# v5.2~19 "kvm: avoid bogus vcpu_info assignment in vcpu_register" +Patch37: 0037-kvm-avoid-bogus-vcpu_info-assignment-in-vcpu_registe.patch +# v5.4~97 "xlat: use unsgined type for mount_flags fallback values" +Patch38: 0038-xlat-use-unsgined-type-for-mount_flags-fallback-valu.patch + +## Missing stack traces on attach (https://bugzilla.redhat.com/1788636) +## RHEL 7: https://bugzilla.redhat.com/1790052 +## RHEL 8: https://bugzilla.redhat.com/1790053 +## RHEL 6 DTS: https://bugzilla.redhat.com/1790058 +## RHEL 7 DTS: https://bugzilla.redhat.com/1790057 +## RHEL 8 DTS: https://bugzilla.redhat.com/1790054 +# v5.4-18-g69b2c33 "unwind-libdw: fix initialization of libdwfl cache" +Patch39: 0039-unwind-libdw-fix-initialization-of-libdwfl-cache.patch +## v5.4-27-g35e080a "syscall: do not capture stack trace while the tracee executes strace code" +#Patch40: 0040-syscall-do-not-capture-stack-trace-while-the-tracee-.patch +# v5.4-63-g8e515c7 "tests: add strace-k-p test" +Patch41: 0041-tests-add-strace-k-p-test.patch + +## https://bugzilla.redhat.com/1746885 +# v5.2-92-gc108f0b "sockaddr: properly decode sockaddr_hci addresses without hci_channel" +Patch42: 0042-sockaddr-properly-decode-sockaddr_hci-addresses-with.patch + +## Some ipc tests from strace internal testsuite occasionally fail +## https://bugzilla.redhat.com/1795251 https://bugzilla.redhat.com/1795261 +## https://bugzilla.redhat.com/1794490 https://bugzilla.redhat.com/1795273 +# v5.3~102 "tests: fix expected output for some ipc tests" +Patch43: 0043-tests-fix-expected-output-for-some-ipc-tests.patch +# v5.4~49 "tests: fix -a argument in ipc_msgbuf-Xraw test" +Patch44: 0044-tests-fix-a-argument-in-ipc_msgbuf-Xraw-test.patch + +## Update bpf decoder, as bpf-obj_get_info_by_fd-prog-v.gen.test has started +## to fail after BPF rebase in RHEL 8.2 kernel. +# v5.0~98 "Fix preprocessor indentation", only the bpf_attr.h chunks +Patch45: 0045-Fix-preprocessor-indentation.patch +# v5.0~24 "bpf: exclude bit fields from the check" +Patch46: 0046-bpf-exclude-bit-fields-from-the-check.patch +# v5.0~23 "bpf: print struct bpf_prog_info.gpl_compatible" +Patch47: 0047-bpf-print-struct-bpf_prog_info.gpl_compatible.patch +# v5.0~22 "bpf: add support for btf_* fields in BPF_MAP_CREATE" +Patch48: 0048-bpf-add-support-for-btf_-fields-in-BPF_MAP_CREATE.patch +# v5.0~21 "bpf: add support for btf_* fields in struct bpf_map_info" +Patch49: 0049-bpf-add-support-for-btf_-fields-in-struct-bpf_map_in.patch +# v5.0~20 "bpf: add support for *jited_ksyms and *jited_func_lens fields in struct bpf_prog_info" +Patch50: 0050-bpf-add-support-for-jited_ksyms-and-jited_func_lens-.patch +# v5.0~19 "bpf: add support for new twelve fields in struct bpf_prog_info" +Patch51: 0051-bpf-add-support-for-new-twelve-fields-in-struct-bpf_.patch +# v5.1~6 "tests: robustify bpf-obj_get_info_by_fd test against future kernels" +Patch52: 0052-tests-robustify-bpf-obj_get_info_by_fd-test-against-.patch + +## Wire up rseq and kexec_file_load in order to avoid kexec_file_load +## test failure on aarch64. Addresses https://bugzilla.redhat.com/1676045 +## ("strace: FTBFS in Fedora rawhide/f30"). +# v5.0~62 "Wire up rseq syscall on architectures that use generic unistd.h" +Patch100: 0100-Wire-up-rseq-syscall-on-architectures-that-use-gener.patch +# v5.0~61 "Wire up kexec_file_load syscall on architectures that use generic unistd.h" +Patch101: 0101-Wire-up-kexec_file_load-syscall-on-architectures-tha.patch + +### RHEL7-only: headers on some builders do not provide O_TMPFILE +#Patch200: 0200-strace-provide-O_TMPFILE-fallback-definition.patch +## RHEL-only: aarch64 brew builders are extremely slow on qual_fault.test +Patch201: 0201-limit-qual_fault-scope-on-aarch64.patch +## RHEL8.2-only: disable ksysent test due to missing rebase +Patch202: 0202-disable-ksysent-on-8.2.patch + +# We no longer need to build a separate strace32 binary, but we don't want +# to break existing strace32 users' workflows. +%define strace32_arches ppc64 s390x + +%ifarch %{strace32_arches} +%define _isa_compat %{?__isa_name:(%{__isa_name}-32)}%{!?__isa:%{nil}} +%define evr %{?epoch:%{epoch}:}%{version}-%{release} +Provides: strace32 = %{evr} +Obsoletes: strace32 < %{version} strace32%{_isa_compat} < %{version} +%endif + +%description +The strace program intercepts and records the system calls called and +received by a running process. Strace can print a record of each +system call, its arguments and its return value. Strace is useful for +diagnosing problems and debugging, as well as for instructional +purposes. + +Install strace if you need a tool to track the system calls made and +received by a process. + +%prep +%setup -q + +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 +%patch36 -p1 +%patch37 -p1 +%patch38 -p1 +%patch39 -p1 +#%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 + +%patch100 -p1 +%patch101 -p1 + +#%patch200 -p1 +%patch201 -p1 +%patch202 -p1 + +echo -n %version-%release > .tarball-version +echo -n 2019 > .year +echo -n 2019-12-02 > .strace.1.in.date + + +%build +echo 'BEGIN OF BUILD ENVIRONMENT INFORMATION' +uname -a |head -1 +libc="$(ldd /bin/sh |sed -n 's|^[^/]*\(/[^ ]*/libc\.so[^ ]*\).*|\1|p' |head -1)" +$libc |head -1 +file -L /bin/sh +gcc --version |head -1 +ld --version |head -1 +kver="$(printf '%%s\n%%s\n' '#include ' 'LINUX_VERSION_CODE' | gcc -E -P -)" +printf 'kernel-headers %%s.%%s.%%s\n' $(($kver/65536)) $(($kver/256%%256)) $(($kver%%256)) +echo 'END OF BUILD ENVIRONMENT INFORMATION' + +CFLAGS=" $RPM_OPT_FLAGS $LDFLAGS " +# Removing explicit -m64 as it breaks mpers +[ "x${CFLAGS#* -m64 }" = "x${CFLAGS}" ] || CFLAGS=$(echo "$CFLAGS" | sed 's/ -m64 / /g') +export CFLAGS + +CPPFLAGS=" -I%{_includedir} %{optflags} " +# Removing explicit -m64 as it breaks mpers +[ "x${CPPFLAGS#* -m64 }" = "x${CPPFLAGS}" ] || CPPFLAGS=$(echo "$CPPFLAGS" | sed 's/ -m64 / /g') +export CPPFLAGS + +CFLAGS_FOR_BUILD="$RPM_OPT_FLAGS"; export CFLAGS_FOR_BUILD +# Commit v4.26-50-gb1a2db9 is needed for enforcing libiberty usage with +# --with-libiberty +%configure --enable-mpers=check --with-libdw +make %{?_smp_mflags} + + +%install +make DESTDIR=%{buildroot} install + +%ifarch %{strace32_arches} +ln -s ./strace %{buildroot}%{_bindir}/strace32 +%endif + +# remove unpackaged files from the buildroot +rm -f %{buildroot}%{_bindir}/strace-graph + +# some say uncompressed changelog files are too big +for f in ChangeLog ChangeLog-CVS; do + gzip -9n < "$f" > "$f".gz & +done +wait + +%check +# This is needed since patch does not set x bit to the newly created files +# (0022-tests-add-kill_child-test.patch, +# 0024-tests-check-tracing-of-orphaned-process-group.patch, +# 0025-tests-check-tracing-of-looping-threads.patch, +# 0032-tests-check-decoding-of-successful-evdev-ioctl.patch) +chmod u+x tests/*.test tests-m32/*.test tests-mx32/*.test + +%{buildroot}%{_bindir}/strace -V + +# We have to limit concurrent execution of tests as some time-sensitive tests +# start to fail if the reported time is way too off from the expected one. +make -j2 -k check VERBOSE=1 V=1 TIMEOUT_DURATION=5400 +echo 'BEGIN OF TEST SUITE INFORMATION' +tail -n 99999 -- tests*/test-suite.log +tail -n 99999 -- tests*/ksysent.log ||: +find tests* -type f -name '*.log' -print0 | + xargs -r0 grep -H '^KERNEL BUG:' -- ||: +echo 'END OF TEST SUITE INFORMATION' + +%files +%defattr(-,root,root) +%doc CREDITS ChangeLog.gz ChangeLog-CVS.gz COPYING LGPL-2.1-or-later NEWS README +%{_bindir}/strace +%ifarch %{strace32_arches} +%{_bindir}/strace32 +%endif +%{_bindir}/strace-log-merge +%{_mandir}/man1/* + +%changelog +* Thu Jan 30 2020 Eugene Syromiatnikov - 4.24-9 +- Fix the "extra tokens at end of #ifdef directive" warning: + 579f2702 "bpf: exclude bit fields from the check". + +* Mon Jan 27 2020 Eugene Syromiatnikov - 4.24-8 +- Fix expected alignment for IPC tests (#1795251): + 4377e3a1 "tests: fix expected output for some ipc tests", and + a75c7c4b "tests: fix -a argument in ipc_msgbuf-Xraw test". +- Update tests-m32/looping_threads.test and tests-mx32/looping_threads.test + in 0025-tests-check-tracing-of-looping-threads.patch. +- Update the bpf syscall decoder: + d6c71dd0 "Fix preprocessor indentation", + cabd6955 "bpf: print struct bpf_prog_info.gpl_compatible", + 14a9b6ca "bpf: add support for btf_* fields in BPF_MAP_CREATE", + 27bd13d3 "bpf: add support for btf_* fields in struct bpf_map_info", + d1f90bcd "bpf: add support for *jited_ksyms and *jited_func_lens fields + in struct bpf_prog_info", and + 940fe50f "bpf: add support for new twelve fields in struct bpf_prog_info". + c661605b "tests: robustify bpf-obj_get_info_by_fd test against future kernels" + +* Thu Jan 23 2020 Eugene Syromiatnikov - 4.24-7 +- Fix printing stack traces for early syscalls on process attach (#1790053): + 69b2c33a "unwind-libdw: fix initialization of libdwfl cache" and + 8e515c74 "tests: add strace-k-p test". +- Properly decode struct sockaddr_hci without hci_channel field. +- Update tests-m32/ioctl_evdev.c and tests-mx32/ioctl_evdev.c + in 0002-evdev-fix-decoding-of-EVIOCGBIT-0.patch. +- Update tests-m32/Makefile.in and tests-mx32/Makefile.in + in 0032-tests-check-decoding-of-successful-evdev-ioctl.patch. + +* Mon Dec 02 2019 Eugene Syromiatnikov - 4.24-6 +- Pull upstream fix for ioctl evdev bitset decoding, fix the tests (#1747214). +- Include commit v4.26~65 "s390x: beautify sthyi data tail prints" (#1747514). +- Include upstream patches that fix issues reported by covscan (#1747526): + 91281fec "v4l2: avoid shifting left a signed number by 31 bit", + 522ad3a0 "syscall.c: avoid infinite loop in subcalls parsing", + 9446038e "kvm: avoid bogus vcpu_info assignment in vcpu_register", and + 2b64854e "xlat: use unsgined type for mount_flags fallback values". + +* Fri Jun 14 2019 Eugene Syromiatnikov - 4.24-5 +- Use SPDX abbreviations for licenses. + +* Wed Jun 12 2019 Eugene Syromiatnikov - 4.24-4 +- Sync up thread handling unfairness fix with the upstream version. +- Fix "xlat_idx: Unexpected xlat value 0 at index ..." messages (#1660759). +- Remove "ptrace(SYSCALL): No such process" messages (#1662936). +- Wire up rseq and kexec_file_load on aarch64 (#1676045). + +* Mon Dec 17 2018 Eugene Syromiatnikov - 4.24-3 +- Add current version of the thread handling unfairness fix. + +* Mon Sep 03 2018 Eugene Syromiatnikov - 4.24-2 +- Add transition for strace32 package pn those architectures that + provided it in RHEL 7 (ppc64 and s390x). + +* Tue Aug 14 2018 Eugene Syromiatnikov - 4.24-1 +- Rebase to v4.24. + +* Sun Aug 05 2018 Eugene Syromiatnikov - 4.23-4 +- Fix tests build with fresh glibc that now provides struct statx in sys/stat.h. +- Resolves #1611749. + +* Thu Jul 19 2018 Eugene Syromiatnikov - 4.23-3 +- Wire up io_pgetevents and rseq on hppa, microblaze, mips, powerpc, and s390. + +* Sat Jun 16 2018 Eugene Syromiatnikov - 4.23-2 +- Increase test timeout duration. + +* Thu Jun 14 2018 Dmitry V. Levin - 4.23-1 +- v4.22 -> v4.23. +- Enabled libdw backend for -k option (#1568647). + +* Thu Apr 05 2018 Dmitry V. Levin - 4.22-1 +- v4.21 -> v4.22. + +* Tue Feb 13 2018 Dmitry V. Levin - 4.21-1 +- v4.20 -> v4.21. + +* Mon Nov 13 2017 Dmitry V. Levin - 4.20-1 +- v4.19 -> v4.20. + +* Tue Sep 05 2017 Dmitry V. Levin - 4.19-1 +- v4.18 -> v4.19. + +* Wed Jul 05 2017 Dmitry V. Levin - 4.18-1 +- v4.17 -> v4.18. + +* Wed May 24 2017 Dmitry V. Levin - 4.17-1 +- v4.16 -> v4.17. + +* Tue Feb 14 2017 Dmitry V. Levin - 4.16-1 +- v4.15 -> v4.16. + +* Wed Dec 14 2016 Dmitry V. Levin - 4.15-1 +- v4.14-100-g622af42 -> v4.15. + +* Wed Nov 16 2016 Dmitry V. Levin - 4.14.0.100.622a-1 +- v4.14 -> v4.14-100-g622af42: + + implemented syscall fault injection. + +* Tue Oct 04 2016 Dmitry V. Levin - 4.14-1 +- v4.13 -> v4.14: + + added printing of the mode argument of open and openat syscalls + when O_TMPFILE flag is set (#1377846). + +* Tue Jul 26 2016 Dmitry V. Levin - 4.13-1 +- v4.12 -> v4.13. + +* Tue May 31 2016 Dmitry V. Levin - 4.12-1 +- v4.11-163-g972018f -> v4.12. + +* Fri Feb 05 2016 Fedora Release Engineering - 4.11.0.163.9720-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 15 2016 Dmitry V. Levin - 4.11.0.163.9720-1 +- New upstream snapshot v4.11-163-g972018f: + + fixed decoding of syscalls unknown to the kernel on s390/s390x (#1298294). + +* Wed Dec 23 2015 Dmitry V. Levin - 4.11-2 +- Enabled experimental -k option on x86_64 (#1170296). + +* Mon Dec 21 2015 Dmitry V. Levin - 4.11-1 +- New upstream release: + + print nanoseconds along with seconds in stat family syscalls (#1251176). + +* Fri Jun 19 2015 Fedora Release Engineering - 4.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon May 11 2015 Marcin Juszkiewicz - 4.10-2 +- Backport set of upstream patches to get it buildable on AArch64 + +* Fri Mar 06 2015 Dmitry V. Levin - 4.10-1 +- New upstream release: + + enhanced ioctl decoding (#902788). + +* Mon Nov 03 2014 Lubomir Rintel - 4.9-3 +- Regenerate ioctl entries with proper kernel headers + +* Mon Aug 18 2014 Fedora Release Engineering - 4.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Aug 15 2014 Dmitry V. Levin - 4.9-1 +- New upstream release: + + fixed build when and conflict (#993384); + + updated CLOCK_* constants (#1088455); + + enabled ppc64le support (#1122323); + + fixed attach to a process on ppc64le (#1129569). + +* Fri Jul 25 2014 Dan HorĂ¡k - 4.8-5 +- update for ppc64 + +* Sun Jun 08 2014 Fedora Release Engineering - 4.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Dec 6 2013 Peter Robinson 4.8-3 +- Fix FTBFS + +* Sun Aug 04 2013 Fedora Release Engineering - 4.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jun 03 2013 Dmitry V. Levin - 4.8-1 +- New upstream release: + + fixed ERESTARTNOINTR leaking to userspace on ancient kernels (#659382); + + fixed decoding of *xattr syscalls (#885233); + + fixed handling of files with 64-bit inode numbers by 32-bit strace (#912790); + + added aarch64 support (#969858). + +* Fri Feb 15 2013 Fedora Release Engineering - 4.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed May 02 2012 Dmitry V. Levin 4.7-1 +- New upstream release. + + implemented proper handling of real SIGTRAPs (#162774). + +* Sat Jan 14 2012 Fedora Release Engineering - 4.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Mar 14 2011 Dmitry V. Levin - 4.6-1 +- New upstream release. + + fixed a corner case in waitpid handling (#663547). + +* Wed Feb 09 2011 Fedora Release Engineering - 4.5.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Apr 13 2010 Roland McGrath - 4.5.20-1 +- New upstream release, work mostly by Andreas Schwab and Dmitry V. Levin. + + fixed potential stack buffer overflow in select decoder (#556678); + + fixed FTBFS (#539044). + +* Wed Oct 21 2009 Roland McGrath - 4.5.19-1 +- New upstream release, work mostly by Dmitry V. Levin + + exit/kill strace with traced process exitcode/signal (#105371); + + fixed build on ARM EABI (#507576); + + fixed display of 32-bit argv array on 64-bit architectures (#519480); + + fixed display of 32-bit fcntl(F_SETLK) on 64-bit architectures (#471169); + + fixed several bugs in strings decoder, including potential heap + memory corruption (#470529, #478324, #511035). + +* Thu Aug 28 2008 Roland McGrath - 4.5.18-1 +- build fix for newer kernel headers (#457291) +- fix CLONE_VFORK handling (#455078) +- Support new Linux/PPC system call subpage_prot and PROT_SAO flag. +- In sigaction system call, display sa_flags value along with SIG_DFL/SIG_IGN. + +* Mon Jul 21 2008 Roland McGrath - 4.5.17-1 +- handle O_CLOEXEC, MSG_CMSG_CLOEXEC (#365781) +- fix biarch stat64 decoding (#222275) +- fix spurious "..." in printing of environment strings (#358241) +- improve prctl decoding (#364401) +- fix hang wait on exited child with exited child (#354261) +- fix biarch fork/vfork (-f) tracing (#447475) +- fix biarch printing of negative argument kill (#430585) +- fix biarch decoding of error return values (#447587) +- fix -f tracing of CLONE_VFORK (#455078) +- fix ia64 register clobberation in -f tracing (#453438) +- print SO_NODEFER, SA_RESETHAND instead of SA_NOMASK, SA_ONESHOT (#455821) +- fix futex argument decoding (#448628, #448629) + +* Fri Aug 3 2007 Roland McGrath - 4.5.16-1 +- fix multithread issues (#240962, #240961, #247907) +- fix spurious SIGSTOP on early interrupt (#240986) +- fix utime for biarch (#247185) +- fix -u error message (#247170) +- better futex syscall printing (##241467) +- fix argv/envp printing with small -s settings, and for biarch +- new syscalls: getcpu, eventfd, timerfd, signalfd, epoll_pwait, + move_pages, utimensat + +* Tue Jan 16 2007 Roland McGrath - 4.5.15-1 +- biarch fixes (#179740, #192193, #171626, #173050, #218433, #218043) +- fix -ff -o behavior (#204950, #218435, #193808, #219423) +- better quotactl printing (#118696) +- *at, inotify*, pselect6, ppoll and unshare syscalls (#178633, #191275) +- glibc-2.5 build fixes (#209856) +- memory corruption fixes (#200621 +- fix race in child setup under -f (#180293) +- show ipc key values in hex (#198179, #192182) +- disallow -c with -ff (#187847) +- Resolves: RHBZ #179740, RHBZ #192193, RHBZ #204950, RHBZ #218435 +- Resolves: RHBZ #193808, RHBZ #219423, RHBZ #171626, RHBZ #173050 +- Resolves: RHBZ #218433, RHBZ #218043, RHBZ #118696, RHBZ #178633 +- Resolves: RHBZ #191275, RHBZ #209856, RHBZ #200621, RHBZ #180293 +- Resolves: RHBZ #198179, RHBZ #198182, RHBZ #187847 + +* Mon Nov 20 2006 Jakub Jelinek - 4.5.14-4 +- Fix ia64 syscall decoding (#206768) +- Fix build with glibc-2.4.90-33 and up on all arches but ia64 +- Fix build against 2.6.18+ headers + +* Tue Aug 22 2006 Roland McGrath - 4.5.14-3 +- Fix bogus decoding of syscalls >= 300 (#201462, #202620). + +* Fri Jul 14 2006 Jesse Keating - 4.5.14-2 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 4.5.14-1.2 +- bump again for long double bug on ppc{,64} + +* Tue Feb 07 2006 Jesse Keating - 4.5.14-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Jan 16 2006 Roland McGrath - 4.5.14-1 +- Fix biarch decoding of socket syscalls (#174354). +- Fix biarch -e support (#173986). +- Accept numeric syscalls in -e (#174798). +- Fix ipc syscall decoding (#164755). +- Improve msgrcv printing (#164757). +- Man page updates (#165375). +- Improve mount syscall printing (#165377). +- Correct printing of restarting syscalls (#165469). + +* Wed Aug 3 2005 Roland McGrath - 4.5.13-1 +- Fix setsockopt decoding on 64-bit (#162449). +- Fix typos in socket option name strings (#161578). +- Display more IPV6 socket options by name (#162450). +- Don't display inappropriate syscalls for -e trace=file (#159340). +- New selector type -e trace=desc for file-descriptor using calls (#159400). +- Fix 32-bit old_mmap syscall decoding on x86-64 (#162467, #164215). +- Fix errors detaching from multithreaded process on interrupt (#161919). +- Note 4.5.12 fix for crash handling bad signal numbers (#162739). + +* Wed Jun 8 2005 Roland McGrath - 4.5.12-1 +- Fix known syscall recognition for IA32 processes on x86-64 (#158934). +- Fix bad output for ptrace on x86-64 (#159787). +- Fix potential buffer overruns (#151570, #159196). +- Make some diagnostics more consistent (#159308). +- Update PowerPC system calls. +- Better printing for Linux aio system calls. +- Don't truncate statfs64 fields to 32 bits in output (#158243). +- Cosmetic code cleanups (#159688). + +* Tue Mar 22 2005 Roland McGrath - 4.5.11-1 +- Build tweaks. +- Note 4.5.10 select fix (#151570). + +* Mon Mar 14 2005 Roland McGrath - 4.5.10-1 +- Fix select handling on nonstandard fd_set sizes. +- Don't print errors for null file name pointers. +- Fix initial execve output with -i (#143365). + +* Fri Feb 4 2005 Roland McGrath - 4.5.9-2 +- update ia64 syscall list (#146245) +- fix x86_64 syscall argument extraction for 32-bit processes (#146093) +- fix -e signal=NAME parsing (#143362) +- fix x86_64 exit_group syscall handling +- improve socket ioctl printing (#138223) +- code cleanups (#143369, #143370) +- improve mount flags printing (#141932) +- support symbolic printing of x86_64 arch_prctl parameters (#142667) +- fix potential crash in getxattr printing + +* Tue Oct 19 2004 Roland McGrath - 4.5.8-1 +- fix multithreaded exit handling (#132150, #135254) +- fix ioctl name matching (#129808) +- print RTC_* ioctl structure contents (#58606) +- grok epoll_* syscalls (#134463) +- grok new RLIMIT_* values (#133594) +- print struct cmsghdr contents for sendmsg (#131689) +- fix clock_* and timer_* argument output (#131420) + +* Tue Aug 31 2004 Roland McGrath - 4.5.7-2 +- new upstream version, misc fixes and updates (#128091, #129166, #128391, #129378, #130965, #131177) + +* Mon Jul 12 2004 Roland McGrath 4.5.6-1 +- new upstream version, updates ioctl lists (#127398), fixes quotactl (#127393), more ioctl decoding (#126917) + +* Sun Jun 27 2004 Roland McGrath 4.5.5-1 +- new upstream version, fixes x86-64 biarch support (#126547) + +* Tue Jun 15 2004 Elliot Lee 4.5.4-2 +- rebuilt + +* Thu Jun 3 2004 Roland McGrath 4.5.4-0.FC1 +- rebuilt for FC1 update + +* Thu Jun 3 2004 Roland McGrath 4.5.4-1 +- new upstream version, more ioctls (#122257), minor fixes + +* Fri Apr 16 2004 Roland McGrath 4.5.3-1 +- new upstream version, mq_* calls (#120701), -p vs NPTL (#120462), more fixes (#118694, #120541, #118685) + +* Tue Mar 02 2004 Elliot Lee 4.5.2-1.1 +- rebuilt + +* Mon Mar 1 2004 Roland McGrath 4.5.2-1 +- new upstream version, sched_* calls (#116990), show core flag (#112117) + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Thu Nov 13 2003 Roland McGrath 4.5.1-1 +- new upstream version, more fixes (#108012, #105366, #105359, #105358) + +* Tue Sep 30 2003 Roland McGrath 4.5-3 +- revert bogus s390 fix + +* Thu Sep 25 2003 Roland McGrath 4.5-1.2.1AS +- rebuilt for 2.1AS erratum + +* Wed Sep 24 2003 Roland McGrath 4.5-2 +- rebuilt + +* Wed Sep 24 2003 Roland McGrath 4.5-1 +- new upstream version, more fixes (#101499, #104365) + +* Thu Jul 17 2003 Roland McGrath 4.4.99-2 +- rebuilt + +* Thu Jul 17 2003 Roland McGrath 4.4.99-1 +- new upstream version, groks more new system calls, PF_INET6 sockets + +* Tue Jun 10 2003 Roland McGrath 4.4.98-1 +- new upstream version, more fixes (#90754, #91085) + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Sun Mar 30 2003 Roland McGrath 4.4.96-1 +- new upstream version, handles yet more 2.5 syscalls, x86_64 & ia64 fixes + +* Mon Feb 24 2003 Elliot Lee 4.4.95-2 +- rebuilt + +* Mon Feb 24 2003 Roland McGrath 4.4.95-1 +- new upstream version, fixed getresuid/getresgid (#84959) + +* Wed Feb 19 2003 Roland McGrath 4.4.94-1 +- new upstream version, new option -E to set environment variables (#82392) + +* Wed Jan 22 2003 Tim Powers 4.4.93-2 +- rebuilt + +* Tue Jan 21 2003 Roland McGrath 4.4.93-1 +- new upstream version, fixes ppc and s390 bugs, adds missing ptrace requests + +* Fri Jan 10 2003 Roland McGrath 4.4.91-1 +- new upstream version, fixes -f on x86-64 + +* Fri Jan 10 2003 Roland McGrath 4.4.90-1 +- new upstream version, fixes all known bugs modulo ia64 and s390 issues + +* Fri Jan 03 2003 Florian La Roche 4.4-11 +- add further s390 patch from IBM + +* Wed Nov 27 2002 Tim Powers 4.4-10 +- remove unpackaged files from the buildroot + +* Mon Oct 07 2002 Phil Knirsch 4.4-9.1 +- Added latest s390(x) patch. + +* Fri Sep 06 2002 Karsten Hopp 4.4-9 +- preliminary x86_64 support with an ugly patch to help + debugging. Needs cleanup! + +* Mon Sep 2 2002 Jakub Jelinek 4.4-8 +- newer version of the clone fixing patch (Roland McGrath) +- aio syscalls for i386/ia64/ppc (Ben LaHaise) + +* Wed Aug 28 2002 Jakub Jelinek 4.4-7 +- fix strace -f (Roland McGrath, #68994) +- handle ?et_thread_area, SA_RESTORER (Ulrich Drepper) + +* Fri Jun 21 2002 Jakub Jelinek 4.4-6 +- handle futexes, *xattr, sendfile64, etc. (Ulrich Drepper) +- handle modify_ldt (#66894) + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Tue Apr 16 2002 Jakub Jelinek 4.4-4 +- fix for the last patch by Jeff Law (#62591) + +* Mon Mar 4 2002 Preston Brown 4.4-3 +- integrate patch from Jeff Law to eliminate hang tracing threads + +* Sat Feb 23 2002 Florian La Roche +- minor update from debian tar-ball + +* Wed Jan 02 2002 Florian La Roche +- update to 4.4 + +* Sun Jul 22 2001 Florian La Roche +- disable s390 patches, they are already included + +* Wed Jul 18 2001 Preston Brown 4.3-1 +- new upstream version. Seems to have integrated most new syscalls +- tracing threaded programs is now functional. + +* Mon Jun 11 2001 Than Ngo +- port s390 patches from IBM + +* Wed May 16 2001 Nalin Dahyabhai +- modify new syscall patch to allocate enough heap space in setgroups32() + +* Wed Feb 14 2001 Jakub Jelinek +- #include in addition to + +* Fri Jan 26 2001 Karsten Hopp +- clean up conflicting patches. This happened only + when building on S390 + +* Fri Jan 19 2001 Bill Nottingham +- update to CVS, reintegrate ia64 support + +* Fri Dec 8 2000 Bernhard Rosenkraenzer +- Get S/390 support into the normal package + +* Sat Nov 18 2000 Florian La Roche +- added S/390 patch from IBM, adapting it to not conflict with + IA64 patch + +* Sat Aug 19 2000 Jakub Jelinek +- doh, actually apply the 2.4 syscalls patch +- make it compile with 2.4.0-test7-pre4+ headers, add + getdents64 and fcntl64 + +* Thu Aug 3 2000 Jakub Jelinek +- add a bunch of new 2.4 syscalls (#14036) + +* Wed Jul 12 2000 Prospector +- automatic rebuild +- excludearch ia64 + +* Fri Jun 2 2000 Matt Wilson +- use buildinstall for FHS + +* Wed May 24 2000 Jakub Jelinek +- make things compile on sparc +- fix sigreturn on sparc + +* Fri Mar 31 2000 Bill Nottingham +- fix stat64 misdef (#10485) + +* Tue Mar 21 2000 Michael K. Johnson +- added ia64 patch + +* Thu Feb 03 2000 Cristian Gafton +- man pages are compressed +- version 4.2 (why are we keeping all these patches around?) + +* Sat Nov 27 1999 Jeff Johnson +- update to 4.1 (with sparc socketcall patch). + +* Fri Nov 12 1999 Jakub Jelinek +- fix socketcall on sparc. + +* Thu Sep 02 1999 Cristian Gafton +- fix KERN_SECURELVL compile problem + +* Tue Aug 31 1999 Cristian Gafton +- added alpha patch from HJLu to fix the osf_sigprocmask interpretation + +* Sat Jun 12 1999 Jeff Johnson +- update to 3.99.1. + +* Wed Jun 2 1999 Jeff Johnson +- add (the other :-) jj's sparc patch. + +* Wed May 26 1999 Jeff Johnson +- upgrade to 3.99 in order to +- add new 2.2.x open flags (#2955). +- add new 2.2.x syscalls (#2866). +- strace 3.1 patches carried along for now. + +* Sun May 16 1999 Jeff Johnson +- don't rely on (broken!) rpm %%patch (#2735) + +* Tue Apr 06 1999 Preston Brown +- strip binary + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 16) + +* Tue Feb 9 1999 Jeff Johnson +- vfork est arrive! + +* Tue Feb 9 1999 Christopher Blizzard +- Add patch to follow clone() syscalls, too. + +* Sun Jan 17 1999 Jeff Johnson +- patch to build alpha/sparc with glibc 2.1. + +* Thu Dec 03 1998 Cristian Gafton +- patch to build on ARM + +* Wed Sep 30 1998 Jeff Johnson +- fix typo (printf, not tprintf). + +* Sat Sep 19 1998 Jeff Johnson +- fix compile problem on sparc. + +* Tue Aug 18 1998 Cristian Gafton +- buildroot + +* Mon Jul 20 1998 Cristian Gafton +- added the umoven patch from James Youngman +- fixed build problems on newer glibc releases + +* Mon Jun 08 1998 Prospector System +- translations modified for de, fr, tr