From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754777Ab3GKAmQ (ORCPT ); Wed, 10 Jul 2013 20:42:16 -0400 Received: from mail-gg0-f202.google.com ([209.85.161.202]:33691 "EHLO mail-gg0-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751434Ab3GKAmO (ORCPT ); Wed, 10 Jul 2013 20:42:14 -0400 From: Alexander Z Lam To: Steven Rostedt , linux-kernel@vger.kernel.org Cc: Alexander Z Lam , David Sharp , Vaibhav Nagarnaik , Alexander Z Lam Subject: [PATCH 2/2] tracing: Fix error handling to ensure instances can always be removed Date: Wed, 10 Jul 2013 17:34:34 -0700 Message-Id: <1373502874-1706-2-git-send-email-azl@google.com> X-Mailer: git-send-email 1.8.3 In-Reply-To: <1373502874-1706-1-git-send-email-azl@google.com> References: <1373502874-1706-1-git-send-email-azl@google.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Remove debugfs directories for tracing instances during creation if an error occurs causing the trace_array for that instance to not be added to ftrace_trace_arrays. If the directory continues to exist after the error, it cannot be removed because the respective trace_array is not in ftrace_trace_arrays. Cc: Vaibhav Nagarnaik Cc: David Sharp Cc: Alexander Z Lam Signed-off-by: Alexander Z Lam --- kernel/trace/trace.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index ca2743b..4ea9967 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -5985,8 +5985,10 @@ static int new_instance_create(const char *name) goto out_free_tr; ret = event_trace_add_tracer(tr->dir, tr); - if (ret) + if (ret) { + debugfs_remove_recursive(tr->dir); goto out_free_tr; + } init_tracer_debugfs(tr, tr->dir); -- 1.8.3