Re: [perfmon] 2.6.19-rc6-git10 new perfmon code base + libpfm + pfmon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stephane Eranian wrote:
Hello,

I have released another version of the perfmon new code base package.
This version of the kernel patch is relative to 2.6.19-rc6-git10.

This is a major update because it completes the changes requested during the code review on LKML. As a consequence, the kernel interface
is NOT backward compatible with previous v2.2 versions. This release has
the v2.3 version number. Backward compatibility with v2.0 is maintained
on Itanium processors.

Hi Stephane,

I have built the kernel with the new patches and tried things out on x86_64 an x88_64 machine with Fedora Core 4. I attempted use the new libpfm and pfmon to update the source RPMs and I noticed that there were some return values from read() and write() being ignored. When pfmon is being built as an RPM ignoring the read and write return values cause the rpmbuild to fail. Attached is a simple patch that stuffs the return values into dummy variable to avoid the warnings. This patch allows libpfm and pfmon the source RPMs to compile on FC4 and Fedora Core rawhide.

-Will
--- pfmon-3.2-061127/pfmon/pfmon_util.c.fortify	2006-11-27 05:22:40.000000000 -0500
+++ pfmon-3.2-061127/pfmon/pfmon_util.c	2006-11-27 13:38:43.000000000 -0500
@@ -1031,6 +1031,7 @@
 	int fd;
 	size_t max, used;
 	char number[32];
+	ssize_t dummy;
 
 	if (options.opt_is22 == 0)
 		return (size_t)-1;
@@ -1042,7 +1043,7 @@
 	if (fd == -1)
 		return (size_t)-1;
 	memset(number, 0, sizeof(number));
-	read(fd, number, sizeof(number));
+	dummy = read(fd, number, sizeof(number));
 
 	close(fd);
 
@@ -1055,7 +1056,7 @@
 	if (fd == -1)
 		return (size_t)-1;
 	memset(number, 0, sizeof(number));
-	read(fd, number, sizeof(number));
+	dummy = read(fd, number, sizeof(number));
 	close(fd);
 
 	max = strtoul(number, NULL, 0);
--- pfmon-3.2-061127/pfmon/pfmon_task.c.fortify	2006-11-27 13:39:16.000000000 -0500
+++ pfmon-3.2-061127/pfmon/pfmon_task.c	2006-11-27 13:39:57.000000000 -0500
@@ -1675,6 +1675,7 @@
 	int ctrl_fd;
 	int max_fd;
 	int ndesc, msg_type;
+	ssize_t dummy;
 
 	/*
 	 * POSIX threads: 
@@ -1811,7 +1812,7 @@
 					/*
 					 * ack the removal
 					 */
-					write(workers[mycpu].from_worker[1], &msg, sizeof(msg));
+					dummy = write(workers[mycpu].from_worker[1], &msg, sizeof(msg));
 					break;
 
 				case PFMON_TASK_MSG_QUIT:

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux