lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20230117091101.3669996-1-suagrfillet@gmail.com>
Date:   Tue, 17 Jan 2023 17:11:01 +0800
From:   Song Shuai <suagrfillet@...il.com>
To:     peterz@...radead.org, jpoimboe@...nel.org, tglx@...utronix.de
Cc:     linux-kernel@...r.kernel.org, Song Shuai <suagrfillet@...il.com>
Subject: [PATCH] samples: ftrace: Pick a more reasonable function to trace

In ftrace-direct-multi*.c, the direct_caller - my_tramp works as
the mcount for functions with one parameter declared.

But schedule() actually has no parameter declared, so when it was
traced, the tracing function - my_direct_func will print a senseless
address.

Here replaces schedule() with kick_process() to make these samples
more reasonable and deletes the unnecessary including of mm.h.

Signed-off-by: Song Shuai <suagrfillet@...il.com>
---
 samples/ftrace/ftrace-direct-multi-modify.c | 2 +-
 samples/ftrace/ftrace-direct-multi.c        | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/samples/ftrace/ftrace-direct-multi-modify.c b/samples/ftrace/ftrace-direct-multi-modify.c
index 63f92451f38b..ea8b6fef3032 100644
--- a/samples/ftrace/ftrace-direct-multi-modify.c
+++ b/samples/ftrace/ftrace-direct-multi-modify.c
@@ -176,7 +176,7 @@ static int __init ftrace_direct_multi_init(void)
 	int ret;
 
 	ftrace_set_filter_ip(&direct, (unsigned long) wake_up_process, 0, 0);
-	ftrace_set_filter_ip(&direct, (unsigned long) schedule, 0, 0);
+	ftrace_set_filter_ip(&direct, (unsigned long) kick_process, 0, 0);
 
 	ret = register_ftrace_direct_multi(&direct, my_tramp);
 
diff --git a/samples/ftrace/ftrace-direct-multi.c b/samples/ftrace/ftrace-direct-multi.c
index 08442d631b48..2b850c3593d5 100644
--- a/samples/ftrace/ftrace-direct-multi.c
+++ b/samples/ftrace/ftrace-direct-multi.c
@@ -1,7 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 #include <linux/module.h>
 
-#include <linux/mm.h> /* for handle_mm_fault() */
 #include <linux/ftrace.h>
 #include <linux/sched/stat.h>
 #include <asm/asm-offsets.h>
@@ -93,7 +92,7 @@ static struct ftrace_ops direct;
 static int __init ftrace_direct_multi_init(void)
 {
 	ftrace_set_filter_ip(&direct, (unsigned long) wake_up_process, 0, 0);
-	ftrace_set_filter_ip(&direct, (unsigned long) schedule, 0, 0);
+	ftrace_set_filter_ip(&direct, (unsigned long) kick_process, 0, 0);
 
 	return register_ftrace_direct_multi(&direct, (unsigned long) my_tramp);
 }
-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ