From: Karel Zak Date: Tue, 16 Sep 2014 13:30:03 +0000 (+0200) Subject: libmount: hide details about failed search in fstab/mtab X-Git-Tag: v2.26-rc1~463 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3b92242ad76a7468cf508e1d878d0815c7e031f;p=thirdparty%2Futil-linux.git libmount: hide details about failed search in fstab/mtab The current code returns -errno when not found "mount /foo" in fstab and mtab does not exist (or /etc/mtab points to non-mounted /proc). This is problem because the return value is too low-level and maybe misinterpreted by top level code. It's better to always return MNT_ERR_NOFSTAB when not found in fstab/mtab. Reported-by: Dylan Cali Signed-off-by: Karel Zak --- diff --git a/libmount/src/context.c b/libmount/src/context.c index 7d2b9e40fc..48ee985fab 100644 --- a/libmount/src/context.c +++ b/libmount/src/context.c @@ -2050,8 +2050,14 @@ int mnt_context_apply_fstab(struct libmnt_context *cxt) if (!rc) rc = apply_table(cxt, tab, MNT_ITER_BACKWARD); } - if (rc) - DBG(CXT, ul_debugobj(cxt, "failed to find entry in fstab/mtab")); + if (rc) { + DBG(CXT, ul_debugobj(cxt, "failed to find entry in fstab/mtab [rc=%d]: %m", rc)); + + /* force to "not found in fstab/mtab" error, the details why + * not found are not so important and may be misinterpreted by + * applications... */ + rc = -MNT_ERR_NOFSTAB; + } return rc; }