From 397c964fceb327fe12c6f42334b879e1887412fc Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Fri, 5 Jan 2024 17:58:50 +0100 Subject: executor: prevent netlink_send_ext with dofail=true This should never be happening during fuzzing. Otherwise we let syz-executor silently crash and restart insane number of times. --- executor/common_linux.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'executor/common_linux.h') diff --git a/executor/common_linux.h b/executor/common_linux.h index 950c43096..9558bdb7d 100644 --- a/executor/common_linux.h +++ b/executor/common_linux.h @@ -258,6 +258,13 @@ static void find_vf_interface(void) static int netlink_send_ext(struct nlmsg* nlmsg, int sock, uint16 reply_type, int* reply_len, bool dofail) { +#if SYZ_EXECUTOR + if (in_execute_one && dofail) { + // We can expect different sorts of breakages during fuzzing, + // we should not kill the whole process because of them. + failmsg("invalid netlink_send_ext arguments", "dofail is true during syscall execution"); + } +#endif if (nlmsg->pos > nlmsg->buf + sizeof(nlmsg->buf) || nlmsg->nesting) fail("nlmsg overflow/bad nesting"); struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf; -- cgit mrf-deployment