From a04974ddcb51fbb24b1e44b1f9c98d0a11356cca Mon Sep 17 00:00:00 2001 From: Martin Cermak Date: Thu, 2 Oct 2025 17:11:50 +0200 Subject: [PATCH] Update the LTP version in valgrind testsuite to v20250930 Update the LTP version in valgrind testsuite to v20250930. All patches from auxprogs/ltp-patches were accepted by LTP upstream and included in the release, so these can now be dropped locally. https://bugs.kde.org/show_bug.cgi?id=510169 --- NEWS | 1 + auxprogs/Makefile.am | 9 +-- ...-powerpc-syscall-defs-don-t-leak-to-.patch | 41 ----------- .../0002-Introduce-LTP_QUIET-env-var.patch | 73 ------------------- ...-the-scanf-address-format-is-at-leas.patch | 39 ---------- 5 files changed, 4 insertions(+), 159 deletions(-) delete mode 100644 auxprogs/ltp-patches/0001-Make-sure-32-bit-powerpc-syscall-defs-don-t-leak-to-.patch delete mode 100644 auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch delete mode 100644 auxprogs/ltp-patches/0003-mmap04-Make-sure-the-scanf-address-format-is-at-leas.patch diff --git a/NEWS b/NEWS index 7335f05b3..ca3f9fca4 100644 --- a/NEWS +++ b/NEWS @@ -147,6 +147,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 509567 unhandled amd64-linux syscall: 443 (quotactl_fd) 509642 Add missing ppc64-linux syswraps 509643 Add missing s390x-linux syswraps +510169 Update the LTP version in valgrind testsuite to 20250930 To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/auxprogs/Makefile.am b/auxprogs/Makefile.am index 0ce348ef5..d96e7fd0a 100644 --- a/auxprogs/Makefile.am +++ b/auxprogs/Makefile.am @@ -20,10 +20,7 @@ LTP_FILTERS = \ filters/prctl10 \ filters/select03 -LTP_PATCHES = \ - ltp-patches/0001-Make-sure-32-bit-powerpc-syscall-defs-don-t-leak-to-.patch \ - ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch \ - ltp-patches/0003-mmap04-Make-sure-the-scanf-address-format-is-at-leas.patch +LTP_PATCHES = EXTRA_DIST = \ docs/valgrind-listener-manpage.xml \ @@ -173,8 +170,8 @@ endif endif # Linux Test Project -LTP_VERSION=20250530 -LTP_SHA256_SUM=27586ba78eac1e40cd422add2842f1ad70f09fea55da3bd6a25e10feb786d4f2 +LTP_VERSION=20250930 +LTP_SHA256_SUM=048fa4d69ddbe8a94aa15da9bdc85713ab07a0abbc3de2b8bdd9757644aef1e4 LTP_TAR_NAME=ltp-full-$(LTP_VERSION).tar.xz LTP_URL=https://github.com/linux-test-project/ltp/releases/download/$(LTP_VERSION)/$(LTP_TAR_NAME) LTP_TAR=$(AUX_CHECK_DIR)/$(LTP_TAR_NAME) diff --git a/auxprogs/ltp-patches/0001-Make-sure-32-bit-powerpc-syscall-defs-don-t-leak-to-.patch b/auxprogs/ltp-patches/0001-Make-sure-32-bit-powerpc-syscall-defs-don-t-leak-to-.patch deleted file mode 100644 index bd1fb1dd6..000000000 --- a/auxprogs/ltp-patches/0001-Make-sure-32-bit-powerpc-syscall-defs-don-t-leak-to-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a90b2aac69028bd6b9e0fcc1e36760639b937b99 Mon Sep 17 00:00:00 2001 -From: Martin Cermak -Date: Mon, 4 Aug 2025 21:46:52 +0200 -Subject: [PATCH] Make sure 32-bit powerpc syscall defs don't leak to 64-bit - powerpc systems - -generate_syscalls.sh generates the syscalls.h header at the configure -time. At the moment, that header has a set of 32-bit syscalls defined -with the __powerpc__ gate, plus another set of 64-bit syscalls defined -with the __powerpc64__ gate. For 32-bit powerpc systems that's fine. -But for a 64-bit powerpc system this means that both sets of syscalls -become defined, which isn't right. - -Thing is that on a 64-bit powerpc system, both __powerpc__ and -__powerpc64__ are defined compiler macros, while on a 32-bit powerpc -system, only the former is defined while the latter is not. - -That said, the correct gate for a 32-bit only powerpc code is: - #if defined(__powerpc__) && !defined(__powerpc64__) - -Without this patch, e.g. __NR_clock_gettime64 def leaks to -64-bit powerpc systems, which is wrong. This patch fixes it. ---- - include/lapi/syscalls/generate_syscalls.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/lapi/syscalls/generate_syscalls.sh b/include/lapi/syscalls/generate_syscalls.sh -index b17c72ddf..19f280dfb 100755 ---- a/include/lapi/syscalls/generate_syscalls.sh -+++ b/include/lapi/syscalls/generate_syscalls.sh -@@ -78,6 +78,7 @@ while IFS= read -r arch; do - parisc) echo "#ifdef __hppa__" ;; - loongarch64) echo "#ifdef __loongarch__" ;; - arm64) echo "#ifdef __aarch64__" ;; -+ powerpc) echo "#if defined(__powerpc__) && !defined(__powerpc64__)" ;; - *) echo "#ifdef __${arch}__" ;; - esac - --- -2.48.1 - diff --git a/auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch b/auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch deleted file mode 100644 index a77162bfc..000000000 --- a/auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 183df3240f8e7ca38fbe2fd472c31c9417ae7eb2 Mon Sep 17 00:00:00 2001 -From: Martin Cermak -Date: Tue, 16 Sep 2025 15:46:40 +0200 -Subject: [PATCH] Introduce LTP_QUIET env var - -Introduce LTP_QUIET env variable. When set to 1 or y, it will -suppress printing TCONF, TWARN, TINFO, and TDEBUG messages. ---- - lib/tst_test.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/lib/tst_test.c b/lib/tst_test.c -index 92872cc89..609a7b075 100644 ---- a/lib/tst_test.c -+++ b/lib/tst_test.c -@@ -68,6 +68,7 @@ static int iterations = 1; - static float duration = -1; - static float timeout_mul = -1; - static int reproducible_output; -+static int quiet_output; - - struct context { - int32_t lib_pid; -@@ -307,15 +308,19 @@ static void print_result(const char *file, const int lineno, int ttype, - res = "TBROK"; - break; - case TCONF: -+ if (quiet_output) return; - res = "TCONF"; - break; - case TWARN: -+ if (quiet_output) return; - res = "TWARN"; - break; - case TINFO: -+ if (quiet_output) return; - res = "TINFO"; - break; - case TDEBUG: -+ if (quiet_output) return; - res = "TDEBUG"; - break; - default: -@@ -670,6 +675,7 @@ static void print_help(void) - fprintf(stderr, "LTP_DEV_FS_TYPE Filesystem used for testing (default: %s)\n", DEFAULT_FS_TYPE); - fprintf(stderr, "LTP_ENABLE_DEBUG Print debug messages (set 1 or y)\n"); - fprintf(stderr, "LTP_REPRODUCIBLE_OUTPUT Values 1 or y discard the actual content of the messages printed by the test\n"); -+ fprintf(stderr, "LTP_QUIET Values 1 or y will suppress printing TCONF, TWARN, TINFO, and TDEBUG messages\n"); - fprintf(stderr, "LTP_SINGLE_FS_TYPE Specifies filesystem instead all supported (for .all_filesystems)\n"); - fprintf(stderr, "LTP_FORCE_SINGLE_FS_TYPE Testing only. The same as LTP_SINGLE_FS_TYPE but ignores test skiplist.\n"); - fprintf(stderr, "LTP_TIMEOUT_MUL Timeout multiplier (must be a number >=1)\n"); -@@ -1361,6 +1367,7 @@ static void do_setup(int argc, char *argv[]) - { - char *tdebug_env = getenv("LTP_ENABLE_DEBUG"); - char *reproducible_env = getenv("LTP_REPRODUCIBLE_OUTPUT"); -+ char *quiet_env = getenv("LTP_QUIET"); - - if (!tst_test) - tst_brk(TBROK, "No tests to run"); -@@ -1391,6 +1398,10 @@ static void do_setup(int argc, char *argv[]) - (!strcmp(reproducible_env, "1") || !strcmp(reproducible_env, "y"))) - reproducible_output = 1; - -+ if (quiet_env && -+ (!strcmp(quiet_env, "1") || !strcmp(quiet_env, "y"))) -+ quiet_output = 1; -+ - assert_test_fn(); - - TCID = tcid = get_tcid(argv); --- -2.48.1 - diff --git a/auxprogs/ltp-patches/0003-mmap04-Make-sure-the-scanf-address-format-is-at-leas.patch b/auxprogs/ltp-patches/0003-mmap04-Make-sure-the-scanf-address-format-is-at-leas.patch deleted file mode 100644 index 7956999b3..000000000 --- a/auxprogs/ltp-patches/0003-mmap04-Make-sure-the-scanf-address-format-is-at-leas.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6c3a6a6f625b58e8dc611cc12bc6015dc8dd5b32 Mon Sep 17 00:00:00 2001 -From: Mark Wielaard -Date: Thu, 18 Sep 2025 17:16:05 +0200 -Subject: [PATCH] mmap04: Make sure the scanf address format is at least 8 hex - chars - -The addresses in /proc/self/maps are at least 8 hex chars. Zeros are -added to the front of the address when shorter (both on 32bit and -64bit systems). - -Under valgrind the mmaps used in kernel/syscalls/mmap/mmap04.c come -out very low in the address space and might be shorter than 8 hex -chars. This causes the scanf to fail: -mmap04.c:62: TBROK: Expected 1 conversions got 0 FILE '/proc/self/maps' - -Fix this by using "%08" PRIxPTR when creating the fmt used. - -Signed-off-by: Mark Wielaard ---- - testcases/kernel/syscalls/mmap/mmap04.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/testcases/kernel/syscalls/mmap/mmap04.c b/testcases/kernel/syscalls/mmap/mmap04.c -index 4a050b7b50da..5b28180df29b 100644 ---- a/testcases/kernel/syscalls/mmap/mmap04.c -+++ b/testcases/kernel/syscalls/mmap/mmap04.c -@@ -58,7 +58,8 @@ static void run(unsigned int i) - - addr2 = SAFE_MMAP(addr1 + pagesize, pagesize, tc->prot, tc->flags | MAP_FIXED, -1, 0); - -- sprintf(fmt, "%" PRIxPTR "-%%*x %%s", (uintptr_t)addr2); -+ /* A /proc/self/maps address is at least 8 hex (left zero padded) */ -+ sprintf(fmt, "%08" PRIxPTR "-%%*x %%s", (uintptr_t)addr2); - SAFE_FILE_LINES_SCANF("/proc/self/maps", fmt, perms); - - if (!strcmp(perms, tc->exp_perms)) { --- -2.51.0 - -- 2.47.3