fix: A核代码静态告警定期清理

【背景】A核代码静态告警定期清理

【修改方案】
1,根据codex等工具分析结果,进行必要的规范等问题修改

【影响】
对现有的产品编译不会有影响。

re #I4I0O8
Signed-off-by: wangchen <253227059@qq.com>
This commit is contained in:
lnlan 2021-11-12 07:32:39 +00:00
parent f63ce99399
commit 9ba725c3d4
22 changed files with 144 additions and 135 deletions

View File

@ -70,7 +70,7 @@ static void PerfSetPeriod(PerfConfigAttr *attr)
void PerfPrintBuffer(const char *buf, ssize_t num) void PerfPrintBuffer(const char *buf, ssize_t num)
{ {
#define BYTES_PER_LINE 4 #define BYTES_PER_LINE 4
ssize_t i = 0; ssize_t i;
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
printf(" %02x", (unsigned char)buf[i]); printf(" %02x", (unsigned char)buf[i]);
if (((i + 1) % BYTES_PER_LINE) == 0) { if (((i + 1) % BYTES_PER_LINE) == 0) {

View File

@ -46,7 +46,7 @@ extern "C" {
#define SHELL_EXEC_COMMAND "exec" #define SHELL_EXEC_COMMAND "exec"
#define SHELL_EXEC_COMMAND_BYTES 4 #define SHELL_EXEC_COMMAND_BYTES 4
#define CMD_EXEC_COMMAND SHELL_EXEC_COMMAND" " #define CMD_EXEC_COMMAND SHELL_EXEC_COMMAND" "
#define CMD_EXEC_COMMAND_BYTES (SHELL_EXEC_COMMAND_BYTES+1) #define CMD_EXEC_COMMAND_BYTES (SHELL_EXEC_COMMAND_BYTES + 1)
#define CMD_EXIT_COMMAND "exit" #define CMD_EXIT_COMMAND "exit"
#define CMD_EXIT_COMMAND_BYTES 4 #define CMD_EXIT_COMMAND_BYTES 4
#define CMD_EXIT_CODE_BASE_DEC 10 #define CMD_EXIT_CODE_BASE_DEC 10
@ -59,7 +59,7 @@ extern "C" {
#define COLOR_L_RED "\e[1;31m" #define COLOR_L_RED "\e[1;31m"
#define SHELL_PROMPT COLOR_L_RED"OHOS # "COLOR_NONE #define SHELL_PROMPT COLOR_L_RED"OHOS # "COLOR_NONE
typedef void (*OutputFunc)(const char *fmt, ...); typedef void (* OutputFunc)(const char *fmt, ...);
extern int ShellTaskInit(ShellCB *shellCB); extern int ShellTaskInit(ShellCB *shellCB);
extern int ShellEntryInit(ShellCB *shellCB); extern int ShellEntryInit(ShellCB *shellCB);
extern void ChildExec(const char *cmdName, char *const paramArray[]); extern void ChildExec(const char *cmdName, char *const paramArray[]);

View File

@ -110,12 +110,12 @@ static int DoShellExec(char **argv)
} }
memset_s(cmdLine, len, 0, len); memset_s(cmdLine, len, 0, len);
for(j = 0; j < i; j++) { for (j = 0; j < i; j++) {
strcat_s(cmdLine, len, argv[j]); strcat_s(cmdLine, len, argv[j]);
strcat_s(cmdLine, len, " "); strcat_s(cmdLine, len, " ");
} }
cmdLine[len - 2] = '\0'; cmdLine[len - 2] = '\0'; /* 2, (len - 2) is the end of cmdline buf */
ret = syscall(__NR_shellexec, argv[0], cmdLine); ret = syscall(__NR_shellexec, argv[0], cmdLine);
free(cmdLine); free(cmdLine);
return ret; return ret;

View File

@ -391,7 +391,7 @@ int CheckExit(const char *cmdName, const CmdParsed *cmdParsed)
return -1; return -1;
} }
if (cmdParsed->paramCnt == 1) { if (cmdParsed->paramCnt == 1) {
char *p; char *p = NULL;
ret = strtol(cmdParsed->paramArray[0], &p, CMD_EXIT_CODE_BASE_DEC); ret = strtol(cmdParsed->paramArray[0], &p, CMD_EXIT_CODE_BASE_DEC);
if (*p != '\0') { if (*p != '\0') {
printf("exit: bad number: %s\n", cmdParsed->paramArray[0]); printf("exit: bad number: %s\n", cmdParsed->paramArray[0]);

View File

@ -88,11 +88,13 @@ static void TraceWrite(int fd, int argc, char **argv)
{ {
int i; int i;
UsrEventInfo info = {0}; UsrEventInfo info = {0};
info.eventType = strtoul(argv[2], NULL, 0); info.eventType = strtoul(argv[2], NULL, 0); /* 2, argv number */
info.identity = strtoul(argv[3], NULL, 0); info.identity = strtoul(argv[3], NULL, 0); /* 3, argv number */
/* 4, argc -4 means user argv that does not contain argv[0]~argv[3] */
int paramNum = (argc - 4) > TRACE_USR_MAX_PARAMS ? TRACE_USR_MAX_PARAMS : (argc - 4); int paramNum = (argc - 4) > TRACE_USR_MAX_PARAMS ? TRACE_USR_MAX_PARAMS : (argc - 4);
for (i = 0; i < paramNum; i++) { for (i = 0; i < paramNum; i++) {
/* 4, argc -4 means user argv that does not contain argv[0]~argv[3] */
info.params[i] = strtoul(argv[4 + i], NULL, 0); info.params[i] = strtoul(argv[4 + i], NULL, 0);
} }
(void)write(fd, &info, sizeof(UsrEventInfo)); (void)write(fd, &info, sizeof(UsrEventInfo));
@ -108,22 +110,22 @@ int main(int argc, char **argv)
if (argc == 1) { if (argc == 1) {
TraceUsage(); TraceUsage();
} else if (argc == 2 && strcmp(argv[1], "start") == 0) { } else if (argc == 2 && strcmp(argv[1], "start") == 0) { /* 2, argv num, no special meaning */
ioctl(fd, TRACE_START, NULL); ioctl(fd, TRACE_START, NULL);
} else if (argc == 2 && strcmp(argv[1], "stop") == 0) { } else if (argc == 2 && strcmp(argv[1], "stop") == 0) { /* 2, argv num, no special meaning */
ioctl(fd, TRACE_STOP, NULL); ioctl(fd, TRACE_STOP, NULL);
} else if (argc == 2 && strcmp(argv[1], "reset") == 0) { } else if (argc == 2 && strcmp(argv[1], "reset") == 0) { /* 2, argv num, no special meaning */
ioctl(fd, TRACE_RESET, NULL); ioctl(fd, TRACE_RESET, NULL);
} else if (argc == 3 && strcmp(argv[1], "mask") == 0) { } else if (argc == 3 && strcmp(argv[1], "mask") == 0) { /* 3, argv num, no special meaning */
size_t mask = strtoul(argv[2], NULL, 0); size_t mask = strtoul(argv[2], NULL, 0);
ioctl(fd, TRACE_SET_MASK, mask); ioctl(fd, TRACE_SET_MASK, mask);
} else if (argc == 3 && strcmp(argv[1], "dump") == 0) { } else if (argc == 3 && strcmp(argv[1], "dump") == 0) { /* 3, argv num, no special meaning */
size_t flag = strtoul(argv[2], NULL, 0); size_t flag = strtoul(argv[2], NULL, 0);
ioctl(fd, TRACE_DUMP, flag); ioctl(fd, TRACE_DUMP, flag);
} else if (argc == 3 && strcmp(argv[1], "read") == 0) { } else if (argc == 3 && strcmp(argv[1], "read") == 0) { /* 3, argv num, no special meaning */
size_t size = strtoul(argv[2], NULL, 0); size_t size = strtoul(argv[2], NULL, 0);
TraceRead(fd, size); TraceRead(fd, size);
} else if (argc >= 4 && strcmp(argv[1], "write") == 0) { } else if (argc >= 4 && strcmp(argv[1], "write") == 0) { /* 4, argv num, no special meaning */
TraceWrite(fd, argc, argv); TraceWrite(fd, argc, argv);
} else { } else {
printf("Unsupported trace command.\n"); printf("Unsupported trace command.\n");

View File

@ -55,7 +55,7 @@ VOID HalArchCpuOn(UINT32 cpuNum, ArchCpuStartFunc func, struct SmpOps *ops, VOID
{ {
struct OsCpuInit *cpuInit = &g_cpuInit[cpuNum - 1]; struct OsCpuInit *cpuInit = &g_cpuInit[cpuNum - 1];
UINTPTR startEntry = (UINTPTR)&reset_vector - KERNEL_VMM_BASE + SYS_MEM_BASE; UINTPTR startEntry = (UINTPTR)&reset_vector - KERNEL_VMM_BASE + SYS_MEM_BASE;
INT32 ret = 0; INT32 ret;
cpuInit->cpuStart = func; cpuInit->cpuStart = func;
cpuInit->arg = arg; cpuInit->arg = arg;

View File

@ -47,7 +47,7 @@ void srand(unsigned s)
int rand(void) int rand(void)
{ {
return random(); return random();
} }
void _exit(int status) void _exit(int status)

View File

@ -136,16 +136,16 @@ static int PageCacheMapProcess(struct SeqBuf *buf)
static int FsCacheInfoFill(struct SeqBuf *buf, void *arg) static int FsCacheInfoFill(struct SeqBuf *buf, void *arg)
{ {
int vnodeFree = 0; int vnodeFree;
int vnodeActive = 0; int vnodeActive;
int vnodeVirtual = 0; int vnodeVirtual;
int vnodeTotal = 0; int vnodeTotal;
int pathCacheTotal = 0; int pathCacheTotal;
int pathCacheTotalTry = 0; int pathCacheTotalTry = 0;
int pathCacheTotalHit = 0; int pathCacheTotalHit = 0;
int pageCacheTotal = 0; int pageCacheTotal;
int pageCacheTotalTry = 0; int pageCacheTotalTry = 0;
int pageCacheTotalHit = 0; int pageCacheTotalHit = 0;

View File

@ -71,8 +71,8 @@ static int EpollAllocSysFd(int maxfdp, struct epoll_head *head)
fd_set *fdset = &g_epollFdSet; fd_set *fdset = &g_epollFdSet;
for (i = 0; i < maxfdp; i++) { for (i = 0; i < maxfdp; i++) {
if (fdset && !(FD_ISSET(i + EPOLL_FD_OFFSET, fdset))) { if (fdset && !(FD_ISSET(i, fdset))) {
FD_SET(i + EPOLL_FD_OFFSET, fdset); FD_SET(i, fdset);
if (!g_epPrivBuf[i]) { if (!g_epPrivBuf[i]) {
g_epPrivBuf[i] = head; g_epPrivBuf[i] = head;
return i + EPOLL_FD_OFFSET; return i + EPOLL_FD_OFFSET;
@ -92,17 +92,17 @@ static int EpollAllocSysFd(int maxfdp, struct epoll_head *head)
*/ */
static int EpollFreeSysFd(int fd) static int EpollFreeSysFd(int fd)
{ {
int id = fd - EPOLL_FD_OFFSET; int efd = fd - EPOLL_FD_OFFSET;
if ((id < 0) || (id >= MAX_EPOLL_FD)) { if ((efd < 0) || (efd >= MAX_EPOLL_FD)) {
set_errno(EMFILE); set_errno(EMFILE);
return -1; return -1;
} }
fd_set *fdset = &g_epollFdSet; fd_set *fdset = &g_epollFdSet;
if (fdset && FD_ISSET(fd, fdset)) { if (fdset && FD_ISSET(efd, fdset)) {
FD_CLR(id, fdset); FD_CLR(efd, fdset);
g_epPrivBuf[id] = NULL; g_epPrivBuf[efd] = NULL;
} }
return 0; return 0;
@ -159,7 +159,8 @@ static VOID DoEpollClose(struct epoll_head *epHead)
free(epHead); free(epHead);
} }
return ;
return;
} }
/** /**
@ -236,7 +237,7 @@ int epoll_ctl(int epfd, int op, int fd, struct epoll_event *ev)
int ret = -1; int ret = -1;
epHead = EpollGetDataBuff(epfd); epHead = EpollGetDataBuff(epfd);
if (epHead== NULL) { if (epHead == NULL) {
set_errno(EBADF); set_errno(EBADF);
return ret; return ret;
} }
@ -328,6 +329,7 @@ int epoll_wait(int epfd, FAR struct epoll_event *evs, int maxevents, int timeout
ret = poll(pFd, pollSize, timeout); ret = poll(pFd, pollSize, timeout);
if (ret <= 0) { if (ret <= 0) {
free(pFd);
return 0; return 0;
} }
@ -339,6 +341,7 @@ int epoll_wait(int epfd, FAR struct epoll_event *evs, int maxevents, int timeout
} }
} }
free(pFd);
return i; return i;
} }

View File

@ -61,15 +61,15 @@ extern "C" {
#define EPOLL_CTL_MOD 3 #define EPOLL_CTL_MOD 3
typedef union epoll_data { typedef union epoll_data {
void *ptr; void *ptr;
int fd; int fd;
UINT32 u32; UINT32 u32;
UINT64 u64; UINT64 u64;
} epoll_data_t; } epoll_data_t;
struct epoll_event { struct epoll_event {
UINT32 events; UINT32 events;
epoll_data_t data; epoll_data_t data;
}; };
int epoll_create(int size); int epoll_create(int size);

View File

@ -63,7 +63,7 @@ int fscheck(const char *path)
dir = (struct fs_dirent_s *)zalloc(sizeof(struct fs_dirent_s)); dir = (struct fs_dirent_s *)zalloc(sizeof(struct fs_dirent_s));
if (!dir) { if (!dir) {
/* Insufficient memory to complete the operation.*/ /* Insufficient memory to complete the operation. */
ret = -ENOMEM; ret = -ENOMEM;
VnodeDrop(); VnodeDrop();
goto errout; goto errout;

View File

@ -120,23 +120,20 @@ int fallocate(int fd, int mode, off_t offset, off_t len)
#if CONFIG_NFILE_DESCRIPTORS > 0 #if CONFIG_NFILE_DESCRIPTORS > 0
/* The descriptor is in the right range to be a file descriptor... write to the file.*/ /* The descriptor is in the right range to be a file descriptor... write to the file. */
int ret = fs_getfilep(fd, &filep); int ret = fs_getfilep(fd, &filep);
if (ret < 0) if (ret < 0) {
{
/* The errno value has already been set */ /* The errno value has already been set */
return VFS_ERROR; return VFS_ERROR;
} }
if (filep->f_oflags & O_DIRECTORY) if (filep->f_oflags & O_DIRECTORY) {
{
set_errno(EBADF); set_errno(EBADF);
return VFS_ERROR; return VFS_ERROR;
} }
/* Perform the fallocate operation using the file descriptor as an index */ /* Perform the fallocate operation using the file descriptor as an index */
return file_fallocate(filep, mode, offset, len); return file_fallocate(filep, mode, offset, len);
#endif #endif
} }

View File

@ -128,20 +128,17 @@ int fallocate64(int fd, int mode, off64_t offset, off64_t len)
*/ */
int ret = fs_getfilep(fd, &filep); int ret = fs_getfilep(fd, &filep);
if (ret < 0) if (ret < 0) {
{
/* The errno value has already been set */ /* The errno value has already been set */
return VFS_ERROR; return VFS_ERROR;
} }
if (filep->f_oflags & O_DIRECTORY) if (filep->f_oflags & O_DIRECTORY) {
{
set_errno(EBADF); set_errno(EBADF);
return VFS_ERROR; return VFS_ERROR;
} }
/* Perform the fallocate operation using the file descriptor as an index */ /* Perform the fallocate operation using the file descriptor as an index */
return file_fallocate64(filep, mode, offset, len); return file_fallocate64(filep, mode, offset, len);
#endif #endif
} }

View File

@ -84,6 +84,7 @@ int VfsVnodePermissionCheck(const struct Vnode *node, int accMode)
uint fileMode = node->mode; uint fileMode = node->mode;
return VfsPermissionCheck(fuid, fgid, fileMode, accMode); return VfsPermissionCheck(fuid, fgid, fileMode, accMode);
} }
int VfsPermissionCheck(uint fuid, uint fgid, uint fileMode, int accMode) int VfsPermissionCheck(uint fuid, uint fgid, uint fileMode, int accMode)
{ {
uint uid = OsCurrUserGet()->effUserID; uint uid = OsCurrUserGet()->effUserID;
@ -196,11 +197,10 @@ int chdir(const char *path)
#ifdef VFS_USING_WORKDIR #ifdef VFS_USING_WORKDIR
ret = SetWorkDir(fullpath, strlen(fullpath)); ret = SetWorkDir(fullpath, strlen(fullpath));
if (ret != 0) if (ret != 0) {
{
PRINT_ERR("chdir path error!\n"); PRINT_ERR("chdir path error!\n");
ret = -1; ret = -1;
} }
#endif #endif
/* release normalize directory path name */ /* release normalize directory path name */
@ -235,19 +235,17 @@ char *getcwd(char *buf, size_t n)
#ifdef VFS_USING_WORKDIR #ifdef VFS_USING_WORKDIR
spin_lock_irqsave(&curr->files->workdir_lock, lock_flags); spin_lock_irqsave(&curr->files->workdir_lock, lock_flags);
len = strlen(curr->files->workdir); len = strlen(curr->files->workdir);
if (n <= len) if (n <= len) {
{
set_errno(ERANGE); set_errno(ERANGE);
spin_unlock_irqrestore(&curr->files->workdir_lock, lock_flags); spin_unlock_irqrestore(&curr->files->workdir_lock, lock_flags);
return NULL; return NULL;
} }
ret = memcpy_s(buf, n, curr->files->workdir, len + 1); ret = memcpy_s(buf, n, curr->files->workdir, len + 1);
if (ret != EOK) if (ret != EOK) {
{
set_errno(ENAMETOOLONG); set_errno(ENAMETOOLONG);
spin_unlock_irqrestore(&curr->files->workdir_lock, lock_flags); spin_unlock_irqrestore(&curr->files->workdir_lock, lock_flags);
return NULL; return NULL;
} }
spin_unlock_irqrestore(&curr->files->workdir_lock, lock_flags); spin_unlock_irqrestore(&curr->files->workdir_lock, lock_flags);
#else #else
PRINT_ERR("NO_WORKING_DIR\n"); PRINT_ERR("NO_WORKING_DIR\n");
@ -393,8 +391,7 @@ static struct dirent **scandir_get_file_list(const char *dir, int *num, int(*fil
int scandir(const char *dir, struct dirent ***namelist, int scandir(const char *dir, struct dirent ***namelist,
int(*filter)(const struct dirent *), int(*filter)(const struct dirent *),
int(*compar)(const struct dirent **, int(*compar)(const struct dirent **, const struct dirent **))
const struct dirent **))
{ {
int n = 0; int n = 0;
struct dirent **list = NULL; struct dirent **list = NULL;
@ -409,7 +406,6 @@ int scandir(const char *dir, struct dirent ***namelist,
} }
/* Change to return to the array size */ /* Change to return to the array size */
*namelist = (struct dirent **)malloc(n * sizeof(struct dirent *)); *namelist = (struct dirent **)malloc(n * sizeof(struct dirent *));
if (*namelist == NULL && n > 0) { if (*namelist == NULL && n > 0) {
*namelist = list; *namelist = list;
@ -447,18 +443,16 @@ char *rindex(const char *s, int c)
static char *ls_get_fullpath(const char *path, struct dirent *pdirent) static char *ls_get_fullpath(const char *path, struct dirent *pdirent)
{ {
char *fullpath = NULL; char *fullpath = NULL;
int ret = 0; int ret;
if (path[1] != '\0') { if (path[1] != '\0') {
/* 2: The position of the path character: / and the end character /0 */ /* 2, The position of the path character: / and the end character '/0' */
fullpath = (char *)malloc(strlen(path) + strlen(pdirent->d_name) + 2); fullpath = (char *)malloc(strlen(path) + strlen(pdirent->d_name) + 2);
if (fullpath == NULL) { if (fullpath == NULL) {
goto exit_with_nomem; goto exit_with_nomem;
} }
/* 2: The position of the path character: / and the end character /0 */ /* 2, The position of the path character: / and the end character '/0' */
ret = snprintf_s(fullpath, strlen(path) + strlen(pdirent->d_name) + 2, ret = snprintf_s(fullpath, strlen(path) + strlen(pdirent->d_name) + 2,
strlen(path) + strlen(pdirent->d_name) + 1, "%s/%s", path, pdirent->d_name); strlen(path) + strlen(pdirent->d_name) + 1, "%s/%s", path, pdirent->d_name);
if (ret < 0) { if (ret < 0) {
@ -467,15 +461,13 @@ static char *ls_get_fullpath(const char *path, struct dirent *pdirent)
return NULL; return NULL;
} }
} else { } else {
/* 2: The position of the path character: / and the end character /0 */ /* 2, The position of the path character: / and the end character '/0' */
fullpath = (char *)malloc(strlen(pdirent->d_name) + 2); fullpath = (char *)malloc(strlen(pdirent->d_name) + 2);
if (fullpath == NULL) { if (fullpath == NULL) {
goto exit_with_nomem; goto exit_with_nomem;
} }
/* 2: The position of the path character: / and the end character /0 */ /* 2, The position of the path character: / and the end character '/0' */
ret = snprintf_s(fullpath, strlen(pdirent->d_name) + 2, strlen(pdirent->d_name) + 1, ret = snprintf_s(fullpath, strlen(pdirent->d_name) + 2, strlen(pdirent->d_name) + 1,
"/%s", pdirent->d_name); "/%s", pdirent->d_name);
if (ret < 0) { if (ret < 0) {

View File

@ -444,7 +444,8 @@ VOID KillPgrp(UINT16 consoleId)
if ((consoleId > CONSOLE_NUM) || (consoleId <= 0)) { if ((consoleId > CONSOLE_NUM) || (consoleId <= 0)) {
return; return;
} }
CONSOLE_CB *consoleCB = g_console[consoleId-1];
CONSOLE_CB *consoleCB = g_console[consoleId - 1];
/* the default of consoleCB->pgrpId is -1, may not be set yet, avoid killing all processes */ /* the default of consoleCB->pgrpId is -1, may not be set yet, avoid killing all processes */
if (consoleCB->pgrpId < 0) { if (consoleCB->pgrpId < 0) {
return; return;
@ -1445,7 +1446,7 @@ BOOL ConsoleEnable(VOID)
BOOL IsShellEntryRunning(UINT32 shellEntryId) BOOL IsShellEntryRunning(UINT32 shellEntryId)
{ {
LosTaskCB *taskCB; LosTaskCB *taskCB = NULL;
if (shellEntryId == SHELL_ENTRYID_INVALID) { if (shellEntryId == SHELL_ENTRYID_INVALID) {
return FALSE; return FALSE;
} }

View File

@ -225,7 +225,7 @@ STATIC INT32 OsReadEhdr(const CHAR *fileName, ELFInfo *elfInfo, BOOL isExecFile)
#ifdef LOSCFG_DRIVERS_TZDRIVER #ifdef LOSCFG_DRIVERS_TZDRIVER
if (isExecFile) { if (isExecFile) {
struct file *filep; struct file *filep = NULL;
ret = fs_getfilep(GetAssociatedSystemFd(elfInfo->procfd), &filep); ret = fs_getfilep(GetAssociatedSystemFd(elfInfo->procfd), &filep);
if (ret) { if (ret) {
PRINT_ERR("%s[%d], Failed to get struct file %s!\n", __FUNCTION__, __LINE__, fileName); PRINT_ERR("%s[%d], Failed to get struct file %s!\n", __FUNCTION__, __LINE__, fileName);

View File

@ -239,8 +239,10 @@ LITE_OS_SEC_TEXT STATIC int LiteIpcMmap(struct file *filep, LosVmMapRegion *regi
ERROR_MAP_OUT: ERROR_MAP_OUT:
LOS_VFree(ipcInfo->pool.kvaddr); LOS_VFree(ipcInfo->pool.kvaddr);
ERROR_REGION_OUT: ERROR_REGION_OUT:
ipcInfo->pool.uvaddr = NULL; if (ipcInfo != NULL) {
ipcInfo->pool.kvaddr = NULL; ipcInfo->pool.uvaddr = NULL;
ipcInfo->pool.kvaddr = NULL;
}
return ret; return ret;
} }
@ -979,7 +981,7 @@ LITE_OS_SEC_TEXT STATIC UINT32 CheckPara(IpcContent *content, UINT32 *dstTid)
} }
#endif #endif
OsHookCall(LOS_HOOK_TYPE_IPC_WRITE_DROP, msg, *dstTid, OsHookCall(LOS_HOOK_TYPE_IPC_WRITE_DROP, msg, *dstTid,
(*dstTid == INVAILD_ID) ? INVAILD_ID : OS_TCB_FROM_TID(*dstTid)->processID, 0); (*dstTid == INVAILD_ID) ? INVAILD_ID : OS_TCB_FROM_TID(*dstTid)->processID, 0);
PRINT_ERR("Liteipc A timeout reply, request timestamp:%lld, now:%lld\n", msg->timestamp, now); PRINT_ERR("Liteipc A timeout reply, request timestamp:%lld, now:%lld\n", msg->timestamp, now);
return -ETIME; return -ETIME;
} }

View File

@ -262,7 +262,7 @@ STATIC VOID LOS_TraceUsrEvent(VOID *buffer, UINT32 len)
return; return;
} }
LOS_TRACE_EASY(info->eventType & (~TRACE_USER_DEFAULT_FLAG), info->identity, info->params[0], info->params[1], LOS_TRACE_EASY(info->eventType & (~TRACE_USER_DEFAULT_FLAG), info->identity, info->params[0], info->params[1],
info->params[2]); info->params[2]); /* 2, params num, no special meaning */
LOS_MemFree(m_aucSysMem0, buffer); LOS_MemFree(m_aucSysMem0, buffer);
#endif #endif
} }

View File

@ -36,39 +36,43 @@ int memcmp(const void *str1, const void *str2, size_t n)
const unsigned char *s1 = str1; const unsigned char *s1 = str1;
const unsigned char *s2 = str2; const unsigned char *s2 = str2;
size_t num = n;
while (n >= 8) { while (num >= 8) { /* 8, compare size, the number of chars of one uint64_t data */
if (*(const uint64_t *)(s1) != *(const uint64_t *)(s2)) { if (*(const uint64_t *)(s1) != *(const uint64_t *)(s2)) {
goto L8_byte_diff; goto L8_byte_diff;
} }
s1 += 8; s1 += 8; /* 8, compare size, the number of chars of one uint64_t data */
s2 += 8; s2 += 8; /* 8, compare size, the number of chars of one uint64_t data */
n -= 8; num -= 8; /* 8, compare size, the number of chars of one uint64_t data */
}
if (num == 0) {
return 0;
} }
if (n == 0) return 0;
/* L4_byte_cmp */ /* L4_byte_cmp */
if (n >= 4) { if (num >= 4) { /* 4, compare size, the number of chars of one uint32_t data */
if (*(const uint32_t *)(s1) != *(const uint32_t *)(s2)) { if (*(const uint32_t *)(s1) != *(const uint32_t *)(s2)) {
goto L4_byte_diff; goto L4_byte_diff;
} }
s1 += 4; s1 += 4; /* 4, compare size, the number of chars of one uint32_t data */
s2 += 4; s2 += 4; /* 4, compare size, the number of chars of one uint32_t data */
n -= 4; num -= 4; /* 4, compare size, the number of chars of one uint32_t data */
}
if (num == 0) {
return 0;
} }
if (n == 0) return 0;
L4_byte_diff: L4_byte_diff:
for (; n && (*s1 == *s2); n--, s1++, s2++); for (; num && (*s1 == *s2); num--, s1++, s2++) {
return n ? *s1 - *s2 : 0; }
return num ? *s1 - *s2 : 0;
L8_byte_diff: L8_byte_diff:
if (*(const uint32_t *)(s1) != *(const uint32_t *)(s2)) { if (*(const uint32_t *)(s1) != *(const uint32_t *)(s2)) {
goto L4_byte_diff; goto L4_byte_diff;
} }
s1 += 4; s1 += 4; /* 4, compare size, the number of chars of one uint32_t data */
s2 += 4; s2 += 4; /* 4, compare size, the number of chars of one uint32_t data */
n -= 4; num -= 4; /* 4, compare size, the number of chars of one uint32_t data */
goto L4_byte_diff; goto L4_byte_diff;
} }

View File

@ -38,25 +38,28 @@ void *memset(void *dest, int c, size_t n)
char *pos = dest; char *pos = dest;
uint32_t c32 = 0; uint32_t c32 = 0;
uint64_t c64 = 0; uint64_t c64 = 0;
size_t num = n;
if (n == 0) return dest; if (num == 0) {
return dest;
}
c = c & 0xFF; c = c & 0xFF;
if (c) { if (c) {
c32 = c; c32 = c;
c32 |= c32 << 8; c32 |= c32 << 8; /* 8, Processed bits */
c32 |= c32 << 16; c32 |= c32 << 16; /* 16, Processed bits */
c64 = c32; c64 = c32;
c64 |= c64 << 32; c64 |= c64 << 32; /* 32, Processed bits */
} }
if (((uintptr_t)(pos) & 7) != 0) { if (((uintptr_t)(pos) & 7) != 0) { /* 7, Processed align */
int unalignedCnt = 8 - ((uintptr_t)(pos) & 7); int unalignedCnt = 8 - ((uintptr_t)(pos) & 7); /* 7, 8, for calculate addr bits align */
if (n >= unalignedCnt) { if (num >= unalignedCnt) {
n = n - unalignedCnt; num = num - unalignedCnt;
} else { } else {
unalignedCnt = n; unalignedCnt = num;
n = 0; num = 0;
} }
for (int loop = 1; loop <= unalignedCnt; ++loop) { for (int loop = 1; loop <= unalignedCnt; ++loop) {
*pos = (char)c; *pos = (char)c;
@ -65,41 +68,49 @@ void *memset(void *dest, int c, size_t n)
} }
/* L32_byte_aligned */ /* L32_byte_aligned */
while (n >= 32) { while (num >= 32) { /* 32, byte aligned */
*(uint64_t *)(pos) = c64; *(uint64_t *)(pos) = c64;
*(uint64_t *)(pos + 8) = c64; *(uint64_t *)(pos + 8) = c64; /* 8, size of uint64_t */
*(uint64_t *)(pos + 16) = c64; *(uint64_t *)(pos + 16) = c64; /* 16, size of two uint64_t data */
*(uint64_t *)(pos + 24) = c64; *(uint64_t *)(pos + 24) = c64; /* 24, size of three uint64_t data */
n -= 32; num -= 32; /* 32, size of four uint64_t data */
pos += 32; pos += 32; /* 32, size of four uint64_t data */
}
if (num == 0) {
return dest;
} }
if (n == 0) return dest;
/* L16_byte_aligned */ /* L16_byte_aligned */
if (n >= 16) { if (num >= 16) { /* 16, byte aligned */
*(uint64_t *)(pos) = c64; *(uint64_t *)(pos) = c64;
*(uint64_t *)(pos + 8) = c64; *(uint64_t *)(pos + 8) = c64; /* 8, size of uint64_t */
n -= 16; num -= 16; /* 16, size of two uint64_t data */
pos += 16; pos += 16; /* 16, size of two uint64_t data */
if (n == 0) return dest; if (num == 0) {
return dest;
}
} }
/* L8_byte_aligned */ /* L8_byte_aligned */
if (n >= 8) { if (num >= 8) { /* 8, byte aligned */
*(uint64_t *)(pos) = c64; *(uint64_t *)(pos) = c64;
n -= 8; num -= 8; /* 8, size of uint64_t */
pos += 8; pos += 8; /* 8, size of uint64_t */
if (n == 0) return dest; if (num == 0) {
return dest;
}
} }
/* L4_byte_aligned */ /* L4_byte_aligned */
if (n >= 4) { if (num >= 4) { /* 4, byte aligned */
*(uint32_t *)(pos) = c32; *(uint32_t *)(pos) = c32;
n -= 4; num -= 4; /* 4, size of uint32_t */
pos += 4; pos += 4; /* 4, size of uint32_t */
if (n == 0) return dest; if (num == 0) {
return dest;
}
} }
while (n--) { while (num--) {
*pos++ = c; *pos++ = c;
} }

View File

@ -217,7 +217,7 @@ UINT32 OsShellCmdWatch(UINT32 argc, const CHAR **argv)
{ {
WatchCB *watchItem = NULL; WatchCB *watchItem = NULL;
UINT32 argoff = 0; UINT32 argoff = 0;
UINT32 ret = 0; UINT32 ret;
INT32 err; INT32 err;
if (argc == 0) { if (argc == 0) {

View File

@ -2503,7 +2503,7 @@ int SysFstatfs(int fd, struct statfs *buf)
int SysFstatfs64(int fd, size_t sz, struct statfs *buf) int SysFstatfs64(int fd, size_t sz, struct statfs *buf)
{ {
int ret = 0; int ret;
if (sz != sizeof(struct statfs)) { if (sz != sizeof(struct statfs)) {
ret = -EINVAL; ret = -EINVAL;
@ -2654,13 +2654,13 @@ int SysEpollCtl(int epfd, int op, int fd, struct epoll_event *ev)
ret = epoll_ctl(epfd, op, fd, ev); ret = epoll_ctl(epfd, op, fd, ev);
if (ret < 0) { if (ret < 0) {
ret =-EBADF; ret = -EBADF;
goto OUT; goto OUT;
} }
CPY_TO_USER(ev); CPY_TO_USER(ev);
OUT: OUT:
return (ret == -1)? -get_errno():ret; return (ret == -1) ? -get_errno() : ret;
} }
int SysEpollWait(int epfd, struct epoll_event *evs, int maxevents, int timeout) int SysEpollWait(int epfd, struct epoll_event *evs, int maxevents, int timeout)