From 937e1ba861aa34554f512e1f6d0b493d89b883fc Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 31 Jan 2019 09:56:54 +0100 Subject: executor: fix do_sandbox_none on akaros and test do_sandbox_none must not exit, it needs to return. --- pkg/csource/generated.go | 85 ++---------------------------------------------- 1 file changed, 2 insertions(+), 83 deletions(-) (limited to 'pkg') diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index f6337cb88..443a35f64 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -378,7 +378,7 @@ static void loop(); static int do_sandbox_none(void) { loop(); - doexit(0); + return 0; } #endif @@ -4346,7 +4346,7 @@ static void loop(); static int do_sandbox_none(void) { loop(); - doexit(0); + return 0; } #endif @@ -4457,91 +4457,10 @@ static void loop(); static int do_sandbox_none(void) { loop(); - doexit(0); -} -#endif - -#elif GOOS_test - -#include -#include - -#if SYZ_EXECUTOR || __NR_syz_mmap -#include -static long syz_mmap(long a0, long a1) -{ - return (long)mmap((void*)a0, a1, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE | MAP_FIXED, -1, 0); -} -#endif - -#if SYZ_EXECUTOR || __NR_syz_errno -#include -static long syz_errno(long v) -{ - errno = v; - return v == 0 ? 0 : -1; -} -#endif - -#if SYZ_EXECUTOR || __NR_syz_compare -#include -#include -static long syz_compare(long want, long want_len, long got, long got_len) -{ - if (want_len != got_len) { - debug("syz_compare: want_len=%lu got_len=%lu\n", want_len, got_len); - errno = EBADF; - return -1; - } - if (memcmp((void*)want, (void*)got, want_len)) { - debug("syz_compare: data differs, want:\n"); - debug_dump_data((char*)want, want_len); - debug("got:\n"); - debug_dump_data((char*)got, got_len); - errno = EINVAL; - return -1; - } - return 0; -} -#endif - -#if SYZ_EXECUTOR || __NR_syz_compare_int -#include -#include -static long syz_compare_int(long n, ...) -{ - va_list args; - va_start(args, n); - long v0 = va_arg(args, long); - long v1 = va_arg(args, long); - long v2 = va_arg(args, long); - long v3 = va_arg(args, long); - va_end(args); - if (n < 2 || n > 4) - return errno = E2BIG, -1; - if (n <= 2 && v2 != 0) - return errno = EFAULT, -1; - if (n <= 3 && v3 != 0) - return errno = EFAULT, -1; - if (v0 != v1) - return errno = EINVAL, -1; - if (n > 2 && v0 != v2) - return errno = EINVAL, -1; - if (n > 3 && v0 != v3) - return errno = EINVAL, -1; return 0; } #endif -#if SYZ_EXECUTOR || SYZ_SANDBOX_NONE -static void loop(); -static int do_sandbox_none(void) -{ - loop(); - doexit(0); -} -#endif - #else #error "unknown OS" #endif -- cgit mrf-deployment