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]
Date:	Fri, 07 Nov 2008 18:47:40 +0100
From:	Frederic Weisbecker <fweisbec@...il.com>
To:	Ingo Molnar <mingo@...e.hu>, Steven Rostedt <rostedt@...dmis.org>,
	Linux Kernel <linux-kernel@...r.kernel.org>
Subject: [RFC v2][PATCH 0/2] Make ftrace able to trace function return

This V2 fixes a lot of problem. There were some deadlocks caused by the
nmi which bypass the local_irq_save, the tracing recursion and the full return
values for 64 bits which were not handled for the most significant bits (edx).

I don't see anymore bugs which break the system stability.
There is just one last issue: if you break and cat anymore the pipe a lot of times, there will
be lesser traces. I guess there are some functions that don't return in this case
and then some slots on the bitmap can't be allocated for the following functions.

But this is just a minor bug which doesn't affect the system and doesn't bring memory
leak. I will correct this little issue.

You can find a trace resulted from this patch in attachment.
---

This patchset adds the ability for ftrace to trace the function even on call time and on
return time. So we can now measure the time of execution of the most part of the functions
inside the kernel with ftrace.

The first patch bring the low level tools to add the support of return tracing on X86-32. It is
totally separated from the traditional implementation of ftrace and doesn't support
dynamic ftrace at this time.

The second patch adds a tracer based on the ring-buffer which measure the time of execution of the functions inside the kernel.

---
 arch/x86/kernel/Makefile              |   11 ++
 arch/x86/kernel/entry_32.S            |   22 +++
 arch/x86/kernel/ftrace.c              |  233 +++++++++++++++++++++++++++++++-
 include/linux/ftrace.h                |   16 +++
 kernel/extable.c                      |    4 +-
 kernel/module.c                       |    2 +-
 kernel/trace/Kconfig                  |   13 ++
 kernel/trace/Makefile                 |    1 +
 kernel/trace/ftrace.c                 |   15 ++
 kernel/trace/trace.c                  |   57 +++++++-
 kernel/trace/trace.h                  |   22 +++
 kernel/trace/trace_functions_return.c |   98 ++++++++++++++
 12 files changed, 475 insertions(+), 19 deletions(-)

Download attachment "trace.bz2" of type "application/x-bzip" (198712 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ