Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3623060pxb; Mon, 25 Jan 2021 23:47:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJyDGpnYAmaG/6I9QzMNTEZbZzqBXDtND0MVKYAuG1P6Gf2D9yiZxAujs3qxxtCHYvas08AS X-Received: by 2002:aa7:cf8d:: with SMTP id z13mr3476110edx.119.1611647278821; Mon, 25 Jan 2021 23:47:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611647278; cv=none; d=google.com; s=arc-20160816; b=C54rmy8Xs34HA1xT3LxT7Uxpdmr1Y93yWiifJJ4ldZ9MAokbo8gjEEQFlv5x6uiDRF RzRGwNwbu6iEuyfqzTCscyLWJu6OXY5Or6wm8NDKf0rfBoqy40yxEXHw0jSfZFqA4pRy FgBm1izIZfJBWdugD9Xp4Ti5dt2fEq1P8FReYlrSiAaSBl+ftutzxRzHBrFpr0sgNWMO ArdQAz9mt5kbTZuQGKBWFUF1hrRpTABhEvQPPOLbNWcWdOYPMiWoQCdDUuFltDiyMCla hzAcOnUX7N+9//X52X48uPB+04NJOAN9h9ymbIg4hY4LUX572gQACGzc4qGjl6ufn+KE MZMw== 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=CRdFPVNKeVM6JkOvj1UBlTq0btRGreJdaaTaIk38PeE=; b=TFULaT/0W8fh/XPtH4MNWyEHFwMUGlBCt4Uz9SiN+Vbe+sphi+icGXHddDE8I3LFHF oOP3cVpwsOdRUCOWXJ8yPvAEzqTMTOrmp0UNXAVRLZS4lQih6yfk+iKwWFyHHHWEwZ1S kP4GGh5FFHtM/tYBjdU1/SP8UCpfjODM1wSrbTk/9PmScyo1iYMETDXl5fhof852CjTz 853GOpy8QVBOeUbNgSEnD/OpVb5HnJlwDTkNIgVdzQloJQCAqXCcbBjjemBUeAG2GQAh oHoGKOJGGl/pK/h1mLDdqDFk3j5oUvAw7oEVP3EwF8+JhjYyLY4LSZuuZsIPWVJP5T+e LAHA== 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 o4si6712102ejx.582.2021.01.25.23.47.34; Mon, 25 Jan 2021 23:47:58 -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 S1731807AbhAZHna (ORCPT + 99 others); Tue, 26 Jan 2021 02:43:30 -0500 Received: from foss.arm.com ([217.140.110.172]:50030 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729557AbhAYQCE (ORCPT ); Mon, 25 Jan 2021 11:02:04 -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 B616B1042; Mon, 25 Jan 2021 08:01:16 -0800 (PST) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.208.224]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9295E3F68F; Mon, 25 Jan 2021 08:01:14 -0800 (PST) From: Jianlin Lv To: rostedt@goodmis.org, mingo@redhat.com, mhiramat@kernel.org, oleg@redhat.com Cc: Jianlin.Lv@arm.com, linux-kernel@vger.kernel.org Subject: [PATCH v3] tracing: precise log info for kretprobe addr err Date: Tue, 26 Jan 2021 00:01:08 +0800 Message-Id: <20210125160108.2147511-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