[pulseaudio] 01/02: Pull upstream commit a527711 to hopefully fix LP: #1425447

Luke Yelavich themuso-guest at moszumanska.debian.org
Thu Oct 29 02:17:13 UTC 2015


This is an automated email from the git hooks/post-receive script.

themuso-guest pushed a commit to branch ubuntu
in repository pulseaudio.

commit 4c7946b88bbe3465a256ebb032b7b3c20addb296
Author: Luke Yelavich <themuso at ubuntu.com>
Date:   Tue Oct 13 10:16:32 2015 +1100

    Pull upstream commit a527711 to hopefully fix LP: #1425447
---
 debian/changelog                                   |  6 +++
 ...ys-remove-freed-module-from-modules_pendi.patch | 46 ++++++++++++++++++++++
 debian/patches/series                              |  3 ++
 3 files changed, 55 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index a14ba8a..fed4b60 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+pulseaudio (1:6.0-0ubuntu13) UNRELEASED; urgency=medium
+
+  * Pull upstream commit a527711 to hopefully fix LP: #1425447
+
+ -- Luke Yelavich <themuso at ubuntu.com>  Tue, 13 Oct 2015 10:15:01 +1100
+
 pulseaudio (1:6.0-0ubuntu12) wily; urgency=medium
 
   * debian/rules: disable bluez4 support, it's not useful and leads to
diff --git a/debian/patches/0101-module-Always-remove-freed-module-from-modules_pendi.patch b/debian/patches/0101-module-Always-remove-freed-module-from-modules_pendi.patch
new file mode 100644
index 0000000..0254bcf
--- /dev/null
+++ b/debian/patches/0101-module-Always-remove-freed-module-from-modules_pendi.patch
@@ -0,0 +1,46 @@
+From a527711528ce8f9e1b1f73957fa8281f9126b370 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson at canonical.com>
+Date: Thu, 3 Sep 2015 09:43:01 +0200
+Subject: [PATCH] module: Always remove freed module from
+ modules_pending_unload
+
+pa_module_free is called from more than one place, not all of
+these places correctly removed the module from the
+modules_pending_unload array, potentially causing a dangling pointer
+in that array.
+
+Signed-off-by: David Henningsson <david.henningsson at canonical.com>
+---
+ src/pulsecore/module.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+Index: pulseaudio/src/pulsecore/module.c
+===================================================================
+--- pulseaudio.orig/src/pulsecore/module.c
++++ pulseaudio/src/pulsecore/module.c
+@@ -229,6 +229,8 @@ static void pa_module_free(pa_module *m)
+ 
+     lt_dlclose(m->dl);
+ 
++    pa_hashmap_remove(m->core->modules_pending_unload, m);
++
+     pa_log_info("Unloaded \"%s\" (index: #%u).", m->name, m->index);
+ 
+     pa_subscription_post(m->core, PA_SUBSCRIPTION_EVENT_MODULE|PA_SUBSCRIPTION_EVENT_REMOVE, m->index);
+@@ -245,8 +247,6 @@ void pa_module_unload(pa_core *c, pa_mod
+     if (m->core->disallow_module_loading && !force)
+         return;
+ 
+-    pa_hashmap_remove(c->modules_pending_unload, m);
+-
+     if (!(m = pa_idxset_remove_by_data(c->modules, m, NULL)))
+         return;
+ 
+@@ -300,6 +300,7 @@ void pa_module_unload_all(pa_core *c) {
+         c->mainloop->defer_free(c->module_defer_unload_event);
+         c->module_defer_unload_event = NULL;
+     }
++    pa_assert(pa_hashmap_isempty(c->modules_pending_unload));
+ }
+ 
+ static void defer_cb(pa_mainloop_api*api, pa_defer_event *e, void *userdata) {
diff --git a/debian/patches/series b/debian/patches/series
index bca3162..f5fc1a4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,6 +7,9 @@
 0023-fixing_snd_mixer_poll_descriptors_count_when_zero.patch
 0099-pa_yes_no.patch
 
+# Patches pulled from upstream
+0101-module-Always-remove-freed-module-from-modules_pendi.patch
+
 # Ubuntu touch stuff
 0202-dont-probe-ucm.patch
 0203-card-Add-hook-before-profile-changes.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-pulseaudio/pulseaudio.git



More information about the pkg-pulseaudio-devel mailing list