From: Dmitry V. Levin Date: Sat, 6 Feb 2016 01:12:22 +0000 (+0000) Subject: tests: extend coverage of sched_getaffinity syscall X-Git-Tag: v4.12~582 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=48d97b6a833027775f732fe4e135726fa6e01016;p=strace tests: extend coverage of sched_getaffinity syscall * tests/sched_xetaffinity.c (main): Check decoding of pointer to inaccessible cpu_set_t. --- diff --git a/tests/sched_xetaffinity.c b/tests/sched_xetaffinity.c index ef44c59d..8851a4af 100644 --- a/tests/sched_xetaffinity.c +++ b/tests/sched_xetaffinity.c @@ -1,4 +1,6 @@ /* + * This file is part of sched_xetaffinity strace test. + * * Copyright (c) 2016 Dmitry V. Levin * 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;