autofs-5.1.9 - fix get parent multi-mount check in try_remount()

From: Ian Kent <raven@themaw.net>

In commit 635b90ecc (autofs-5.1.8 - fix mount tree startup reconnect)
when getting the parent the check for a multi-mount should include a
check for the root of the multi-mount as well since the root does not
set its parent (it remains NULL).

We could set the root parent to itself but that may have side effects
because the convention has always been the parent is NULL for the
multi-mount root.

Reported-by: Roberto Bergantinos Corpas <rbergant@redhat.com>
Suggested-by: Roberto Bergantinos Corpas <rbergant@redhat.com>

Signed-off-by: Ian Kent <raven@themaw.net>
---
 CHANGELOG    |    1 +
 lib/mounts.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG b/CHANGELOG
index 22b55bc18..f9295be6b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -15,6 +15,7 @@
 - make iocl ops ->timeout() handle per-dentry expire.
 - refactor amd mount options handling.
 - add some unimplemented amd map options.
+- fix get parent multi-mount check in try_remount().
 
 02/11/2023 autofs-5.1.9
 - fix kernel mount status notification.
diff --git a/lib/mounts.c b/lib/mounts.c
index bee1ae58d..114c7ef29 100644
--- a/lib/mounts.c
+++ b/lib/mounts.c
@@ -2865,7 +2865,7 @@ int try_remount(struct autofs_point *ap, struct mapent *me, unsigned int type)
 	}
 
 	me->flags &= ~MOUNT_FLAG_DIR_CREATED;
-	mapent = IS_MM(me) ? MM_PARENT(me) : me;
+	mapent = IS_MM(me) && !IS_MM_ROOT(me) ? MM_PARENT(me) : me;
 	/* Direct or offset mount, key is full path */
 	if (mapent->key[0] == '/') {
 		if (!is_mounted(mapent->key, MNTS_REAL))
