From: Topi Miettinen Date: Wed, 20 Jul 2016 14:43:21 +0000 (+0000) Subject: namespace: fix wrong return value from mount(2) (#3758) X-Git-Tag: v231~38 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=176e51b7102d7bba875e58b85b59e2ed7e30bc89;p=thirdparty%2Fsystemd.git namespace: fix wrong return value from mount(2) (#3758) Fix bug introduced by #3263: mount(2) return value is 0 or -1, not errno. Thanks to Evgeny Vereshchagin (@evverx) for reporting. --- diff --git a/src/core/namespace.c b/src/core/namespace.c index 8df82c031c1..4baf4750f46 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c @@ -347,7 +347,8 @@ static int make_read_only(BindMount *m) { else if (IN_SET(m->mode, READWRITE, PRIVATE_TMP, PRIVATE_VAR_TMP, PRIVATE_DEV)) { r = bind_remount_recursive(m->path, false); if (r == 0 && m->mode == PRIVATE_DEV) /* can be readonly but the submounts can't*/ - r = mount(NULL, m->path, NULL, MS_REMOUNT|DEV_MOUNT_OPTIONS|MS_RDONLY, NULL); + if (mount(NULL, m->path, NULL, MS_REMOUNT|DEV_MOUNT_OPTIONS|MS_RDONLY, NULL) < 0) + r = -errno; } else r = 0;