Received: by 2002:ac0:e350:0:0:0:0:0 with SMTP id g16csp370008imn; Wed, 3 Aug 2022 07:23:45 -0700 (PDT) X-Google-Smtp-Source: AA6agR5CUhW5eBLbzjWuc0FruF0Isd/n/SMNUECXE8jB3NZpAC/6qqVe8ts+leMnfbuSkS2P8uY6 X-Received: by 2002:a63:8742:0:b0:41b:d657:6570 with SMTP id i63-20020a638742000000b0041bd6576570mr15301823pge.516.1659536625639; Wed, 03 Aug 2022 07:23:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1659536625; cv=none; d=google.com; s=arc-20160816; b=i0eSYdgKAgmz9d2ac86hBVQXLKfhD8lPtKbq54cmM8nDqi675x1+bbSKfOs4zU/dpQ 0LcZiAkTGWGpslzyO5BIWmGKKAIC5AuosNzzE+nEtEnAck/9xfTI1NN/GfHF2+r2giF4 GmrlHsVqjCYgWWxy7FF5IWQM88yIMWBzpL8q00A6Lv7VU9hHdN5102VwcVqD7T52uKIX fF20lSLCRzwHBxxE9ZmAoogoENkDWtKSL3wqJBQUXAEVSFIdubBVWEVCvY9OyXod6ATx lLxZNc84YbmNXuQzzxXAh/BooxEsDi5KBZ/R8OISm+sG4iI2t9U0FdCs6YBa1+sxix0p BI0w== 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=18EFh3NCmESsW86e9a1yOeaA1FMkrqvIzT+PcBQchaE=; b=uMPA4eEVfQnEfln49Jw/3AZrgZtkECHBa+Oly6pfrzJHuWawtSbGxBT145LX7OytcN t3FbqdObv3X5urpConioBoLSTggXWDzNC3O314Yv0/gZVcfVZKWjozb0KquhnDUKMkMs i/x7/jmB3941vjBMM+UoehFTVhyffuzsSkilaStFD/s1d4r58LDLD5Te3pWgwTsmWmFT ZA49AHeGNo+/ugbs1N+LitPqfuHHxQl2849zCHnO8WTU6rdmPEDbKuP8F3nc1/2cWo4G eDY3Fz+kgmXuk/pshvm1eM+VZNspIIn26X4Z0oeqqXdkQWXlI90Gx5re/fKFrF/4xeTT P4Mg== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m15-20020a170902db0f00b0016d90f4b9bcsi2660096plx.408.2022.08.03.07.23.29; Wed, 03 Aug 2022 07:23:45 -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 S238344AbiHCN5A (ORCPT + 99 others); Wed, 3 Aug 2022 09:57:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44758 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238779AbiHCNzx (ORCPT ); Wed, 3 Aug 2022 09:55:53 -0400 Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BEB441055C for ; Wed, 3 Aug 2022 06:55:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id F2836CE23A0 for ; Wed, 3 Aug 2022 13:55:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45390C43143; Wed, 3 Aug 2022 13:55:39 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1oJEqY-007kRj-0w; Wed, 03 Aug 2022 09:55:38 -0400 Message-ID: <20220803135538.130965846@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 03 Aug 2022 09:55:12 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Ingo Molnar , Andrew Morton , "Masami Hiramatsu (Google)" Subject: [for-next][PATCH 4/5] tracing/eprobe: Show syntax error logs in error_log file References: <20220803135508.240797292@goodmis.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 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 From: "Masami Hiramatsu (Google)" Show the syntax errors for event probes in error_log file as same as other dynamic events, so that user can understand what is the problem. Link: https://lkml.kernel.org/r/165932113556.2850673.3483079297896607612.stgit@devnote2 Signed-off-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_eprobe.c | 11 +++++++++-- kernel/trace/trace_probe.h | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/kernel/trace/trace_eprobe.c b/kernel/trace/trace_eprobe.c index a30f21499e81..4a0e9d927443 100644 --- a/kernel/trace/trace_eprobe.c +++ b/kernel/trace/trace_eprobe.c @@ -839,8 +839,11 @@ static int trace_eprobe_tp_update_arg(struct trace_eprobe *ep, const char *argv[ if (ret) return ret; - if (ep->tp.args[i].code->op == FETCH_OP_TP_ARG) + if (ep->tp.args[i].code->op == FETCH_OP_TP_ARG) { ret = trace_eprobe_tp_arg_update(ep, i); + if (ret) + trace_probe_log_err(0, BAD_ATTACH_ARG); + } return ret; } @@ -880,8 +883,10 @@ static int __trace_eprobe_create(int argc, const char *argv[]) trace_probe_log_set_index(1); sys_event = argv[1]; ret = traceprobe_parse_event_name(&sys_event, &sys_name, buf2, 0); - if (!sys_event || !sys_name) + if (!sys_event || !sys_name) { + trace_probe_log_err(0, NO_EVENT_INFO); goto parse_error; + } if (!event) { strscpy(buf1, argv[1], MAX_EVENT_NAME_LEN); @@ -896,6 +901,8 @@ static int __trace_eprobe_create(int argc, const char *argv[]) if (IS_ERR(ep)) { ret = PTR_ERR(ep); + if (ret == -ENODEV) + trace_probe_log_err(0, BAD_ATTACH_EVENT); /* This must return -ENOMEM or missing event, else there is a bug */ WARN_ON_ONCE(ret != -ENOMEM && ret != -ENODEV); ep = NULL; diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h index 92cc149af0fd..3b3869ae8cfd 100644 --- a/kernel/trace/trace_probe.h +++ b/kernel/trace/trace_probe.h @@ -442,7 +442,10 @@ extern int traceprobe_define_arg_fields(struct trace_event_call *event_call, C(FAIL_REG_PROBE, "Failed to register probe event"),\ C(DIFF_PROBE_TYPE, "Probe type is different from existing probe"),\ C(DIFF_ARG_TYPE, "Argument type or name is different from existing probe"),\ - C(SAME_PROBE, "There is already the exact same probe event"), + C(SAME_PROBE, "There is already the exact same probe event"),\ + C(NO_EVENT_INFO, "This requires both group and event name to attach"),\ + C(BAD_ATTACH_EVENT, "Attached event does not exist"),\ + C(BAD_ATTACH_ARG, "Attached event does not have this field"), #undef C #define C(a, b) TP_ERR_##a -- 2.35.1