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 --- executor/common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'executor/common.h') diff --git a/executor/common.h b/executor/common.h index 642b23102..05c759788 100644 --- a/executor/common.h +++ b/executor/common.h @@ -281,9 +281,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