From patchwork Mon Jul 31 23:16:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 128908 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:918b:0:b0:3e4:2afc:c1 with SMTP id s11csp2334287vqg; Mon, 31 Jul 2023 16:50:36 -0700 (PDT) X-Google-Smtp-Source: APBJJlEktRH2iep/x2oAho0bc+Btcp/s6883iA73kt4sUiz3cBGZKJOcxdT6uBhLF+K9e8DnPW8S X-Received: by 2002:a17:907:7899:b0:993:d53b:9805 with SMTP id ku25-20020a170907789900b00993d53b9805mr938316ejc.11.1690847436067; Mon, 31 Jul 2023 16:50:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690847436; cv=none; d=google.com; s=arc-20160816; b=qNzoEWVyOpwh3SD0ccohh/VLDxcTz8Q6Ks+/IzJh/XGKAH9GyjmZkfhK9RqjP3jXlc m1MFs/kRlUX2qILbHKoFsk8Q0pSB0mj1H2z1sGg5vM4T5NZUI66y1Q8/+vNR8i23i0eJ u4/A5cmE/1FnUrxIWeS0F+bcyvHirtYvGxbBA4qcUwbViqx6esUc9lKkLo8zN40VbqQT pQEZpXeH14TAzP1NMwqWS2j09DRHOo0OEE4XFUZS8CYSJYTvHHQ0PncYsFc6b8ReTNbJ NQuWDq61Kf7eOe7oJEckuwcgxFMH9Kf5etstBj8FOm+VZvAcJl4/K03u1Mcaswu5iUdN L1ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=y1LXTLgxePRkweJ48LWcz8jWiCcMQdPObuXooBWLpZY=; fh=U/DA/ibQhrMg5T63bX4D8wNRPsnCch1XQHrEN3yuDjI=; b=VZf27aX5a+j5xTj14/sSucZsEJ61fHZIvWZ2FgFtqBbLUu3UcTVRg/3qZXUoBZ7e6W VqU+b+Zhmb34Ite0f4J3rlxVp+uLW6veDe3Epz2Rrt0EaxlJiAkld/kC9jnawDRIvHKl T+MMrA6r+3VA2F/93kslPq936M3l0gVI82pTmawZP8438qYokK0JdKZtZmVbUKnSmjJX IrGIPyfDDQE+zZPYgbuZwa8NTPaokTdJhl5jn7ETZkBGJjGfeKgHr4Wc1b7D45xeYPEa YpxzHs2WA+vzfKeNuWL9VAvhGHIEolSOU+ZXAQ0RBCL8o3O9xIBpRgqC0t2xDc7a1gmT Uc4Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l12-20020a1709066b8c00b009928c9d9971si8151608ejr.875.2023.07.31.16.50.12; Mon, 31 Jul 2023 16:50:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231937AbjGaXRn (ORCPT + 99 others); Mon, 31 Jul 2023 19:17:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40214 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231776AbjGaXRY (ORCPT ); Mon, 31 Jul 2023 19:17:24 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 770DD1B7 for ; Mon, 31 Jul 2023 16:17:16 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0D1466135A for ; Mon, 31 Jul 2023 23:17:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 74772C433CB; Mon, 31 Jul 2023 23:17:07 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.96) (envelope-from ) id 1qQc8Q-003fN3-0s; Mon, 31 Jul 2023 19:17:06 -0400 Message-ID: <20230731231706.089777331@goodmis.org> User-Agent: quilt/0.66 Date: Mon, 31 Jul 2023 19:16:40 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Andrew Morton , Ajay Kaher Subject: [for-next][PATCH 06/15] tracing: Require all trace events to have a TRACE_SYSTEM References: <20230731231634.031452225@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772982041056508117 X-GMAIL-MSGID: 1772982041056508117 From: "Steven Rostedt (Google)" The creation of the trace event directory requires that a TRACE_SYSTEM is defined that the trace event directory is added within the system it was defined in. The code handled the case where a TRACE_SYSTEM was not added, and would then add the event at the events directory. But nothing should be doing this. This code also prevents the implementation of creating dynamic dentrys for the eventfs system. As this path has never been hit on correct code, remove it. If it does get hit, issues a WARN_ON_ONCE() and return ENODEV. Link: https://lkml.kernel.org/r/1690568452-46553-2-git-send-email-akaher@vmware.com Signed-off-by: Steven Rostedt (Google) Signed-off-by: Ajay Kaher Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_events.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 578f1f7d49a6..3ecc41f6acd9 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -2420,14 +2420,15 @@ event_create_dir(struct dentry *parent, struct trace_event_file *file) /* * If the trace point header did not define TRACE_SYSTEM - * then the system would be called "TRACE_SYSTEM". + * then the system would be called "TRACE_SYSTEM". This should + * never happen. */ - if (strcmp(call->class->system, TRACE_SYSTEM) != 0) { - d_events = event_subsystem_dir(tr, call->class->system, file, parent); - if (!d_events) - return -ENOMEM; - } else - d_events = parent; + if (WARN_ON_ONCE(strcmp(call->class->system, TRACE_SYSTEM) == 0)) + return -ENODEV; + + d_events = event_subsystem_dir(tr, call->class->system, file, parent); + if (!d_events) + return -ENOMEM; name = trace_event_name(call); file->dir = tracefs_create_dir(name, d_events);