From 104126b97057a9a60c055762dfb1b29ae2b458f5 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 15 Feb 2017 16:12:41 +0100 Subject: executor: treat KCOV_ENABLE failure as transient It fails with various errors (9, 14, 25), probably fuzzer messes with the fd. --- executor/executor.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'executor') diff --git a/executor/executor.cc b/executor/executor.cc index 7ab747c73..7b224e334 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -616,8 +616,12 @@ void cover_enable(thread_t* th) if (!flag_cover) return; debug("#%d: enabling /sys/kernel/debug/kcov\n", th->id); - if (ioctl(th->cover_fd, KCOV_ENABLE, 0)) - fail("cover enable write failed"); + if (ioctl(th->cover_fd, KCOV_ENABLE, 0)) { + // This should be fatal, + // but in practice ioctl fails with assorted errors (9, 14, 25), + // so we use exitf. + exitf("cover enable write failed"); + } debug("#%d: enabled /sys/kernel/debug/kcov\n", th->id); } -- cgit mrf-deployment