import UBI autofs-5.1.4-109.el8_9.1
This commit is contained in:
parent
0083be5dd7
commit
5bbc3418a3
68
SOURCES/autofs-5.1.9-fix-deadlock-in-remount.patch
Normal file
68
SOURCES/autofs-5.1.9-fix-deadlock-in-remount.patch
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
autofs-5.1.9 - fix deadlock in remount
|
||||||
|
|
||||||
|
From: Ian Kent <raven@themaw.net>
|
||||||
|
|
||||||
|
If we're starting up or trying to re-connect to an existing direct mount
|
||||||
|
we could be iterating through the map entries with the cache readlock
|
||||||
|
held so we can't just take the writelock for direct mounts. But when
|
||||||
|
trying to re-connect to an existing mount at startup there won't be any
|
||||||
|
other process updating the map entry cache.
|
||||||
|
|
||||||
|
Signed-off-by: Ian Kent <raven@themaw.net>
|
||||||
|
---
|
||||||
|
CHANGELOG | 1 +
|
||||||
|
modules/parse_sun.c | 26 ++++++++++++++++++++++++--
|
||||||
|
2 files changed, 25 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
--- autofs-5.1.4.orig/CHANGELOG
|
||||||
|
+++ autofs-5.1.4/CHANGELOG
|
||||||
|
@@ -151,6 +151,7 @@
|
||||||
|
- fix incorrect matching of cached wildcard key.
|
||||||
|
- fix expire retry looping.
|
||||||
|
- fix get parent multi-mount check in try_remount().
|
||||||
|
+- fix deadlock in remount.
|
||||||
|
|
||||||
|
xx/xx/2018 autofs-5.1.5
|
||||||
|
- fix flag file permission.
|
||||||
|
--- autofs-5.1.4.orig/modules/parse_sun.c
|
||||||
|
+++ autofs-5.1.4/modules/parse_sun.c
|
||||||
|
@@ -881,7 +881,18 @@ update_offset_entry(struct autofs_point
|
||||||
|
strcpy(m_mapent, loc);
|
||||||
|
}
|
||||||
|
|
||||||
|
- cache_writelock(mc);
|
||||||
|
+ /*
|
||||||
|
+ * If we're starting up or trying to re-connect to an existing
|
||||||
|
+ * direct mount we could be iterating through the map entries
|
||||||
|
+ * with the readlock held so we can't just take the writelock
|
||||||
|
+ * for direct mounts. But at when trying to re-connect to an
|
||||||
|
+ * existing mount at startup there won't be any other process
|
||||||
|
+ * updating the map entry cache.
|
||||||
|
+ */
|
||||||
|
+ if (ap->state == ST_INIT && ap->flags & MOUNT_FLAG_REMOUNT)
|
||||||
|
+ cache_readlock(mc);
|
||||||
|
+ else
|
||||||
|
+ cache_writelock(mc);
|
||||||
|
ret = cache_update_offset(mc, name, m_key, m_mapent, age);
|
||||||
|
|
||||||
|
me = cache_lookup_distinct(mc, m_key);
|
||||||
|
@@ -1573,7 +1584,18 @@ dont_expand:
|
||||||
|
free(myoptions);
|
||||||
|
} while (*p == '/' || (*p == '"' && *(p + 1) == '/'));
|
||||||
|
|
||||||
|
- cache_writelock(mc);
|
||||||
|
+ /*
|
||||||
|
+ * If we're starting up or trying to re-connect to an existing
|
||||||
|
+ * direct mount we could be iterating through the map entries
|
||||||
|
+ * with the readlock held so we can't just take the writelock
|
||||||
|
+ * for direct mounts. But at when trying to re-connect to an
|
||||||
|
+ * existing mount at startup there won't be any other process
|
||||||
|
+ * updating the map entry cache.
|
||||||
|
+ */
|
||||||
|
+ if (ap->state == ST_INIT && ap->flags & MOUNT_FLAG_REMOUNT)
|
||||||
|
+ cache_readlock(mc);
|
||||||
|
+ else
|
||||||
|
+ cache_writelock(mc);
|
||||||
|
me = cache_lookup_distinct(mc, name);
|
||||||
|
if (!me) {
|
||||||
|
cache_unlock(mc);
|
@ -0,0 +1,43 @@
|
|||||||
|
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(-)
|
||||||
|
|
||||||
|
--- autofs-5.1.4.orig/CHANGELOG
|
||||||
|
+++ autofs-5.1.4/CHANGELOG
|
||||||
|
@@ -150,6 +150,7 @@
|
||||||
|
- fix some sss error return cases.
|
||||||
|
- fix incorrect matching of cached wildcard key.
|
||||||
|
- fix expire retry looping.
|
||||||
|
+- fix get parent multi-mount check in try_remount().
|
||||||
|
|
||||||
|
xx/xx/2018 autofs-5.1.5
|
||||||
|
- fix flag file permission.
|
||||||
|
--- autofs-5.1.4.orig/lib/mounts.c
|
||||||
|
+++ autofs-5.1.4/lib/mounts.c
|
||||||
|
@@ -2878,7 +2878,7 @@ int try_remount(struct autofs_point *ap,
|
||||||
|
}
|
||||||
|
|
||||||
|
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))
|
@ -8,7 +8,7 @@
|
|||||||
Summary: A tool for automatically mounting and unmounting filesystems
|
Summary: A tool for automatically mounting and unmounting filesystems
|
||||||
Name: autofs
|
Name: autofs
|
||||||
Version: 5.1.4
|
Version: 5.1.4
|
||||||
Release: 109%{?dist}
|
Release: 109%{?dist}.1
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
@ -326,6 +326,9 @@ Patch324: autofs-5.1.8-fix-some-sss-error-return-cases.patch
|
|||||||
Patch325: autofs-5.1.8-fix-incorrect-matching-of-cached-wildcard-key.patch
|
Patch325: autofs-5.1.8-fix-incorrect-matching-of-cached-wildcard-key.patch
|
||||||
Patch326: autofs-5.1.8-fix-expire-retry-looping.patch
|
Patch326: autofs-5.1.8-fix-expire-retry-looping.patch
|
||||||
|
|
||||||
|
Patch327: autofs-5.1.9-fix-get-parent-multi-mount-check-in-try_remount.patch
|
||||||
|
Patch328: autofs-5.1.9-fix-deadlock-in-remount.patch
|
||||||
|
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
BuildRequires: systemd-units
|
BuildRequires: systemd-units
|
||||||
BuildRequires: systemd-devel
|
BuildRequires: systemd-devel
|
||||||
@ -692,6 +695,9 @@ echo %{version}-%{release} > .version
|
|||||||
%patch325 -p1
|
%patch325 -p1
|
||||||
%patch326 -p1
|
%patch326 -p1
|
||||||
|
|
||||||
|
%patch327 -p1
|
||||||
|
%patch328 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
LDFLAGS=-Wl,-z,now
|
LDFLAGS=-Wl,-z,now
|
||||||
%configure --disable-mount-locking --enable-ignore-busy --with-libtirpc --without-hesiod %{?systemd_configure_arg:}
|
%configure --disable-mount-locking --enable-ignore-busy --with-libtirpc --without-hesiod %{?systemd_configure_arg:}
|
||||||
@ -786,6 +792,13 @@ fi
|
|||||||
%dir /etc/auto.master.d
|
%dir /etc/auto.master.d
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 11 2024 Ian Kent <ikent@redhat.com> - 5.1.4-109.el8_9.1
|
||||||
|
- RHEL-21288 - SIGSEGV using hierarchical map entries on reload with
|
||||||
|
autofs-5.1.4-109
|
||||||
|
- fix get parent multi-mount check in try_remount().
|
||||||
|
- fix deadlock in remount.
|
||||||
|
- Resolves: RHEL-21288
|
||||||
|
|
||||||
* Fri Jul 14 2023 Ian Kent <ikent@redhat.com> - 5.1.4-109
|
* Fri Jul 14 2023 Ian Kent <ikent@redhat.com> - 5.1.4-109
|
||||||
- bz2213267 - filesystems mount and expire immediately
|
- bz2213267 - filesystems mount and expire immediately
|
||||||
- fix expire retry looping.
|
- fix expire retry looping.
|
||||||
|
Loading…
Reference in New Issue
Block a user