From 429efa16d6ca7fd282a93c614ef97612f9c9bf62 Mon Sep 17 00:00:00 2001 From: Anton Lindqvist Date: Tue, 2 Jul 2019 23:10:02 +0200 Subject: executor: make errors during thread creation exit zero On OpenBSD, the executor sometimes manages to set the memory resource limit 0 causing any following memory allocation to fail. Since threads are potentially created from such a thread which cannot allocate any memory, the executor will exit non-zero which in turn will cause false-positive panics to be reported. For more info see the discussion[1] in PR #1243. Instead, if hitting a fatal error during thread creation exit zero. [1] https://github.com/google/syzkaller/pull/1243 --- pkg/csource/generated.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkg/csource') diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 555e16ff7..39d81b833 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -263,9 +263,9 @@ typedef struct { static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) - fail("pthread_mutex_init failed"); + exitf("pthread_mutex_init failed"); if (pthread_cond_init(&ev->cv, 0)) - fail("pthread_cond_init failed"); + exitf("pthread_cond_init failed"); ev->state = 0; } -- cgit mrf-deployment