From 9dbd5c0d970701aee765a1fa6e5f63b100bc7330 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Apr 16 2021 22:14:01 +0000 Subject: Apply patch autofs-5.1.6-fix-program-map-multi-mount-lookup-after-mount-fail.patch patch_name: autofs-5.1.6-fix-program-map-multi-mount-lookup-after-mount-fail.patch present_in_specfile: true --- diff --git a/CHANGELOG b/CHANGELOG index 7946354..4588962 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -27,6 +27,7 @@ - rename path to m_offset in update_offset_entry(). - don't pass root to do_mount_autofs_offset(). - rename tree implementation functions. +- fix program map multi-mount lookup after mount fail. xx/xx/2018 autofs-5.1.5 - fix flag file permission. diff --git a/modules/lookup_program.c b/modules/lookup_program.c index 56e1939..9b527f8 100644 --- a/modules/lookup_program.c +++ b/modules/lookup_program.c @@ -664,7 +664,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * name_len, ent, ctxt->parse->context); goto out_free; } else { - if (me->multi) { + if (me->multi && me->multi != me) { cache_unlock(mc); warn(ap->logopt, MODPREFIX "unexpected lookup for active multi-mount" @@ -674,8 +674,11 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * cache_unlock(mc); cache_writelock(mc); me = cache_lookup_distinct(mc, name); - if (me) + if (me) { + if (me->multi) + cache_delete_offset_list(mc, name); cache_delete(mc, name); + } cache_unlock(mc); } }