[procps-ng] Fixing empty pmap output on ppc/s390 (#906457)

Jaromír Cápík jcapik at fedoraproject.org
Tue Feb 5 12:24:01 UTC 2013


commit 4cbb703663c5a8f1830d52cb900a2cfb0b2ff76f
Author: Jaromir Capik <jcapik at redhat.com>
Date:   Tue Feb 5 13:23:54 2013 +0100

    Fixing empty pmap output on ppc/s390 (#906457)

 procps-ng-pmap-pidlist-type.patch |   42 +++++++++++++++++++++++++++++++++++++
 procps-ng.spec                    |    9 +++++++-
 2 files changed, 50 insertions(+), 1 deletions(-)
---
diff --git a/procps-ng-pmap-pidlist-type.patch b/procps-ng-pmap-pidlist-type.patch
new file mode 100644
index 0000000..efb772e
--- /dev/null
+++ b/procps-ng-pmap-pidlist-type.patch
@@ -0,0 +1,42 @@
+From 0d476355aafa4377fac05cf01ac9284d6fe7cad0 Mon Sep 17 00:00:00 2001
+From: Jaromir Capik <jcapik at redhat.com>
+Date: Mon, 4 Feb 2013 18:21:39 +0100
+Subject: [PATCH] pmap: empty output or crashes on ppc/s390 caused by wrong
+ pidlist type
+
+Previously the pidlist variable was defined as unsigned long *
+whilst the openproc function accepts pid_t *.
+Both target types differ in size (8 != 4) and therefore the issue
+mainly affects big endian architectures.
+
+This commit changes the pidlist type to pid_t * so that it's
+compatible with openproc.
+---
+ pmap.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pmap.c b/pmap.c
+index 7862eac..edabdcf 100644
+--- a/pmap.c
++++ b/pmap.c
+@@ -621,7 +621,7 @@ static void range_arguments(char *optarg)
+ 
+ int main(int argc, char **argv)
+ {
+-	unsigned long *pidlist;
++	pid_t *pidlist;
+ 	unsigned count = 0;
+ 	PROCTAB *PT;
+ 	proc_t p;
+@@ -689,7 +689,7 @@ int main(int argc, char **argv)
+ 	    x_option && (d_option || X_option))
+ 		xerrx(EXIT_FAILURE, _("options -d, -x, -X are mutually exclusive"));
+ 
+-	pidlist = xmalloc(sizeof(unsigned long) * argc);
++	pidlist = xmalloc(sizeof(pid_t) * argc);
+ 
+ 	while (*argv) {
+ 		char *walk = *argv++;
+-- 
+1.7.11.7
+
diff --git a/procps-ng.spec b/procps-ng.spec
index b025ace..0202fae 100644
--- a/procps-ng.spec
+++ b/procps-ng.spec
@@ -3,13 +3,15 @@
 Summary: System and process monitoring utilities
 Name: procps-ng
 Version: 3.3.6
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: GPLv2+ and LGPLv2+
 Group: Applications/System
 URL: https://sourceforge.net/projects/procps-ng/
 
 Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.xz
 
+Patch0: procps-ng-pmap-pidlist-type.patch
+
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
 
@@ -64,6 +66,8 @@ System and process monitoring utilities development headers
 %prep
 %setup -q -n %{name}-%{version}
 
+%patch0 -p1
+
 %build
 # The following stuff is needed for git archives only
 #echo "%{version}" > .tarball-version
@@ -125,6 +129,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/sysctl.d
 %{_includedir}/proc
 
 %changelog
+* Tue Feb 05 2013 Jaromir Capik <jcapik at redhat.com> - 3.3.6-4
+- Fixing empty pmap output on ppc/s390 (#906457)
+
 * Tue Jan 15 2013 Jaromir Capik <jcapik at redhat.com> - 3.3.6-3
 - Typo in the description, pdwx instead of pwdx (#891476)
 


More information about the scm-commits mailing list