!171 handle some warnings
From: @driedyellowpeach Reviewed-by: @duguhaotian Signed-off-by: @duguhaotian
This commit is contained in:
commit
18e3dd9793
@ -1,7 +1,7 @@
|
||||
From 72985299db95706fd1988de4f5fa88a8cfd55367 Mon Sep 17 00:00:00 2001
|
||||
From: "Neil.wrz" <wangrunze13@huawei.com>
|
||||
Date: Tue, 5 Jul 2022 18:23:42 -0700
|
||||
Subject: [PATCH 1/3] feat Add json spec for rest resize api
|
||||
Subject: [PATCH 1/5] feat Add json spec for rest resize api
|
||||
|
||||
Signed-off-by: Neil.wrz <wangrunze13@huawei.com>
|
||||
---
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 4d12753a659ba3b9a3a9bd24e2f842e5bd0fa7a2 Mon Sep 17 00:00:00 2001
|
||||
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
||||
Date: Fri, 22 Jul 2022 10:01:52 +0800
|
||||
Subject: [PATCH 2/3] add HAVE_ISULAD definition for lxc header
|
||||
Subject: [PATCH 2/5] add HAVE_ISULAD definition for lxc header
|
||||
|
||||
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
||||
---
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From cb0e052e96dfce0992132020eb5fba61c323cfc2 Mon Sep 17 00:00:00 2001
|
||||
From: "Neil.wrz" <wangrunze13@huawei.com>
|
||||
Date: Tue, 26 Jul 2022 02:17:47 -0700
|
||||
Subject: [PATCH 3/3] fix cpu-quota out of range when update to -1
|
||||
Subject: [PATCH 3/5] fix cpu-quota out of range when update to -1
|
||||
|
||||
Signed-off-by: Neil.wrz <wangrunze13@huawei.com>
|
||||
---
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 0faebe9d8ff1ddcd3982b7bbd9f8d2078c3e5a29 Mon Sep 17 00:00:00 2001
|
||||
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
||||
Date: Tue, 6 Sep 2022 18:48:28 +0800
|
||||
Subject: [PATCH 4/4] remove unused daemon config args
|
||||
Subject: [PATCH 4/5] remove unused daemon config args
|
||||
|
||||
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
||||
---
|
||||
|
||||
292
0005-refactor-handle-warnings.patch
Normal file
292
0005-refactor-handle-warnings.patch
Normal file
@ -0,0 +1,292 @@
|
||||
From 42ed1c3fe60330c1ce98df1f6668bb8b4b2ded76 Mon Sep 17 00:00:00 2001
|
||||
From: "Neil.wrz" <wangrunze13@huawei.com>
|
||||
Date: Thu, 8 Sep 2022 01:00:49 -0700
|
||||
Subject: [PATCH 5/5] refactor handle warnings
|
||||
|
||||
Signed-off-by: Neil.wrz <wangrunze13@huawei.com>
|
||||
---
|
||||
src/conf.c | 11 ++++++++---
|
||||
src/lcrcontainer.c | 8 +++++---
|
||||
src/lcrcontainer_execute.c | 30 +++++++++++++++++++++---------
|
||||
src/lcrcontainer_extend.c | 7 ++++---
|
||||
src/utils.c | 6 +++---
|
||||
src/utils.h | 2 +-
|
||||
third_party/libocispec/read_file.c | 1 -
|
||||
third_party/log.c | 5 ++---
|
||||
8 files changed, 44 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/src/conf.c b/src/conf.c
|
||||
index f2569b3..4f644d9 100644
|
||||
--- a/src/conf.c
|
||||
+++ b/src/conf.c
|
||||
@@ -1391,7 +1391,8 @@ static int trans_resources_mem_swap_v1(const defs_resources *res, struct lcr_lis
|
||||
}
|
||||
}
|
||||
|
||||
- if (res->memory->swappiness != -1) {
|
||||
+ // int64: swappiness should be int64
|
||||
+ if (res->memory->swappiness != (uint64_t)-1) {
|
||||
/* set swappiness parameter of vmscan */
|
||||
nret = trans_conf_uint64(conf, "lxc.cgroup.memory.swappiness", res->memory->swappiness);
|
||||
if (nret < 0) {
|
||||
@@ -2085,7 +2086,7 @@ static int trans_resources_cpu_weight_v2(const defs_resources *res, struct lcr_l
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (trans_conf_int64(conf, "lxc.cgroup2.cpu.weight", lcr_util_trans_cpushare_to_cpuweight(res->cpu->shares)) != 0) {
|
||||
+ if (trans_conf_int64(conf, "lxc.cgroup2.cpu.weight", lcr_util_trans_cpushare_to_cpuweight((int64_t)res->cpu->shares)) != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -2227,13 +2228,17 @@ static int trans_io_bfq_weight_v2(const defs_resources_block_io *block_io, struc
|
||||
size_t len = block_io->weight_device_len;
|
||||
|
||||
if (block_io->weight != INVALID_INT) {
|
||||
+ if (block_io->weight < 10 || block_io->weight > 1000) {
|
||||
+ ERROR("invalid io weight %d out of range [10-1000]", block_io->weight);
|
||||
+ return -1;
|
||||
+ }
|
||||
weight = lcr_util_trans_blkio_weight_to_io_bfq_weight(block_io->weight);
|
||||
if (weight < CGROUP2_BFQ_WEIGHT_MIN || weight > CGROUP2_BFQ_WEIGHT_MAX) {
|
||||
ERROR("invalid io weight cased by invalid blockio weight %d", block_io->weight);
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (trans_conf_int(conf, "lxc.cgroup2.io.bfq.weight", weight) != 0) {
|
||||
+ if (trans_conf_uint64(conf, "lxc.cgroup2.io.bfq.weight", weight) != 0) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
diff --git a/src/lcrcontainer.c b/src/lcrcontainer.c
|
||||
index 5746b09..14cc6c4 100644
|
||||
--- a/src/lcrcontainer.c
|
||||
+++ b/src/lcrcontainer.c
|
||||
@@ -498,11 +498,11 @@ bool lcr_kill(const char *name, const char *lcrpath, uint32_t signal)
|
||||
sret = kill(pid, (int)signal);
|
||||
if (sret < 0) {
|
||||
if (errno == ESRCH) {
|
||||
- WARN("Can not kill process (pid=%d) with signal %d for container: no such process", pid, signal);
|
||||
+ WARN("Can not kill process (pid=%ld) with signal %u for container: no such process", (long)pid, (unsigned int)signal);
|
||||
ret = true;
|
||||
goto out_put;
|
||||
}
|
||||
- ERROR("Can not kill process (pid=%d) with signal %d for container", pid, signal);
|
||||
+ ERROR("Can not kill process (pid=%ld) with signal %u for container", (long)pid, (unsigned int)signal);
|
||||
goto out_put;
|
||||
}
|
||||
|
||||
@@ -999,6 +999,7 @@ static char *lcr_get_config_item(struct lxc_container *c, const char *key, bool
|
||||
char *cret = NULL;
|
||||
size_t len = 0;
|
||||
int nret = 0;
|
||||
+ int config_item = 0;
|
||||
|
||||
if (key == NULL) {
|
||||
ERROR("Key cannot be NULL");
|
||||
@@ -1032,7 +1033,8 @@ static char *lcr_get_config_item(struct lxc_container *c, const char *key, bool
|
||||
goto out;
|
||||
}
|
||||
|
||||
- if ((size_t)c->get_config_item(c, key, cret, (int)len + 1) != len) {
|
||||
+ config_item = c->get_config_item(c, key, cret, (int)len + 1);
|
||||
+ if (config_item < 0 || (size_t)config_item != len) {
|
||||
free(cret);
|
||||
cret = NULL;
|
||||
}
|
||||
diff --git a/src/lcrcontainer_execute.c b/src/lcrcontainer_execute.c
|
||||
index 042ad2f..118f26c 100644
|
||||
--- a/src/lcrcontainer_execute.c
|
||||
+++ b/src/lcrcontainer_execute.c
|
||||
@@ -199,7 +199,7 @@ static int update_resources_cpu_weight_v2(struct lxc_container *c, const struct
|
||||
}
|
||||
|
||||
int num = snprintf(numstr, sizeof(numstr), "%llu",
|
||||
- (unsigned long long)lcr_util_trans_cpushare_to_cpuweight(cr->cpu_shares));
|
||||
+ (unsigned long long)lcr_util_trans_cpushare_to_cpuweight((int64_t)cr->cpu_shares));
|
||||
if (num < 0 || (size_t)num >= sizeof(numstr)) {
|
||||
return -1;
|
||||
}
|
||||
@@ -239,7 +239,7 @@ static int update_resources_cpu_max_v2(struct lxc_container *c, const struct lcr
|
||||
{
|
||||
int num = 0;
|
||||
uint64_t period = cr->cpu_period;
|
||||
- uint64_t quota = cr->cpu_quota;
|
||||
+ int64_t quota = cr->cpu_quota;
|
||||
char numstr[128] = {0}; /* max buffer */
|
||||
|
||||
if (quota == 0 && period == 0) {
|
||||
@@ -252,8 +252,8 @@ static int update_resources_cpu_max_v2(struct lxc_container *c, const struct lcr
|
||||
|
||||
// format:
|
||||
// $MAX $PERIOD
|
||||
- if ((int64_t) quota > 0) {
|
||||
- num = snprintf(numstr, sizeof(numstr), "%llu %llu", (unsigned long long)quota, (unsigned long long)period);
|
||||
+ if (quota > 0) {
|
||||
+ num = snprintf(numstr, sizeof(numstr), "%lld %llu", (long long int)quota, (unsigned long long)period);
|
||||
} else {
|
||||
num = snprintf(numstr, sizeof(numstr), "max %llu", (unsigned long long)period);
|
||||
}
|
||||
@@ -486,7 +486,7 @@ static int update_resources_memory_swap_v2(struct lxc_container *c, const struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
- if (lcr_util_get_real_swap(cr->memory_limit, cr->memory_swap, &swap) != 0) {
|
||||
+ if (lcr_util_get_real_swap((int64_t)cr->memory_limit, (int64_t)cr->memory_swap, &swap) != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -549,13 +549,15 @@ static bool update_resources_mem_v1(struct lxc_container *c, struct lcr_cgroup_r
|
||||
bool ret = false;
|
||||
|
||||
// If the memory update is set to -1 we should also set swap to -1, it means unlimited memory.
|
||||
- if (cr->memory_limit == -1) {
|
||||
- cr->memory_swap = -1;
|
||||
+ // int64 : memory_limit should be int64
|
||||
+ if (cr->memory_limit == (uint64_t)-1) {
|
||||
+ cr->memory_swap = (uint64_t)-1;
|
||||
}
|
||||
|
||||
+ // int64 : memory_limit should be int64
|
||||
if (cr->memory_limit != 0 && cr->memory_swap != 0) {
|
||||
uint64_t cur_mem_limit = stat_get_ull(c, "memory.limit_in_bytes");
|
||||
- if (cr->memory_swap == -1 || cur_mem_limit < cr->memory_swap) {
|
||||
+ if (cr->memory_swap == (uint64_t)-1 || cur_mem_limit < cr->memory_swap) {
|
||||
if (update_resources_memory_swap(c, cr) != 0) {
|
||||
goto err_out;
|
||||
}
|
||||
@@ -637,7 +639,12 @@ static int update_resources_io_weight_v2(struct lxc_container *c, const struct l
|
||||
return 0;
|
||||
}
|
||||
|
||||
- weight = lcr_util_trans_blkio_weight_to_io_weight(cr->blkio_weight);
|
||||
+ if (cr->blkio_weight < 10 || cr->blkio_weight > 1000) {
|
||||
+ ERROR("invalid io weight %llu out of range [10-1000]", (unsigned long long)cr->blkio_weight);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ weight = lcr_util_trans_blkio_weight_to_io_weight((int)cr->blkio_weight);
|
||||
if (weight < CGROUP2_WEIGHT_MIN || weight > CGROUP2_WEIGHT_MAX) {
|
||||
ERROR("invalid io weight cased by invalid blockio weight %llu", (unsigned long long) cr->blkio_weight);
|
||||
return -1;
|
||||
@@ -665,6 +672,11 @@ static int update_resources_io_bfq_weight_v2(struct lxc_container *c, const stru
|
||||
return 0;
|
||||
}
|
||||
|
||||
+ if (cr->blkio_weight < 10 || cr->blkio_weight > 1000) {
|
||||
+ ERROR("invalid io weight %llu out of range [10-1000]", (unsigned long long)cr->blkio_weight);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
weight = lcr_util_trans_blkio_weight_to_io_bfq_weight(cr->blkio_weight);
|
||||
if (weight < CGROUP2_BFQ_WEIGHT_MIN || weight > CGROUP2_BFQ_WEIGHT_MAX) {
|
||||
ERROR("invalid io weight cased by invalid blockio weight %llu", (unsigned long long) cr->blkio_weight);
|
||||
diff --git a/src/lcrcontainer_extend.c b/src/lcrcontainer_extend.c
|
||||
index 717d13b..e03c212 100644
|
||||
--- a/src/lcrcontainer_extend.c
|
||||
+++ b/src/lcrcontainer_extend.c
|
||||
@@ -818,6 +818,7 @@ static int lcr_spec_write_config(int fd, const struct lcr_list *lcr_conf)
|
||||
lcr_list_for_each(it, lcr_conf) {
|
||||
lcr_config_item_t *item = it->elem;
|
||||
int nret;
|
||||
+ size_t encode_len;
|
||||
if (item != NULL) {
|
||||
if (strlen(item->value) > ((SIZE_MAX - strlen(item->name)) - 4)) {
|
||||
goto cleanup;
|
||||
@@ -842,10 +843,10 @@ static int lcr_spec_write_config(int fd, const struct lcr_list *lcr_conf)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
- nret = strlen(line_encode);
|
||||
+ encode_len = strlen(line_encode);
|
||||
|
||||
- line_encode[nret] = '\n';
|
||||
- if (write(fd, line_encode, nret + 1) == -1) {
|
||||
+ line_encode[encode_len] = '\n';
|
||||
+ if (write(fd, line_encode, encode_len + 1) == -1) {
|
||||
SYSERROR("Write failed");
|
||||
goto cleanup;
|
||||
}
|
||||
diff --git a/src/utils.c b/src/utils.c
|
||||
index 7ee9ba8..16719f6 100644
|
||||
--- a/src/utils.c
|
||||
+++ b/src/utils.c
|
||||
@@ -888,7 +888,7 @@ restart:
|
||||
}
|
||||
directory = opendir("/proc/self/fd");
|
||||
if (directory == NULL) {
|
||||
- WARN("Failed to open directory: %m.");
|
||||
+ WARN("Failed to open directory: /proc/self/fd.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1307,10 +1307,10 @@ uint64_t lcr_util_trans_blkio_weight_to_io_weight(int weight)
|
||||
return (uint64_t)(1 + ((uint64_t)weight - 10) * 9999 / 990);
|
||||
}
|
||||
|
||||
-uint64_t lcr_util_trans_blkio_weight_to_io_bfq_weight(int weight)
|
||||
+uint64_t lcr_util_trans_blkio_weight_to_io_bfq_weight(uint64_t weight)
|
||||
{
|
||||
// map from [10-1000] to [1-1000]
|
||||
- return (uint64_t)(1 + ((uint64_t)weight - 10) * 999 / 990);
|
||||
+ return (uint64_t)(1 + (weight - 10) * 999 / 990);
|
||||
}
|
||||
|
||||
int lcr_util_get_cgroup_version()
|
||||
diff --git a/src/utils.h b/src/utils.h
|
||||
index 5aae95d..865b899 100644
|
||||
--- a/src/utils.h
|
||||
+++ b/src/utils.h
|
||||
@@ -219,7 +219,7 @@ int lcr_util_atomic_write_file(const char *filepath, const char *content);
|
||||
int lcr_util_get_real_swap(int64_t memory, int64_t memory_swap, int64_t *swap);
|
||||
int lcr_util_trans_cpushare_to_cpuweight(int64_t cpu_share);
|
||||
uint64_t lcr_util_trans_blkio_weight_to_io_weight(int weight);
|
||||
-uint64_t lcr_util_trans_blkio_weight_to_io_bfq_weight(int weight);
|
||||
+uint64_t lcr_util_trans_blkio_weight_to_io_bfq_weight(uint64_t weight);
|
||||
int lcr_util_get_cgroup_version();
|
||||
|
||||
#ifdef __cplusplus
|
||||
diff --git a/third_party/libocispec/read_file.c b/third_party/libocispec/read_file.c
|
||||
index 42b83b2..29dbec3 100644
|
||||
--- a/third_party/libocispec/read_file.c
|
||||
+++ b/third_party/libocispec/read_file.c
|
||||
@@ -29,7 +29,6 @@
|
||||
#endif
|
||||
|
||||
#define JSON_MAX_SIZE (10LL * 1024LL * 1024LL)
|
||||
-#define FILE_MODE 0640
|
||||
|
||||
static int do_check_fread_args(const FILE *stream, const size_t *length)
|
||||
{
|
||||
diff --git a/third_party/log.c b/third_party/log.c
|
||||
index 2fcb014..c3c1981 100644
|
||||
--- a/third_party/log.c
|
||||
+++ b/third_party/log.c
|
||||
@@ -25,7 +25,6 @@
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE 1
|
||||
#endif
|
||||
-#define __STDC_FORMAT_MACROS /* Required for PRIu64 to work. */
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <inttypes.h>
|
||||
@@ -267,7 +266,7 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
|
||||
if (ret < 0)
|
||||
return 0;
|
||||
|
||||
- n += ret;
|
||||
+ n += (int)ret;
|
||||
}
|
||||
|
||||
if ((size_t)n >= sizeof(buffer))
|
||||
@@ -275,7 +274,7 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
|
||||
|
||||
buffer[n] = '\n';
|
||||
|
||||
- return lcr_util_write_nointr(fd_to_use, buffer, n + 1);
|
||||
+ return lcr_util_write_nointr(fd_to_use, buffer, (size_t)n + 1);
|
||||
}
|
||||
|
||||
static struct lxc_log_appender log_appender_stderr = {
|
||||
--
|
||||
2.25.1
|
||||
|
||||
9
lcr.spec
9
lcr.spec
@ -1,5 +1,5 @@
|
||||
%global _version 2.0.8
|
||||
%global _release 4
|
||||
%global _release 5
|
||||
%global _inner_name isula_libutils
|
||||
|
||||
Name: lcr
|
||||
@ -17,6 +17,7 @@ Patch0001: 0001-feat-Add-json-spec-for-rest-resize-api.patch
|
||||
Patch0002: 0002-add-HAVE_ISULAD-definition-for-lxc-header.patch
|
||||
Patch0003: 0003-fix-cpu-quota-out-of-range-when-update-to-1.patch
|
||||
Patch0004: 0004-remove-unused-daemon-config-args.patch
|
||||
Patch0005: 0005-refactor-handle-warnings.patch
|
||||
|
||||
%define lxcver 4.0.3-2021112501
|
||||
|
||||
@ -105,6 +106,12 @@ rm -rf %{buildroot}
|
||||
%{_includedir}/%{_inner_name}/*.h
|
||||
|
||||
%changelog
|
||||
* Mon Sep 19 2022 Neil.wrz <wangrunze13@huawei.com> - 2.0.8-5
|
||||
- Type: refactor
|
||||
- ID: NA
|
||||
- SUG: NA
|
||||
- DESC: handle some warnings
|
||||
|
||||
* Wed Sep 07 2022 zhangxiaoyu <zhangxiaoyu58@huawei.com> - 2.0.8-4
|
||||
- Type: enhancement
|
||||
- ID: NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user