linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] Cell OProfile: SPU mutex lock fix, version 4
@ 2008-08-01 20:01 Carl Love
  2008-08-08 13:26 ` Arnd Bergmann
  0 siblings, 1 reply; 24+ messages in thread
From: Carl Love @ 2008-08-01 20:01 UTC (permalink / raw)
  To: Arnd Bergmann, linuxppc-dev, cel, cbe-oss-dev, linux-kernel


If an error occurs on opcontrol start, the event and per cpu buffers 
are released.  If later opcontrol shutdown is called then the free
function will be called again to free buffers that no longer 
exist.  This results in a kernel oops.  The following changes
prevent the call to delete buffers that don't exist.

Signed-off-by: Carl Love <carll@us.ibm.com>

Index: Cell_kernel_6_26_2008/drivers/oprofile/cpu_buffer.c
===================================================================
--- Cell_kernel_6_26_2008.orig/drivers/oprofile/cpu_buffer.c
+++ Cell_kernel_6_26_2008/drivers/oprofile/cpu_buffer.c
@@ -38,8 +38,12 @@ void free_cpu_buffers(void)
 {
 	int i;
 
-	for_each_online_cpu(i)
-		vfree(per_cpu(cpu_buffer, i).buffer);
+	for_each_online_cpu(i) {
+		if (per_cpu(cpu_buffer, i).buffer) {
+			vfree(per_cpu(cpu_buffer, i).buffer);
+			per_cpu(cpu_buffer, i).buffer = NULL;
+		}
+	}
 }
 
 unsigned long oprofile_get_cpu_buffer_size(void)
Index: Cell_kernel_6_26_2008/drivers/oprofile/event_buffer.c
===================================================================
--- Cell_kernel_6_26_2008.orig/drivers/oprofile/event_buffer.c
+++ Cell_kernel_6_26_2008/drivers/oprofile/event_buffer.c
@@ -92,7 +92,10 @@ out:
 
 void free_event_buffer(void)
 {
-	vfree(event_buffer);
+	if (event_buffer)
+		vfree(event_buffer);
+
+	event_buffer = NULL;
 }
 
  

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2008-10-13 15:13 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-01 20:01 [PATCH 2/2] Cell OProfile: SPU mutex lock fix, version 4 Carl Love
2008-08-08 13:26 ` Arnd Bergmann
2008-08-08 22:39   ` [PATCH 2/2] Repost " Carl Love
2008-08-09 13:13     ` please pull cell merge branch Arnd Bergmann
2008-08-10 23:17       ` Paul Mackerras
2008-08-11  7:18         ` [Cbe-oss-dev] " Arnd Bergmann
2008-08-11  7:25           ` powerpc/cell/oprofile: fix mutex locking for spu-oprofile Arnd Bergmann
2008-08-20 11:57             ` Robert Richter
2008-08-20 12:05               ` Arnd Bergmann
2008-08-20 12:39                 ` Robert Richter
2008-08-20 14:58                   ` Carl Love
2008-08-20 12:39             ` Robert Richter
2008-08-20 13:19               ` Arnd Bergmann
2008-08-21  4:21                 ` Paul Mackerras
2008-08-21  8:14                   ` [Cbe-oss-dev] " Arnd Bergmann
2008-08-21 10:20                     ` Michael Ellerman
2008-08-21 14:58                       ` Carl Love
2008-08-25  6:31                     ` Paul Mackerras
2008-08-25  7:55                       ` Arnd Bergmann
2008-10-13 14:53                         ` Arnd Bergmann
2008-10-13 15:13                           ` Robert Richter
2008-08-11  7:25           ` powerpc/cell/oprofile: avoid double free of profile buffer Arnd Bergmann
2008-08-19 11:53             ` Robert Richter
2008-08-11 15:34           ` [Cbe-oss-dev] please pull cell merge branch Carl Love

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).