From 7569a4b27c46c85a9d942b650db87e034774bf42 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Wed, 7 Feb 2024 10:03:55 +0100 Subject: executor: don't fail on setns() in pseudo syscalls The fd may be closed by an async close() call, it's not a reason to report a failure. Reported-by: Andrei Vagin --- pkg/csource/generated.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'pkg/csource') diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 7d817e290..d27286693 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -6289,8 +6289,9 @@ static long syz_init_net_socket(volatile long domain, volatile long type, volati return -1; int sock = syscall(__NR_socket, domain, type, proto); int err = errno; - if (setns(netns, 0)) - fail("setns(netns) failed"); + if (setns(netns, 0)) { + exitf("setns(netns) failed"); + } close(netns); errno = err; return sock; @@ -6324,8 +6325,9 @@ static long syz_socket_connect_nvme_tcp() return -1; int sock = syscall(__NR_socket, AF_INET, SOCK_STREAM, 0x0); int err = errno; - if (setns(netns, 0)) - fail("setns(netns) failed"); + if (setns(netns, 0)) { + exitf("setns(netns) failed"); + } close(netns); errno = err; nvme_local_address.sin_family = AF_INET; -- cgit mrf-deployment