[systemd-devel] [PATCH 1/2] namespace:Unchecked return value from library
Susant Sahani
susant at redhat.com
Mon Nov 17 02:37:49 PST 2014
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 | 48 ++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 42 insertions(+), 6 deletions(-)
diff --git a/src/core/namespace.c b/src/core/namespace.c
index eb7f2ad..db99e88 100644
--- a/src/core/namespace.c
+++ b/src/core/namespace.c
@@ -157,14 +157,26 @@ static int mount_dev(BindMount *m) {
return -errno;
dev = strappenda(temporary_mount, "/dev");
- mkdir(dev, 0755);
+
+ r = mkdir(dev, 0755);
+ if (r < 0 && errno != EEXIST) {
+ 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 && errno != EEXIST) {
+ r = -errno;
+ goto fail;
+ }
+
if (mount("/dev/pts", devpts, NULL, MS_BIND, NULL) < 0) {
r = -errno;
goto fail;
@@ -174,7 +186,13 @@ static int mount_dev(BindMount *m) {
symlink("pts/ptmx", devptmx);
devshm = strappenda(temporary_mount, "/dev/shm");
- mkdir(devshm, 01777);
+
+ r = mkdir(devshm, 01777);
+ if (r < 0 && errno != EEXIST) {
+ r = -errno;
+ goto fail;
+ }
+
r = mount("/dev/shm", devshm, NULL, MS_BIND, NULL);
if (r < 0) {
r = -errno;
@@ -182,11 +200,23 @@ static int mount_dev(BindMount *m) {
}
devmqueue = strappenda(temporary_mount, "/dev/mqueue");
- mkdir(devmqueue, 0755);
+
+ r = mkdir(devmqueue, 0755);
+ if (r < 0 && errno != EEXIST) {
+ r = -errno;
+ goto fail;
+ }
+
mount("/dev/mqueue", devmqueue, NULL, MS_BIND, NULL);
devhugepages = strappenda(temporary_mount, "/dev/hugepages");
- mkdir(devhugepages, 0755);
+
+ r = mkdir(devhugepages, 0755);
+ if (r < 0 && errno != EEXIST) {
+ r = -errno;
+ goto fail;
+ }
+
mount("/dev/hugepages", devhugepages, NULL, MS_BIND, NULL);
devlog = strappenda(temporary_mount, "/dev/log");
@@ -282,7 +312,13 @@ static int mount_kdbus(BindMount *m) {
}
root = strappenda(temporary_mount, "/kdbus");
- mkdir(root, 0755);
+
+ r = mkdir(root, 0755);
+ if (r < 0 && errno != EEXIST) {
+ r = -errno;
+ goto fail;
+ }
+
if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_STRICTATIME, "mode=777") < 0) {
r = -errno;
goto fail;
--
2.1.0
More information about the systemd-devel
mailing list