From 96f64eb5741b157f26a9089816fdd992e959792e 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') diff --git a/src/test/test-util.c b/src/test/test-util.c index 92d2c77690..af0ada7d2a 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -214,6 +214,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); } static void test_physical_memory(void) { -- cgit v1.2.3