Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp340133pxb; Wed, 20 Jan 2021 08:13:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJz4yhiVNlUl+KX17R0mkUSFSnSyaqtPsc69p+XkUul2TaV/DTDBbI2YYLVNeYAAu9iVGIzr X-Received: by 2002:a17:906:28d6:: with SMTP id p22mr6618812ejd.365.1611159188670; Wed, 20 Jan 2021 08:13:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611159188; cv=none; d=google.com; s=arc-20160816; b=pVvs/89f2EtAmwLE/yoj21m05TTvRozl+RqNcqckwttltkbgrDCEzviB/W2UXtii9T USRzlhowSWbF13EB9J2wcWT2l3oBsz/diwIemx6qIiJehRxRYGiaQfUthpwHp6xxjlcT Re5meB0O5rnzbTDcJ/MNSYVz/Ak3Bava+jBUqwjZPojIDDrDb+JAHXhNvRu8QOD1TMUb 8yyLg/mZEu8Gvqi2Ot/WyiouPkwOYHMmViNqv2cjQTnipf8fJMmvMWM53nd1oGDsPg2d kJQp5CWOY/cHyRYOS2XP423ZW5Dus/1iKGEZTq/Y3A50rZ7+ac4ZK4+Ic7u7JkC5PFBY CSFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=vFnL2LlTq7zV875dMqbWT7L0QMgK6IMeJIIddN2n5wY=; b=ZtEeulQ9DRtBGiLOoBgQ+Z1nj5p/LA08ONRb1IfzLZKXZYxwBGW7kZYlcPu5tBrZoO 8DA60cZ2R2QXrxw/c+CdVVaFO/5sUwrepPa5MIdIddRDA0LydHjZT4MCHzVaCe+EVgQ1 ZIvTUwnEq/u0Q15CN0Ho6q3SMXr+vCm+nDisaj9ZFYiNv++/OS0GNSP03gU2vyzDj+J7 MXcnYSwVqKelJi/VebnqDaQmS2LX8id9JBjvg4zWUmDJt+l7mE9ADKkv5reEy43DzcfL LbMh1f5uV0CLUqGMZXNO+8tZbEVksbEF8LSbm7kYDXWjfhOIj0HC3ZuOg6pL5d3L4dNn 7neg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e6si1051634edv.84.2021.01.20.08.12.43; Wed, 20 Jan 2021 08:13:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733174AbhATQCN (ORCPT + 99 others); Wed, 20 Jan 2021 11:02:13 -0500 Received: from foss.arm.com ([217.140.110.172]:41352 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729582AbhATP5l (ORCPT ); Wed, 20 Jan 2021 10:57:41 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 35954101E; Wed, 20 Jan 2021 07:56:52 -0800 (PST) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.208.220]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 943563F68F; Wed, 20 Jan 2021 07:56:50 -0800 (PST) From: Jianlin Lv To: rostedt@goodmis.org, mingo@redhat.com Cc: Jianlin.Lv@arm.com, linux-kernel@vger.kernel.org Subject: [PATCH v2] tracing: precise log info for kretprobe addr err Date: Wed, 20 Jan 2021 23:56:44 +0800 Message-Id: <20210120155644.64721-1-Jianlin.Lv@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When trying to create kretprobe with the wrong function symbol in tracefs; The error is triggered in the register_trace_kprobe() and recorded as FAIL_REG_PROBE issue, Example: $ cd /sys/kernel/debug/tracing $ echo 'r:myprobe ERROR_SYMBOL_XXX ret=%x0' >> kprobe_events bash: echo: write error: Invalid argument $ cat error_log [142797.347877] trace_kprobe: error: Failed to register probe event Command: r:myprobe ERROR_SYMBOL_XXX ret=%x0 ^ This error can be detected in the parameter parsing stage, the effect of applying this patch is as follows: $ echo 'r:myprobe ERROR_SYMBOL_XXX ret=%x0' >> kprobe_events bash: echo: write error: Invalid argument $ cat error_log [415.89]trace_kprobe: error: Retprobe address must be an function entry Command: r:myprobe ERROR_SYMBOL_XXX ret=%x0 ^ Signed-off-by: Jianlin Lv v2:add !strchr(symbol, ':') to check really bad symbol or not. --- kernel/trace/trace_kprobe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index e6fba1798771..bce63d5ecaec 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c @@ -830,7 +830,7 @@ static int trace_kprobe_create(int argc, const char *argv[]) flags |= TPARG_FL_RETURN; if (kprobe_on_func_entry(NULL, symbol, offset)) flags |= TPARG_FL_FENTRY; - if (offset && is_return && !(flags & TPARG_FL_FENTRY)) { + if (!strchr(symbol, ':') && is_return && !(flags & TPARG_FL_FENTRY)) { trace_probe_log_err(0, BAD_RETPROBE); goto parse_error; } -- 2.25.1