⬢ DragonFlyBSD Kernel Audit
DF-3174 / fix.diff
← back to finding ↓ download raw
--- a/sys/vfs/autofs/autofs.c
+++ b/sys/vfs/autofs/autofs.c
@@ -324,10 +324,12 @@ autofs_trigger_one(struct autofs_node *anp, const char *component,
 	TAILQ_FOREACH(ar, &autofs_softc->sc_requests, ar_next) {
 		if (strcmp(ar->ar_path, path) || strcmp(ar->ar_key, key))
 			continue;
+		if (ar->ar_done)
+			continue;	/* stale corpse: do not re-acquire */
 		KASSERT(strcmp(ar->ar_from, amp->am_from) == 0,
 		    ("from changed; %s != %s", ar->ar_from, amp->am_from));