linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] stop OProfile calling arch_exit when arch_init fails
@ 2010-08-29 18:51 Will Deacon
  2010-08-29 18:51 ` [PATCH 1/3] oprofile: don't call arch exit code from init code on failure Will Deacon
  2010-08-31 11:01 ` [PATCH 0/3] stop OProfile calling arch_exit when arch_init fails Robert Richter
  0 siblings, 2 replies; 14+ messages in thread
From: Will Deacon @ 2010-08-29 18:51 UTC (permalink / raw)
  To: linux-arm-kernel

These patches remove the oprofile_arch_exit call from oprofile_init,
allowing architectures that perform memory allocation in their init
functions to be simplified. This requires some changes to the ARM and
x86 OProfile backends to ensure that their init functions clean up
after themselves if they fail.

This is required for Matt's combined OProfile/Perf driver which will
be shared between all architectures.

Patches taken against tip/master.

Cc: Robert Richter <robert.richter@amd.com>
Cc: Matt Fleming <matt@console-pimps.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>

Will Deacon (3):
  oprofile: don't call arch exit code from init code on failure
  ARM: oprofile: fix and simplify init/exit functions
  x86: oprofile: fix oprofile_arch_init behaviour on failure

 arch/arm/oprofile/common.c |   47 +++++++++++++++++++++++--------------------
 arch/x86/oprofile/init.c   |   26 ++++++++++++++----------
 drivers/oprofile/oprof.c   |   11 +--------
 3 files changed, 42 insertions(+), 42 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread
* [PATCH] oprofile, x86: fix init_sysfs error handling
@ 2010-08-30  8:56 Robert Richter
  0 siblings, 0 replies; 14+ messages in thread
From: Robert Richter @ 2010-08-30  8:56 UTC (permalink / raw)
  To: linux-arm-kernel

On failure init_sysfs() might not properly free resources. The error
code of the function is not checked. And, when reinitializing the exit
function might be called twice. This patch fixes all this.

Cc: stable at kernel.org
Signed-off-by: Robert Richter <robert.richter@amd.com>
---
 arch/x86/oprofile/nmi_int.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index f6b48f6..73a41d3 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -568,8 +568,13 @@ static int __init init_sysfs(void)
 	int error;
 
 	error = sysdev_class_register(&oprofile_sysclass);
-	if (!error)
-		error = sysdev_register(&device_oprofile);
+	if (error)
+		return error;
+
+	error = sysdev_register(&device_oprofile);
+	if (error)
+		sysdev_class_unregister(&oprofile_sysclass);
+
 	return error;
 }
 
@@ -695,6 +700,8 @@ int __init op_nmi_init(struct oprofile_operations *ops)
 	char *cpu_type = NULL;
 	int ret = 0;
 
+	using_nmi = 0;
+
 	if (!cpu_has_apic)
 		return -ENODEV;
 
@@ -774,7 +781,10 @@ int __init op_nmi_init(struct oprofile_operations *ops)
 
 	mux_init(ops);
 
-	init_sysfs();
+	ret = init_sysfs();
+	if (ret)
+		return ret;
+
 	using_nmi = 1;
 	printk(KERN_INFO "oprofile: using NMI interrupt.\n");
 	return 0;
-- 
1.7.1.1



-- 
Advanced Micro Devices, Inc.
Operating System Research Center

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

end of thread, other threads:[~2010-09-01 13:07 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-29 18:51 [PATCH 0/3] stop OProfile calling arch_exit when arch_init fails Will Deacon
2010-08-29 18:51 ` [PATCH 1/3] oprofile: don't call arch exit code from init code on failure Will Deacon
2010-08-29 18:52   ` [PATCH 2/3] ARM: oprofile: fix and simplify init/exit functions Will Deacon
2010-08-29 18:52     ` [PATCH 3/3] x86: oprofile: fix oprofile_arch_init behaviour on failure Will Deacon
2010-08-30  9:09       ` Robert Richter
2010-08-31  8:54         ` Will Deacon
2010-08-31  9:05           ` Robert Richter
2010-08-31  9:31             ` Will Deacon
2010-08-31  9:47               ` Robert Richter
2010-08-31 10:30               ` [PATCH] oprofile, x86: fix init_sysfs error handling Robert Richter
2010-09-01  9:51                 ` Ingo Molnar
2010-09-01 13:07                   ` Robert Richter
2010-08-31 11:01 ` [PATCH 0/3] stop OProfile calling arch_exit when arch_init fails Robert Richter
  -- strict thread matches above, loose matches on Subject: below --
2010-08-30  8:56 [PATCH] oprofile, x86: fix init_sysfs error handling Robert Richter

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).