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>] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 15 Nov 2008 16:47:05 -0500
From:	Steven Rostedt <rostedt@...dmis.org>
To:	linux-kernel@...r.kernel.org
Cc:	Ingo Molnar <mingo@...e.hu>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Thomas Gleixner <tglx@...utronix.de>,
	David Miller <davem@...emloft.net>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Paul Mackerras <paulus@...ba.org>,
	Paul Mundt <lethal@...ux-sh.org>
Subject: [PATCH 0/5] ftrace updates for tip, and ground work for other architectures

Ingo,

Patch 2 is a change in dynamic ftrace interface between the generic
code and the arch dependent code.  The original code did not allow
for the flexibility to handle some architecture limitations. I ran
into this when trying to port to PPC32 and realized that the
modules used trampolines to make the jumps to mcount.

I have successfully ported PPC64 and PPC32 and will send those patches
out later. But this patch series sets up the ground work for other
architectures to port dynamic ftrace.

The main changes to the code is:

 1) I removed the ftarce_modify_code and replaced it with two functions:
 	ftrace_make_nop() and ftrace_make_call. The former converts
	the code into a nop. The later converts a nop into a call.

 2) instead of passing just the address and expected and replace in
 	I pass in the dynamic ftrace record itself. This allows
	the architecture code save data per record if needed.
	To do this, there is now a dyn_arch_ftrace structure
	in the dyn_ftrace record.

 3) On intialization, ftrace_make_nop gets passed in the module that
 	created it or NULL if it is core kernel code. This allows
	the archicecture code do special things for modules, and
	also use the module sturcture to store data for later use
	with the conversions.

The following patches are in:

  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git

    branch: tip/devel


Steven Rostedt (5):
      ftrace: replace raw_local_irq_save with local_irq_save
      ftrace: pass module struct to arch dynamic ftrace functions
      ftrace: allow NULL pointers in mcount_loc
      ftrace: fix dyn ftrace filter
      ftrace: make filtered functions effective on setting

----
 arch/x86/include/asm/ftrace.h |    8 ++
 arch/x86/kernel/ftrace.c      |   29 +++++++-
 include/linux/ftrace.h        |   53 +++++++++++----
 kernel/module.c               |    2 +-
 kernel/trace/ftrace.c         |  147 ++++++++++++++++++-----------------------
 kernel/trace/trace.c          |    4 +-
 kernel/trace/trace_selftest.c |    4 +-
 7 files changed, 145 insertions(+), 102 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ