]> granicus.if.org Git - strace/commitdiff
tests: extend coverage of sched_getaffinity syscall
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 6 Feb 2016 01:12:22 +0000 (01:12 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 8 Feb 2016 18:18:51 +0000 (18:18 +0000)
* tests/sched_xetaffinity.c (main): Check decoding of pointer
to inaccessible cpu_set_t.

tests/sched_xetaffinity.c

index ef44c59de85c085de0d5240fcb5770c784fa3d00..8851a4afc521fc54a538a83379a61fcb802be2fd 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * This file is part of sched_xetaffinity strace test.
+ *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
@@ -53,7 +55,7 @@ int
 main(void)
 {
        unsigned int cpuset_size = 1;
-       pid_t pid = getpid();
+       const pid_t pid = getpid();
 
        while (cpuset_size) {
                assert(getaffinity(pid, cpuset_size, NULL) == -1);
@@ -70,6 +72,10 @@ main(void)
               pid, cpuset_size);
 
        cpu_set_t *cpuset = tail_alloc(cpuset_size);
+       assert(getaffinity(pid, cpuset_size, cpuset + 1) == -1);
+       printf("sched_getaffinity(%d, %u, %p) = -1 EFAULT (%m)\n",
+               pid, cpuset_size, cpuset + 1);
+
        assert(getaffinity(pid, cpuset_size, cpuset) == (int) cpuset_size);
        printf("sched_getaffinity(%d, %u, [", pid, cpuset_size);
        const char *sep;