mirror of
https://github.com/Ascend/ascend-docker-runtime.git
synced 2025-10-28 02:21:59 +08:00
Match-id-079a003b13a9bdf214c8410ea502c3a4c168977d
This commit is contained in:
@@ -98,9 +98,7 @@ int ParseFileByLine(char* buffer, int bufferSize, const ParseFileLine fn, const
|
|||||||
char resolvedPath[PATH_MAX] = {0x0};
|
char resolvedPath[PATH_MAX] = {0x0};
|
||||||
|
|
||||||
if (realpath(filepath, resolvedPath) == NULL && errno != ENOENT) {
|
if (realpath(filepath, resolvedPath) == NULL && errno != ENOENT) {
|
||||||
char* str = FormatLogMessage("cannot canonicalize path %s.", filepath);
|
Logger("Cannot canonicalize path.", LEVEL_ERROR, SCREEN_YES);
|
||||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (CheckLegality(resolvedPath) != 0) {
|
if (CheckLegality(resolvedPath) != 0) {
|
||||||
@@ -210,9 +208,7 @@ int SetupDeviceCgroup(FILE *cgroupAllow, const char *devName)
|
|||||||
|
|
||||||
ret = stat((const char *)devPath, &devStat);
|
ret = stat((const char *)devPath, &devStat);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
char* str = FormatLogMessage("failed to get stat of %s.", devPath);
|
Logger("Failed to get stat of devpath.", LEVEL_ERROR, SCREEN_YES);
|
||||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -327,7 +323,6 @@ int SetupCgroup(const struct ParsedConfig *config)
|
|||||||
FILE *cgroupAllow = NULL;
|
FILE *cgroupAllow = NULL;
|
||||||
if (realpath(config->cgroupPath, resolvedCgroupPath) == NULL && errno != ENOENT) {
|
if (realpath(config->cgroupPath, resolvedCgroupPath) == NULL && errno != ENOENT) {
|
||||||
Logger("cannot canonicalize cgroup.", LEVEL_ERROR, SCREEN_YES);
|
Logger("cannot canonicalize cgroup.", LEVEL_ERROR, SCREEN_YES);
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (CheckLegality(resolvedCgroupPath) != 0) {
|
if (CheckLegality(resolvedCgroupPath) != 0) {
|
||||||
@@ -337,7 +332,6 @@ int SetupCgroup(const struct ParsedConfig *config)
|
|||||||
cgroupAllow = fopen((const char *)resolvedCgroupPath, "a");
|
cgroupAllow = fopen((const char *)resolvedCgroupPath, "a");
|
||||||
if (cgroupAllow == NULL) {
|
if (cgroupAllow == NULL) {
|
||||||
Logger("failed to open cgroup file.", LEVEL_ERROR, SCREEN_YES);
|
Logger("failed to open cgroup file.", LEVEL_ERROR, SCREEN_YES);
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,7 +354,6 @@ int SetupCgroup(const struct ParsedConfig *config)
|
|||||||
if (SetupDeviceCgroup(cgroupAllow, (const char *)deviceName) < 0) {
|
if (SetupDeviceCgroup(cgroupAllow, (const char *)deviceName) < 0) {
|
||||||
fclose(cgroupAllow);
|
fclose(cgroupAllow);
|
||||||
Logger("failed to setup cgroup.", LEVEL_ERROR, SCREEN_YES);
|
Logger("failed to setup cgroup.", LEVEL_ERROR, SCREEN_YES);
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,17 +44,13 @@ int EnterNsByPath(const char *path, int nsType)
|
|||||||
|
|
||||||
fd = open(path, O_RDONLY); // proc文件接口,非外部输入
|
fd = open(path, O_RDONLY); // proc文件接口,非外部输入
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
char* str = FormatLogMessage("failed to open ns path: %s.", path);
|
Logger("Failed to open ns path.", LEVEL_ERROR, SCREEN_YES);
|
||||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = EnterNsByFd(fd, nsType);
|
ret = EnterNsByFd(fd, nsType);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
char* str = FormatLogMessage("failed to set ns: %s.", path);
|
Logger("failed to set ns.", LEVEL_ERROR, SCREEN_YES);
|
||||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
|
||||||
free(str);
|
|
||||||
close(fd);
|
close(fd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,25 +158,19 @@ int MakeMountPoints(const char *path, mode_t mode)
|
|||||||
|
|
||||||
int ret = MakeDirWithParent(parentDir, DEFAULT_DIR_MODE);
|
int ret = MakeDirWithParent(parentDir, DEFAULT_DIR_MODE);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
char* str = FormatLogMessage("failed to make parent dir for file: %s", path);
|
Logger("Failed to make parent dir for file.", LEVEL_ERROR, SCREEN_YES);
|
||||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
char resolvedPath[PATH_MAX] = {0};
|
char resolvedPath[PATH_MAX] = {0};
|
||||||
if (realpath(path, resolvedPath) == NULL && errno != ENOENT) {
|
if (realpath(path, resolvedPath) == NULL && errno != ENOENT) {
|
||||||
char* str = FormatLogMessage("failed to resolve path %s.", path);
|
Logger("failed to resolve path.", LEVEL_ERROR, SCREEN_YES);
|
||||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int fd = open(resolvedPath, O_NOFOLLOW | O_CREAT, mode);
|
int fd = open(resolvedPath, O_NOFOLLOW | O_CREAT, mode);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
char* str = FormatLogMessage("cannot create file: %s.", resolvedPath);
|
Logger("cannot create file.", LEVEL_ERROR, SCREEN_YES);
|
||||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
|
||||||
free(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
@@ -208,7 +202,7 @@ int CheckLegality(const char* filename)
|
|||||||
fprintf(stderr, "Please check the write permission!\n");
|
fprintf(stderr, "Please check the write permission!\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} while (strcmp(dirname(buf), "/"));
|
} while (strncmp(dirname(buf), "/", strlen(dirname(buf))));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user