Compare commits

...

32 Commits

Author SHA1 Message Date
openharmony_ci 30d6d3c088
!1244 【Pick 4.1 Release】fs_epoll竞争漏洞修复
Merge pull request !1244 from hw_llm/cherry-pick-1729040743
2024-10-16 04:01:14 +00:00
石子怡 65a8243fb1 update fs/vfs/epoll/fs_epoll.c.
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAXDGA
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
(cherry picked commit from <gitee.com//openharmony/kernel_liteos_a/commit/02abd34ad29301fdd3ade31fe35c62033e732007>
2024-10-16 01:05:43 +00:00
openharmony_ci 4b34b96700
!1240 【Pick 4.1 Release】shm pid 入参漏洞修复
Merge pull request !1240 from hw_llm/cherry-pick-1728735200
2024-10-12 12:49:43 +00:00
hw_llm 066a984a97 Description: shm pid入参 漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAWOD7
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
(cherry picked commit from <gitee.com//openharmony/kernel_liteos_a/commit/14c79fc921db176c8c7ae87a917fa50217e664ac>
2024-10-12 12:13:20 +00:00
openharmony_ci f9ccc6e5fd
!1237 【Pick 4.1 Release】hidumper 漏洞修复
Merge pull request !1237 from hw_llm/cherry-pick-1727612382
2024-09-29 14:21:40 +00:00
hw_llm 66228974c5 Description: hidumper 漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAUKDF
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
(cherry picked commit from <gitee.com//openharmony/kernel_liteos_a/commit/31da79ec80e5a1517e3aff126a4b13ed37d352ee>
2024-09-29 12:19:42 +00:00
openharmony_ci 572022f542
!1234 mem 漏洞修复
Merge pull request !1234 from hw_llm/cherry-pick-1727599316
2024-09-29 11:50:43 +00:00
hw_llm 439633c93b Description: mem 漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAUJWK
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
(cherry picked commit from <gitee.com//openharmony/kernel_liteos_a/commit/4bb465f9af0af618c9d4b24b82ede7dd9f12faa6>
2024-09-29 08:41:56 +00:00
openharmony_ci 020edcb1b7
!1231 【Pick 4.1 Release】liteipc 解决 释放后使用问题
Merge pull request !1231 from hw_llm/cherry-pick-1727158800
2024-09-24 08:30:39 +00:00
hw_llm 562c5d93d3 Description: liteipc 解决 释放后使用问题
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAT99L
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
(cherry picked commit from <gitee.com//openharmony/kernel_liteos_a/commit/8b571985262dc1d5ed64bbeb08f55a11306bf174>
2024-09-24 06:20:00 +00:00
openharmony_ci 898e71eb54
!1228 【同步4.1 release分支】VM Map 添加LITEIPC保护
Merge pull request !1228 from hw_llm/cherry-pick-1727060660
2024-09-24 01:50:14 +00:00
hw_llm 07be40d1f3 Description: VM Map 添加LiteIPC 保护
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IASJLX
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
(cherry picked commit from <gitee.com//openharmony/kernel_liteos_a/commit/75af9e28d9e92398f71e2f884c53a2745e7cd097>
2024-09-23 03:04:20 +00:00
openharmony_ci 20820bd0f7
!1223 OsShellCmdTskInfoGet 内存泄露漏洞修复
Merge pull request !1223 from hw_llm/cherry-pick-1724405916
2024-08-26 12:29:32 +00:00
openharmony_ci 20cf25498f
!1220 SysEpollWait 系统调用使用正确长度。
Merge pull request !1220 from hw_llm/cherry-pick-1724401985
2024-08-23 10:39:01 +00:00
hw_llm a502da19c0 cherry pick b58c6d4 from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1221
Description: OsShellCmdTskInfoGet 内存泄露漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAM34B?from=project-issue
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-08-23 09:38:36 +00:00
hw_llm dc523053cd cherry pick 5e3a8f1 from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1218
Description: syscall SysEpollWait 执行漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IALYB5?from=project-issue
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-08-23 08:33:05 +00:00
openharmony_ci f264fa6b13
!1214 [Pick 4.1 Release]console read 漏洞修复
Merge pull request !1214 from hw_llm/cherry-pick-1724245367
2024-08-22 08:38:58 +00:00
hw_llm 1bb7968775 cherry pick 0c53eca from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1213
cherry pick b22a7c2 from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1212
Description: console read 漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IALLNX?from=project-issue
Feature Or Bugfix: Feature
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-08-21 13:02:47 +00:00
openharmony_ci 017822c2fd
!1211 liteos_a 内核shell 漏洞修复
Merge pull request !1211 from hw_llm/cherry-pick-1724202574
2024-08-21 12:41:57 +00:00
hw_llm fef87f5da8 cherry pick bca2645 from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1210
cherry pick 2ac53f2 from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1209
Description: shell lk 漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAKVF0
Feature Or Bugfix: Feature
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-08-21 01:09:34 +00:00
openharmony_ci a0088a2e53
!1206 内核代码适配
Merge pull request !1206 from yaowenrui/OpenHarmony-4.1-Release
2024-08-19 07:45:48 +00:00
openharmony_ci 08b1ab779c
!1208 【同步4.1 Release】容器编译失败问题同步
Merge pull request !1208 from hw_llm/cherry-pick-1723789557
2024-08-16 10:12:17 +00:00
hw_llm 03a2bf2c68 cherry pick d958a85 from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1202
Description: 解决容器编译报错问题
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/I9TEYD
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-08-16 06:25:58 +00:00
yaowenrui 589820d05a 5.10内核仓代码适配
Signed-off-by: yaowenrui <yaowenrui2@huawei.com>
2024-08-15 14:21:37 +08:00
openharmony_ci 4e90ebdd73
!1200 整数溢出漏洞修复
Merge pull request !1200 from hw_llm/cherry-pick-1721456740
2024-07-22 10:22:58 +00:00
hw_llm 6241f722f3 fixed da45d3f from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1197
Description: fix CVE-817641412102197248
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IACJLK
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-07-20 06:25:40 +00:00
openharmony_ci b7a35ec4bb
!1196 【同步4.1 release分支】解决UAF问题
Merge pull request !1196 from hw_llm/cherry-pick-1720749987
2024-07-12 08:18:50 +00:00
hw_llm 50410f66fb fixed 21087fb from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1195
fixed 78db02d from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1194
Description: fix CVE-810023952561737728
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/IAAZWU
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-07-12 02:06:27 +00:00
openharmony_ci 26a187ede7
!1191 【Pick】【OH-4.1-Release】解决竞争冲突
Merge pull request !1191 from hw_llm/cherry-pick-1715399782
2024-05-23 12:40:06 +00:00
hw_llm 4e62fec983 fixed dfc582a from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1190
fixed dbbb96c from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1189
Description: liteos_a 内核竞争漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/I9OACM
Feature Or Bugfix: Bugfix
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-05-11 03:56:23 +00:00
openharmony_ci 25a4c3f13a
!1186 部件bundle.json 中syscap与设计信息不一致
Merge pull request !1186 from hw_llm/cherry-pick-1708502857
2024-02-22 06:34:28 +00:00
hw_llm 7dc3f24815 fixed cfa0209 from https://gitee.com/hw_llm/kernel_liteos_a/pulls/1185
Description: 删除bundle.json中syscap信息
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/I90PKD
Feature Or Bugfix: Feature
Binary Source: No
Signed-off-by: hw_llm <liu.limin@huawei.com>
2024-02-21 08:07:38 +00:00
17 changed files with 67 additions and 31 deletions

View File

@ -27,9 +27,6 @@
"component": {
"name": "liteos_a",
"subsystem": "kernel",
"syscap": [
"SystemCapability.Kernel.Liteos-A"
],
"features": [],
"adapted_system_type": [
"small"

View File

@ -270,6 +270,7 @@ STATIC INT32 DoMqueueClose(struct mqpersonal *privateMqPersonal)
{
struct mqarray *mqueueCB = NULL;
struct mqpersonal *tmp = NULL;
INT32 ret;
mqueueCB = privateMqPersonal->mq_posixdes;
if (mqueueCB == NULL || mqueueCB->mq_personal == NULL) {
@ -277,6 +278,12 @@ STATIC INT32 DoMqueueClose(struct mqpersonal *privateMqPersonal)
return LOS_NOK;
}
if ((mqueueCB->unlinkflag == TRUE) && (privateMqPersonal->mq_next == NULL)) {
ret = DoMqueueDelete(mqueueCB);
if (ret < 0) {
return ret;
}
}
/* find the personal and remove */
if (mqueueCB->mq_personal == privateMqPersonal) {
mqueueCB->mq_personal = privateMqPersonal->mq_next;
@ -298,9 +305,6 @@ STATIC INT32 DoMqueueClose(struct mqpersonal *privateMqPersonal)
/* free the personal */
(VOID)LOS_MemFree(OS_SYS_MEM_ADDR, privateMqPersonal);
if ((mqueueCB->unlinkflag == TRUE) && (mqueueCB->mq_personal == NULL)) {
return DoMqueueDelete(mqueueCB);
}
return LOS_OK;
}
@ -604,17 +608,19 @@ int OsMqGetAttr(mqd_t personal, struct mq_attr *mqAttr)
struct mqarray *mqueueCB = NULL;
struct mqpersonal *privateMqPersonal = NULL;
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
privateMqPersonal = MqGetPrivDataBuff(personal);
if (privateMqPersonal == NULL) {
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
return -1;
}
if (mqAttr == NULL) {
errno = EINVAL;
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
return -1;
}
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
if (privateMqPersonal->mq_status != MQ_USE_MAGIC) {
errno = EBADF;
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
@ -634,17 +640,19 @@ int OsMqSetAttr(mqd_t personal, const struct mq_attr *mqSetAttr, struct mq_attr
{
struct mqpersonal *privateMqPersonal = NULL;
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
privateMqPersonal = MqGetPrivDataBuff(personal);
if (privateMqPersonal == NULL) {
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
return -1;
}
if (mqSetAttr == NULL) {
errno = EINVAL;
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
return -1;
}
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
if (privateMqPersonal->mq_status != MQ_USE_MAGIC) {
errno = EBADF;
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);

View File

@ -61,7 +61,7 @@ static ssize_t MemMap(struct file *filep, LosVmMapRegion *region)
VADDR_T vaddr = region->range.base;
LosVmSpace *space = LOS_SpaceGet(vaddr);
if ((paddr >= SYS_MEM_BASE) && (paddr < SYS_MEM_END)) {
if (((paddr + size) >= SYS_MEM_BASE) && (paddr < SYS_MEM_END)) {
return -EINVAL;
}

View File

@ -6340,7 +6340,7 @@ diff -Nupr old/fs/jffs2/summary.h new/fs/jffs2/summary.h
diff -Nupr old/fs/jffs2/super.c new/fs/jffs2/super.c
--- old/fs/jffs2/super.c 2022-05-09 17:22:53.000000000 +0800
+++ new/fs/jffs2/super.c 2022-05-09 20:09:32.170000000 +0800
@@ -9,433 +9,188 @@
@@ -9,434 +9,188 @@
*
*/
@ -6418,6 +6418,7 @@ diff -Nupr old/fs/jffs2/super.c new/fs/jffs2/super.c
+ c->cleanmarker_size = sizeof(struct jffs2_unknown_node);
- mutex_init(&f->sem);
- f->target = NULL;
- inode_init_once(&f->vfs_inode);
-}
+ ret = jffs2_do_mount_fs(c);

View File

@ -220,14 +220,18 @@ int epoll_close(int epfd)
{
struct epoll_head *epHead = NULL;
(VOID)pthread_mutex_lock(&g_epollMutex);
epHead = EpollGetDataBuff(epfd);
if (epHead == NULL) {
(VOID)pthread_mutex_unlock(&g_epollMutex);
set_errno(EBADF);
return -1;
}
DoEpollClose(epHead);
return EpollFreeSysFd(epfd);
int ret = EpollFreeSysFd(epfd);
(VOID)pthread_mutex_unlock(&g_epollMutex);
return ret;
}
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *ev)
@ -236,15 +240,16 @@ int epoll_ctl(int epfd, int op, int fd, struct epoll_event *ev)
int i;
int ret = -1;
(VOID)pthread_mutex_lock(&g_epollMutex);
epHead = EpollGetDataBuff(epfd);
if (epHead == NULL) {
set_errno(EBADF);
return ret;
goto OUT_RELEASE;
}
if (ev == NULL) {
set_errno(EINVAL);
return -1;
goto OUT_RELEASE;
}
switch (op) {
@ -252,18 +257,19 @@ int epoll_ctl(int epfd, int op, int fd, struct epoll_event *ev)
ret = CheckFdExist(epHead, fd);
if (ret == -1) {
set_errno(EEXIST);
return -1;
goto OUT_RELEASE;
}
if (epHead->nodeCount == EPOLL_DEFAULT_SIZE) {
set_errno(ENOMEM);
return -1;
goto OUT_RELEASE;
}
epHead->evs[epHead->nodeCount].events = ev->events | POLLERR | POLLHUP;
epHead->evs[epHead->nodeCount].data.fd = fd;
epHead->nodeCount++;
return 0;
ret = 0;
break;
case EPOLL_CTL_DEL:
for (i = 0; i < epHead->nodeCount; i++) {
if (epHead->evs[i].data.fd != fd) {
@ -275,23 +281,29 @@ int epoll_ctl(int epfd, int op, int fd, struct epoll_event *ev)
epHead->nodeCount - i);
}
epHead->nodeCount--;
return 0;
ret = 0;
goto OUT_RELEASE;
}
set_errno(ENOENT);
return -1;
break;
case EPOLL_CTL_MOD:
for (i = 0; i < epHead->nodeCount; i++) {
if (epHead->evs[i].data.fd == fd) {
epHead->evs[i].events = ev->events | POLLERR | POLLHUP;
return 0;
ret = 0;
goto OUT_RELEASE;
}
}
set_errno(ENOENT);
return -1;
break;
default:
set_errno(EINVAL);
return -1;
break;
}
OUT_RELEASE:
(VOID)pthread_mutex_unlock(&g_epollMutex);
return ret;
}
int epoll_wait(int epfd, FAR struct epoll_event *evs, int maxevents, int timeout)
@ -326,7 +338,7 @@ int epoll_wait(int epfd, FAR struct epoll_event *evs, int maxevents, int timeout
return -1;
}
for (i = 0; i < epHead->nodeCount; i++) {
for (i = 0; i < pollSize; i++) {
pFd[i].fd = epHead->evs[i].data.fd;
pFd[i].events = (short)epHead->evs[i].events;
}

View File

@ -157,7 +157,8 @@ typedef struct VmSpace {
#define VM_MAP_REGION_FLAG_SHM (1<<16)
#define VM_MAP_REGION_FLAG_FIXED (1<<17)
#define VM_MAP_REGION_FLAG_FIXED_NOREPLACE (1<<18)
#define VM_MAP_REGION_FLAG_INVALID (1<<19) /* indicates that flags are not specified */
#define VM_MAP_REGION_FLAG_LITEIPC (1<<19)
#define VM_MAP_REGION_FLAG_INVALID (1<<20) /* indicates that flags are not specified */
STATIC INLINE UINT32 OsCvtProtFlagsToRegionFlags(unsigned long prot, unsigned long flags)
{

View File

@ -379,6 +379,7 @@ LITE_OS_SEC_TEXT_MINOR UINT32 OsShellCmdTskInfoGet(UINT32 processID, VOID *seqBu
(VOID)memset_s(threadInfo, sizeof(ProcessThreadInfo), 0, sizeof(ProcessThreadInfo));
if (OsGetProcessThreadInfo(processID, threadInfo) != LOS_OK) {
(VOID)LOS_MemFree(m_aucSysMem1, threadInfo);
return LOS_NOK;
}

View File

@ -76,6 +76,8 @@ const CHAR *OsGetRegionNameOrFilePath(LosVmMapRegion *region)
return "MMAP";
} else if (region->regionFlags & VM_MAP_REGION_FLAG_SHM) {
return "SHM";
} else if (region->regionFlags & VM_MAP_REGION_FLAG_LITEIPC) {
return "LITEIPC";
} else {
return "";
}

View File

@ -273,6 +273,8 @@ STATIC UINT32 OsInheritOldRegionName(UINT32 oldRegionFlags)
vmFlags |= VM_MAP_REGION_FLAG_MMAP;
} else if (oldRegionFlags & VM_MAP_REGION_FLAG_SHM) {
vmFlags |= VM_MAP_REGION_FLAG_SHM;
} else if (oldRegionFlags & VM_MAP_REGION_FLAG_LITEIPC) {
vmFlags |= VM_MAP_REGION_FLAG_LITEIPC;
}
return vmFlags;
@ -298,7 +300,9 @@ INT32 LOS_DoMprotect(VADDR_T vaddr, size_t len, unsigned long prot)
goto OUT_MPROTECT;
}
if ((region->regionFlags & VM_MAP_REGION_FLAG_VDSO) || (region->regionFlags & VM_MAP_REGION_FLAG_HEAP)) {
if ((region->regionFlags & VM_MAP_REGION_FLAG_VDSO) ||
(region->regionFlags & VM_MAP_REGION_FLAG_HEAP) ||
(region->regionFlags & VM_MAP_REGION_FLAG_LITEIPC)) {
ret = -EPERM;
goto OUT_MPROTECT;
}

View File

@ -689,6 +689,9 @@ INT32 ShmCtl(INT32 shmid, INT32 cmd, struct shmid_ds *buf)
(shm_perm.mode & ACCESSPERMS);
seg->ds.shm_ctime = time(NULL);
#ifdef LOSCFG_SHELL
if (OsProcessIDUserCheckInvalid(shm_perm.uid)) {
break;
}
(VOID)memcpy_s(seg->ownerName, OS_PCB_NAME_LEN, OS_PCB_FROM_PID(shm_perm.uid)->processName,
OS_PCB_NAME_LEN);
#endif

View File

@ -687,7 +687,7 @@ STATIC ssize_t ConsoleRead(struct file *filep, CHAR *buffer, size_t bufLen)
}
if (userBuf) {
if (LOS_ArchCopyToUser(buffer, sbuffer, bufLen) != 0) {
if (LOS_ArchCopyToUser(buffer, sbuffer, ret) != 0) {
ret = -EFAULT;
goto ERROUT;
}

View File

@ -278,7 +278,6 @@ static void DumpFaultLog(void)
static void DumpMemData(struct MemDumpParam *param)
{
PRINTK("\nDumpType: %d\n", param->type);
PRINTK("Unsupported now!\n");
}

View File

@ -239,6 +239,7 @@ LITE_OS_SEC_TEXT STATIC int LiteIpcMmap(struct file *filep, LosVmMapRegion *regi
goto ERROR_MAP_OUT;
}
ipcInfo->pool.poolSize = region->range.size;
region->regionFlags |= VM_MAP_REGION_FLAG_LITEIPC;
return 0;
ERROR_MAP_OUT:
LOS_VFree(ipcInfo->pool.kvaddr);
@ -757,7 +758,10 @@ LITE_OS_SEC_TEXT STATIC UINT32 HandlePtr(LosProcessCB *pcb, SpecialObj *obj, BOO
obj->content.ptr.buff = (VOID *)GetIpcUserAddr(pcb, (INTPTR)buf);
EnableIpcNodeFreeByUser(pcb, (VOID *)buf);
} else {
(VOID)LiteIpcNodeFree(pcb, (VOID *)GetIpcKernelAddr(pcb, (INTPTR)obj->content.ptr.buff));
buf = (VOID *)GetIpcKernelAddr(pcb, (INTPTR)obj->content.ptr.buff);
if (IsIpcNode(pcb, buf) == TRUE) {
(VOID)LiteIpcNodeFree(pcb, buf);
}
}
return LOS_OK;
}

View File

@ -488,7 +488,7 @@ UINT32 OsDevLimitWriteDeny(ProcLimitSet *plimit, const CHAR *buf, UINT32 size)
STATIC VOID DevLimitItemSetAccess(CHAR *accArray, INT16 access)
{
INT32 index = 0;
(VOID)memset_s(acc, ACCLEN, 0, ACCLEN);
(VOID)memset_s(accArray, ACCLEN, 0, ACCLEN);
if (access & DEVLIMIT_ACC_READ) {
accArray[index] = 'r';
index++;

View File

@ -154,7 +154,6 @@ INT32 CmdLog(INT32 argc, const CHAR **argv)
PRINTK("not support yet\n");
}
} else if (!strncmp(argv[0], "path", strlen(argv[0]) + 1)) {
OsLkLogFileSet(argv[1]);
PRINTK("not support yet\n");
} else {
PRINTK("Usage: log level <num>\n");

View File

@ -401,7 +401,7 @@ ssize_t SysSendMsg(int s, const struct msghdr *message, int flags)
CHECK_ASPACE(message, sizeof(struct msghdr));
CPY_FROM_CONST_USER(struct msghdr, message);
if (message && message->msg_iovlen > IOV_MAX) {
if (message && (size_t)message->msg_iovlen > IOV_MAX) {
set_errno(EMSGSIZE);
return -get_errno();
}
@ -449,7 +449,7 @@ ssize_t SysRecvMsg(int s, struct msghdr *message, int flags)
CHECK_ASPACE(message, sizeof(struct msghdr));
CPY_FROM_NONCONST_USER(message);
if (message && message->msg_iovlen > IOV_MAX) {
if (message && (size_t)message->msg_iovlen > IOV_MAX) {
set_errno(EMSGSIZE);
return -get_errno();
}

View File

@ -124,6 +124,11 @@ LITEOS_BASELIB += -lcommon
LIB_SUBDIRS += kernel/common
LITEOS_KERNEL_INCLUDE += -I $(LITEOSTOPDIR)/kernel/common
ifeq ($(LOSCFG_KERNEL_CONTAINER), y)
LITEOS_BASELIB += -lcontainer
LIB_SUBDIRS += kernel/extended/container
endif
ifeq ($(LOSCFG_KERNEL_CPPSUPPORT), y)
LITEOS_BASELIB += -lcppsupport
LIB_SUBDIRS += kernel/extended/cppsupport