diff --git a/interfaces/innerkits/fd_holder/fd_holder.c b/interfaces/innerkits/fd_holder/fd_holder.c index d56af0754f251a19d656ed3e1b21b2d508655f4c..04d9f044b7e7102b663ad877ad88778aa36ed66d 100644 --- a/interfaces/innerkits/fd_holder/fd_holder.c +++ b/interfaces/innerkits/fd_holder/fd_holder.c @@ -25,7 +25,7 @@ static int BuildClientSocket(void) { int sockFd; - sockFd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0); + sockFd = socket(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0); if (sockFd < 0) { BEGET_LOGE("Failed to build socket, err = %d", errno); return -1; diff --git a/interfaces/innerkits/fd_holder/fd_holder_internal.c b/interfaces/innerkits/fd_holder/fd_holder_internal.c index 04dcbc9d757837ad52d858daf6f43a1720c9f1b5..a9ca5dca350e43f76c5c183c1303a7a69085324e 100644 --- a/interfaces/innerkits/fd_holder/fd_holder_internal.c +++ b/interfaces/innerkits/fd_holder/fd_holder_internal.c @@ -40,7 +40,7 @@ int BuildControlMessage(struct msghdr *msghdr, int *fds, int fdCount, bool send msghdr->msg_controllen += CMSG_SPACE(sizeof(struct ucred)); } - msghdr->msg_control = calloc(1, (msghdr->msg_controllen == 0 ? 1 : msghdr->msg_controllen)); + msghdr->msg_control = calloc(1, ((msghdr->msg_controllen == 0) ? 1 : msghdr->msg_controllen)); if (msghdr->msg_control == NULL) { BEGET_LOGE("Failed to build control message"); return -1; diff --git a/interfaces/innerkits/fs_manager/fstab_mount.c b/interfaces/innerkits/fs_manager/fstab_mount.c index a55dfdaa7cc6b835adfe515d7c03415b62e6413c..d119c1f4a5f9f9b903c5630094217348e3ff5e2e 100644 --- a/interfaces/innerkits/fs_manager/fstab_mount.c +++ b/interfaces/innerkits/fs_manager/fstab_mount.c @@ -170,7 +170,8 @@ static int DoResizeF2fs(const char* device, const unsigned long long size) char **argv = (char **)cmd; ret = ExecCommand(argc, argv); } else { - unsigned long long realSize = size * ((unsigned long long)1024 * 1024 / 512); + unsigned long long realSize = size * + ((unsigned long long)RESIZE_BUFFER_SIZE * RESIZE_BUFFER_SIZE / FS_MANAGER_BUFFER_SIZE); char sizeStr[RESIZE_BUFFER_SIZE] = {0}; sprintf_s(sizeStr, RESIZE_BUFFER_SIZE, "%llu", realSize); char *cmd[] = { diff --git a/interfaces/innerkits/syscap/init_syscap.c b/interfaces/innerkits/syscap/init_syscap.c index 72fbb622f56a05a636f93817a842127baaae4790..399b7ccf727e4aa91a5ccda1743a8e7d0c974596 100644 --- a/interfaces/innerkits/syscap/init_syscap.c +++ b/interfaces/innerkits/syscap/init_syscap.c @@ -25,6 +25,7 @@ #define SYSCAP_MAX_SIZE 100 #define SYSCAP_PREFIX_NAME "SystemCapability" +#define CONST_SYSCAP_PREFIX_NAME "const.SystemCapability" bool HasSystemCapability(const char *cap) { @@ -32,12 +33,12 @@ bool HasSystemCapability(const char *cap) char paramValue[PARAM_VALUE_LEN_MAX] = { 0 }; unsigned int valueLen = PARAM_VALUE_LEN_MAX; - if (strncmp(SYSCAP_PREFIX_NAME, cap, sizeof(SYSCAP_PREFIX_NAME) - 1) != 0) { - if (strncpy_s(capName, sizeof(capName), cap, sizeof(capName) - 1) < 0) { - BEGET_LOGE("Failed strncpy_s err=%d", errno); + if (strncmp(SYSCAP_PREFIX_NAME, cap, sizeof(SYSCAP_PREFIX_NAME) - 1) == 0) { + if (snprintf_s(capName, SYSCAP_MAX_SIZE, SYSCAP_MAX_SIZE - 1, "const.%s", cap) == -1) { + BEGET_LOGE("Failed snprintf_s err=%d", errno); return false; } - } else if (snprintf_s(capName, SYSCAP_MAX_SIZE, SYSCAP_MAX_SIZE - 1, SYSCAP_PREFIX_NAME".%s", cap) == -1) { + } else if (snprintf_s(capName, SYSCAP_MAX_SIZE, SYSCAP_MAX_SIZE - 1, CONST_SYSCAP_PREFIX_NAME".%s", cap) == -1) { BEGET_LOGE("Failed snprintf_s err=%d", errno); return false; } diff --git a/services/BUILD.gn b/services/BUILD.gn index c3fc230c54341e8e08223be39c95ac843c131a31..68e54af2dcadbdfecc41a8fa156e47b557e607af 100755 --- a/services/BUILD.gn +++ b/services/BUILD.gn @@ -275,6 +275,23 @@ if (defined(ohos_lite)) { part_name = "init" } + ohos_prebuilt_etc("syscap.para") { + source = + "${preloader_output_dir}/${product_name}/system/etc/param/syscap.para" + module_install_dir = "etc/param/" + part_name = "init" + } + + ohos_prebuilt_etc("syscap.json") { + source = "${preloader_output_dir}/${product_name}/system/etc/syscap.json" + part_name = "init" + } + + ohos_prebuilt_etc("systemcapability.json") { + source = "${preloader_output_dir}/${product_name}/system/etc/SystemCapability.json" + part_name = "init" + } + group("init_etc") { deps = [ ":boot.group", @@ -286,6 +303,9 @@ if (defined(ohos_lite)) { ":ohos.para", ":ohos.para.dac", ":passwd", + ":syscap.json", + ":syscap.para", + ":systemcapability.json", ] } } diff --git a/services/begetctl/param_cmd.c b/services/begetctl/param_cmd.c index c34d60ecda63c7ec0fcfdbd22e0d129d687bd61f..6a3edd7200f02a1ec62d35b64396a11bc16d2cd0 100755 --- a/services/begetctl/param_cmd.c +++ b/services/begetctl/param_cmd.c @@ -202,7 +202,7 @@ static int32_t BShellParamCmdLs(BShellHandle shell, int32_t argc, char *argv[]) char *buffer = GetLocalBuffer(&buffSize); char *realParameter = GetRealParameter(shell, (input == NULL) ? "" : input, buffer, buffSize); BSH_CHECK(realParameter != NULL, return BSH_INVALID_PARAM, "Invalid shell env"); - char *prefix = strdup(strlen(realParameter) == 0 ? "#" : realParameter); + char *prefix = strdup((strlen(realParameter) == 0) ? "#" : realParameter); BSH_LOGV("BShellParamCmdLs prefix %s", prefix); int ret = 0; if (all != 0) { diff --git a/services/begetctl/service_control.c b/services/begetctl/service_control.c index 13e25e1646ffded582f266146f6f191a387000eb..75d32e4b8e8cdb398b00aa2010d9c1fdba7da0a5 100755 --- a/services/begetctl/service_control.c +++ b/services/begetctl/service_control.c @@ -14,11 +14,11 @@ */ #include "service_control.h" +#include #include #include #include "begetctl.h" -#include "securec.h" #include "sys_param.h" #define SERVICE_START_NUMBER 2 diff --git a/services/begetctl/shell/shell_bas.c b/services/begetctl/shell/shell_bas.c index 15a0c6796ad2f7ab9ed0991dbcbf4a2ed6ebffca..b2e6329657f9eb9c998e3e85e8c69d6c60758012 100755 --- a/services/begetctl/shell/shell_bas.c +++ b/services/begetctl/shell/shell_bas.c @@ -152,7 +152,7 @@ void BShellEnvOutputResult(BShellHandle handle, int32_t result) static void BShellEnvOutputParam(BShellHandle handle, char *var) { - BShellEnvOutput(handle, var[0] == '$' ? var + 1 : var); + BShellEnvOutput(handle, (var[0] == '$') ? var + 1 : var); BShellEnvOutputString(handle, " = "); BShellEnvOutputString(handle, BShellEnvGetStringParam(handle, var)); } diff --git a/services/etc/group b/services/etc/group index 0492aa72e6806cc62b58fcb1b8dd65b25f8354f9..43295ee53dfb9843550288bcbce1b33e587305ae 100755 --- a/services/etc/group +++ b/services/etc/group @@ -4,6 +4,7 @@ system:x:1000: radio:x:1001: bluetooth:x:1002: graphics:x:1003: +file_manager:x:1006: log:x:1007: user_data_rw:x:1008: dfs:x:1009: diff --git a/services/etc/init.cfg b/services/etc/init.cfg index ce279cf189767624723506153abe4acfdc8f4492..8b4fe6b5a0d57625e749d3cbe8b8709342b75d76 100755 --- a/services/etc/init.cfg +++ b/services/etc/init.cfg @@ -17,6 +17,10 @@ "start watchdog_service", "mkdir /data", "mount_fstab /vendor/etc/fstab.${ohos.boot.hardware}", + "chown system system /data", + "chmod 0771 /data", + "mkdir /data/service 0711 root root", + "mkdir /data/service/el0 0711 root root", "load_persist_params ", "chown access_token access_token /dev/access_token_id", "chmod 0666 /dev/access_token_id" @@ -143,6 +147,9 @@ "chown system system /sys/power/state", "chown system system /sys/power/wakeup_count", "chmod 0660 /sys/power/state", + "mount pstore pstore /sys/fs/pstore nodev noexec nosuid", + "chown system log /sys/fs/pstore", + "chmod 0550 /sys/fs/pstore", "ifup lo", "hostname localhost", "domainname localdomain" @@ -184,8 +191,6 @@ }, { "name" : "post-fs-data", "cmds" : [ - "chown system system /data", - "chmod 0771 /data", "mkdir /data/app 0711 root root", "mkdir /data/app/el1 0711 root root", "mkdir /data/app/el1/bundle 0711 root root", @@ -193,8 +198,6 @@ "mkdir /data/app/el2 0711 root root", "mkdir /data/app/el3 0711 root root", "mkdir /data/app/el4 0711 root root", - "mkdir /data/service 0711 root root", - "mkdir /data/service/el0 0711 root root", "mkdir /data/service/el1 0711 root root", "mkdir /data/service/el1/public 0711 root root", "mkdir /data/service/el1/public/AbilityManagerService 0711 system system", diff --git a/services/etc/init.without_two_stages.cfg b/services/etc/init.without_two_stages.cfg index e8af5c5a013dbdc47e6d008dfb9e9486163f5e4e..6650b7a27438fb274fa3be265470cc082c99ad6d 100755 --- a/services/etc/init.without_two_stages.cfg +++ b/services/etc/init.without_two_stages.cfg @@ -19,6 +19,10 @@ "mkdir /data", "mount ext4 /dev/block/platform/soc/10100000.himci.eMMC/by-name/vendor /vendor wait rdonly barrier=1", "mount ext4 /dev/block/platform/soc/10100000.himci.eMMC/by-name/userdata /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc", + "chown system system /data", + "chmod 0771 /data", + "mkdir /data/service 0711 root root", + "mkdir /data/service/el0 0711 root root", "load_persist_params " ] }, { @@ -184,8 +188,6 @@ }, { "name" : "post-fs-data", "cmds" : [ - "chown system system /data", - "chmod 0771 /data", "mkdir /data/app 0711 root root", "mkdir /data/app/el1 0711 root root", "mkdir /data/app/el1/bundle 0711 root root", @@ -193,8 +195,6 @@ "mkdir /data/app/el2 0711 root root", "mkdir /data/app/el3 0711 root root", "mkdir /data/app/el4 0711 root root", - "mkdir /data/service 0711 root root", - "mkdir /data/service/el0 0711 root root", "mkdir /data/service/el1 0711 root root", "mkdir /data/service/el1/public 0711 root root", "mkdir /data/service/el2 0711 root root", diff --git a/services/etc/passwd b/services/etc/passwd index 7acb18e2188bd90ced6996dc48da50178342dab5..abab28516ff3e7aaafba43e145c048a1911077b4 100755 --- a/services/etc/passwd +++ b/services/etc/passwd @@ -4,6 +4,7 @@ system:x:1000:1000:::/bin/false radio:x:1001:1001:::/bin/false bluetooth:x:1002:1002:::/bin/false graphics:x:1003:1003:::/bin/false +file_manager:x:1006:1006:::/bin/false log:x:1007:1007:::/bin/false user_data_rw:x:1008:1008:::/bin/false dfs:x:1009:1009:::/bin/false diff --git a/services/init/include/fd_holder_service.h b/services/init/include/fd_holder_service.h index 7275f153c4e9768acc58f8075a720d336b7ef532..5b23bfdc72f67bf031d9246e860ade2a6ee9cfee 100644 --- a/services/init/include/fd_holder_service.h +++ b/services/init/include/fd_holder_service.h @@ -19,6 +19,6 @@ extern "C" { #endif void RegisterFdHoldWatcher(int sock); #ifdef __cplusplus -extern "C" { +} #endif #endif // BASE_STARTUP_INITLITE_FD_HOLDER_SERVICE_H diff --git a/services/init/include/init.h b/services/init/include/init.h index 966c4d6017ec60b4c7dfb1e565c0a5847bf5ba89..b7f5e913ed3dc78f912a1c0a3667dcb59c09b820 100755 --- a/services/init/include/init.h +++ b/services/init/include/init.h @@ -30,6 +30,7 @@ extern "C" { #define DEFAULT_UID_KIT_FRAMEWORK 3 // max length of one param/path #define MAX_ONE_ARG_LEN 200 +#define FD_HOLDER_BUFFER_SIZE 4096 #define UNUSED(x) (void)(x) diff --git a/services/init/include/init_service.h b/services/init/include/init_service.h index f55f724627b1cba94a4be922b71c4e1ec1381946..450f0a57af21366656cf2f331eb7e1a8f10e449b 100755 --- a/services/init/include/init_service.h +++ b/services/init/include/init_service.h @@ -17,6 +17,8 @@ #include #include #include +#include +#include #include "cJSON.h" #include "init_cmds.h" @@ -89,11 +91,6 @@ typedef enum { END_RECV_READY, } ServiceEndMode; -typedef struct { - int *cpus; - int cpuNum; -} CpuArgs; - typedef struct { uid_t uID; gid_t *gIDArray; @@ -148,7 +145,7 @@ typedef struct Service_ { size_t fdCount; TimerHandle timer; ServiceJobs serviceJobs; - CpuArgs cpuInfo; + cpu_set_t cpuSet; } Service; int ServiceStart(Service *service); diff --git a/services/init/init_common_service.c b/services/init/init_common_service.c index 766d70708c36dcd9870c6e4685c963fb64e5497d..ce4226406f1348a7298009580bea30561c673504 100755 --- a/services/init/init_common_service.c +++ b/services/init/init_common_service.c @@ -18,8 +18,6 @@ #include #include #include -#include -#include #ifdef __MUSL__ #include #endif @@ -238,32 +236,17 @@ static void PublishHoldFds(Service *service) static int BindCpuCore(Service *service) { - if (service == NULL || service->cpuInfo.cpuNum <= 0) { + if (service == NULL) { return SERVICE_SUCCESS; } - long cpuNum = sysconf(_SC_NPROCESSORS_CONF); - INIT_ERROR_CHECK(service->cpuInfo.cpuNum <= cpuNum, return SERVICE_FAILURE, - "%s cpus cores exceeds total number of device cores", service->name); - int index = 0; - cpu_set_t setMask; - CPU_ZERO(&setMask); - int pid = getpid(); - for (int i = 0; i < service->cpuInfo.cpuNum; i++) { - index = (int)service->cpuInfo.cpus[i]; - if ((int)cpuNum <= index) { - INIT_LOGW("%s core number %d of CPU cores does not exist", service->name, index); - continue; - } - if (CPU_ISSET(index, &setMask)) { - continue; - } - CPU_SET(index, &setMask); - } - if (sched_setaffinity(pid, sizeof(setMask), &setMask) != 0) { - INIT_LOGI("%s set affinity between process(pid=%d) with CPU's core failed", service->name, pid); - } else { - INIT_LOGE("%s set affinity between process(pid=%d) with CPU's core successfully", service->name, pid); +#ifndef __LITEOS__ + int pid = getpid(); + if (sched_setaffinity(pid, sizeof(service->cpuSet), &service->cpuSet) != 0) { + INIT_LOGE("%s set affinity between process(pid=%d) with CPU's core failed", service->name, pid); + return SERVICE_FAILURE; } + INIT_LOGI("%s set affinity between process(pid=%d) with CPU's core successfully", service->name, pid); +#endif return SERVICE_SUCCESS; } diff --git a/services/init/init_group_manager.c b/services/init/init_group_manager.c index ab9659b318a03d28bb1a4dbcef193b95d0f3c45d..b83458d3de5799ea55e5347b49a7e3dc92f559eb 100755 --- a/services/init/init_group_manager.c +++ b/services/init/init_group_manager.c @@ -114,10 +114,10 @@ static char *GetAbsolutePath(const char *path, const char *cfgName, char *buffer ext = strcmp(cfgName + cfgNameLen - strlen(".cfg"), ".cfg") == 0; } if (cfgName[0] != '/') { - const char *format = (ext != 0) ? "%s/%s" : "%s/%s.cfg"; + const char *format = ((ext != 0) ? "%s/%s" : "%s/%s.cfg"); len = sprintf_s(buffer, buffSize, format, path, cfgName); } else { - const char *format = (ext != 0) ? "%s" : "%s.cfg"; + const char *format = ((ext != 0) ? "%s" : "%s.cfg"); len = sprintf_s(buffer, buffSize, format, cfgName); } if (len <= 0) { diff --git a/services/init/init_service_manager.c b/services/init/init_service_manager.c index 7314c1f9ed119fd650488517cc2a61d0341a39a8..7856a1a96962324eb497db7a48cecfb3d29a4ba7 100755 --- a/services/init/init_service_manager.c +++ b/services/init/init_service_manager.c @@ -175,6 +175,7 @@ Service *AddService(const char *name) node->data.service = service; service->name = node->name; service->status = SERVICE_IDLE; + CPU_ZERO(&service->cpuSet); g_serviceSpace.serviceCount++; INIT_LOGV("AddService %s", node->name); return service; @@ -203,11 +204,6 @@ void ReleaseService(Service *service) FreeServiceArg(&service->writePidArgs); FreeServiceArg(&service->capsArgs); - if (service->cpuInfo.cpus != NULL) { - free(service->cpuInfo.cpus); - service->cpuInfo.cpus = NULL; - } - service->cpuInfo.cpuNum = 0; if (service->servPerm.caps != NULL) { free(service->servPerm.caps); service->servPerm.caps = NULL; @@ -274,7 +270,7 @@ static int GetServiceArgs(const cJSON *argJson, const char *name, int maxCount, for (int i = 0; i < count + 1; ++i) { args->argv[i] = NULL; } - // ServiceArgs have a variety of uses, some requiring a NULL ending, some not + // ServiceArgs have a variety of uses, some requiring a NULL ending, some not if (strcmp(name, D_CAPS_STR_IN_CFG) != 0) { args->count = count + 1; } else { @@ -767,12 +763,7 @@ int GetCritical(const cJSON *curArrItem, Service *curServ, const char *attrName return SERVICE_SUCCESS; } -static int Comparefunc(const void *before, const void *after) -{ - return (*(int*)before - *(int*)after); -} - -static int GetCpuArgs(const cJSON *argJson, const char *name, CpuArgs *args) +static int GetCpuArgs(const cJSON *argJson, const char *name, Service *service) { INIT_ERROR_CHECK(argJson != NULL, return SERVICE_FAILURE, "Invalid argJson"); cJSON *obj = cJSON_GetObjectItem(argJson, name); @@ -781,31 +772,20 @@ static int GetCpuArgs(const cJSON *argJson, const char *name, CpuArgs *args) int ret = cJSON_IsArray(obj); INIT_ERROR_CHECK(ret, return SERVICE_FAILURE, "Invalid type"); int count = cJSON_GetArraySize(obj); - int tmpArray[count]; + int cpus = -1; + int cpuNumMax = sysconf(_SC_NPROCESSORS_CONF); for (int i = 0; i < count; ++i) { cJSON *item = cJSON_GetArrayItem(obj, i); INIT_ERROR_CHECK(item != NULL, return SERVICE_FAILURE, "prase invalid"); - tmpArray[i] = (int)cJSON_GetNumberValue(item); - } - qsort(tmpArray, count, sizeof(int), Comparefunc); - int cpuCount = 0; - for (int j = 0; j < count; j++) { - if (j == 0 && tmpArray[0] == 0) { - tmpArray[cpuCount++] = 0; + cpus = (int)cJSON_GetNumberValue(item); + if (cpuNumMax <= cpus) { + INIT_LOGW("%s core number %d of CPU cores does not exist", service->name, cpus); continue; } - if (tmpArray[j] != tmpArray[j-1]) { - tmpArray[cpuCount++] = tmpArray[j]; + if (CPU_ISSET(cpus, &service->cpuSet)) { + continue; } - } - args->cpus=(int*)malloc(cpuCount * sizeof(int)); - INIT_ERROR_CHECK(args->cpus != NULL, return SERVICE_FAILURE, "Failed to malloc for argv"); - for (int i = 0; i < cpuCount; ++i) { - args->cpus[i] = -1; - } - args->cpuNum = cpuCount; - for (int i = 0; i < count; ++i) { - args->cpus[i] = tmpArray[i]; + CPU_SET(cpus, &service->cpuSet); } return SERVICE_SUCCESS; } @@ -843,7 +823,7 @@ int ParseOneService(const cJSON *curItem, Service *service) (void)GetServiceArgs(curItem, "writepid", MAX_WRITEPID_FILES, &service->writePidArgs); (void)GetServiceArgs(curItem, D_CAPS_STR_IN_CFG, MAX_WRITEPID_FILES, &service->capsArgs); (void)GetStringItem(curItem, APL_STR_IN_CFG, service->apl, MAX_APL_NAME); - (void)GetCpuArgs(curItem, CPU_CORE_STR_IN_CFG, &service->cpuInfo); + (void)GetCpuArgs(curItem, CPU_CORE_STR_IN_CFG, service); ret = GetServiceCaps(curItem, service); INIT_ERROR_CHECK(ret == 0, return SERVICE_FAILURE, "Failed to get caps for service %s", service->name); ret = GetDynamicService(curItem, service); diff --git a/services/init/lite/init.c b/services/init/lite/init.c index 2c2d82606e5456d4058b0d8fea20e762ed9fd32e..b710f49524cb4ec8fd4409aeea5a7196680b3dd6 100755 --- a/services/init/lite/init.c +++ b/services/init/lite/init.c @@ -22,7 +22,6 @@ #endif #include "loop_event.h" #include "parameter.h" -#include "securec.h" static void PrintSysInfo(void) { diff --git a/services/init/main.c b/services/init/main.c index 5a8216bb0759f514398fa90031725e1c78017353..620a7ac9e225c0e5417c489f9d5bef53280e6803 100755 --- a/services/init/main.c +++ b/services/init/main.c @@ -17,11 +17,6 @@ static const pid_t INIT_PROCESS_PID = 1; -int __attribute__((weak)) AtlibInit(void) -{ - return 0; -} - int main(int argc, char * const argv[]) { int isSecondStage = 0; @@ -40,7 +35,6 @@ int main(int argc, char * const argv[]) LogInit(); } LogInit(); - (void)AtlibInit(); SystemInit(); SystemExecuteRcs(); SystemConfig(); diff --git a/services/init/standard/fd_holder_service.c b/services/init/standard/fd_holder_service.c index 26c9eb0e94388291cdeb0af374c231da81b45c26..9f46a3ab9e07e7b927bb296c1893e31b2dc82709 100644 --- a/services/init/standard/fd_holder_service.c +++ b/services/init/standard/fd_holder_service.c @@ -23,6 +23,8 @@ #include "loop_event.h" #include "securec.h" +#define MSG_ARRAY_INDEX 2 + static void FreeFds(int *fds) { if (fds != NULL) { @@ -190,7 +192,7 @@ static void HandlerFdHolder(int sock) } char *serviceName = msg[0]; char *action = msg[1]; - char *pollStr = msg[2]; + char *pollStr = msg[MSG_ARRAY_INDEX]; Service *service = GetServiceByName(serviceName); if (CheckFdHolderPermission(service, requestPid) < 0) { diff --git a/services/init/standard/init.c b/services/init/standard/init.c index 23195e2a2ab4e6ea695b448c7488199c4aa84e83..d7eed24fc84851eed1d165b52d137b525c61d04a 100755 --- a/services/init/standard/init.c +++ b/services/init/standard/init.c @@ -47,8 +47,8 @@ static int FdHolderSockInit(void) { int sock = -1; int on = 1; - int fdHolderBufferSize = 4 * 1024; // 4KiB - sock = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0); + int fdHolderBufferSize = FD_HOLDER_BUFFER_SIZE; // 4KiB + sock = socket(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0); if (sock < 0) { INIT_LOGE("Failed to create fd holder socket, err = %d", errno); return -1; diff --git a/services/init/standard/init_mount.c b/services/init/standard/init_mount.c index fa45eb44c4c6533dad831a9101525a08d4f9317a..5782dcc7ef01dc1c128760269c5703bc9f154155 100755 --- a/services/init/standard/init_mount.c +++ b/services/init/standard/init_mount.c @@ -16,7 +16,6 @@ #include "fs_manager/fs_manager.h" #include "init_cmds.h" #include "init_log.h" -#include "securec.h" int MountRequriedPartitions(const Fstab *fstab) { diff --git a/services/init/standard/init_service.c b/services/init/standard/init_service.c index f07d00ecfad8c1eaf0f1be6e3d30621884930c07..c55746c6bb688dab532e8cfdfbc18e8930b07899 100755 --- a/services/init/standard/init_service.c +++ b/services/init/standard/init_service.c @@ -99,10 +99,9 @@ int ServiceExec(const Service *service) int SetAccessToken(const Service *service) { INIT_ERROR_CHECK(service != NULL, return SERVICE_FAILURE, "%s failed", service->name); - if (service->tokenId != 0 && SetSelfTokenID(service->tokenId) != 0) { - INIT_LOGE("%s: token id %lld, set token id result %d", service->name, service->tokenId, errno); - } - return 0; + int ret = SetSelfTokenID(service->tokenId); + INIT_LOGI("%s: token id %lld, set token id result %d", service->name, service->tokenId, ret); + return ret == 0 ? SERVICE_SUCCESS : SERVICE_FAILURE; } void GetAccessToken(void) @@ -115,8 +114,7 @@ void GetAccessToken(void) service->capsArgs.argv = NULL; } if (strlen(service->apl) == 0) { - (void)strncpy_s(service->apl, sizeof(service->apl), - "system_core", sizeof(service->apl) - 1); + (void)strncpy_s(service->apl, sizeof(service->apl), "system_core", sizeof(service->apl) - 1); } uint64_t tokenId = GetAccessTokenId(service->name, (const char **)service->capsArgs.argv, service->capsArgs.count, service->apl); diff --git a/services/loopevent/task/le_asynctask.c b/services/loopevent/task/le_asynctask.c index 056b0851b69b512fe70192d8f6d142ed9e64ad78..88292089b83cca85179fab92c3eb21f07ca4075c 100755 --- a/services/loopevent/task/le_asynctask.c +++ b/services/loopevent/task/le_asynctask.c @@ -97,8 +97,7 @@ LE_STATUS LE_StartAsyncEvent(const LoopHandle loopHandle, const TaskHandle taskHandle, uint64_t eventId, const uint8_t *data, uint32_t buffLen) { LE_CHECK(loopHandle != NULL && taskHandle != NULL, return LE_INVALID_PARAM, "Invalid parameters"); - BufferHandle handle = NULL; - handle = LE_CreateBuffer(loopHandle, buffLen + 1 + sizeof(eventId)); + BufferHandle handle = LE_CreateBuffer(loopHandle, buffLen + 1 + sizeof(eventId)); char *buff = (char *)LE_GetBufferInfo(handle, NULL, NULL); int ret = memcpy_s(buff, sizeof(eventId), &eventId, sizeof(eventId)); LE_CHECK(ret == 0, return -1, "Failed to copy data"); diff --git a/services/loopevent/timer/le_timer.c b/services/loopevent/timer/le_timer.c index 9d231e03e5a188d67e33b9d8b486e58350eb42a8..05ecff4dbcd8b7ecab853485e683170d3d1da171 100755 --- a/services/loopevent/timer/le_timer.c +++ b/services/loopevent/timer/le_timer.c @@ -27,9 +27,9 @@ static LE_STATUS SetTimer_(int tfd, uint64_t timeout) { struct itimerspec timeValue; - time_t sec = timeout / 1000; + time_t sec = timeout / TIMEOUT_BASE; timeValue.it_interval.tv_sec = sec; - long nsec = (timeout % 1000) * 1000; + long nsec = (timeout % TIMEOUT_BASE) * TIMEOUT_BASE; timeValue.it_interval.tv_nsec = nsec; timeValue.it_value.tv_sec = sec; timeValue.it_value.tv_nsec = nsec; diff --git a/services/loopevent/timer/le_timer.h b/services/loopevent/timer/le_timer.h index 6ed0e18d19dcfbf9080aa2dedce9f7c44065b716..8791562d7143f30dd26057b14737db04ec729777 100755 --- a/services/loopevent/timer/le_timer.h +++ b/services/loopevent/timer/le_timer.h @@ -18,6 +18,8 @@ #include "le_task.h" #include "loop_event.h" +#define TIMEOUT_BASE 1000 + typedef struct { BaseTask base; LE_ProcessTimer processTimer; diff --git a/services/param/trigger/trigger_manager.c b/services/param/trigger/trigger_manager.c index 1a5f4825609f996470c2312a4f44a18e2e9dbd07..dd7dff959336ddb95c90c21ab56e580d8013c825 100755 --- a/services/param/trigger/trigger_manager.c +++ b/services/param/trigger/trigger_manager.c @@ -410,8 +410,7 @@ static int CheckParamMatch_(const TriggerWorkSpace *workSpace, PARAM_CHECK((type == TRIGGER_PARAM) || (type == TRIGGER_PARAM_WAIT), return -1, "Invaid type"); CalculatorInit(calculator, MAX_CONDITION_NUMBER, sizeof(LogicData), 1); - int ret = GetValueFromContent(content, contentSize, - 0, calculator->inputName, SUPPORT_DATA_BUFFER_MAX); + int ret = GetValueFromContent(content, contentSize, 0, calculator->inputName, SUPPORT_DATA_BUFFER_MAX); PARAM_CHECK(ret == 0, return -1, "Failed parse content name"); ret = GetValueFromContent(content, contentSize, strlen(calculator->inputName) + 1, calculator->inputContent, SUPPORT_DATA_BUFFER_MAX); @@ -727,7 +726,7 @@ int CheckWatchTriggerTimeout(void) TriggerHeader *GetTriggerHeader(const TriggerWorkSpace *workSpace, int type) { - if (workSpace== NULL || type >= TRIGGER_MAX) { + if (workSpace == NULL || type >= TRIGGER_MAX) { return NULL; } return (TriggerHeader *)&workSpace->triggerHead[type]; diff --git a/test/plugintest/plugin_param_test.c b/test/plugintest/plugin_param_test.c index fa689192ea8aa57bcc8c26d42073bee542537176..7af3728612032d5ba38e95cd7c1f5efa05ecad27 100755 --- a/test/plugintest/plugin_param_test.c +++ b/test/plugintest/plugin_param_test.c @@ -17,7 +17,6 @@ #include #include "plugin_test.h" -#include "init_param.h" #include "init_plugin.h" #define MAX_COUNT 1000