2020-01-05 22:20:49 -05:00
|
|
|
From 5ac103afa3420eb2d6c74c1502e274812d186db0 Mon Sep 17 00:00:00 2001
|
2019-09-30 11:03:07 -04:00
|
|
|
From: liuhao <liuhao27@huawei.com>
|
|
|
|
|
Date: Thu, 11 Jul 2019 17:42:00 +0800
|
2020-01-05 22:20:49 -05:00
|
|
|
Subject: [PATCH 115/138] fix compile error on ubuntu
|
2019-09-30 11:03:07 -04:00
|
|
|
|
|
|
|
|
fix compile error on ubuntu
|
|
|
|
|
|
|
|
|
|
Signed-off-by: liuhao <liuhao27@huawei.com>
|
|
|
|
|
Signed-off-by: LiFeng <lifeng68@huawei.com>
|
|
|
|
|
---
|
|
|
|
|
configure.ac | 1 -
|
2020-01-05 22:20:49 -05:00
|
|
|
src/lxc/Makefile.am | 10 ++++--
|
2019-09-30 11:03:07 -04:00
|
|
|
src/lxc/conf.c | 2 +-
|
|
|
|
|
src/lxc/confile.c | 2 +-
|
2020-01-05 22:20:49 -05:00
|
|
|
src/lxc/isulad_utils.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
|
src/lxc/isulad_utils.h | 13 ++++++++
|
2019-09-30 11:03:07 -04:00
|
|
|
src/lxc/path.c | 2 +-
|
2020-01-05 22:20:49 -05:00
|
|
|
src/lxc/utils.c | 82 +----------------------------------------------
|
|
|
|
|
src/lxc/utils.h | 6 +---
|
2019-09-30 11:03:07 -04:00
|
|
|
9 files changed, 113 insertions(+), 92 deletions(-)
|
|
|
|
|
create mode 100644 src/lxc/isulad_utils.c
|
|
|
|
|
create mode 100644 src/lxc/isulad_utils.h
|
|
|
|
|
|
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
2020-01-05 22:20:49 -05:00
|
|
|
index 5963fab..dc85f74 100644
|
2019-09-30 11:03:07 -04:00
|
|
|
--- a/configure.ac
|
|
|
|
|
+++ b/configure.ac
|
|
|
|
|
@@ -706,7 +706,6 @@ AX_CHECK_LINK_FLAG([-z relro], [LDFLAGS="$LDFLAGS -z relro"],,[])
|
|
|
|
|
AX_CHECK_LINK_FLAG([-z now], [LDFLAGS="$LDFLAGS -z now"],,[])
|
|
|
|
|
AX_CHECK_LINK_FLAG([-z noexecstack], [LDFLAGS="$LDFLAGS -z noexecstack"],,[])
|
|
|
|
|
|
|
|
|
|
-LDFLAGS="$LDFLAGS -fPIE -pie"
|
|
|
|
|
|
|
|
|
|
CFLAGS="$CFLAGS -Wvla -std=gnu11 -D_FORTIFY_SOURCE=2 -Wall -fPIC -fPIE -pie"
|
|
|
|
|
if test "x$enable_werror" = "xyes"; then
|
|
|
|
|
diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am
|
2020-01-05 22:20:49 -05:00
|
|
|
index b24fcfd..27240cc 100644
|
2019-09-30 11:03:07 -04:00
|
|
|
--- a/src/lxc/Makefile.am
|
|
|
|
|
+++ b/src/lxc/Makefile.am
|
|
|
|
|
@@ -50,6 +50,7 @@ noinst_HEADERS = attach.h \
|
|
|
|
|
json/oci_runtime_spec.h \
|
|
|
|
|
json/logger_json_file.h \
|
|
|
|
|
json/read-file.h \
|
|
|
|
|
+ isulad_utils.h \
|
|
|
|
|
utils.h
|
|
|
|
|
|
|
|
|
|
if IS_BIONIC
|
|
|
|
|
@@ -146,6 +147,7 @@ liblxc_la_SOURCES = af_unix.c af_unix.h \
|
|
|
|
|
sync.c sync.h \
|
|
|
|
|
syscall_wrappers.h \
|
|
|
|
|
terminal.c \
|
|
|
|
|
+ isulad_utils.c isulad_utils.h \
|
|
|
|
|
utils.c utils.h \
|
|
|
|
|
version.h \
|
|
|
|
|
json/json_common.c json/json_common.h \
|
|
|
|
|
@@ -232,14 +234,14 @@ AM_CFLAGS += -DUSE_CONFIGPATH_LOGS
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
# build the shared library
|
|
|
|
|
-liblxc_la_CFLAGS = -fPIC \
|
|
|
|
|
- -fPIE -pie \
|
|
|
|
|
+liblxc_la_CFLAGS = \
|
|
|
|
|
-DPIC \
|
|
|
|
|
-D_FORTIFY_SOURCE=2 -Wall \
|
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
|
-pthread
|
|
|
|
|
|
|
|
|
|
liblxc_la_LDFLAGS = -pthread \
|
|
|
|
|
+ -fPIC \
|
|
|
|
|
-Wl,-no-undefined \
|
|
|
|
|
-Wl,-z,relro \
|
|
|
|
|
-Wl,-z,now \
|
|
|
|
|
@@ -375,6 +377,7 @@ lxc_monitord_SOURCES = cmd/lxc_monitord.c \
|
|
|
|
|
mainloop.c mainloop.h \
|
|
|
|
|
monitor.c monitor.h \
|
|
|
|
|
raw_syscalls.c raw_syscalls.h \
|
|
|
|
|
+ isulad_utils.c isulad_utils.h \
|
|
|
|
|
utils.c utils.h
|
|
|
|
|
lxc_user_nic_SOURCES = cmd/lxc_user_nic.c \
|
|
|
|
|
../include/netns_ifaddrs.c ../include/netns_ifaddrs.h \
|
|
|
|
|
@@ -391,6 +394,7 @@ lxc_usernsexec_SOURCES = cmd/lxc_usernsexec.c \
|
|
|
|
|
file_utils.c file_utils.h \
|
|
|
|
|
string_utils.c string_utils.h \
|
|
|
|
|
syscall_wrappers.h \
|
|
|
|
|
+ isulad_utils.c isulad_utils.h \
|
|
|
|
|
utils.c utils.h
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
@@ -411,6 +415,8 @@ init_lxc_static_SOURCES = cmd/lxc_init.c \
|
|
|
|
|
initutils.c initutils.h \
|
|
|
|
|
file_utils.c file_utils.h \
|
|
|
|
|
log.c log.h \
|
|
|
|
|
+ path.c path.h \
|
|
|
|
|
+ isulad_utils.c isulad_utils.h \
|
|
|
|
|
macro.h \
|
|
|
|
|
namespace.c namespace.h \
|
|
|
|
|
string_utils.c string_utils.h
|
|
|
|
|
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
|
2020-01-05 22:20:49 -05:00
|
|
|
index e22e13e..d9a7aae 100644
|
2019-09-30 11:03:07 -04:00
|
|
|
--- a/src/lxc/conf.c
|
|
|
|
|
+++ b/src/lxc/conf.c
|
|
|
|
|
@@ -4934,7 +4934,7 @@ static int do_run_oci_hooks(const char *name, const char *lxcpath, struct lxc_co
|
|
|
|
|
work_conf.ocihook = lc->ocihooks->poststart[i];
|
|
|
|
|
nret = run_ocihook_script_argv(name, "lxc", &work_conf, lxcpath, rootpath);
|
|
|
|
|
if (nret != 0)
|
|
|
|
|
- WARN("running poststart hook %ld failed, ContainerId: %s", i, name);
|
|
|
|
|
+ WARN("running poststart hook %zu failed, ContainerId: %s", i, name);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case OCI_HOOK_POSTSTOP:
|
|
|
|
|
diff --git a/src/lxc/confile.c b/src/lxc/confile.c
|
2020-01-05 22:20:49 -05:00
|
|
|
index 0537ebc..01fc944 100644
|
2019-09-30 11:03:07 -04:00
|
|
|
--- a/src/lxc/confile.c
|
|
|
|
|
+++ b/src/lxc/confile.c
|
|
|
|
|
@@ -2212,7 +2212,7 @@ static int set_config_init_args(const char *key, const char *value,
|
|
|
|
|
struct lxc_conf *lxc_conf, void *data)
|
|
|
|
|
{
|
|
|
|
|
int ret = 0;
|
|
|
|
|
- char *tmp = NULL;
|
|
|
|
|
+ void *tmp = NULL;
|
|
|
|
|
char *new_value = NULL;
|
|
|
|
|
|
|
|
|
|
ret = set_config_string_item(&new_value, value);
|
|
|
|
|
diff --git a/src/lxc/isulad_utils.c b/src/lxc/isulad_utils.c
|
|
|
|
|
new file mode 100644
|
2020-01-05 22:20:49 -05:00
|
|
|
index 0000000..66516a8
|
2019-09-30 11:03:07 -04:00
|
|
|
--- /dev/null
|
|
|
|
|
+++ b/src/lxc/isulad_utils.c
|
|
|
|
|
@@ -0,0 +1,87 @@
|
|
|
|
|
+#include <stdlib.h>
|
|
|
|
|
+#include <string.h>
|
|
|
|
|
+
|
|
|
|
|
+#include "isulad_utils.h"
|
|
|
|
|
+#include "log.h"
|
|
|
|
|
+#include "path.h"
|
|
|
|
|
+
|
|
|
|
|
+lxc_log_define(isulad_utils, lxc);
|
|
|
|
|
+
|
|
|
|
|
+void *lxc_common_calloc_s(size_t size)
|
|
|
|
|
+{
|
|
|
|
|
+ if (size == 0 || size > SIZE_MAX) {
|
|
|
|
|
+ return NULL;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return calloc((size_t)1, size);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize)
|
|
|
|
|
+{
|
|
|
|
|
+ void *tmp = NULL;
|
|
|
|
|
+
|
|
|
|
|
+ if (newsize == 0) {
|
|
|
|
|
+ goto err_out;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ tmp = lxc_common_calloc_s(newsize);
|
|
|
|
|
+ if (tmp == NULL) {
|
|
|
|
|
+ ERROR("Failed to malloc memory");
|
|
|
|
|
+ goto err_out;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (oldptr != NULL) {
|
|
|
|
|
+ memcpy(tmp, oldptr, (newsize < oldsize) ? newsize : oldsize);
|
|
|
|
|
+
|
|
|
|
|
+ memset(oldptr, 0, oldsize);
|
|
|
|
|
+
|
|
|
|
|
+ free(oldptr);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ *newptr = tmp;
|
|
|
|
|
+ return 0;
|
|
|
|
|
+
|
|
|
|
|
+err_out:
|
|
|
|
|
+ return -1;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+char *safe_strdup(const char *src)
|
|
|
|
|
+{
|
|
|
|
|
+ char *dst = NULL;
|
|
|
|
|
+
|
|
|
|
|
+ if (src == NULL) {
|
|
|
|
|
+ return NULL;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ dst = strdup(src);
|
|
|
|
|
+ if (dst == NULL) {
|
|
|
|
|
+ abort();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return dst;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+int lxc_open(const char *filename, int flags, mode_t mode)
|
|
|
|
|
+{
|
|
|
|
|
+ char rpath[PATH_MAX] = {0x00};
|
|
|
|
|
+
|
|
|
|
|
+ if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) {
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (mode) {
|
|
|
|
|
+ return open(rpath, (int)((unsigned int)flags | O_CLOEXEC), mode);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return open(rpath, (int)((unsigned int)flags | O_CLOEXEC));
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+FILE *lxc_fopen(const char *filename, const char *mode)
|
|
|
|
|
+{
|
|
|
|
|
+ char rpath[PATH_MAX] = {0x00};
|
|
|
|
|
+
|
|
|
|
|
+ if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) {
|
|
|
|
|
+ return NULL;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return fopen_cloexec(rpath, mode);
|
|
|
|
|
+}
|
|
|
|
|
diff --git a/src/lxc/isulad_utils.h b/src/lxc/isulad_utils.h
|
|
|
|
|
new file mode 100644
|
2020-01-05 22:20:49 -05:00
|
|
|
index 0000000..852d956
|
2019-09-30 11:03:07 -04:00
|
|
|
--- /dev/null
|
|
|
|
|
+++ b/src/lxc/isulad_utils.h
|
|
|
|
|
@@ -0,0 +1,13 @@
|
|
|
|
|
+#ifndef __LXC_MEM_UTILS_H
|
|
|
|
|
+#define __LXC_MEM_UTILS_H
|
|
|
|
|
+
|
|
|
|
|
+#include <stdio.h>
|
|
|
|
|
+
|
|
|
|
|
+extern int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize);
|
|
|
|
|
+extern void *lxc_common_calloc_s(size_t size);
|
|
|
|
|
+extern char *safe_strdup(const char *src);
|
|
|
|
|
+
|
|
|
|
|
+extern int lxc_open(const char *filename, int flags, mode_t mode);
|
|
|
|
|
+extern FILE *lxc_fopen(const char *filename, const char *mode);
|
|
|
|
|
+
|
|
|
|
|
+#endif
|
|
|
|
|
diff --git a/src/lxc/path.c b/src/lxc/path.c
|
2020-01-05 22:20:49 -05:00
|
|
|
index df285f5..7a5dce9 100644
|
2019-09-30 11:03:07 -04:00
|
|
|
--- a/src/lxc/path.c
|
|
|
|
|
+++ b/src/lxc/path.c
|
|
|
|
|
@@ -10,7 +10,7 @@
|
|
|
|
|
|
|
|
|
|
#include "path.h"
|
|
|
|
|
#include "log.h"
|
|
|
|
|
-#include "utils.h"
|
|
|
|
|
+#include "isulad_utils.h"
|
|
|
|
|
|
|
|
|
|
lxc_log_define(lxc_path_ui, lxc);
|
|
|
|
|
|
|
|
|
|
diff --git a/src/lxc/utils.c b/src/lxc/utils.c
|
2020-01-05 22:20:49 -05:00
|
|
|
index 656df4a..1d2e9ee 100644
|
2019-09-30 11:03:07 -04:00
|
|
|
--- a/src/lxc/utils.c
|
|
|
|
|
+++ b/src/lxc/utils.c
|
|
|
|
|
@@ -57,6 +57,7 @@
|
|
|
|
|
#include "syscall_wrappers.h"
|
|
|
|
|
#include "utils.h"
|
|
|
|
|
#include "path.h"
|
|
|
|
|
+#include "isulad_utils.h"
|
|
|
|
|
|
|
|
|
|
#ifndef HAVE_STRLCPY
|
|
|
|
|
#include "include/strlcpy.h"
|
|
|
|
|
@@ -2092,84 +2093,3 @@ bool is_non_negative_num(const char *s)
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
-
|
|
|
|
|
-void *lxc_common_calloc_s(size_t size)
|
|
|
|
|
-{
|
|
|
|
|
- if (size == 0 || size > SIZE_MAX) {
|
|
|
|
|
- return NULL;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return calloc((size_t)1, size);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize)
|
|
|
|
|
-{
|
|
|
|
|
- void *tmp = NULL;
|
|
|
|
|
-
|
|
|
|
|
- if (newsize == 0) {
|
|
|
|
|
- goto err_out;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- tmp = lxc_common_calloc_s(newsize);
|
|
|
|
|
- if (tmp == NULL) {
|
|
|
|
|
- ERROR("Failed to malloc memory");
|
|
|
|
|
- goto err_out;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- if (oldptr != NULL) {
|
|
|
|
|
- memcpy(tmp, oldptr, (newsize < oldsize) ? newsize : oldsize);
|
|
|
|
|
-
|
|
|
|
|
- memset(oldptr, 0, oldsize);
|
|
|
|
|
-
|
|
|
|
|
- free(oldptr);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- *newptr = tmp;
|
|
|
|
|
- return 0;
|
|
|
|
|
-
|
|
|
|
|
-err_out:
|
|
|
|
|
- return -1;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-int lxc_open(const char *filename, int flags, mode_t mode)
|
|
|
|
|
-{
|
|
|
|
|
- char rpath[PATH_MAX] = {0x00};
|
|
|
|
|
-
|
|
|
|
|
- if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) {
|
|
|
|
|
- return -1;
|
|
|
|
|
- }
|
|
|
|
|
- if (mode) {
|
|
|
|
|
- return open(rpath, (int)((unsigned int)flags | O_CLOEXEC), mode);
|
|
|
|
|
- } else {
|
|
|
|
|
- return open(rpath, (int)((unsigned int)flags | O_CLOEXEC));
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-FILE *lxc_fopen(const char *filename, const char *mode)
|
|
|
|
|
-{
|
|
|
|
|
- char rpath[PATH_MAX] = {0x00};
|
|
|
|
|
-
|
|
|
|
|
- if (cleanpath(filename, rpath, sizeof(rpath)) == NULL) {
|
|
|
|
|
- return NULL;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return fopen_cloexec(rpath, mode);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-char *safe_strdup(const char *src)
|
|
|
|
|
-{
|
|
|
|
|
- char *dst = NULL;
|
|
|
|
|
-
|
|
|
|
|
- if (src == NULL) {
|
|
|
|
|
- return NULL;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- dst = strdup(src);
|
|
|
|
|
- if (dst == NULL) {
|
|
|
|
|
- abort();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return dst;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
diff --git a/src/lxc/utils.h b/src/lxc/utils.h
|
2020-01-05 22:20:49 -05:00
|
|
|
index 0b33f69..1c9bf41 100644
|
2019-09-30 11:03:07 -04:00
|
|
|
--- a/src/lxc/utils.h
|
|
|
|
|
+++ b/src/lxc/utils.h
|
|
|
|
|
@@ -42,6 +42,7 @@
|
|
|
|
|
#include "macro.h"
|
|
|
|
|
#include "raw_syscalls.h"
|
|
|
|
|
#include "string_utils.h"
|
|
|
|
|
+#include "isulad_utils.h"
|
|
|
|
|
|
|
|
|
|
/* isulad: replace space with SPACE_MAGIC_STR */
|
|
|
|
|
#define SPACE_MAGIC_STR "[#)"
|
|
|
|
|
@@ -324,10 +325,5 @@ extern bool lxc_process_alive(pid_t pid, unsigned long long start_time);
|
|
|
|
|
|
|
|
|
|
extern bool is_non_negative_num(const char *s);
|
|
|
|
|
extern int lxc_file2str(const char *filename, char ret[], int cap);
|
|
|
|
|
-extern int lxc_mem_realloc(void **newptr, size_t newsize, void *oldptr, size_t oldsize);
|
|
|
|
|
-extern void *lxc_common_calloc_s(size_t size);
|
|
|
|
|
-extern int lxc_open(const char *filename, int flags, mode_t mode);
|
|
|
|
|
-extern FILE *lxc_fopen(const char *filename, const char *mode);
|
|
|
|
|
-extern char *safe_strdup(const char *src);
|
|
|
|
|
|
|
|
|
|
#endif /* __LXC_UTILS_H */
|
|
|
|
|
--
|
2020-01-05 22:20:49 -05:00
|
|
|
1.8.3.1
|
2019-09-30 11:03:07 -04:00
|
|
|
|