Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2840815pxb; Tue, 19 Jan 2021 07:23:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJynFPQSTfLLP+RkfwK26gqnXRo1IrRcCzNCG5HInd0/w60mMkQeTJOwEC1D8EPP18USrgFK X-Received: by 2002:a17:906:b0c2:: with SMTP id bk2mr3430700ejb.223.1611069807328; Tue, 19 Jan 2021 07:23:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611069807; cv=none; d=google.com; s=arc-20160816; b=oALGhzGwfIYnMD4NnZyLyqmt/z1eKFfpJw2bPiKmaEvZlGIPN9sxeEjSGqKGDwx8GJ x/NKpVKg3cwrOQWpZZkaxj+Tlaek1FlYCXLw6BS5+sqldsvnHmfMBOXzdDHocr/xkjcx a1Zs8zB1VfFaqY+9eRoogzMnn++WaEGHfELikjYTHZY2Ikd3Mf1vPziayGn/8xOtXKZa 8XBDlpjo+m/0XqXosM9OH0PzxEnD+OK+YXrxYgLkEGzBmM6yAp9VvTLa/eg4X86tPj5r CbKKwq0W8/tQ7CDLEv9gzcRMtkVT8nx+0d1R2rd0X/oEEyEYRucj3Oik8IwV5+/NCWH4 Lsrg== 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=iDLTLo7PTuMuIG/s0/+PI23k8JMvHSOELvtiLKy0P2E=; b=U87gTYz9algUUUBCeyB8P3DNZb7Zl3p2z80c4kn//ahbLVTCDR22qSSkSuBbkhKeJX 8UnPzzn0WJq1DTsJZ3h52uooFPUaV/n5pDMS/1CSgHM7BFEc3uIu5qE6ZMy1aex10Fiw T5z72Bj7LDuIkQGNu+qIbvuu44lCLPOo3zZ7Zm3FtJJgGLmPzt6cntyk5C3HXzfS1tFF qKobcMxG0DsEgeW5C24zIOzgsKmowSI9AR6R0VShyPSXPVQh1VrPTtBlfMIG0qsGuRSd AyYPtpiky4mfSUoAAFJi7/S9beADxFEC7FExxhX8gGxUikGDTTpizcQYxSAM5p+GXAuO fz9w== 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 m20si7176801edq.199.2021.01.19.07.23.03; Tue, 19 Jan 2021 07:23:27 -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 S2388914AbhASPUG (ORCPT + 99 others); Tue, 19 Jan 2021 10:20:06 -0500 Received: from foss.arm.com ([217.140.110.172]:35418 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390887AbhASPLk (ORCPT ); Tue, 19 Jan 2021 10:11:40 -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 B1141D6E; Tue, 19 Jan 2021 07:10:45 -0800 (PST) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.208.215]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1AD673F66E; Tue, 19 Jan 2021 07:10:43 -0800 (PST) From: Jianlin Lv To: rostedt@goodmis.org, mingo@redhat.com Cc: Jianlin.Lv@arm.com, linux-kernel@vger.kernel.org Subject: [PATCH] tracing: precise log info for kretprobe addr err Date: Tue, 19 Jan 2021 23:10:14 +0800 Message-Id: <20210119151014.3822465-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 --- 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..3dfd1b6711a3 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 (is_return && !(flags & TPARG_FL_FENTRY)) { trace_probe_log_err(0, BAD_RETPROBE); goto parse_error; } -- 2.25.1