[powertop] Fixed crash when running with --auto-tune (by auto-tune-crash-fix patch)
Jaroslav Škarvada
jskarvad at fedoraproject.org
Fri Jan 30 13:03:02 UTC 2015
commit 197e744bc38390c95f0354566a4993f6da257617
Author: Jaroslav Škarvada <jskarvad at redhat.com>
Date: Fri Jan 30 14:02:52 2015 +0100
Fixed crash when running with --auto-tune (by auto-tune-crash-fix patch)
Resolves: rhbz#1187452
powertop-2.7-auto-tune-crash-fix.patch | 48 ++++++++++++++++++++++++++++++++
powertop.spec | 9 +++++-
2 files changed, 56 insertions(+), 1 deletions(-)
---
diff --git a/powertop-2.7-auto-tune-crash-fix.patch b/powertop-2.7-auto-tune-crash-fix.patch
new file mode 100644
index 0000000..97ca259
--- /dev/null
+++ b/powertop-2.7-auto-tune-crash-fix.patch
@@ -0,0 +1,48 @@
+From 6fd9ecebd3bc277bd91ce057f85f8e54b09bb0a9 Mon Sep 17 00:00:00 2001
+From: Michael Mullin <masmullin at hush.com>
+Date: Thu, 22 Jan 2015 16:50:10 -0500
+Subject: [PATCH] Powertop crashes with 'powertop --auto-tune'
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+Please see the following patch to address the reported crash
+- ---
+- From e994a414f619410877023fce35ade12d1cfce68d Mon Sep 17 00:00:00 2001
+From: Michael Mullin <masmullin at hush.com>
+Date: Thu, 22 Jan 2015 16:33:31 -0500
+Subject: [PATCH] If "dir" is closed early inside create_add_devfreq_devices()
+ then there is a potential double free due to a second close during the
+ cleanup phase in clear_all_devfreq()
+
+Signed-off-by: Michael Mullin <masmullin at hush.com>
+
+- ---
+ src/devices/devfreq.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+---
+ src/devices/devfreq.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/devices/devfreq.cpp b/src/devices/devfreq.cpp
+index d2e56e3..f652a57 100644
+--- a/src/devices/devfreq.cpp
++++ b/src/devices/devfreq.cpp
+@@ -247,6 +247,7 @@ void create_all_devfreq_devices(void)
+ fprintf(stderr, "Devfreq not enabled\n");
+ is_enabled = false;
+ closedir(dir);
++ dir = NULL;
+ return;
+ }
+
+@@ -327,6 +328,8 @@ void clear_all_devfreq()
+ }
+ all_devfreq.clear();
+ /* close /sys/class/devfreq */
+- if (dir != NULL)
++ if (dir != NULL) {
+ closedir(dir);
++ dir = NULL;
++ }
+ }
diff --git a/powertop.spec b/powertop.spec
index d1eb8c9..a6eff67 100644
--- a/powertop.spec
+++ b/powertop.spec
@@ -1,6 +1,6 @@
Name: powertop
Version: 2.7
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Power consumption monitor
Group: Applications/System
@@ -12,6 +12,8 @@ Source1: powertop.service
# Sent upstream
Patch0: powertop-2.7-always-create-params.patch
Patch1: powertop-2.7-tunable-overflow-fix.patch
+# Taken from upstream
+Patch2: powertop-2.7-auto-tune-crash-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gettext, ncurses-devel, pciutils-devel, zlib-devel, libnl3-devel
BuildRequires: systemd
@@ -27,6 +29,7 @@ computer use more power than necessary while it is idle.
%setup -q
%patch0 -p1 -b .always-create-params
%patch1 -p1 -b .tunable-overfow-fix
+%patch2 -p1 -b .autotune-crash-fix
%build
%configure
@@ -67,6 +70,10 @@ rm -rf %{buildroot}
%{_unitdir}/powertop.service
%changelog
+* Fri Jan 30 2015 Jaroslav Škarvada <jskarvad at redhat.com> - 2.7-2
+- Fixed crash when running with --auto-tune (by auto-tune-crash-fix patch)
+ Resolves: rhbz#1187452
+
* Tue Nov 25 2014 Jaroslav Škarvada <jskarvad at redhat.com> - 2.7-1
- New version
Resolves: rhbz#1167726
More information about the scm-commits
mailing list