From a37dba3063256ef4852522a1b1035a10bcd9860d Mon Sep 17 00:00:00 2001 From: Petr Vorel Date: Sat, 29 Feb 2020 17:51:45 +0100 Subject: ltp: Update to 20200120 Removed ffsb copying file and associated runtest file fs_ext4 (both removed in this release). Added LIBS=-lfts for MUSL. Removed patches (accepted upstream) * 0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch * 0001-testcases-fix-an-absent-format-string-issue.patch * 0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch Merged patches * 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch (into 0001-build-Add-option-to-select-libc-implementation.patch as they touch the same files) Refreshed patches (some tests have been fixed for musl) * 0001-Add-more-musl-exclusions.patch * 0001-build-Add-option-to-select-libc-implementation.patch * 0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch IMHO this one shouldn't be needed not, but CI still fails without it Updated status * 0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch * 0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch (From OE-Core rev: 62e2063698477a13c55ae370451e52a2f1e18e45) Signed-off-by: Petr Vorel Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- meta/lib/oeqa/runtime/cases/ltp.py | 2 +- .../ltp/ltp/0001-Add-more-musl-exclusions.patch | 36 +------ ...-Add-option-to-select-libc-implementation.patch | 102 +++++------------- ...-Add-udevadm-trigger-before-swap-verifica.patch | 35 ------- ...-prefix-zeros-of-the-addresses-output-by-.patch | 43 -------- ...eck-for-time64-unsafe-syscalls-before-usi.patch | 40 ++++++-- ...stcases-fix-an-absent-format-string-issue.patch | 24 ----- ...rollers-Link-with-libfts-explicitly-on-mu.patch | 47 --------- ...06-rt_tgsigqueueinfo-disable-test-on-musl.patch | 35 ------- ...etwork-nfsv4-acl-acl1.c-Security-fix-on-s.patch | 27 ++--- meta/recipes-extended/ltp/ltp_20190930.bb | 114 --------------------- meta/recipes-extended/ltp/ltp_20200120.bb | 109 ++++++++++++++++++++ 12 files changed, 186 insertions(+), 428 deletions(-) delete mode 100644 meta/recipes-extended/ltp/ltp/0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch delete mode 100644 meta/recipes-extended/ltp/ltp_20190930.bb create mode 100644 meta/recipes-extended/ltp/ltp_20200120.bb diff --git a/meta/lib/oeqa/runtime/cases/ltp.py b/meta/lib/oeqa/runtime/cases/ltp.py index b8b7300435..6dc5ef22ad 100644 --- a/meta/lib/oeqa/runtime/cases/ltp.py +++ b/meta/lib/oeqa/runtime/cases/ltp.py @@ -59,7 +59,7 @@ class LtpTest(LtpTestBase): ltp_groups = ["math", "syscalls", "dio", "io", "mm", "ipc", "sched", "nptl", "pty", "containers", "controllers", "filecaps", "cap_bounds", "fcntl-locktests", "connectors", "commands", "net.ipv6_lib", "input","fs_perms_simple"] - ltp_fs = ["fs", "fsx", "fs_bind", "fs_ext4"] + ltp_fs = ["fs", "fsx", "fs_bind"] # skip kernel cpuhotplug ltp_kernel = ["power_management_tests", "hyperthreading ", "kernel_misc", "hugetlb"] ltp_groups += ltp_fs diff --git a/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch b/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch index d3af31f34a..02c2fef55b 100644 --- a/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch +++ b/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Add more musl exclusions Upstream-Status: Pending Signed-off-by: Alexander Kanavin +[ pvorel: rebase for 20200120: enable fanotify13, fanotify15, setxattr03 ] +Signed-off-by: Petr Vorel --- testcases/kernel/syscalls/accept4/Makefile | 4 ++++ - testcases/kernel/syscalls/fanotify/Makefile | 6 ++++++ - testcases/kernel/syscalls/setxattr/Makefile | 4 ++++ testcases/kernel/syscalls/timer_create/Makefile | 4 ++++ - 4 files changed, 18 insertions(+) + 2 files changed, 8 insertions(+) diff --git a/testcases/kernel/syscalls/accept4/Makefile b/testcases/kernel/syscalls/accept4/Makefile index 504042e11..94db06266 100644 @@ -23,34 +23,6 @@ index 504042e11..94db06266 100644 +ifeq ($(LIBC),musl) +FILTER_OUT_MAKE_TARGETS := accept4_01 +endif -+ - include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/testcases/kernel/syscalls/fanotify/Makefile b/testcases/kernel/syscalls/fanotify/Makefile -index 5d01b4825..0263a6e20 100644 ---- a/testcases/kernel/syscalls/fanotify/Makefile -+++ b/testcases/kernel/syscalls/fanotify/Makefile -@@ -20,4 +20,10 @@ top_srcdir ?= ../../../.. - fanotify11: CFLAGS+=-pthread - include $(top_srcdir)/include/mk/testcases.mk - -+ifeq ($(LIBC),musl) -+FILTER_OUT_MAKE_TARGETS := fanotify13 fanotify15 -+endif -+ - include $(top_srcdir)/include/mk/generic_leaf_target.mk -+ -+ -diff --git a/testcases/kernel/syscalls/setxattr/Makefile b/testcases/kernel/syscalls/setxattr/Makefile -index 72544c13e..7f20b2780 100644 ---- a/testcases/kernel/syscalls/setxattr/Makefile -+++ b/testcases/kernel/syscalls/setxattr/Makefile -@@ -20,4 +20,8 @@ top_srcdir ?= ../../../.. - - include $(top_srcdir)/include/mk/testcases.mk - -+ifeq ($(LIBC),musl) -+FILTER_OUT_MAKE_TARGETS := setxattr03 -+endif + include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/timer_create/Makefile b/testcases/kernel/syscalls/timer_create/Makefile @@ -68,3 +40,5 @@ index 8de247075..eb240f432 100644 CPPFLAGS += -D_GNU_SOURCE -I$(abs_srcdir)/../include LDLIBS += -lpthread -lrt +-- +2.25.1 diff --git a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch index 1705abcf19..b1a99959d3 100644 --- a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch +++ b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch @@ -1,7 +1,7 @@ -From 62c3481c73a2414d7a5f0a70808bfc9a06195bd9 Mon Sep 17 00:00:00 2001 +From be453d1be826b862d47e08663fd69eea9dd62730 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 7 Jan 2016 18:19:03 +0000 -Subject: [PATCH] build: Add option to select libc implementation +Subject: [PATCH 1/6] build: Add option to select libc implementation There are more than glibc for C library implementation available on linux now a days, uclibc cloaked like glibc but musl e.g. is very @@ -11,18 +11,26 @@ Disable tests specifically not building _yet_ on musl based systems Upstream-Status: Pending -Signed-off-by: Khem Raj +rt_tgsigqueueinfo fails with: +rt_tgsigqueueinfo01.c: In function 'sigusr1_handler': +rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct '} has no member named '_sifields'; did you mean '__si_fields'? + 42 | sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr; + | ^~~~~~~~~ + | __si_fields +Signed-off-by: Khem Raj +[ pvorel: rebase for 20200120: enable mallopt, profil, rpc016, +rt_sigsuspend, sbrk_mutex, setdomainname, sethostname, sigsuspend, +testpi-3, testpi-5, testpi-6, ustat; move rt_tgsigqueueinfo +from 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch ] +Signed-off-by: Petr Vorel +Signed-off-by: Petr Vorel --- - Makefile | 5 +++++ - testcases/kernel/Makefile | 5 ++++- - testcases/kernel/sched/Makefile | 4 +++- - testcases/kernel/syscalls/Makefile | 5 +++++ - testcases/network/nfsv4/acl/Makefile | 4 ++++ - testcases/network/rpc/basic_tests/Makefile | 5 +++++ - testcases/realtime/func/pi-tests/Makefile | 4 ++++ - testcases/realtime/stress/pi-tests/Makefile | 5 +++++ - 8 files changed, 35 insertions(+), 2 deletions(-) + Makefile | 5 +++++ + testcases/kernel/Makefile | 5 ++++- + testcases/kernel/sched/Makefile | 4 +++- + testcases/kernel/syscalls/Makefile | 4 ++++ + 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 768ca4606..e9d679a71 100644 @@ -76,73 +84,19 @@ index 6a57d79ee..74bb93370 100644 +endif include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile -index 45a00cf7d..d1becd054 100644 +index 45a00cf7d..af5a591a0 100644 --- a/testcases/kernel/syscalls/Makefile +++ b/testcases/kernel/syscalls/Makefile -@@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1) - FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \ +@@ -29,6 +29,10 @@ FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \ mincore mprotect nftw profil remap_file_pages sbrk endif -+ifeq ($(LIBC),musl) -+FILTER_OUT_DIRS += confstr fmtmsg getcontext ioctl mallopt profil \ -+ rt_sigsuspend setdomainname sethostname sigsuspend \ -+ ustat -+endif - - ifeq ($(UCLIBC),1) - FILTER_OUT_DIRS += profil -diff --git a/testcases/network/nfsv4/acl/Makefile b/testcases/network/nfsv4/acl/Makefile -index 8c55a6bbd..f7cda621d 100644 ---- a/testcases/network/nfsv4/acl/Makefile -+++ b/testcases/network/nfsv4/acl/Makefile -@@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk - - LDLIBS += $(ACL_LIBS) +ifeq ($(LIBC),musl) -+FILTER_OUT_MAKE_TARGETS := acl1 ++FILTER_OUT_DIRS += confstr fmtmsg getcontext ioctl rt_tgsigqueueinfo +endif + - include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile -index 66e9d5675..ea8eb8a98 100644 ---- a/testcases/network/rpc/basic_tests/Makefile -+++ b/testcases/network/rpc/basic_tests/Makefile -@@ -23,4 +23,9 @@ - top_srcdir ?= ../../../.. - - include $(top_srcdir)/include/mk/env_pre.mk -+ -+ifeq ($(LIBC),musl) -+FILTER_OUT_DIRS += rpc01 -+endif -+ - include $(top_srcdir)/include/mk/generic_trunk_target.mk -diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile -index 68616a711..748754bb4 100644 ---- a/testcases/realtime/func/pi-tests/Makefile -+++ b/testcases/realtime/func/pi-tests/Makefile -@@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk - include $(abs_srcdir)/../../config.mk - - MAKE_TARGETS := testpi-0 testpi-1 testpi-2 testpi-4 testpi-5 testpi-6 testpi-7 sbrk_mutex -+ifeq ($(LIBC),musl) -+FILTER_OUT_MAKE_TARGETS := testpi-5 testpi-6 sbrk_mutex -+endif -+ - - include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/testcases/realtime/stress/pi-tests/Makefile b/testcases/realtime/stress/pi-tests/Makefile -index 1881f7565..266e0b815 100644 ---- a/testcases/realtime/stress/pi-tests/Makefile -+++ b/testcases/realtime/stress/pi-tests/Makefile -@@ -24,4 +24,9 @@ top_srcdir ?= ../../../.. - - include $(top_srcdir)/include/mk/env_pre.mk - include $(abs_srcdir)/../../config.mk -+ -+ifeq ($(LIBC),musl) -+FILTER_OUT_MAKE_TARGETS := testpi-3 -+endif -+ - include $(top_srcdir)/include/mk/generic_leaf_target.mk + ifeq ($(UCLIBC),1) + FILTER_OUT_DIRS += profil + endif +-- +2.25.1 diff --git a/meta/recipes-extended/ltp/ltp/0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch b/meta/recipes-extended/ltp/ltp/0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch deleted file mode 100644 index 1b433d3ad3..0000000000 --- a/meta/recipes-extended/ltp/ltp/0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch +++ /dev/null @@ -1,35 +0,0 @@ -From fae8852a63d9fa6e56fb8b24eaf10560bd13757f Mon Sep 17 00:00:00 2001 -From: Yongxin Liu -Date: Tue, 12 Nov 2019 11:33:50 +0800 -Subject: [PATCH] mkswap01.sh: Add "udevadm trigger" before swap verification - -Fix: https://github.com/linux-test-project/ltp/issues/458 - -Sometimes the swap device cannot show up in /dev/disk/by-uuid/ -or /dev/disk/by-lable/ due to the issue #458. When this issue -happens, "blkid -c /dev/null" and "ls /dev/disk/by-uuid/" show -different UUID of the device. - -Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1193414] - -Signed-off-by: Yongxin Liu ---- - testcases/commands/mkswap/mkswap01.sh | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/testcases/commands/mkswap/mkswap01.sh b/testcases/commands/mkswap/mkswap01.sh -index 3a348c6e6..9437c4a4e 100755 ---- a/testcases/commands/mkswap/mkswap01.sh -+++ b/testcases/commands/mkswap/mkswap01.sh -@@ -129,6 +129,8 @@ mkswap_test() - return - fi - -+ udevadm trigger --name-match=$TST_DEVICE -+ - if [ -n "$device" ]; then - mkswap_verify "$mkswap_op" "$op_arg" "$device" "$size" "$dev_file" - if [ $? -ne 0 ]; then --- -2.14.4 - diff --git a/meta/recipes-extended/ltp/ltp/0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch b/meta/recipes-extended/ltp/ltp/0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch deleted file mode 100644 index fe5e7314e0..0000000000 --- a/meta/recipes-extended/ltp/ltp/0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 59cb0dd9f8e65b2d398fcaf4d163cbc8e1d0ae45 Mon Sep 17 00:00:00 2001 -From: He Zhe -Date: Tue, 31 Dec 2019 15:02:48 +0800 -Subject: [PATCH] nm01: Remove prefix zeros of the addresses output by nm - before comparing - -The latest nm v2.33.1 outputs symbols addresses without prefix zeros -for "nm -f posix", which causes the following error. -nm01 5 TFAIL: Got wrong format with -f bsd - -Let's remove the prefix zeros before comparing. - -Upstream-Status: Backport [59cb0dd9f8e65b2d398fcaf4d163cbc8e1d0ae45] - -Signed-off-by: He Zhe -Reviewed-by: Li Wang -Reviewed-by: Petr Vorel -Tested-by: Petr Vorel ---- - testcases/commands/nm/nm01.sh | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/testcases/commands/nm/nm01.sh b/testcases/commands/nm/nm01.sh -index 30c41bd..fd9d3d9 100755 ---- a/testcases/commands/nm/nm01.sh -+++ b/testcases/commands/nm/nm01.sh -@@ -84,8 +84,11 @@ test5() - EXPECT_PASS $NM -f bsd $TST_DATAROOT/f1 \> nm_bsd.out - EXPECT_PASS $NM -f posix $TST_DATAROOT/f1 \> nm_posix.out - -- ROD awk '{print $3 $2 $1}' nm_bsd.out \> nm1.out -- ROD awk '{print $1 $2 $3}' nm_posix.out \> nm2.out -+ ROD awk '{print gensub(/\y(0+)([0-9a-fA-F]+)\y/, "\\2", "g")}' nm_bsd.out \> trimmed_nm_bsd.out -+ ROD awk '{print gensub(/\y(0+)([0-9a-fA-F]+)\y/, "\\2", "g")}' nm_posix.out \> trimmed_nm_posix.out -+ -+ ROD awk '{print $3 $2 $1}' trimmed_nm_bsd.out \> nm1.out -+ ROD awk '{print $1 $2 $3}' trimmed_nm_posix.out \> nm2.out - - if diff nm1.out nm2.out > /dev/null; then - tst_res TPASS "Got BSD format with -f bsd" --- -2.7.4 - diff --git a/meta/recipes-extended/ltp/ltp/0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch b/meta/recipes-extended/ltp/ltp/0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch index c431669716..ac8f08ef5a 100644 --- a/meta/recipes-extended/ltp/ltp/0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch +++ b/meta/recipes-extended/ltp/ltp/0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch @@ -1,28 +1,40 @@ -From b66905b094e08a84c30bc135003c3611f65d53ec Mon Sep 17 00:00:00 2001 +From 89c5841bd148a7ae70c65f4a1ca5996b7f0cddfa Mon Sep 17 00:00:00 2001 From: Khem Raj -Date: Wed, 12 Feb 2020 22:22:17 -0800 +Date: Wed, 19 Feb 2020 22:52:04 -0800 Subject: [PATCH] syscalls: Check for time64 unsafe syscalls before using them musl is using 64bit time_t now on 32bit architectures and these syscalls no longer exist, therefore its better to check for them being available before using them -Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1241258/] Signed-off-by: Khem Raj +Reviewed-by: Yang Xu +Reviewed-by: Petr Vorel +Signed-off-by: Petr Vorel +Upstream-Status: accepted as 5b57ae2913e2d2d167cbd3822784b4c4ba336812 --- - lib/tst_clocks.c | 9 +++++---- - testcases/kernel/syscalls/gettimeofday/gettimeofday01.c | 6 ++---- - testcases/kernel/syscalls/gettimeofday/gettimeofday02.c | 8 +++----- - 3 files changed, 10 insertions(+), 13 deletions(-) + lib/tst_clocks.c | 16 ++++++---------- + .../syscalls/gettimeofday/gettimeofday01.c | 6 ++---- + .../syscalls/gettimeofday/gettimeofday02.c | 8 +++----- + 3 files changed, 11 insertions(+), 19 deletions(-) +diff --git a/lib/tst_clocks.c b/lib/tst_clocks.c +index 5195da38f..fa2f1cb84 100644 --- a/lib/tst_clocks.c +++ b/lib/tst_clocks.c -@@ -22,21 +22,22 @@ - #define _GNU_SOURCE - #include +@@ -3,28 +3,24 @@ + * Copyright (c) 2017 Cyril Hrubis + */ + +-/* +- * clock_gettime() and clock_getres() functions +- */ +- +-#define _GNU_SOURCE +-#include #include -#include -- + +#define TST_NO_DEFAULT_MAIN +#include "tst_test.h" #include "tst_clocks.h" @@ -45,6 +57,8 @@ Signed-off-by: Khem Raj - return syscall(SYS_clock_settime, clk_id, ts); + return tst_syscall(__NR_clock_settime, clk_id, ts); } +diff --git a/testcases/kernel/syscalls/gettimeofday/gettimeofday01.c b/testcases/kernel/syscalls/gettimeofday/gettimeofday01.c +index 583d8f7b9..08ea1673a 100644 --- a/testcases/kernel/syscalls/gettimeofday/gettimeofday01.c +++ b/testcases/kernel/syscalls/gettimeofday/gettimeofday01.c @@ -38,10 +38,8 @@ @@ -68,6 +82,8 @@ Signed-off-by: Khem Raj /* gettimeofday returns an int, so we need to turn the long * TEST_RETURN into an int to test with */ +diff --git a/testcases/kernel/syscalls/gettimeofday/gettimeofday02.c b/testcases/kernel/syscalls/gettimeofday/gettimeofday02.c +index 1d60f448e..5170ad2f7 100644 --- a/testcases/kernel/syscalls/gettimeofday/gettimeofday02.c +++ b/testcases/kernel/syscalls/gettimeofday/gettimeofday02.c @@ -16,14 +16,12 @@ @@ -102,3 +118,5 @@ Signed-off-by: Khem Raj tst_res(TBROK | TERRNO, "gettimeofday() failed"); return; } +-- +2.25.1 diff --git a/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch deleted file mode 100644 index 9330844509..0000000000 --- a/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 476ce907fa18042cdde0a244ba9a46cd895ce76c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 12 Dec 2019 17:56:02 +0100 -Subject: [PATCH] testcases: fix an absent format string issue - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - .../kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c -index 27dbc6626..19d943d06 100644 ---- a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c -+++ b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c -@@ -59,7 +59,7 @@ static void verify_pidfd_send_signal(void) - - /* Manipulate PID for next process */ - sprintf(pid_str, "%d", pid - 1); -- SAFE_FILE_PRINTF(last_pid_file, pid_str); -+ SAFE_FILE_PRINTF(last_pid_file, "%s", pid_str); - - new_pid = SAFE_FORK(); - if (new_pid == 0) { diff --git a/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch b/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch deleted file mode 100644 index eff9ed0741..0000000000 --- a/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 81e5bd5442337a4a648a0dbbff47eaac0d351287 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 7 Jan 2016 18:22:38 +0000 -Subject: [PATCH] kernel/controllers: Link with libfts explicitly on musl - -musl does not implement fts like glibc and therefore it depends on -external implementation for all fts APIs - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - testcases/kernel/controllers/Makefile.inc | 3 +++ - testcases/kernel/controllers/cpuset/Makefile.inc | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/testcases/kernel/controllers/Makefile.inc b/testcases/kernel/controllers/Makefile.inc -index 4ca0b5a..1d85e4d 100644 ---- a/testcases/kernel/controllers/Makefile.inc -+++ b/testcases/kernel/controllers/Makefile.inc -@@ -36,6 +36,9 @@ MAKE_DEPS := $(LIB) - CPPFLAGS += -I$(abs_srcdir)/../$(LIBDIR) - - LDFLAGS += -L$(abs_builddir)/../$(LIBDIR) -+ifeq ($(LIBC),musl) -+LDLIBS += -lfts -+endif - - INSTALL_TARGETS ?= *.sh - -diff --git a/testcases/kernel/controllers/cpuset/Makefile.inc b/testcases/kernel/controllers/cpuset/Makefile.inc -index db6a843..86dd2a8 100644 ---- a/testcases/kernel/controllers/cpuset/Makefile.inc -+++ b/testcases/kernel/controllers/cpuset/Makefile.inc -@@ -42,6 +42,9 @@ MAKE_DEPS := $(LIBCONTROLLERS) $(LIBCPUSET) - LDFLAGS += -L$(abs_builddir)/$(LIBCPUSET_DIR) -L$(abs_builddir)/$(LIBCONTROLLERS_DIR) - - LDLIBS += -lcpu_set -lcontrollers -lltp -+ifeq ($(LIBC),musl) -+LDLIBS += -lfts -+endif - - INSTALL_TARGETS ?= *.sh - --- -2.7.4 - diff --git a/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch b/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch deleted file mode 100644 index 804edfa1b4..0000000000 --- a/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 60054686e2c1a4bedf1d507af97ebbb7ff491e77 Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Thu, 18 Jul 2019 15:23:15 +0800 -Subject: [PATCH] rt_tgsigqueueinfo: disable test on musl - -Fix build error with musl: -rt_tgsigqueueinfo01.c: In function 'sigusr1_handler': -rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct '} has no member named '_sifields'; did you mean '__si_fields'? - 42 | sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr; - | ^~~~~~~~~ - | __si_fields - -Upstream-Status: Pending - -Signed-off-by: Yi Zhao ---- - testcases/kernel/syscalls/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile -index d1becd0..1f3ff34 100644 ---- a/testcases/kernel/syscalls/Makefile -+++ b/testcases/kernel/syscalls/Makefile -@@ -31,7 +31,7 @@ endif - ifeq ($(LIBC),musl) - FILTER_OUT_DIRS += confstr fmtmsg getcontext ioctl mallopt profil \ - rt_sigsuspend setdomainname sethostname sigsuspend \ -- ustat -+ ustat rt_tgsigqueueinfo - endif - - ifeq ($(UCLIBC),1) --- -2.7.4 - diff --git a/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch b/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch index b46325eaf3..350091a70c 100644 --- a/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch +++ b/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch @@ -1,33 +1,34 @@ -From aa7a9185a037ad59012bd46713ac340458e95209 Mon Sep 17 00:00:00 2001 +From 4b7db094d6fc5659001ae8dc17078bb65d46b9c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= Date: Fri, 13 May 2016 11:11:28 -0500 -Subject: [PATCH] testcases/network/nfsv4/acl/acl1.c: Security fix on - string printf +Subject: [PATCH] acl: Security fix on string printf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Fixes: +Fixes build error when compiled with -Werror=format-security: -acl1.c: In function 'test_acl_default': -acl1.c:317:2: error: format not a string literal and no format arguments -[-Werror=format-security] - printf(cmd); +acl1.c: In function ‘test_acl_default’: +acl1.c:305:2: error: format not a string literal and no format arguments [-Werror=format-security] + 305 | printf(cmd); -[YOCTO #9548] +Patch taken from openembedded-core, +original bug report: https://bugzilla.yoctoproject.org/9548 -Upstream-Status: Pending +[YOCTO #9548] Signed-off-by: Aníbal Limón +Signed-off-by: Petr Vorel +Upstream-Status: accepted in 4b7db094d6fc5659001ae8dc17078bb65d46b9c9 --- testcases/network/nfsv4/acl/acl1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testcases/network/nfsv4/acl/acl1.c b/testcases/network/nfsv4/acl/acl1.c -index bdf0180..898b7ca 100644 +index aae9484e5..ad778cd33 100644 --- a/testcases/network/nfsv4/acl/acl1.c +++ b/testcases/network/nfsv4/acl/acl1.c -@@ -303,7 +303,7 @@ void test_acl_default(char *dir, acl_t acl) +@@ -302,7 +302,7 @@ void test_acl_default(char *dir, acl_t acl) char *cmd = malloc(256); strcpy(cmd, "chmod 7777 "); @@ -37,5 +38,5 @@ index bdf0180..898b7ca 100644 system(cmd); acl2 = acl_get_file(path, ACL_TYPE_ACCESS); -- -2.7.4 +2.25.1 diff --git a/meta/recipes-extended/ltp/ltp_20190930.bb b/meta/recipes-extended/ltp/ltp_20190930.bb deleted file mode 100644 index 19bd7bc9c6..0000000000 --- a/meta/recipes-extended/ltp/ltp_20190930.bb +++ /dev/null @@ -1,114 +0,0 @@ -SUMMARY = "Linux Test Project" -DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." -HOMEPAGE = "https://linux-test-project.github.io/" -SECTION = "console/utils" -LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ - file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ - file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ - file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \ - file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ - file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \ -" - -DEPENDS = "attr libaio libcap acl openssl zip-native" -DEPENDS_append_libc-musl = " fts " -EXTRA_OEMAKE_append_libc-musl = " LIBC=musl " - -# since ltp contains x86-64 assembler which uses the frame-pointer register, -# set -fomit-frame-pointer x86-64 to handle cases where optimisation -# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer -# earlier in CFLAGS, etc. -CFLAGS_append_x86-64 = " -fomit-frame-pointer" - -CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__" -CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" -SRCREV = "c9707b465a08397569920b676345474f44327200" - -SRC_URI = "git://github.com/linux-test-project/ltp.git \ - file://0001-build-Add-option-to-select-libc-implementation.patch \ - file://0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \ - file://0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \ - file://0004-guard-mallocopt-with-__GLIBC__.patch \ - file://0006-rt_tgsigqueueinfo-disable-test-on-musl.patch \ - file://0007-Fix-test_proc_kill-hanging.patch \ - file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \ - file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \ - file://0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch \ - file://0001-testcases-fix-an-absent-format-string-issue.patch \ - file://0001-Add-more-musl-exclusions.patch \ - file://0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch \ - file://0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools-brokensep - -TARGET_CC_ARCH += "${LDFLAGS}" - -export prefix = "/opt/ltp" -export exec_prefix = "/opt/ltp" - -PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," -EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" -EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite --with-open-posix-testsuite " -# ltp network/rpc test cases ftbfs when libtirpc is found -EXTRA_OECONF += " --without-tirpc " - -do_install(){ - install -d ${D}/opt/ltp/ - oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install - - # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run - # as it lacks dependency on some perl moudle such as LWP::Simple - # And this script previously works as a tool for analyzing failures from LTP - # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses - # http://khack.osdl.org to retrieve ltp test results run on - # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible - rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl - - # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual - cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases -} - -RDEPENDS_${PN} = "\ - attr \ - bash \ - cpio \ - cronie \ - curl \ - e2fsprogs-mke2fs \ - expect \ - file \ - gawk \ - gzip \ - iproute2 \ - ldd \ - libaio \ - logrotate \ - perl \ - python3-core \ - procps \ - quota \ - unzip \ - util-linux \ - which \ - tar \ -" - -FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/* /opt/ltp/testcases/data/nm01/lib.a /opt/ltp/lib/libmem.a" - -# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail -INHIBIT_PACKAGE_STRIP_FILES = "/opt/ltp/testcases/bin/nm01 /opt/ltp/testcases/bin/ldd01" -INSANE_SKIP_${PN} += "already-stripped staticdev" - -# Avoid file dependency scans, as LTP checks for things that may or may not -# exist on the running system. For instance it has specific checks for -# csh and ksh which are not typically part of OpenEmbedded systems (but -# can be added via additional layers.) -SKIP_FILEDEPS_${PN} = '1' diff --git a/meta/recipes-extended/ltp/ltp_20200120.bb b/meta/recipes-extended/ltp/ltp_20200120.bb new file mode 100644 index 0000000000..3cc10afa0c --- /dev/null +++ b/meta/recipes-extended/ltp/ltp_20200120.bb @@ -0,0 +1,109 @@ +SUMMARY = "Linux Test Project" +DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." +HOMEPAGE = "https://linux-test-project.github.io/" +SECTION = "console/utils" +LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ + file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \ + file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ +" + +DEPENDS = "attr libaio libcap acl openssl zip-native" +DEPENDS_append_libc-musl = " fts " +EXTRA_OEMAKE_append_libc-musl = " LIBC=musl " +EXTRA_OECONF_append_libc-musl = " LIBS=-lfts " + +# since ltp contains x86-64 assembler which uses the frame-pointer register, +# set -fomit-frame-pointer x86-64 to handle cases where optimisation +# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer +# earlier in CFLAGS, etc. +CFLAGS_append_x86-64 = " -fomit-frame-pointer" + +CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__" +CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" +SRCREV = "4079aaf264d0e9ead042b59d1c5f4e643620d0d5" + +SRC_URI = "git://github.com/linux-test-project/ltp.git \ + file://0001-build-Add-option-to-select-libc-implementation.patch \ + file://0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \ + file://0004-guard-mallocopt-with-__GLIBC__.patch \ + file://0007-Fix-test_proc_kill-hanging.patch \ + file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \ + file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \ + file://0001-Add-more-musl-exclusions.patch \ + file://0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools-brokensep + +TARGET_CC_ARCH += "${LDFLAGS}" + +export prefix = "/opt/ltp" +export exec_prefix = "/opt/ltp" + +PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," +EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" +EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite --with-open-posix-testsuite " +# ltp network/rpc test cases ftbfs when libtirpc is found +EXTRA_OECONF += " --without-tirpc " + +do_install(){ + install -d ${D}/opt/ltp/ + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install + + # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run + # as it lacks dependency on some perl moudle such as LWP::Simple + # And this script previously works as a tool for analyzing failures from LTP + # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses + # http://khack.osdl.org to retrieve ltp test results run on + # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible + rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl + + # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual + cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases +} + +RDEPENDS_${PN} = "\ + attr \ + bash \ + cpio \ + cronie \ + curl \ + e2fsprogs-mke2fs \ + expect \ + file \ + gawk \ + gzip \ + iproute2 \ + ldd \ + libaio \ + logrotate \ + perl \ + python3-core \ + procps \ + quota \ + unzip \ + util-linux \ + which \ + tar \ +" + +FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/* /opt/ltp/testcases/data/nm01/lib.a /opt/ltp/lib/libmem.a" + +# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail +INHIBIT_PACKAGE_STRIP_FILES = "/opt/ltp/testcases/bin/nm01 /opt/ltp/testcases/bin/ldd01" +INSANE_SKIP_${PN} += "already-stripped staticdev" + +# Avoid file dependency scans, as LTP checks for things that may or may not +# exist on the running system. For instance it has specific checks for +# csh and ksh which are not typically part of OpenEmbedded systems (but +# can be added via additional layers.) +SKIP_FILEDEPS_${PN} = '1' -- cgit v1.2.3-54-g00ecf