From 1f59c3b65eadaf1fed2b037e78b0913f85c0a717 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Wed, 30 May 2018 23:06:33 -0400 Subject: basic: set errno in raw_clone() on sparc sparc sets the carry bit when a syscall fails. Use this information to set errno and return -1 as appropriate. The added test case calls raw_clone() with flags known to be invalid according to the clone(2) manpage. --- src/test/test-util.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/test/test-util.c') diff --git a/src/test/test-util.c b/src/test/test-util.c index 9d31d5a86..d82580079 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -215,6 +215,10 @@ static void test_raw_clone(void) { waitpid(pid, &status, __WCLONE); assert_se(WIFEXITED(status) && WEXITSTATUS(status) == EXIT_SUCCESS); } + + errno = 0; + assert_se(raw_clone(CLONE_FS|CLONE_NEWNS) == -1); + assert_se(errno == EINVAL); } #endif // 0 -- cgit v1.2.3