fix: CID 1237553 (#1 of 6): Unchecked return value from library (CHECKED_RETURN
CID 1237553 (#3 of 6): Unchecked return value from library (CHECKED_RETURN) CID 1237553 (#4 of 6): Unchecked return value from library (CHECKED_RETURN) CID 1237553 (#5 of 6): Unchecked return value from library (CHECKED_RETURN CID 1237553 (#6 of 6): Unchecked return value from library (CHECKED_RETURN) --- src/core/namespace.c | 44 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/src/core/namespace.c b/src/core/namespace.c index 4bc288d..94a8088 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c @@ -157,14 +157,24 @@ static int mount_dev(BindMount *m) { return -errno; dev = strappenda(temporary_mount, "/dev"); - mkdir(dev, 0755); + r = mkdir(dev, 0755); + if (r < 0) { + r = -errno; + goto fail; + } + if (mount("tmpfs", dev, "tmpfs", MS_NOSUID|MS_STRICTATIME, "mode=755") < 0) { r = -errno; goto fail; } devpts = strappenda(temporary_mount, "/dev/pts"); - mkdir(devpts, 0755); + r = mkdir(devpts, 0755); + if (r < 0) { + r = -errno; + goto fail; + } + if (mount("/dev/pts", devpts, NULL, MS_BIND, NULL) < 0) { r = -errno; goto fail; @@ -174,7 +184,7 @@ static int mount_dev(BindMount *m) { symlink("pts/ptmx", devptmx); devshm = strappenda(temporary_mount, "/dev/shm"); - mkdir(devshm, 01777); + r = mkdir(devshm, 01777); r = mount("/dev/shm", devshm, NULL, MS_BIND, NULL); if (r < 0) { r = -errno; @@ -182,15 +192,30 @@ static int mount_dev(BindMount *m) { } devmqueue = strappenda(temporary_mount, "/dev/mqueue"); - mkdir(devmqueue, 0755); + r = mkdir(devmqueue, 0755); + if (r < 0) { + r = -errno; + goto fail; + } + mount("/dev/mqueue", devmqueue, NULL, MS_BIND, NULL); devkdbus = strappenda(temporary_mount, "/dev/kdbus"); - mkdir(devkdbus, 0755); + r = mkdir(devkdbus, 0755); + if (r < 0) { + r = -errno; + goto fail; + } + mount("/dev/kdbus", devkdbus, NULL, MS_BIND, NULL); devhugepages = strappenda(temporary_mount, "/dev/hugepages"); - mkdir(devhugepages, 0755); + r = mkdir(devhugepages, 0755); + if (r < 0) { + r = -errno; + goto fail; + } + mount("/dev/hugepages", devhugepages, NULL, MS_BIND, NULL); devlog = strappenda(temporary_mount, "/dev/log"); @@ -289,7 +314,12 @@ static int mount_kdbus(BindMount *m) { } root = strappenda(temporary_mount, "/kdbus"); - mkdir(root, 0755); + r = mkdir(root, 0755); + if (r < 0) { + r = -errno; + goto fail; + } + if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_STRICTATIME, "mode=777") < 0) { r = -errno; goto fail; -- 2.1.0 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel