Blame SOURCES/autofs-5.1.7-dont-try-umount-after-stat-ENOENT-fail.patch

9a499a
autofs-5.1.7 - dont try umount after stat() ENOENT fail
9a499a
9a499a
From: Ian Kent <raven@themaw.net>
9a499a
9a499a
Coverity: Calling function "umount" that uses "me->key" after a check
9a499a
	  function. This can cause a time-of-check, time-of-use race
9a499a
	  condition.
9a499a
9a499a
Signed-off-by: Ian Kent <raven@themaw.net>
9a499a
---
9a499a
 CHANGELOG       |    1 +
9a499a
 daemon/direct.c |    6 +++++-
9a499a
 2 files changed, 6 insertions(+), 1 deletion(-)
9a499a
9a499a
--- autofs-5.1.4.orig/CHANGELOG
9a499a
+++ autofs-5.1.4/CHANGELOG
9a499a
@@ -57,6 +57,7 @@
9a499a
 - fix double unlock in parse_mount().
9a499a
 - add length check in umount_subtree_mounts().
9a499a
 - fix flags check in umount_multi().
9a499a
+- dont try umount after stat() ENOENT fail.
9a499a
 
9a499a
 xx/xx/2018 autofs-5.1.5
9a499a
 - fix flag file permission.
9a499a
--- autofs-5.1.4.orig/daemon/direct.c
9a499a
+++ autofs-5.1.4/daemon/direct.c
9a499a
@@ -739,9 +739,13 @@ int mount_autofs_offset(struct autofs_po
9a499a
 
9a499a
 	ret = stat(me->key, &st);
9a499a
 	if (ret == -1) {
9a499a
+		int save_errno = errno;
9a499a
+
9a499a
 		error(ap->logopt,
9a499a
 		     "failed to stat direct mount trigger %s", me->key);
9a499a
-		goto out_umount;
9a499a
+		if (save_errno != ENOENT)
9a499a
+			goto out_umount;
9a499a
+		goto out_err;
9a499a
 	}
9a499a
 
9a499a
 	ops->open(ap->logopt, &ioctlfd, st.st_dev, me->key);