mirror of
https://git.yoctoproject.org/poky
synced 2026-04-27 03:32:12 +02:00
ltp: Skip semctl08 when __USE_TIME64_REDIRECTS is defined
When __USE_TIME64_REDIRECTS is defined, glibc redirects struct semid_ds to a 64-bit time-safe version that omits the sem_otime_high and sem_ctime_high fields. As a result, the case becomes invalid, leading to incorrect behavior. This patch adds a check to skip the test when __USE_TIME64_REDIRECTS is defined, ensuring the test only runs when the semid_ds structurally matches semid64_ds and the *_high fields are accessible. (From OE-Core rev: 8bea495b4945e24b43398f40d634d7fdb73e981a) Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
62a191de8f
commit
5f382d6f05
@@ -0,0 +1,48 @@
|
||||
From 55b48d66857a43c2609fc351293b5601e2eb955d Mon Sep 17 00:00:00 2001
|
||||
From: Jiaying Song <jiaying.song.cn@windriver.com>
|
||||
Date: Fri, 23 May 2025 15:17:49 +0800
|
||||
Subject: [PATCH] syscalls/semctl08: Skip semctl08 when __USE_TIME64_REDIRECTS
|
||||
is defined
|
||||
|
||||
When __USE_TIME64_REDIRECTS is defined, glibc redirects struct semid_ds to a
|
||||
64-bit time-safe version that omits the sem_otime_high and sem_ctime_high
|
||||
fields. As a result, the case becomes invalid and leads to incorrect behavior.
|
||||
|
||||
This patch adds a check to skip the test when __USE_TIME64_REDIRECTS is
|
||||
defined, ensuring the test only runs when semid_ds structurally matches
|
||||
semid64_ds and the *_high fields are accessible.
|
||||
|
||||
Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2025-May/043647.html]
|
||||
|
||||
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
|
||||
---
|
||||
testcases/kernel/syscalls/ipc/semctl/semctl08.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/testcases/kernel/syscalls/ipc/semctl/semctl08.c b/testcases/kernel/syscalls/ipc/semctl/semctl08.c
|
||||
index 1878bd4..3b799fa 100644
|
||||
--- a/testcases/kernel/syscalls/ipc/semctl/semctl08.c
|
||||
+++ b/testcases/kernel/syscalls/ipc/semctl/semctl08.c
|
||||
@@ -10,7 +10,11 @@
|
||||
#include "tst_test.h"
|
||||
#include "libnewipc.h"
|
||||
|
||||
-#ifdef HAVE_SEMID64_DS_TIME_HIGH
|
||||
+#if !defined(HAVE_SEMID64_DS_TIME_HIGH)
|
||||
+TST_TEST_TCONF("test requires struct semid64_ds to have the time_high fields");
|
||||
+#elif defined(__USE_TIME64_REDIRECTS)
|
||||
+TST_TEST_TCONF("test requires __USE_TIME64_REDIRECTS to be undefined");
|
||||
+#else
|
||||
|
||||
static void run(void)
|
||||
{
|
||||
@@ -47,6 +51,4 @@ static struct tst_test test = {
|
||||
.test_all = run,
|
||||
.needs_tmpdir = 1,
|
||||
};
|
||||
-#else
|
||||
-TST_TEST_TCONF("test requires struct semid64_ds to have the time_high fields");
|
||||
#endif
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -31,7 +31,8 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=ht
|
||||
file://0001-Add-__clear_cache-declaration-for-clang.patch \
|
||||
file://0001-kernel-kvm-don-t-hardcode-objcopy.patch \
|
||||
file://0001-cve-2015-3290-Disable-AVX-for-x86_64.patch \
|
||||
"
|
||||
file://0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user