代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/lwip 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From cbeb07ef6238a719a2bb84837835ebc228ac4fde Mon Sep 17 00:00:00 2001
From: jiangheng <jiangheng14@huawei.com>
Date: Tue, 20 Jun 2023 14:56:28 +0800
Subject: [PATCH] add error check in hugepage_init and sys_mbox_free
---
src/api/sys_arch.c | 8 ++++++--
src/include/memp_def.h | 13 ++++++++++++-
2 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/src/api/sys_arch.c b/src/api/sys_arch.c
index f93a00e..1bc3aee 100644
--- a/src/api/sys_arch.c
+++ b/src/api/sys_arch.c
@@ -124,8 +124,12 @@ err_t sys_mbox_new(struct sys_mbox **mb, int size)
void sys_mbox_free(struct sys_mbox **mb)
{
struct sys_mbox *mbox = *mb;
- rte_ring_free(mbox->ring);
+ if (mbox->ring != NULL) {
+ rte_ring_free(mbox->ring);
+ mbox->ring = NULL;
+ }
memp_free(MEMP_SYS_MBOX, mbox);
+ sys_mbox_set_invalid(mb);
}
err_t sys_mbox_trypost(struct sys_mbox **mb, void *msg)
@@ -371,7 +375,7 @@ uint8_t *sys_hugepage_malloc(const char *name, uint32_t size)
mz = rte_memzone_reserve(name, size, rte_socket_id(), 0);
if (mz == NULL) {
- rte_exit(EXIT_FAILURE, "failed to reserver memory for mempool[%s]\n", name);
+ LWIP_DEBUGF(SYS_DEBUG, ("sys_hugepage_malloc: failed to reserve memory for mempool\n"));
return NULL;
}
diff --git a/src/include/memp_def.h b/src/include/memp_def.h
index 082f685..3408c60 100644
--- a/src/include/memp_def.h
+++ b/src/include/memp_def.h
@@ -52,15 +52,26 @@
#include <lwip/priv/memp_std.h>
#undef LWIP_MEMPOOL
-static inline void hugepage_init(void)
+extern PER_THREAD uint8_t *ram_heap;
+static inline int hugepage_init(void)
{
#define LWIP_MEMPOOL(name,num,size,desc) LWIP_MEMPOOL_BASE_INIT(name)
#include "lwip/priv/memp_std.h"
+ u16_t i;
+ for (i = 0; i < LWIP_ARRAYSIZE(memp_pools); i++) {
+ if (memp_pools[i]->base == NULL) {
+ return -1;
+ }
+ }
#if !MEM_LIBC_MALLOC
LWIP_MEM_MEMORY_DECLARE(ram_heap)
LWIP_MEM_MEMORY_INIT(ram_heap)
+ if (ram_heap == NULL) {
+ return -1;
+ }
#endif /* MEM_LIBC_MALLOC */
+ return 0;
}
#endif /* __MEMP_DEF_H__ */
--
2.27.0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。