!313 挑单 shell模块task命令踩内存问题修改

Merge pull request !313 from wangchen/shell_lts
This commit is contained in:
openharmony_ci 2021-09-17 07:46:26 +00:00 committed by Gitee
commit 7fa979c67c
3 changed files with 8 additions and 8 deletions

View File

@ -105,7 +105,7 @@ LITE_OS_SEC_TEXT_MINOR STATIC VOID OsShellCmdTskInfoData(const LosTaskCB *allTas
return; return;
} }
(VOID)memset_s(getUsedSizeArray, arraySize, 0, arraySize); (VOID)memset_s(getUsedSizeArray, arraySize, 0, arraySize);
OsTaskMemUsed(m_aucSysMem0, getUsedSizeArray, arraySize); OsTaskMemUsed(m_aucSysMem0, getUsedSizeArray, (LOSCFG_BASE_CORE_TSK_LIMIT + 1));
#endif #endif
for (loop = 0; loop < g_taskMaxNum; ++loop) { for (loop = 0; loop < g_taskMaxNum; ++loop) {

View File

@ -469,7 +469,7 @@ extern UINT32 LOS_MemIntegrityCheck(const VOID *pool);
extern VOID LOS_MemUnlockEnable(VOID *pool); extern VOID LOS_MemUnlockEnable(VOID *pool);
extern UINT32 OsMemSystemInit(VOID); extern UINT32 OsMemSystemInit(VOID);
extern VOID OsTaskMemUsed(VOID *pool, UINT32 *outArray, UINT32 arraySize); extern VOID OsTaskMemUsed(VOID *pool, UINT32 *tskMemInfoBuf, UINT32 tskMemInfoCnt);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus

View File

@ -345,23 +345,23 @@ STATIC VOID OsAllMemNodeDoHandle(VOID *pool, VOID (*handle)(struct OsMemNodeHead
STATIC VOID GetTaskMemUsedHandle(struct OsMemNodeHead *curNode, VOID *arg) STATIC VOID GetTaskMemUsedHandle(struct OsMemNodeHead *curNode, VOID *arg)
{ {
UINT32 *args = (UINT32 *)arg; UINT32 *args = (UINT32 *)arg;
UINT32 *outArray = (UINT32 *)(UINTPTR)*args; UINT32 *tskMemInfoBuf = (UINT32 *)(UINTPTR)*args;
UINT32 arraySize = *(args + 1); UINT32 tskMemInfoCnt = *(args + 1);
#ifndef LOSCFG_MEM_MUL_REGIONS #ifndef LOSCFG_MEM_MUL_REGIONS
if (OS_MEM_NODE_GET_USED_FLAG(curNode->sizeAndFlag)) { if (OS_MEM_NODE_GET_USED_FLAG(curNode->sizeAndFlag)) {
#else #else
if (OS_MEM_NODE_GET_USED_FLAG(curNode->sizeAndFlag) && !OS_MEM_IS_GAP_NODE(curNode)) { if (OS_MEM_NODE_GET_USED_FLAG(curNode->sizeAndFlag) && !OS_MEM_IS_GAP_NODE(curNode)) {
#endif #endif
if (curNode->taskID < arraySize) { if (curNode->taskID < tskMemInfoCnt) {
outArray[curNode->taskID] += OS_MEM_NODE_GET_SIZE(curNode->sizeAndFlag); tskMemInfoBuf[curNode->taskID] += OS_MEM_NODE_GET_SIZE(curNode->sizeAndFlag);
} }
} }
return; return;
} }
VOID OsTaskMemUsed(VOID *pool, UINT32 *outArray, UINT32 arraySize) VOID OsTaskMemUsed(VOID *pool, UINT32 *tskMemInfoBuf, UINT32 tskMemInfoCnt)
{ {
UINT32 args[2] = {(UINT32)(UINTPTR)outArray, arraySize}; UINT32 args[2] = {(UINT32)(UINTPTR)tskMemInfoBuf, tskMemInfoCnt};
OsAllMemNodeDoHandle(pool, GetTaskMemUsedHandle, (VOID *)args); OsAllMemNodeDoHandle(pool, GetTaskMemUsedHandle, (VOID *)args);
return; return;
} }