Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp662682rdh; Sun, 24 Sep 2023 06:38:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEw7WEKRAkfjHPQ8NQk1iZ4bDG7dMhlcML8zO2ltjKvBkPCj2ZgS8MdDxEOng62xCM5wps5 X-Received: by 2002:aa7:88cb:0:b0:68a:5395:7aa5 with SMTP id k11-20020aa788cb000000b0068a53957aa5mr5586302pff.17.1695562737626; Sun, 24 Sep 2023 06:38:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695562737; cv=none; d=google.com; s=arc-20160816; b=kMxS8MKA/j3bCAZpN/k69m1p5X4PCx5Fgt0yyY9lpCQtP6ylcMg6BmxL2Tl4Mka5/9 Oi1qcLh4SpEawGv4vaPy7ZBKjsZqCtBq76PlHxtCYTIrkNafIzeexL0PgxLNEi4mxei9 qB5T7HEtM3xJw+YR02mY8CqSEauseyM+o6J1iGSf1b0FwQwFUpOYLn7h8AIjQCHCpzCU 3WNy/T6ktSJxoPSmu/W1q+3o+sojXL1qeStH8+8arSqQuEArVlZxZggUcAGvB3ipX0am 9DjdOtteZ5BbG/oaWRo40g5BRnQeoTLcw2VQn77Zk8lg27/iJhUjGoFplRJX1QmfN00Q k30g== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=FtMigg13SlVXhJwnQHFG7w/Qu8MO8Af/XlF2dg5TXrQ=; fh=SIgps5XdV0XNwjZfT2uAI7g3mrspDldK9Qs8qQAfoa4=; b=lauX5VzSoMjU5PB1ASu7qIiT+Qdo4POVl9RbTaTlDUaXebPeZ3j9O3KPFSOQMWKojt xhTpLV7I5+morf8xjsbBuUBLXVl8gglRnS1MKfyHndtoAbg2zLfgLU/PDrxIGZ6hZgcP MsAld9C1R1n9pVeJiLgi7bcN7uZZZPKbbEpfEo8Yo0tWZle2pClE1MOmvcMDyChpuKrC TtGBbdmqwCn5sqo08A/Gpk9KoTgzbAJpMZR0RE/LzPjflDDOQJRiW8/YblmfiZ/9nmrr CRXu3u4FdMM4+Cou5NABC0PMgOGnHXrLeVDjM2ry+HB48nHwQR9GWhCU5yDzpnCcp6y3 aPTg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pV93df4U; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id ea22-20020a056a004c1600b00690f8dfb431si7838007pfb.253.2023.09.24.06.38.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 06:38:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pV93df4U; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 226F2801B19C; Sun, 24 Sep 2023 06:38:55 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231246AbjIXNis (ORCPT + 99 others); Sun, 24 Sep 2023 09:38:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46952 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229809AbjIXNi3 (ORCPT ); Sun, 24 Sep 2023 09:38:29 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B61ADE4D for ; Sun, 24 Sep 2023 06:38:08 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80C1CC433C9; Sun, 24 Sep 2023 13:38:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695562688; bh=CLUahLECFFMThaMlg6kBR2ihukQ2SmAsdwcA4AdH8rk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pV93df4UU5q1m05W20xMqKCAie39MI7vyF8y2HIqDTWOsxFBvDzv2eP9xz/EzI0oF e0r4Iuz1rqZhPm2sX88w62J6AMOUShFxf9hVU3p8esqhejBVuWBiqvGfDkIsyv8cdz V02/uAiHnmVFhuk0yj086D+g54+ycpHy3bAB3VryqWXWYY/mxSa66sxl400CIEnKNH tHNbC2rokwrO5AowIFkrUaC4WenWq9wlV/3DYfIR5XkbfMCb0g0IcWm9n45dsLd5Mb 4bF04iwvGb3sWZPighPuFFn7s7wBq6B5nrMjhIYKf1I0uJ+RR6vuiW51e7xhy4OvoC ghBfS8cf5aNOA== From: "Masami Hiramatsu (Google)" To: Alexei Starovoitov , Steven Rostedt , Florent Revest Cc: linux-trace-kernel@vger.kernel.org, LKML , Martin KaFai Lau , bpf , Sven Schnelle , Alexei Starovoitov , Jiri Olsa , Arnaldo Carvalho de Melo , Daniel Borkmann , Alan Maguire , Mark Rutland , Peter Zijlstra , Thomas Gleixner , Guo Ren Subject: [PATCH v5 11/12] Documentation: probes: Update fprobe document to use ftrace_regs Date: Sun, 24 Sep 2023 22:38:01 +0900 Message-Id: <169556268150.146934.2968626447452628416.stgit@devnote2> X-Mailer: git-send-email 2.34.1 In-Reply-To: <169556254640.146934.5654329452696494756.stgit@devnote2> References: <169556254640.146934.5654329452696494756.stgit@devnote2> User-Agent: StGit/0.19 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Sun, 24 Sep 2023 06:38:55 -0700 (PDT) From: Masami Hiramatsu (Google) Update fprobe document so that the entry/exit handler uses ftrace_regs instead of pt_regs. Signed-off-by: Masami Hiramatsu (Google) Acked-by: Florent Revest --- Documentation/trace/fprobe.rst | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Documentation/trace/fprobe.rst b/Documentation/trace/fprobe.rst index 196f52386aaa..64ef522f7a64 100644 --- a/Documentation/trace/fprobe.rst +++ b/Documentation/trace/fprobe.rst @@ -91,9 +91,9 @@ The prototype of the entry/exit callback function are as follows: .. code-block:: c - int entry_callback(struct fprobe *fp, unsigned long entry_ip, unsigned long ret_ip, struct pt_regs *regs, void *entry_data); + int entry_callback(struct fprobe *fp, unsigned long entry_ip, unsigned long ret_ip, struct ftrace_regs *fregs, void *entry_data); - void exit_callback(struct fprobe *fp, unsigned long entry_ip, unsigned long ret_ip, struct pt_regs *regs, void *entry_data); + void exit_callback(struct fprobe *fp, unsigned long entry_ip, unsigned long ret_ip, struct ftrace_regs *fregs, void *entry_data); Note that the @entry_ip is saved at function entry and passed to exit handler. If the entry callback function returns !0, the corresponding exit callback will be cancelled. @@ -112,12 +112,10 @@ If the entry callback function returns !0, the corresponding exit callback will This is the return address that the traced function will return to, somewhere in the caller. This can be used at both entry and exit. -@regs - This is the `pt_regs` data structure at the entry and exit. Note that - the instruction pointer of @regs may be different from the @entry_ip - in the entry_handler. If you need traced instruction pointer, you need - to use @entry_ip. On the other hand, in the exit_handler, the instruction - pointer of @regs is set to the current return address. +@fregs + This is the `ftrace_regs` data structure at the entry and exit. Note that + the instruction pointer of @fregs may be incorrect in entry handler and + exit handler, so you have to use @entry_ip and @ret_ip instead. @entry_data This is a local storage to share the data between entry and exit handlers.