From: David Herrmann Date: Mon, 21 Sep 2015 17:59:07 +0000 (+0200) Subject: mount: propagate error codes correctly X-Git-Tag: v227.2^2~28 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=1fb205729747c2a77848d2ddf18c4ed720dc319c;hp=3c5cadf3384cbc335697092e1fb6faba9c90b6b0 mount: propagate error codes correctly Make sure to propagate error codes from mount-loops correctly. Right now, we return the return-code of the first mount that did _something_. This is not what we want. Make sure we return an error if _any_ mount fails (and then make sure to return the first error to not hide proper errors due to consequential errors like -ENOTDIR). Reported by cee1 . --- diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index 4713187e6..9c9675085 100644 --- a/src/core/mount-setup.c +++ b/src/core/mount-setup.c @@ -227,7 +227,7 @@ int mount_setup_early(void) { int j; j = mount_one(mount_table + i, false); - if (r == 0) + if (j != 0 && r >= 0) r = j; } @@ -371,7 +371,7 @@ int mount_setup(bool loaded_policy) { int j; j = mount_one(mount_table + i, loaded_policy); - if (r == 0) + if (j != 0 && r >= 0) r = j; }