- add fixes for bug 2208408.

This commit is contained in:
Ian Kent 2023-05-26 08:54:04 +08:00
parent be3003008a
commit cf1fec57ca
3 changed files with 104 additions and 1 deletions

View File

@ -0,0 +1,45 @@
autofs-5.1.8 - fix fix mount tree startup reconnect
From: Ian Kent <raven@themaw.net>
In function master_mount_mounts() commit 635b90eccee9 checks if the
current top level mount is already running by using two things, if the
mount handling thread id is set in the autofs mount point structure and
if the mount point path is a mounted autofs file system.
But the top level master map entry for a direct mount map is the
reserved path "/-" and doesn't have an actual mount associated with it
so a mounted check can't be used. But we know that top level mounts
start in state ST_INIT and once that state is changed it never changes
back to it. So using the presence of the mount handling thread id and
the state not being ST_INIT is sufficient to know if this is a new
mount or not.
Fixes: 635b90eccee9 ("autofs-5.1.8 - fix mount tree startup reconnect")
Signed-off-by: Ian Kent <raven@themaw.net>
---
CHANGELOG | 1 +
daemon/master.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
--- autofs-5.1.4.orig/CHANGELOG
+++ autofs-5.1.4/CHANGELOG
@@ -125,6 +125,7 @@
- fix mount tree startup reconnect.
- fix unterminated read in handle_cmd_pipe_fifo_message().
- fix memory leak in sasl_do_kinit()
+- fix fix mount tree startup reconnect.
xx/xx/2018 autofs-5.1.5
- fix flag file permission.
--- autofs-5.1.4.orig/daemon/master.c
+++ autofs-5.1.4/daemon/master.c
@@ -1553,7 +1553,7 @@ int master_mount_mounts(struct master *m
}
cache_unlock(nc);
cont:
- if (ap->thid && is_mounted(this->path, MNTS_AUTOFS))
+ if (ap->thid && ap->state != ST_INIT)
check_update_map_sources(this, master->readall);
else {
if (!master_do_mount(this)) {

View File

@ -0,0 +1,45 @@
autofs-5.1.8 - fix memory leak in sasl_do_kinit()
From: Ian Kent <raven@themaw.net>
In sasl_do_kinit() there is a failure case that omits freeing the local
variable tgs_princ, fix it.
Signed-off-by: Ian Kent <raven@themaw.net>
---
CHANGELOG | 1 +
modules/cyrus-sasl.c | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
--- autofs-5.1.4.orig/CHANGELOG
+++ autofs-5.1.4/CHANGELOG
@@ -124,6 +124,7 @@
- get rid of unused field submnt_count.
- fix mount tree startup reconnect.
- fix unterminated read in handle_cmd_pipe_fifo_message().
+- fix memory leak in sasl_do_kinit()
xx/xx/2018 autofs-5.1.5
- fix flag file permission.
--- autofs-5.1.4.orig/modules/cyrus-sasl.c
+++ autofs-5.1.4/modules/cyrus-sasl.c
@@ -497,7 +497,7 @@ sasl_do_kinit(unsigned logopt, struct lo
if (ret) {
error(logopt, "krb5_unparse_name failed with error %d",
ret);
- goto out_cleanup_client_princ;
+ goto out_cleanup_tgs_princ;
}
debug(logopt, "Using tgs name %s", tgs_name);
@@ -563,8 +563,9 @@ out_cleanup_creds:
krb5cc_in_use--;
krb5_free_cred_contents(ctxt->krb5ctxt, &my_creds);
out_cleanup_unparse:
- krb5_free_principal(ctxt->krb5ctxt, tgs_princ);
krb5_free_unparsed_name(ctxt->krb5ctxt, tgs_name);
+out_cleanup_tgs_princ:
+ krb5_free_principal(ctxt->krb5ctxt, tgs_princ);
out_cleanup_client_princ:
krb5_free_principal(ctxt->krb5ctxt, krb5_client_princ);
out_cleanup_cc:

View File

@ -8,7 +8,7 @@
Summary: A tool for automatically mounting and unmounting filesystems
Name: autofs
Version: 5.1.4
Release: 103%{?dist}
Release: 104%{?dist}
Epoch: 1
License: GPLv2+
Group: System Environment/Daemons
@ -298,6 +298,9 @@ Patch273: autofs-5.1.8-get-rid-of-unused-field-submnt_count.patch
Patch274: autofs-5.1.8-fix-mount-tree-startup-reconnect.patch
Patch275: autofs-5.1.8-fix-unterminated-read-in-handle_cmd_pipe_fifo_message.patch
Patch300: autofs-5.1.8-fix-memory-leak-in-sasl_do_kinit.patch
Patch301: autofs-5.1.8-fix-fix-mount-tree-startup-reconnect.patch
%if %{with_systemd}
BuildRequires: systemd-units
BuildRequires: systemd-devel
@ -636,6 +639,9 @@ echo %{version}-%{release} > .version
%patch274 -p1
%patch275 -p1
%patch300 -p1
%patch301 -p1
%build
LDFLAGS=-Wl,-z,now
%configure --disable-mount-locking --enable-ignore-busy --with-libtirpc --without-hesiod %{?systemd_configure_arg:}
@ -730,6 +736,13 @@ fi
%dir /etc/auto.master.d
%changelog
* Fri May 19 2023 Ian Kent <ikent@redhat.com> - 5.1.4-104
- bz2208408 - autofs fails to start with combination of +auto.master and
local direct map lookups after upgrading to 5.1.4-93.el8
- fix memory leak in sasl_do_kinit() (Coverity).
- fix fix mount tree startup reconnect.
- Resolves: rhbz#2208408
* Mon Mar 20 2023 Ian Kent <ikent@redhat.com> - 5.1.4-103
- bz2177998 - deadlock while reading amd maps
- rebuild to avoid possible NVR problems.