[irqbalance/f17] Resolves: bz859572
Petr Holasek
pholasek at fedoraproject.org
Tue Mar 5 12:52:07 UTC 2013
commit 6b73c521aa1a773fb6ae422a382e67099b1748b2
Author: Petr Holasek <pholasek at redhat.com>
Date: Tue Mar 5 13:50:41 2013 +0100
Resolves: bz859572
...uma-Reset-unassigned-node-on-tree-rebuild.patch | 35 ++++++++++++++++++++
irqbalance.spec | 7 +++-
2 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/0009-numa-Reset-unassigned-node-on-tree-rebuild.patch b/0009-numa-Reset-unassigned-node-on-tree-rebuild.patch
new file mode 100644
index 0000000..d589453
--- /dev/null
+++ b/0009-numa-Reset-unassigned-node-on-tree-rebuild.patch
@@ -0,0 +1,35 @@
+diff -up irqbalance-1.0.3/numa.c.orig irqbalance-1.0.3/numa.c
+--- irqbalance-1.0.3/numa.c.orig 2011-12-02 17:07:50.000000000 +0100
++++ irqbalance-1.0.3/numa.c 2013-02-21 20:27:04.808423358 +0100
+@@ -37,7 +37,7 @@
+
+ GList *numa_nodes = NULL;
+
+-static struct topo_obj unspecified_node = {
++static struct topo_obj unspecified_node_template = {
+ .load = 0,
+ .number = -1,
+ .obj_type = OBJ_TYPE_NODE,
+@@ -48,6 +48,8 @@ static struct topo_obj unspecified_node
+ .obj_type_list = &numa_nodes,
+ };
+
++static struct topo_obj unspecified_node;
++
+ static void add_one_node(const char *nodename)
+ {
+ char path[PATH_MAX];
+@@ -85,6 +87,13 @@ void build_numa_node_list(void)
+ struct dirent *entry;
+
+ /*
++ * Note that we copy the unspcified node from the template here
++ * in the event we just freed the object tree during a rescan.
++ * This ensures we don't get stale list pointers anywhere
++ */
++ memcpy(&unspecified_node, &unspecified_node_template, sizeof (struct topo_obj));
++
++ /*
+ * Add the unspecified node
+ */
+ numa_nodes = g_list_append(numa_nodes, &unspecified_node);
diff --git a/irqbalance.spec b/irqbalance.spec
index b9620f3..cf4c36f 100644
--- a/irqbalance.spec
+++ b/irqbalance.spec
@@ -1,6 +1,6 @@
Name: irqbalance
Version: 1.0.3
-Release: 6%{?dist}
+Release: 7%{?dist}
Epoch: 2
Summary: IRQ balancing daemon
@@ -32,6 +32,7 @@ Patch6: 0006-irqbalance-cpu-powersave-code-disabled-when-power_th.patch
Patch7: 0007-apply-affinity-hint-also-if-the-current-policy-is-su.patch
Patch8: 0008-irqlist-added-check-for-avoidance-of-division-by-zer.patch
Patch9: irqbalance-1.0.3-unit-file-proper-paths.patch
+Patch10: 0009-numa-Reset-unassigned-node-on-tree-rebuild.patch
%description
irqbalance is a daemon that evenly distributes IRQ load across
@@ -48,6 +49,7 @@ multiple CPUs for enhanced performance.
%patch7 -p1
%patch8 -p1
%patch9 -p1
+%patch10 -p1
%build
%{configure}
@@ -96,6 +98,9 @@ fi
/sbin/chkconfig --del irqbalance >/dev/null 2>&1 || :
%changelog
+* Tue Mar 5 2013 Petr Holasek <pholasek at redhat.com> - 2:1.0.3-7
+- Fixes SIGSEGV (bz859572)
+
* Wed Aug 29 2012 Petr Holasek <pholasek at redhat.com> - 2:1.0.3-6
- Systemd unit file paths was edited in proper way.
More information about the scm-commits
mailing list