From 0215c2cb2a6db2aa10de0dd0917c16e63e4c49ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=AD=90=E6=80=A1?= Date: Wed, 26 Mar 2025 09:41:28 +0000 Subject: [PATCH] =?UTF-8?q?OpenHarmony=20kernel=5Fliteos=5Fa=20OsCopyUser?= =?UTF-8?q?=20=E6=9D=A1=E4=BB=B6=E7=AB=9E=E4=BA=89=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 石子怡 --- kernel/base/core/los_process.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel/base/core/los_process.c b/kernel/base/core/los_process.c index 724ecf66..c1d427d8 100644 --- a/kernel/base/core/los_process.c +++ b/kernel/base/core/los_process.c @@ -1925,13 +1925,18 @@ ERROR: STATIC UINT32 OsCopyUser(LosProcessCB *childCB, LosProcessCB *parentCB) { #ifdef LOSCFG_SECURITY_CAPABILITY - UINT32 size = sizeof(User) + sizeof(UINT32) * (parentCB->user->groupNumber - 1); + UINT32 intSave; + UINT32 size; + SCHEDULER_LOCK(intSave); + size = sizeof(User) + sizeof(UINT32) * (parentCB->user->groupNumber - 1); childCB->user = LOS_MemAlloc(m_aucSysMem1, size); if (childCB->user == NULL) { + SCHEDULER_UNLOCK(intSave); return LOS_ENOMEM; } (VOID)memcpy_s(childCB->user, size, parentCB->user, size); + SCHEDULER_UNLOCK(intSave); #endif return LOS_OK; } -- Gitee