Exercise shmat syscall with invalid flags resulting in more kernel
coverage.

Signed-off-by: Piyush Goyal <piyushgoyal...@gmail.com>
---
 stress-shm-sysv.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/stress-shm-sysv.c b/stress-shm-sysv.c
index aa03d718..5a3e0cc1 100644
--- a/stress-shm-sysv.c
+++ b/stress-shm-sysv.c
@@ -128,6 +128,19 @@ static int stress_shm_sysv_check(
        return 0;
 }
 
+/*
+ *  exercise_shmat()
+ *     exercise shmat syscall with all possible values of arguments
+ */
+static void exercise_shmat(int shm_id)
+{
+       void *addr;
+
+       /* Exercise shmat syscall with invalid flags */
+       addr = shmat(shm_id, NULL, ~0);
+       (void)addr;
+}
+
 #if defined(__linux__)
 /*
  *  stress_shm_get_procinfo()
@@ -337,6 +350,7 @@ static int stress_shm_sysv_child(
                                goto reap;
                        }
 
+                       exercise_shmat(shm_id);
                        addr = shmat(shm_id, NULL, 0);
                        if (addr == (char *) -1) {
                                ok = false;
-- 
2.25.1

Reply via email to