This fixes a race when even 2 sec sleep is not enough (f26399583e was
a wrong approach).

While at it, check for ima_mmap exit code (missing since ever).

Fixes: f26399583e ("ima/{ima_measurements,ima_violations}.sh: Avoid running on 
tmpfs")
Fixes: 3a8efbcc46 ("This patch adds Integrity Measurement Architecture(IMA) 
testing support ...")
Reported-by: Martin Doucha <[email protected]>
Suggested-by: Cyril Hrubis <[email protected]>
Signed-off-by: Petr Vorel <[email protected]>
---
 .../kernel/security/integrity/ima/tests/ima_violations.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/testcases/kernel/security/integrity/ima/tests/ima_violations.sh 
b/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
index 13cc9d804d..0c03c30786 100755
--- a/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
+++ b/testcases/kernel/security/integrity/ima/tests/ima_violations.sh
@@ -157,6 +157,8 @@ test2()
 
 test3()
 {
+       local pid
+
        tst_res TINFO "verify open_writers using mmapped files"
 
        local search="open_writers"
@@ -168,6 +170,7 @@ test3()
        echo 'testing testing' > $FILE
 
        ima_mmap -f $FILE &
+       pid=$!
        # wait for violations appear in logs
        tst_sleep 1s
 
@@ -177,7 +180,10 @@ test3()
        validate $num_violations $count $search
 
        # wait for ima_mmap to exit, so we can umount
-       tst_sleep 2s
+       wait $pid
+       if [ $? -ne 0 ]; then
+               tst_brk TBROK "failed to execute ima_mmap"
+       fi
 }
 
 test4()
-- 
2.54.0


Reply via email to