[libvirt] [PATCH] virbpf: Check if syscall() is available

Michal Privoznik posted 1 patch 4 years, 5 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/c07a33bef9de09175753474e8e6812cd4c657781.1573885798.git.mprivozn@redhat.com
src/util/virbpf.c | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
[libvirt] [PATCH] virbpf: Check if syscall() is available
Posted by Michal Privoznik 4 years, 5 months ago
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>
---

Pushed under build breaker rule.

 src/util/virbpf.c | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/src/util/virbpf.c b/src/util/virbpf.c
index cb5562540b..44f13fb485 100644
--- a/src/util/virbpf.c
+++ b/src/util/virbpf.c
@@ -17,22 +17,19 @@
  */
 #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 */
-- 
2.23.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list