Skip to contentSkip to conversation

qemu: fix memfd_create with glibc 2.27

PATCH In review Alexander Kanavin 2 participants 2 messages Apr 4, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qemu: fix memfd_create with glibc 2.27

From: Ross Burton <[email protected]>

glibc 2.27 has added memfd_create() but this conflicts with a copy in qemu, so take a patch from upstream to fix building with glibc 2.27.

---
 meta/recipes-devtools/qemu/qemu/memfd.patch | 57 +++++++++++++++++++++++++++++
 meta/recipes-devtools/qemu/qemu_2.8.0.bb    |  1 +
 2 files changed, 58 insertions(+)
 create mode 100644 meta/recipes-devtools/qemu/qemu/memfd.patch
meta/recipes-devtools/qemu/qemu/memfd.patch new file +57 -0
new file mode 100644
index 00000000000..62e8d3800bd
@@ -0,0 +1,57 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <[email protected]>
+
+From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <[email protected]>
+Date: Tue, 28 Nov 2017 11:51:27 +0100
+Subject: [PATCH] memfd: fix configure test
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Recent glibc added memfd_create in sys/mman.h.  This conflicts with
+the definition in util/memfd.c:
+
+    /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static declaration of memfd_create follows non-static declaration
+
+Fix the configure test, and remove the sys/memfd.h inclusion since the
+file actually does not exist---it is a typo in the memfd_create(2) man
+page.
+
+Cc: Marc-André Lureau <[email protected]>
+Signed-off-by: Paolo Bonzini <[email protected]>
+---
+ configure    | 2 +-
+ util/memfd.c | 4 +---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index 9c8aa5a98b..99ccc1725a 100755
+--- a/configure
++++ b/configure
+@@ -3923,7 +3923,7 @@ fi
+ # check if memfd is supported
+ memfd=no
+ cat > $TMPC << EOF
+-#include <sys/memfd.h>
++#include <sys/mman.h>
+ 
+ int main(void)
+ {
+diff --git a/util/memfd.c b/util/memfd.c
+index 4571d1aba8..412e94a405 100644
+--- a/util/memfd.c
++++ b/util/memfd.c
+@@ -31,9 +31,7 @@
+ 
+ #include "qemu/memfd.h"
+ 
+-#ifdef CONFIG_MEMFD
+-#include <sys/memfd.h>
+-#elif defined CONFIG_LINUX
++#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
+ #include <sys/syscall.h>
+ #include <asm/unistd.h>
+ 
+-- 
+2.11.0
meta/recipes-devtools/qemu/qemu_2.8.0.bb +1 -0
index fa70009f725..41014f16634 100644
@@ -31,6 +31,7 @@ SRC_URI += " \
             file://0004-Add-support-for-VM-suspend-resume-for-TPM-TIS.patch \
             file://CVE-2016-9908.patch \
             file://CVE-2016-9912.patch \
+            file://memfd.patch \
 "
 
 SRC_URI_append_class-native = " \
Signature · 1 line
2.16.1
#1 lore raw

✗ patchtest: failure for qemu: fix memfd_create with glibc 2.27 (rev5)

== Series Details ==

Series: qemu: fix memfd_create with glibc 2.27 (rev5)
Revision: 5
URL : https://patchwork.openembedded.org/series/10759/
State : failure

== Summary ==

Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:

* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch pyro (currently at f8cc08fc7d)

If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).

---

Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe