From: Petr Vorel <pvorel@suse.cz>
To: Martin Doucha <mdoucha@suse.cz>
Cc: ltp@lists.linux.it, linux-integrity@vger.kernel.org,
Mimi Zohar <zohar@linux.ibm.com>
Subject: Re: [LTP] [PATCH 2/2] ima_violations.sh: ima_mmap.c: Replace sleep with checkpoints
Date: Wed, 29 Apr 2026 14:00:30 +0200 [thread overview]
Message-ID: <20260429120030.GA993265@pevik> (raw)
In-Reply-To: <209b0327-64b4-4a58-9ee1-19ec693c8105@suse.cz>
Hi Martin, all,
> Hi,
> for both patches:
> Reviewed-by: Martin Doucha <mdoucha@suse.cz>
Thanks for review, patchset merged.
Kind regards,
Petr
> On 4/28/26 18:10, Petr Vorel wrote:
> > Using checkpoints is a proper way in LTP new API [1] to avoid races and
> > waste of time. It reduces 3 sec sleep in ima_mmap.c and 1 sec sleep in
> > ima_violations.sh with just checkpoints.
> > NOTE: tst_reinit() is really needed instead of .needs_checkpoints = 1
> > as documented in Shell-Test-API.asciidoc.
> > [1] https://people.kernel.org/metan/why-sleep-is-almost-never-acceptable-in-tests
> > Fixes: 0e4cbf753f ("security/ima: Rewrite tests into new API + fixes")
> > Suggested-by: Cyril Hrubis <chrubis@suse.cz>
> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> > testcases/kernel/security/integrity/ima/src/ima_mmap.c | 7 ++++---
> > .../kernel/security/integrity/ima/tests/ima_violations.sh | 6 +++++-
> > 2 files changed, 9 insertions(+), 4 deletions(-)
> > diff --git a/testcases/kernel/security/integrity/ima/src/ima_mmap.c b/testcases/kernel/security/integrity/ima/src/ima_mmap.c
> > index 8596809ef4..09b22fd4f4 100644
> > --- a/testcases/kernel/security/integrity/ima/src/ima_mmap.c
> > +++ b/testcases/kernel/security/integrity/ima/src/ima_mmap.c
> > @@ -9,7 +9,6 @@
> > #include "tst_test.h"
> > -#define SLEEP_AFTER_CLOSE 3
> > #define MMAPSIZE 1024
> > static char *filename;
> > @@ -35,8 +34,10 @@ static void run(void)
> > file = SAFE_MMAP(NULL, MMAPSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
> > SAFE_CLOSE(fd);
> > - tst_res(TINFO, "sleep %ds", SLEEP_AFTER_CLOSE);
> > - sleep(SLEEP_AFTER_CLOSE);
> > + tst_reinit();
> > + TST_CHECKPOINT_WAIT(0);
> > + /* keep running until ima_violations.sh open and close file */
> > + TST_CHECKPOINT_WAKE_AND_WAIT(0);
> > tst_res(TPASS, "test completed");
> > }
> > diff --git a/testcases/kernel/security/integrity/ima/tests/ima_violations.sh b/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
> > index 0c03c30786..d7dcd077b4 100755
> > --- a/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
> > +++ b/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
> > @@ -8,6 +8,7 @@
> > # test[4-6] test 6.15 commit 5b3cd801155f ("ima: limit the number of open-writers integrity violations")
> > # test[7-8] test 6.15 commit a414016218ca ("ima: limit the number of ToMToU integrity violations")
> > +TST_NEEDS_CHECKPOINTS=1
> > TST_SETUP="setup"
> > TST_CLEANUP="cleanup"
> > TST_CNT=8
> > @@ -171,12 +172,15 @@ test3()
> > ima_mmap -f $FILE &
> > pid=$!
> > +
> > # wait for violations appear in logs
> > - tst_sleep 1s
> > + TST_CHECKPOINT_WAKE_AND_WAIT 0
> > open_file_read
> > close_file_read
> > + TST_CHECKPOINT_WAKE 0
> > +
> > validate $num_violations $count $search
> > # wait for ima_mmap to exit, so we can umount
WARNING: multiple messages have this Message-ID (diff)
From: Petr Vorel <pvorel@suse.cz>
To: Martin Doucha <mdoucha@suse.cz>
Cc: linux-integrity@vger.kernel.org, ltp@lists.linux.it
Subject: Re: [LTP] [PATCH 2/2] ima_violations.sh: ima_mmap.c: Replace sleep with checkpoints
Date: Wed, 29 Apr 2026 14:00:30 +0200 [thread overview]
Message-ID: <20260429120030.GA993265@pevik> (raw)
In-Reply-To: <209b0327-64b4-4a58-9ee1-19ec693c8105@suse.cz>
Hi Martin, all,
> Hi,
> for both patches:
> Reviewed-by: Martin Doucha <mdoucha@suse.cz>
Thanks for review, patchset merged.
Kind regards,
Petr
> On 4/28/26 18:10, Petr Vorel wrote:
> > Using checkpoints is a proper way in LTP new API [1] to avoid races and
> > waste of time. It reduces 3 sec sleep in ima_mmap.c and 1 sec sleep in
> > ima_violations.sh with just checkpoints.
> > NOTE: tst_reinit() is really needed instead of .needs_checkpoints = 1
> > as documented in Shell-Test-API.asciidoc.
> > [1] https://people.kernel.org/metan/why-sleep-is-almost-never-acceptable-in-tests
> > Fixes: 0e4cbf753f ("security/ima: Rewrite tests into new API + fixes")
> > Suggested-by: Cyril Hrubis <chrubis@suse.cz>
> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> > testcases/kernel/security/integrity/ima/src/ima_mmap.c | 7 ++++---
> > .../kernel/security/integrity/ima/tests/ima_violations.sh | 6 +++++-
> > 2 files changed, 9 insertions(+), 4 deletions(-)
> > diff --git a/testcases/kernel/security/integrity/ima/src/ima_mmap.c b/testcases/kernel/security/integrity/ima/src/ima_mmap.c
> > index 8596809ef4..09b22fd4f4 100644
> > --- a/testcases/kernel/security/integrity/ima/src/ima_mmap.c
> > +++ b/testcases/kernel/security/integrity/ima/src/ima_mmap.c
> > @@ -9,7 +9,6 @@
> > #include "tst_test.h"
> > -#define SLEEP_AFTER_CLOSE 3
> > #define MMAPSIZE 1024
> > static char *filename;
> > @@ -35,8 +34,10 @@ static void run(void)
> > file = SAFE_MMAP(NULL, MMAPSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
> > SAFE_CLOSE(fd);
> > - tst_res(TINFO, "sleep %ds", SLEEP_AFTER_CLOSE);
> > - sleep(SLEEP_AFTER_CLOSE);
> > + tst_reinit();
> > + TST_CHECKPOINT_WAIT(0);
> > + /* keep running until ima_violations.sh open and close file */
> > + TST_CHECKPOINT_WAKE_AND_WAIT(0);
> > tst_res(TPASS, "test completed");
> > }
> > diff --git a/testcases/kernel/security/integrity/ima/tests/ima_violations.sh b/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
> > index 0c03c30786..d7dcd077b4 100755
> > --- a/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
> > +++ b/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
> > @@ -8,6 +8,7 @@
> > # test[4-6] test 6.15 commit 5b3cd801155f ("ima: limit the number of open-writers integrity violations")
> > # test[7-8] test 6.15 commit a414016218ca ("ima: limit the number of ToMToU integrity violations")
> > +TST_NEEDS_CHECKPOINTS=1
> > TST_SETUP="setup"
> > TST_CLEANUP="cleanup"
> > TST_CNT=8
> > @@ -171,12 +172,15 @@ test3()
> > ima_mmap -f $FILE &
> > pid=$!
> > +
> > # wait for violations appear in logs
> > - tst_sleep 1s
> > + TST_CHECKPOINT_WAKE_AND_WAIT 0
> > open_file_read
> > close_file_read
> > + TST_CHECKPOINT_WAKE 0
> > +
> > validate $num_violations $count $search
> > # wait for ima_mmap to exit, so we can umount
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2026-04-29 12:00 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 16:10 [PATCH 1/2] ima_violations.sh: Wait for ima_mmap to exit Petr Vorel
2026-04-28 16:10 ` [LTP] " Petr Vorel
2026-04-28 16:10 ` [PATCH 2/2] ima_violations.sh: ima_mmap.c: Replace sleep with checkpoints Petr Vorel
2026-04-28 16:10 ` [LTP] " Petr Vorel
2026-04-29 11:15 ` Martin Doucha
2026-04-29 11:15 ` Martin Doucha
2026-04-29 12:00 ` Petr Vorel [this message]
2026-04-29 12:00 ` Petr Vorel
2026-04-30 9:16 ` Cyril Hrubis
2026-04-30 9:16 ` [LTP] " Cyril Hrubis
2026-04-28 16:59 ` [LTP] ima_violations.sh: Wait for ima_mmap to exit linuxtestproject.agent
2026-04-30 9:03 ` [PATCH 1/2] " Cyril Hrubis
2026-04-30 9:03 ` [LTP] " Cyril Hrubis
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=20260429120030.GA993265@pevik \
--to=pvorel@suse.cz \
--cc=linux-integrity@vger.kernel.org \
--cc=ltp@lists.linux.it \
--cc=mdoucha@suse.cz \
--cc=zohar@linux.ibm.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.