aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common_linux.h
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2020-08-31 15:35:55 +0300
committerDmitry Vyukov <dvyukov@google.com>2020-09-22 10:12:23 +0200
commit56f696d1d042d41606f7130a5768fe38ee0aa84b (patch)
tree882b068cf8fd67dcfee51aba29cbdcee3a781b5f /executor/common_linux.h
parentaff59df2575f773855b00b001ebd71cb7e55942e (diff)
sys/common_linux.h: move the definition of a global nlmsg variable
This global variable cannot be used for pseudo syscalls as they can run concurrently (in threaded mode). It can only be used during initialization, and if initialization routines are not enabled, nlmsg will become an unused variable.
Diffstat (limited to 'executor/common_linux.h')
-rw-r--r--executor/common_linux.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/executor/common_linux.h b/executor/common_linux.h
index e472e7644..5d31b973d 100644
--- a/executor/common_linux.h
+++ b/executor/common_linux.h
@@ -131,8 +131,6 @@ struct nlmsg {
char buf[4096];
};
-static struct nlmsg nlmsg;
-
static void netlink_init(struct nlmsg* nlmsg, int typ, int flags,
const void* data, int size)
{
@@ -440,6 +438,10 @@ static void netlink_add_neigh(struct nlmsg* nlmsg, int sock, const char* name,
#endif
#endif
+#if SYZ_EXECUTOR || SYZ_NET_DEVICES || SYZ_NET_INJECTION || SYZ_DEVLINK_PCI
+static struct nlmsg nlmsg;
+#endif
+
#if SYZ_EXECUTOR || SYZ_NET_INJECTION
#include <arpa/inet.h>
#include <errno.h>