From: linuxtestproject.agent@gmail.com
To: Stephen Bertram <sbertram@redhat.com>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] semctl01: fix SEM_STAT failures under parallel LTP runs
Date: Wed, 29 Jul 2026 16:26:31 +0000 [thread overview]
Message-ID: <20260729162631.8574-1-linuxtestproject.agent@gmail.com> (raw)
In-Reply-To: <20260729145321.4115712-1-sbertram@redhat.com>
Hi Stephen,
On Wed, Jul 29, 2026, Stephen Bertram wrote:
> semctl01: fix SEM_STAT failures under parallel LTP runs
> static void func_iinfo(int hidx)
> {
> - if (hidx >= 0) {
> - sem_index = hidx;
> + if (hidx >= 0)
> tst_res(TPASS, "the highest index is correct");
> - } else {
> - sem_index = 0;
> + else
> tst_res(TFAIL, "the highest index is incorrect");
> - }
> }
hidx comes from SAFE_SEMCTL(..., IPC_INFO, ...) in verify_semctl().
safe_semctl() already calls tst_brk(TBROK) when the return value is
negative for IPC_INFO (sem_ret_check() falls into the default branch,
"return ret < 0"), so hidx cannot be negative here.
That means the TFAIL branch is unreachable and the IPC_INFO test case
can only ever report TPASS.
Before this patch the function at least had the side effect of
publishing sem_index. Now that this is gone, is there anything left for
this test case to verify? Comparing hidx against the index returned by
the new lookup helper would give it some meaning, otherwise it is just
a check that the framework already made.
> - if (semidx >= 0)
> + if (semidx == sem_id)
> tst_res(TPASS, "id of the semaphore set is correct");
> else
> - tst_res(TFAIL, "id of the semaphore set is incorrect");
> + tst_res(TFAIL, "expected sem_id %d, got %d", sem_id, semidx);
The parameter is the SEM_STAT return value, which is a semid and not an
index, and it is now compared against sem_id. Would renaming it to
semid (or rval) match what it holds? "expected sem_id %d, got %d" reads
oddly against a variable called semidx.
> +/*
> + * SEM_STAT takes an index into the kernel's internal array, not a semid.
> + * Return the index that maps to this test's set.
> + */
> +static int get_sem_idx_from_id(int id)
This sits between the tests[] table and verify_semctl(), which splits
the table from its only consumer. All other helpers in this file are
defined above tests[] - could this one go there too?
shmctl01.c uses the same get_shm_idx_from_id() idiom and additionally
prints the mapping:
tst_res(TINFO, "shm_id=%i maps to kernel index=%i", shm_id, shm_idx);
Adding the equivalent TINFO here would help when the SEM_STAT case
fails on a busy machine.
Verdict - Needs revision
---
Note:
The agent can sometimes produce false positives although often its
findings are genuine. If you find issues with the review, please
comment this email or ignore the suggestions.
Regards,
LTP AI Reviewer
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2026-07-29 16:26 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-14 16:49 [LTP] [PATCH v2] semctl: updates for multi worker testing Stephen Bertram via ltp
2026-04-14 17:15 ` [LTP] " linuxtestproject.agent
2026-07-20 22:49 ` [LTP] [PATCH v3] semctl01: tolerate SEM_STAT races under parallel LTP runs Stephen Bertram via ltp
2026-07-20 23:13 ` [LTP] " linuxtestproject.agent
2026-07-20 23:56 ` [LTP] [PATCH v4] " Stephen Bertram via ltp
2026-07-21 2:38 ` [LTP] " linuxtestproject.agent
2026-07-21 13:55 ` [LTP] [PATCH v5] " Stephen Bertram via ltp
2026-07-21 14:40 ` [LTP] " linuxtestproject.agent
2026-07-28 13:06 ` [LTP] [PATCH v5] " Andrea Cervesato via ltp
2026-07-28 16:23 ` [LTP] [PATCH v6] " Stephen Bertram via ltp
2026-07-28 17:31 ` [LTP] " linuxtestproject.agent
2026-07-28 20:33 ` [LTP] [PATCH v7] semctl01: look up SEM_STAT index for this test's sem_id Stephen Bertram via ltp
2026-07-28 21:12 ` [LTP] " linuxtestproject.agent
2026-07-29 14:53 ` [LTP] [PATCH v8] semctl01: fix SEM_STAT failures under parallel LTP runs Stephen Bertram via ltp
2026-07-29 16:26 ` linuxtestproject.agent [this message]
2026-07-29 17:56 ` [LTP] [PATCH v9] " Stephen Bertram via ltp
2026-07-29 18:14 ` [LTP] " linuxtestproject.agent
2026-07-29 19:33 ` [LTP] [PATCH v10] " Stephen Bertram via ltp
2026-07-29 20:20 ` [LTP] " linuxtestproject.agent
2026-07-29 21:00 ` [LTP] [PATCH v11] " Stephen Bertram via ltp
2026-07-29 22:07 ` [LTP] " linuxtestproject.agent
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260729162631.8574-1-linuxtestproject.agent@gmail.com \
--to=linuxtestproject.agent@gmail.com \
--cc=ltp@lists.linux.it \
--cc=sbertram@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.