diff --git a/autofs-5.1.4-fix-deadlock-in-dumpmaps.patch b/autofs-5.1.4-fix-deadlock-in-dumpmaps.patch new file mode 100644 index 0000000..12bd077 --- /dev/null +++ b/autofs-5.1.4-fix-deadlock-in-dumpmaps.patch @@ -0,0 +1,40 @@ +autofs-5.1.4 - fix deadlock in dumpmaps + +From: Ian Kent + +Commit a223d11fa8e (autofs-5.1.3 - serialize calls to open_xxxx() +functions) introduces a deadlock when using the dumpmaps function. + +In this case the open fd mutex needs to be unlocked in the forked +child process of the do_spawn() function. + +Signed-off-by: Ian Kent +--- + CHANGELOG | 1 + + daemon/spawn.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/CHANGELOG b/CHANGELOG +index 2747327b..0f30596f 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -2,6 +2,7 @@ xx/xx/2018 autofs-5.1.5 + - fix flag file permission. + - fix directory create permission. + - fix use after free in do_master_list_reset(). ++- fix deadlock in dumpmaps. + + 19/12/2017 autofs-5.1.4 + - fix spec file url. +diff --git a/daemon/spawn.c b/daemon/spawn.c +index fabe577e..dbbca7fa 100644 +--- a/daemon/spawn.c ++++ b/daemon/spawn.c +@@ -338,6 +338,7 @@ static int do_spawn(unsigned logopt, unsigned int wait, + dup2(pipefd[1], STDOUT_FILENO); + dup2(pipefd[1], STDERR_FILENO); + close(pipefd[1]); ++ open_mutex_unlock(); + + /* what to mount must always be second last */ + while (*pargv++) diff --git a/autofs.spec b/autofs.spec index 74f5287..43e84e1 100644 --- a/autofs.spec +++ b/autofs.spec @@ -8,7 +8,7 @@ Summary: A tool for automatically mounting and unmounting filesystems Name: autofs Version: 5.1.4 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 License: GPLv2+ Group: System Environment/Daemons @@ -16,6 +16,7 @@ Source: https://www.kernel.org/pub/linux/daemons/autofs/v5/autofs-%{version}.tar Patch1: autofs-5.1.4-fix-flag-file-permission.patch Patch2: autofs-5.1.4-fix-directory-create-permission.patch Patch3: autofs-5.1.4-fix-use-after-free-in-do_master_list_reset.patch +Patch4: autofs-5.1.4-fix-deadlock-in-dumpmaps.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -78,6 +79,8 @@ echo %{version}-%{release} > .version %endif %patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build LDFLAGS=-Wl,-z,now @@ -171,6 +174,10 @@ fi %dir /etc/auto.master.d %changelog +* Wed Jan 10 2018 Ian Kent - 1:5.1.4-5 +- actually apply fix use after free in do_master_list_reset(). +- fix deadlock in dumpmaps. + * Fri Dec 22 2017 Ian Kent - 1:5.1.4-4 - fix use after free in do_master_list_reset().