Commit-ID: 979048e1f26190d16b5aea87166177f37e614439 Gitweb: http://git.kernel.org/tip/979048e1f26190d16b5aea87166177f37e614439 Author: Will Deacon <will.deacon@xxxxxxx> AuthorDate: Sun, 29 Aug 2010 14:51:59 -0400 Committer: Robert Richter <robert.richter@xxxxxxx> CommitDate: Tue, 31 Aug 2010 11:47:50 +0200 oprofile: don't call arch exit code from init code on failure oprofile_init calls oprofile_arch_init to initialise the architecture-specific backend code. If this backend code returns failure, oprofile_arch_exit is called immediately, making it difficult to allocate and free resources correctly. This patch removes the oprofile_arch_exit call from oprofile_init, meaning that all architectures must ensure that oprofile_arch_init cleans up any mess it's made before returning an error. As far as I can tell, this only affects the code for ARM. Cc: Robert Richter <robert.richter@xxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Robert Richter <robert.richter@xxxxxxx> --- drivers/oprofile/oprof.c | 11 ++--------- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/oprofile/oprof.c b/drivers/oprofile/oprof.c index b336cd9..b4a6857 100644 --- a/drivers/oprofile/oprof.c +++ b/drivers/oprofile/oprof.c @@ -257,16 +257,9 @@ static int __init oprofile_init(void) printk(KERN_INFO "oprofile: using timer interrupt.\n"); err = oprofile_timer_init(&oprofile_ops); if (err) - goto out_arch; + return err; } - err = oprofilefs_register(); - if (err) - goto out_arch; - return 0; - -out_arch: - oprofile_arch_exit(); - return err; + return oprofilefs_register(); } -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |