mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00
lxc: Backport patch that renames memfd_create() function
When Autotools makes configuration of LXC, the check of
the memfd_create() function fails because __stub_memfd_create and
__stub___memfd_create (The GNU C library defines this for functions
which it implements to always fail with ENOSYS) are defined in Glibc,
which leads to the fact that the macro HAVE_MEMFD_CREATE is not
defined and LXC provides defintion of the memfd_create() function as
static inline which in turn conflicts with a definition from
the <bits/mman-shared.h> file and causes an error:
| In file included from ../../../lxc-3.2.1/src/lxc/conf.c:79:
| <src_path>//lxc/syscall_wrappers.h:77:19: error: static declaration
| of 'memfd_create' follows non-static declaration
| | static inline int memfd_create(const char *name, unsigned int flags) {
| | ^~~~~~~~~~~~
| In file included from /usr/include/bits/mman-linux.h:111,
| from /usr/include/bits/mman.h:34,
| from /usr/include/sys/mman.h:41,
| from <src_path>/lxc-3.2.1/src/lxc/conf.c:42:
| /usr/include/bits/mman-shared.h:50:5: note: previous declaration
| of 'memfd_create' was here
| | int memfd_create (const char *__name, unsigned int __flags) __THROW;
| | ^~~~~~~~~~~~
Upstream PR: https://github.com/lxc/lxc/pull/3168 (merged)
Signed-off-by: Oleksii Kurochko <olkuroch@cisco.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
(cherry picked from commit 15e9fc23ec
)
Signed-off-by: Oleksii Kurochko <olkuroch@cisco.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
parent
3ab5647d7c
commit
561b597d4b
|
@ -0,0 +1,46 @@
|
|||
From b1694cccddadc8b084cd9eb502d9e86e0728709b Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Havelange <patrick.havelange@essensium.com>
|
||||
Date: Tue, 22 Oct 2019 12:29:54 +0200
|
||||
Subject: [PATCH v2] syscall_wrappers: rename internal memfd_create to
|
||||
memfd_create_lxc
|
||||
|
||||
In case the internal memfd_create has to be used, make sure we don't
|
||||
clash with the already existing memfd_create function from glibc.
|
||||
|
||||
This can happen if this glibc function is a stub. In this case, at
|
||||
./configure time, the test for this function will return false, however
|
||||
the declaration of that function is still available. This leads to
|
||||
compilation errors.
|
||||
|
||||
Upstream-Status: Backport [lxc-3.2.1 https://github.com/lxc/lxc/pull/3168]
|
||||
|
||||
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
|
||||
(cherry picked from commit 40b06c78773dfd5e12e568a576b1abb133f61b71)
|
||||
Signed-off-by: Oleksii Kurochko <olkuroch@cisco.com>
|
||||
---
|
||||
v2: added Upstream-Status
|
||||
|
||||
src/lxc/syscall_wrappers.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lxc/syscall_wrappers.h b/src/lxc/syscall_wrappers.h
|
||||
index ce67da5b5308..b7edba63f5d7 100644
|
||||
--- a/src/lxc/syscall_wrappers.h
|
||||
+++ b/src/lxc/syscall_wrappers.h
|
||||
@@ -74,7 +74,7 @@ static inline long __keyctl(int cmd, unsigned long arg2, unsigned long arg3,
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_MEMFD_CREATE
|
||||
-static inline int memfd_create(const char *name, unsigned int flags) {
|
||||
+static inline int memfd_create_lxc(const char *name, unsigned int flags) {
|
||||
#ifndef __NR_memfd_create
|
||||
#if defined __i386__
|
||||
#define __NR_memfd_create 356
|
||||
@@ -113,6 +113,7 @@ static inline int memfd_create(const char *name, unsigned int flags) {
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
+#define memfd_create memfd_create_lxc
|
||||
#else
|
||||
extern int memfd_create(const char *name, unsigned int flags);
|
||||
#endif
|
|
@ -47,6 +47,7 @@ SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \
|
|||
file://network-restore-ability-to-move-nl80211-devices.patch \
|
||||
file://dnsmasq.conf \
|
||||
file://lxc-net \
|
||||
file://0001-syscall_wrappers-rename-internal-memfd_create-to-mem.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "4886c8d1c8e221fe526eefcb47857b85"
|
||||
|
|
Loading…
Reference in New Issue
Block a user