]> xenbits.xensource.com Git - libvirt.git/commitdiff
virbpf: Check if syscall() is available
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 15 Nov 2019 15:08:51 +0000 (16:08 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Sat, 16 Nov 2019 05:39:23 +0000 (06:39 +0100)
There are some OSes which don't have syscall() nor
<sys/syscall.h>. We already check for the header file in
configure phase, so we just need to add check for
HAVE_SYS_SYSCALL_H to HAVE_DECL_BPF_PROG_QUERY.

While I'm at it, some header files we are including are not
needed, so their includes can be safely dropped.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/util/virbpf.c

index cb5562540bf79e8aae3d20d687fe937d3778a813..44f13fb4851e8f489da17896c125f3deed0712e1 100644 (file)
  */
 #include <config.h>
 
-#include <sys/syscall.h>
-
-#include "internal.h"
-
-#include "viralloc.h"
-#include "virbpf.h"
-#include "virerror.h"
-#include "virfile.h"
 #include "virlog.h"
-#include "virstring.h"
+#include "virerror.h"
+#include "virbpf.h"
 
 VIR_LOG_INIT("util.bpf");
 
 #define VIR_FROM_THIS VIR_FROM_BPF
 
-#if HAVE_DECL_BPF_PROG_QUERY
+#if HAVE_SYS_SYSCALL_H && HAVE_DECL_BPF_PROG_QUERY
+# include <sys/syscall.h>
+# include <unistd.h>
+
+
 int
 virBPFCreateMap(unsigned int mapType,
                 unsigned int keySize,
@@ -294,7 +291,11 @@ virBPFDeleteElem(int mapfd,
 
     return syscall(SYS_bpf, BPF_MAP_DELETE_ELEM, &attr, sizeof(attr));
 }
-#else /* HAVE_DECL_BPF_PROG_QUERY */
+
+
+#else /* !HAVE_SYS_SYSCALL_H || !HAVE_DECL_BPF_PROG_QUERY */
+
+
 int
 virBPFCreateMap(unsigned int mapType G_GNUC_UNUSED,
                 unsigned int keySize G_GNUC_UNUSED,
@@ -433,4 +434,4 @@ virBPFDeleteElem(int mapfd G_GNUC_UNUSED,
                          _("BPF not supported with this kernel"));
     return -1;
 }
-#endif /* HAVE_DECL_BPF_PROG_QUERY */
+#endif /* !HAVE_SYS_SYSCALL_H || !HAVE_DECL_BPF_PROG_QUERY */